oracle11G密码大小写敏感时导致standby不正常的问题。
这几天在windows机器上测试了一下oracle11G的standby功能,
测试时发现不能同步archive log,日志中出现如下错误:
Alert文件中错误信息:
Errors in file d:\oracle\diag\rdbms\db11g\db11g\trace\db11g_arc1_988.trc:
ORA-01031: 权限不足
PING[ARC1]: Heartbeat failed to connect to standby 'db11gstb'. Error is 1031.
Wed Sep 24 14:55:56 2008
Thread 1 advanced to log sequence 23
Current log# 2 seq# 23 mem# 0: D:\ORACLE\ORADATA\DB11G\REDO02.LOG
TRACE文件中的错误信息:
*** 2008-09-24 14:55:54.322
Redo shipping client performing standby login
OCISessionBegin failed. Error -1
.. Detailed OCI error val is 1017 and errmsg is 'ORA-01017: 用户名/口令无效; 登录被拒绝
'
An attempt to establish secure session using password verifier based approach will be attempted..
OCISessionBegin failed. Error -1
.. Detailed OCI error val is 1031 and errmsg is 'ORA-01031: 权限不足
'
An attempt to establish secure session using password verifier based approach will be attempted..
OCISessionBegin failed -1
.. Detailed OCI error val is 1031 and errmsg is 'ORA-01031: 权限不足
'
*** 2008-09-24 14:55:54.525 1095 krsh.c
Error 1031 received logging on to the standby
Error 1031 connecting to destination LOG_ARCHIVE_DEST_2 standby host 'db11gstb'
Error 1031 attaching to destination LOG_ARCHIVE_DEST_2 standby host 'db11gstb'
ORA-01031: 权限不足
*** 2008-09-24 14:55:54.540 1095 krsh.c
PING[ARC1]: Heartbeat failed to connect to standby 'db11gstb'. Error is 1031.
*** 2008-09-24 14:55:54.540 26884 kcrr.c
kcrrfail: dest:2 err:1031 force:0 blast:1
由于错误信息中提示说用户名密码错,由于我创建数据库时打开了oracle11G的密码敏感的选项,怀疑是这个问题引起的,于时把两边数据库的sec_case_sensitive_logon参数改成false,禁用大小写敏感,发现问题依旧,最后检查密码文件时,发现orapwd工具多了一个ignorecase的选项,重新建密码文件:
orapwd file=PWDdb11g.ora password=sys ignorecase=y
orapwd file=PWDdb11gstb.ora password=sys ignorecase=y
后问题解决。又试了试直接把主库的密码文件拷贝成standby库的密码文件,发现问题同样能解决,真是不知道这种手工用orapwd建的密码文件和拷贝的有什么不同。
这不知道是oracle11g的BUG还是我建standby数据库的方法不对。
测试时发现不能同步archive log,日志中出现如下错误:
Alert文件中错误信息:
Errors in file d:\oracle\diag\rdbms\db11g\db11g\trace\db11g_arc1_988.trc:
ORA-01031: 权限不足
PING[ARC1]: Heartbeat failed to connect to standby 'db11gstb'. Error is 1031.
Wed Sep 24 14:55:56 2008
Thread 1 advanced to log sequence 23
Current log# 2 seq# 23 mem# 0: D:\ORACLE\ORADATA\DB11G\REDO02.LOG
TRACE文件中的错误信息:
*** 2008-09-24 14:55:54.322
Redo shipping client performing standby login
OCISessionBegin failed. Error -1
.. Detailed OCI error val is 1017 and errmsg is 'ORA-01017: 用户名/口令无效; 登录被拒绝
'
An attempt to establish secure session using password verifier based approach will be attempted..
OCISessionBegin failed. Error -1
.. Detailed OCI error val is 1031 and errmsg is 'ORA-01031: 权限不足
'
An attempt to establish secure session using password verifier based approach will be attempted..
OCISessionBegin failed -1
.. Detailed OCI error val is 1031 and errmsg is 'ORA-01031: 权限不足
'
*** 2008-09-24 14:55:54.525 1095 krsh.c
Error 1031 received logging on to the standby
Error 1031 connecting to destination LOG_ARCHIVE_DEST_2 standby host 'db11gstb'
Error 1031 attaching to destination LOG_ARCHIVE_DEST_2 standby host 'db11gstb'
ORA-01031: 权限不足
*** 2008-09-24 14:55:54.540 1095 krsh.c
PING[ARC1]: Heartbeat failed to connect to standby 'db11gstb'. Error is 1031.
*** 2008-09-24 14:55:54.540 26884 kcrr.c
kcrrfail: dest:2 err:1031 force:0 blast:1
由于错误信息中提示说用户名密码错,由于我创建数据库时打开了oracle11G的密码敏感的选项,怀疑是这个问题引起的,于时把两边数据库的sec_case_sensitive_logon参数改成false,禁用大小写敏感,发现问题依旧,最后检查密码文件时,发现orapwd工具多了一个ignorecase的选项,重新建密码文件:
orapwd file=PWDdb11g.ora password=sys ignorecase=y
orapwd file=PWDdb11gstb.ora password=sys ignorecase=y
后问题解决。又试了试直接把主库的密码文件拷贝成standby库的密码文件,发现问题同样能解决,真是不知道这种手工用orapwd建的密码文件和拷贝的有什么不同。
这不知道是oracle11g的BUG还是我建standby数据库的方法不对。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15145533/viewspace-464426/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15145533/viewspace-464426/