Chinaunix首页 | 论坛 | 博客
  • 博客访问: 147135
  • 博文数量: 23
  • 博客积分: 1536
  • 博客等级: 上尉
  • 技术积分: 271
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-26 20:01
文章分类

全部博文(23)

文章存档

2010年(13)

2009年(10)

我的朋友

分类: Oracle

2010-04-01 23:53:44

Oracle中有两类特殊的权限SYSDBASYSOPER,当DBA需要对数据库进行维护管理操作的时候必须具有这两类特殊权限之中的一种。在数据库没有打开的时候,使用数据库内建的账号是无法登陆数据库的,但是拥有SYSDBA或是SYSOPER权限的用户是可以登陆的。认证用户是否拥有两类特殊权限的方法有两种:OS认证和口令文件认证。

 Oracle数据库究竟使用OS认证还是口令文件认证来进行管理取决于下面三个因素:

 1)SQLNET.ORA参数文件中的参数SQLNET.AUTHENTICATION_SERVICES设置

2)PFILE(SPFILE)参数文件中的参数REMOTE_LOGIN_PASSWORDFILE设置

3)口令文件orapw$SID(UNIX/Linux) | PWD$SID.ora(Windows)

 

$ORACLE_HOME/NETWORK/ADMIN/SQLNET.ORA设置:

SQLNET.ORA(位于$ORACLE_HOME/NETWORK/ADMIN目录中)文件中,对于不同的操作系统SQLNET.AUTHENTICATION_SERVICES的取值会有些不一样。

SQLNET.AUTHENTICATION_SERVICES = (ALL)

对于UNIX系统同时支持OS认证和口令认证

Windows系统,实际实验是不支持此参数,验证失败

 

SQLNET.AUTHENTICATION_SERVICES = (NTS)

此设置值仅用于Windows NT系统,此设置同时支持OS认证和口令文件认证,只有在设置了(NTS)值之后运行在Windows系统上的Oracle才支持OS认证。

 

不设置此参数或SQLNET.AUTHENTICATION_SERVICES =

unix系统,默认支持OS认证和口令文件认证。

Windows系统,默认只支持口令文件认证,不支持OS认证。

 

REMOTE_LOGIN_PASSWORDFILE参数

 REMOTE_LOGIN_PASSWORDFILE = NONE:

不使用口令文件

REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE :

使用口令文件,但只有一个数据库实例可用使用

REMOTE_LOGIN_PASSWORDFILE = SHARE:

多个数据库可以共享一个口令文件,但是只可以识别一个用户:SYS

 

口令文件

口令文件存放着被授予SYSDBA或SYSOPER权限的用户的用户名和密码。它是一个加密的文件,用户不能修改这个文件,在UNIX系统中口令文件一般保存在$ORACLE_HOME/dbs目录下,文件名为orapw$SID;在Windows系统中口令文件一般保存在$ORACLE_HOME/database目录下,文件名为PWD$SID.ora。

使用orapwd工具生成口令文件

$orapwd file= password= entries= force=

如:orapwd file=$ORACLE_HOME/dbs/oraricky password=test

 

 

阅读(1407) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~