Decode360's Blog

业精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

  BlogJava :: 首页 :: 新随笔 :: 联系 ::  :: 管理 ::
  302 随笔 :: 26 文章 :: 82 评论 :: 0 Trackbacks

一、Oracle的权限验证方式:

 

    Oracle 的验证方式取决于三个属性:

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

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

    * 口令文件orapw$SID(Linux) | PWD$SID.ora(Windows)

 

    Oracle权限认证的基本顺序是这样的:先由SQLNET.AUTHENTICATION_SERVICES的设置值来决定是使用OS认证还是口令文件认证,如果使用口令文件认证的话就要看后面两个条件了:如果REMOTE_LOGIN_PASSWORDFILE参数设置为非NONE而且口令文件存在的话就能正常使用口令文件认证,否则将会失败。

 

     03-1.jpg

 

    1 OS 验证

      为用户创建操作系统帐号

      讲用户添加到 Oracle 安装时定义的组中(安装介质时创建)

      设置REMOTE_LOGIN_PASSWORDFILE为 NONE

 

      SQL> CONN / AS SYSDBA

      SQL> CONN / AS SYSOPER

 

    2 、密码文件验证

      为用户创建操作系统帐号

      创建密码文件: ORAPWD FILE=file_name PASSWORD=password ENTRIES=max_users

      将REMOTE_LOGIN_PASSWORDFILE设为 EXCLUSIVE

      SYS 用户登陆,创建用户,并 GRANT SYSDBA to scott

      * GRANT SYSDBA 语句即将用户加入密码文件中

 

      SQL> CONN scott/password AS SYSDBA

 

    详细的情况参见: http://www.lansz.com/html/2008/06/oracle_os_pwfile_authentication.html

 

二、密码文件管理

 

    1 、创建:

 

      ORAPWD FILE=file_name PASSWORD=password ENTRIES=max_users

 

      FILE :指定完整路径名的文件,经过加密无法直接读取。 RAC 中多个实例必须指向一个密码文件。

      PASSWORD SYS 用户密码,使用 ALTER 修改 SYS 密码时,密码文件中随之修改。

      ENTRIES :密码文件可以接受的登陆个数,通常是 4 的倍数,可以超出,但最好有多。

 

    2 、REMOTE_LOGIN_PASSWORDFILE:

 

      NONE :默认值,结果是返回密码文件不存在的结果。

      EXCLUSIVE :密码文件只能用于一个数据库,可以讲 SYSDBA/SYSOPER 权限授予个人用户

      SHARED :可用于多个数据库,但只能针对 SYS 用户 ( 用于一个管理员管理多个数据库时 )

 

    3 、密码文件用户查看

 

      select * from v$pwfile_users;

 

    4 、增加密码文件的用户数目:

 

      * 查找v$pwfile_users中的密码文件数目

      * 关闭数据库

      * 删除现有密码文件

      * ORAPWD 重新创建密码文件,将 ENTRIES 设置得大一点

      * 重新将密码文件用户添加进去

      * 注意删除和重新建立之后必须重新添加,因为时间标记和校验不同

 

 





-The End-

posted on 2008-11-05 21:49 decode360-3 阅读(192) 评论(0)  编辑  收藏 所属分类: DBA

只有注册用户登录后才能发表评论。


网站导航: