Oracle用户验证之外部验证

转载:http://blog.itpub.net/25264937/viewspace-689344

1、概述

Oracle外部验证又称操作系统验证。用户可以在不输入用户名、密码的情况下,连接到数据库。使用外部验证时,依赖于操作系统或者网络验证服务来限制用户数据库的访问。
启用外部验证,需要在参数文件中,设置OS_AUTHENT_PREFIX参数。OS_AUTHENT_PREFIX定义了一个前缀,默认为ops$。Oracle数据库会在每个操作系统用户名前,添加此前缀。
如:操作系统用户为user1,则Oracle数据库添加前缀后的用户名为ops$user1。
当操作系统用户user1尝试与数据库建立连接时,Oracle数据库会检查数据中是否存在一个对应的数据库用户ops$user1。如果存在,则允许建立连接。
2、实例
OS:redhat AS 4.8
DB:Oracle 10g

sql> show parameters os_authent
NAME TYPE VALUE
-------------------------------- ----------- -------------------
os_authent_prefix string ops$
remote_os_authent boolean FALSE
前缀为ops$,因此,在Oracle数据库中建立系统用户Oracle对应的数据库用户,并通过identified externally子句指定使用外部验证。
sql> create user ops$oracle identified externally;
User created.
sql> grant connect to ops$oracle;
Grant succeeded.
sql> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning,OLAP and Data Mining options

当前用户为oracle。
[oracle@oraserver ~]$ id
uid=1001(oracle) gid=1002(oinstall) groups=1001(dba),1002(oinstall)

使用oracle用户登陆(外部验证)
[oracle@oraserver ~]$ sqlplus /
sql*Plus: Release 10.2.0.1.0 - Production on Mon Mar 14 10:17:33 2011
Copyright (c) 1982,2005,Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning,OLAP and Data Mining options

查看当前用户
sql> show user;
USER is "OPS$ORACLE"
sql>

相关文章

数据库版本:11.2.0.4 RAC(1)问题现象从EM里面可以看到,在23号早上8:45~8:55时,数据库等待会话暴增...
(一)问题背景最近在对一个大约200万行数据的表查看执行计划时,发现存在异常,理论上应该返回100多万...
(一)删除备份--DELETE命令用于删除RMAN备份记录及相应的物理文件。当使用RMAN执行备份操作时,会在RM...
(1)DRA介绍 数据恢复顾问(Data Recovery Advise)是一个诊断和修复数据库的工具,DRA能够修复数据文...
RMAN(Recovery Manager)是Oracle恢复管理器的简称,是集数据库备份(backup)、修复(restore)和恢复...
(1)备份对象 可以使用RMAN进行的备份对象如下: --整个数据库:备份所有的数据文件和控制文件; --数...