因此,为了避免出现这样的问题,我们可以有以下解决方式:
1、最简单方式就是更改sys密码的时候,在每个节点上都运行一次alter user命令,使得每个主机上的密码文件都被更新成同一个的密码的密码文件。
2、找一个共享存储的文件系统,nfs或者ocfs或者其他的共享方式都可以。只要保证是共享的文件系统就可以,共享的裸设备不行。然后把各个节点上的密码文件link到共享存储上的同一个密码文件。
下面的例子是以ocfs为例:
rac1:
[root@rac1 root]# cd /ocfs
[root@rac1 ocfs]# mkdir pwdfile
[root@rac1 ocfs]# chown Oracle:dba pwdfile
[root@rac1 ocfs]# su - oracle
rac1-> cd /ocfs
rac1-> cd pwdfile
rac1-> cp $ORACLE_HOME/dbs/orapwdevdb1 orapwdevdb
rac1-> ll
total 2
-rw-r----- 1 oracle oinstall 1536 Mar 31 00:33 orapwdevdb
rac1-> cd $ORACLE_HOME/dbs/
rac1-> ll
total 88
-rw-rw---- 1 oracle oinstall 1584 Mar 30 22:16 ab_+ASM1.dat
-rw-r----- 1 oracle oinstall 1544 Jun 21 2009 hc_+ASM1.dat
-rw-r----- 1 oracle oinstall 1544 Jun 21 2009 hc_devdb1.dat
lrwxrwxrwx 1 oracle oinstall 41 Jun 21 2009 init+ASM1.ora -> /u01/app/oracle/admin/+ASM/pfile/init.ora
-rw-r----- 1 oracle oinstall 36 Jun 21 2009 initdevdb1.ora
-rw-r----- 1 oracle oinstall 12920 May 3 2001 initdw.ora
-rw-r----- 1 oracle oinstall 8385 Sep 11 1998 init.ora
-rw-r----- 1 oracle oinstall 1536 Jun 21 2009 orapw+ASM1
-rw-r----- 1 oracle oinstall 1536 Mar 30 22:33 orapwdevdb1
rac1-> mv orapwdevdb1 orapwdevdb1.bak20100330
rac1-> ln -s /ocfs/pwdfile/orapwdevdb orapwdevdb1
rac1-> ll
total 92
-rw-rw---- 1 oracle oinstall 1584 Mar 30 22:16 ab_+ASM1.dat
-rw-r----- 1 oracle oinstall 1544 Jun 21 2009 hc_+ASM1.dat
-rw-r----- 1 oracle oinstall 1544 Jun 21 2009 hc_devdb1.dat
lrwxrwxrwx 1 oracle oinstall 41 Jun 21 2009 init+ASM1.ora -> /u01/app/oracle/admin/+ASM/pfile/init.ora
-rw-r----- 1 oracle oinstall 36 Jun 21 2009 initdevdb1.ora
-rw-r----- 1 oracle oinstall 12920 May 3 2001 initdw.ora
-rw-r----- 1 oracle oinstall 8385 Sep 11 1998 init.ora
-rw-r----- 1 oracle oinstall 1536 Jun 21 2009 orapw+ASM1
lrwxrwxrwx 1 oracle oinstall 24 Mar 31 00:35 orapwdevdb1 -> /ocfs/pwdfile/orapwdevdb
-rw-r----- 1 oracle oinstall 1536 Mar 30 22:33 orapwdevdb1.bak20100330
rac2和rac3也类似的建立link:
rac2-> ln -s /ocfs/pwdfile/orapwdevdb orapwdevdb2
rac2-> ll
total 92
-rw-rw---- 1 oracle oinstall 1558 Mar 30 22:16 ab_+ASM2.dat
-rw-r----- 1 oracle oinstall 1544 Jun 21 2009 hc_+ASM2.dat
-rw-r----- 1 oracle oinstall 1544 Jun 21 2009 hc_devdb2.dat
lrwxrwxrwx 1 oracle oinstall 41 Jun 21 2009 init+ASM2.ora -> /u01/app/oracle/admin/+ASM/pfile/init.ora
-rw-r----- 1 oracle oinstall 36 Jun 21 2009 initdevdb2.ora
-rw-r----- 1 oracle oinstall 12920 May 3 2001 initdw.ora
-rw-r----- 1 oracle oinstall 8385 Sep 11 1998 init.ora
-rw-r----- 1 oracle oinstall 1536 Jun 21 2009 orapw+ASM2
lrwxrwxrwx 1 oracle oinstall 24 Mar 31 00:35 orapwdevdb2 -> /ocfs/pwdfile/orapwdevdb
-rw-r----- 1 oracle oinstall 1536 Jun 21 2009 orapwdevdb2.bak20100330
rac3-> ln -s /ocfs/pwdfile/orapwdevdb orapwdevdb3
rac3-> ll
total 92
-rw-rw---- 1 oracle oinstall 1558 Mar 30 22:16 ab_+ASM3.dat
-rw-rw---- 1 oracle oinstall 1544 Jul 8 2009 hc_+ASM3.dat
-rw-rw---- 1 oracle oinstall 1544 Jul 8 2009 hc_devdb3.dat
lrwxrwxrwx 1 oracle oinstall 41 Jul 8 2009 init+ASM3.ora -> /u01/app/oracle/admin/+ASM/pfile/init.ora
-rw-r----- 1 oracle oinstall 36 Jul 8 2009 initdevdb3.ora
-rw-r----- 1 oracle oinstall 12920 May 3 2001 initdw.ora
-rw-r----- 1 oracle oinstall 8385 Sep 11 1998 init.ora
-rw-r----- 1 oracle oinstall 1536 Jun 21 2009 orapw+ASM3
lrwxrwxrwx 1 oracle oinstall 24 Mar 31 00:36 orapwdevdb3 -> /ocfs/pwdfile/orapwdevdb
-rw-r----- 1 oracle oinstall 1536 Jun 21 2009 orapwdevdb3.bak20100330