前两天从10.2.0.4到11.2.0.1.0升级了一个库,主库升级完打开,在主库重建密码文件传到备库,备库以11g的环境变量打开升级。结果发现主库一直报这个错:
Error 12154 received logging on to the standby
Errors in file /u01/diag/rdbms/test/test/trace/test_arc0_7115.trc:
ORA-12154: TNS:could not resolve the connect identifier specified
PING[ARC0]: Heartbeat failed to connect to standby 'test_stb'. Error is 12154.
tnsping可以通,sqlplus 去连备库也没有问题。
重启备库没有解决,临时使用脚本去做register.
最终这个问题是重启主库解决的。
[@more@]oracle的SR说出现这种问题有两种情况,
一个是主库更改密码文件没有重启。(我在另一套11.2上尝试没有重现这个问题)。
另一个是归档进程尝试往原来的目录去归档,而不是用最新的归档设置。在linux下可以用strace去跟踪。如
strace -fo /tmp/arch0.log -p
pid为arc0的进程号。
附手动传归档的脚本:
. /home/oracle/.bash_profile > /dev/null 2>&1
cd /home/oracle/syncprilog
/home/oracle/syncprilog/syncprilog.sh
cd /archive/test
LOGS=`ls -rtl|awk -F " " '{print $9}'|tail -5`
for log in $LOGS
do
$ORACLE_HOME/bin/sqlplus " / as sysdba" <
exit
EOF
done
/home/oracle/syncprilog/syncprilog.sh 里的内容:
#!/usr/bin/expect -f
set timeout 10
spawn rsync -av -e ssh oracle@standby:/archive/test /archive/
set timeout 300
expect "*password:"
send "standbypassowrdr"
expect eof