Oracle 密码文件

Oracle 的密码文件存放了 sysdba / sysoper 身份的用户名及口令。Oracle 允许用户在数据库未启动之前使用口令文件进行验证账号密码,从而启动实例进而加载并打开数据库。

 

密码文件的位置

  • Linux 密码文件默认路径:$ORACLE_HOME/dbs/

  • Windows 密码文件默认路径:%ORACLE_HOME%/database/

 

密码文件命名规则

  • Linux : orapw

  • Windows: PWD.ora

 

重置密码文件

Windows :  orapwd file=PWDneubi.ora entries=30 password=xxxx
Linux :  orapwd file=orapworcl entries=20 password=xxxx 

 

Oracle 通过初始化参数 remote_login_passwordfile 来限制密码文件的使用,该参数有三个可选项

  • NONE

  • EXCLUSIVE

  • SHARE

 

当 remote_login_passwordfile 参数值为 NONE 时,不可以以 sysdba/sysoper 远程登陆数据库。这实际上是一个安全选项,防止远程启停数据库。

 

图片

 

当 remote_login_passwordfile 参数值为 EXCLUSIVE 时,支持以 sysdba 身份远程登陆数据库。

 

sql> alter system set remote_login_passwordfile=exclusive scope=spfile;

 

此参数为静态参数,修改后需要重启数据库生效。

 

当 remote_login_passwordfile 参数值为 SHARE 时,允许多个数据库共享一个密码文件。

 

密码文件中的用户信息,可以在 v$pwfile_users 中查看。

SQL>select * from v$pwfile_users;
USERNAME        SYSDB SYSOP SYSAS
--------------- ----- ----- -----
SYS             TRUE  TRUE  FALSE

 

修改 SYS 账号的密码,同时会修改密码文件。

SQL> alter user sys identified by "passwdxxxx";

 

为用户授 sysdba 权限,同步会修改密码文件,重置密码文件时的 entries 参数代表密码文件最多可以存多少个 sysdba 权限的用户。

SQL> grant sysdba to xx_user_xx;
posted @   lclc  阅读(24)  评论(0)    收藏  举报
点击右上角即可分享
微信分享提示