首页 > 数据库 > Oracle > RAC和Data Guard环境中修改用户密码
RAC和Data Guard中修改用户帐号时,按照是否会修改口令文件($ORACLE_HOME/dbs/orapw$ORACLE_SID分两种情况:
1, 普通用户
普通用户在V$PWFILE_USERS中没有记录, 信息不会保存在口令文件中,
所以修改口令时,只会修改数据字典信息,而数据字典存在system表空间中,属性数据库的数据文件,而datafile在RAC中是共享的.
所以,在任何节点执行修改动作都可以, 可以立即生效
[@more@]例如修改system用户密码,则具体步骤如下:
SQL> select * from V$PWFILE_USERS;
USERNAME SYSDBA SYSOPER
------------------------------ ------ -------
SYS TRUE TRUE
ABC TRUE FALSE
SQL>
SQL> alter user system identified by abc@123;
[rac1]@rac-db1[/export/home/oracle]$sqlplus system/abc@123@rac1
[rac2]@rac-db2[/export/home/oracle]$sqlplus system/abc@123@rac2
[rac1]@rac-db2[/export/home/oracle]$sqlplus system/abc@123@rac
[rac2]@rac-db2[/export/home/oracle]$sqlplus system/abc@123@rac
[rac]@dg-db[/export/home/oracle]$sqlplus system/abc@123@rac
2, 具备sysdba或sysoper系统权限的用户
我们在创建数据库之前,会要求首先为每个节点创建一个口令文件,并且口令文件中的记录项要一致(帐号名,属性,密码),缺省是指定sys帐号.
在创建数据库生成V$PWFILE_USERS时,会读取口令文件,填充到字典中
这个机制说明一个情况: 当需要修改具有sysdba/sysoper权限的用户的密码时,由于需要同时修改数据字典和本地的口令文件,
而口令文件不是共享的,而是每个节点都有一个, 所以sql需要在每个节点都执行一次才能"同步"--修改所有节点的口令文件,使密码保持一致。具体修改过程请参考本站连接:http://kuqlan.itpub.net/post/38575/522237
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/18841027/viewspace-1055225/ ,如需转载,请注明出处,否则将追究法律责任。