[20150529]ORA-16664.txt

[20150529]ORA-16664.txt

--今天在例行检查中.执行 dgmgrl 出现ora-16664错误.
--检查drcdbcn1.log文件,发现如下错误.

05/25/2015 16:34:58
Site dbcndg returned ORA-16664.
Site dbcndg2 returned ORA-16664.
Data Guard Broker Status Summary:
  Type                        Name                             Severity  Status
  Configuration               dbcn                              Warning  ORA-16607
  Primary Database            dbcn                              Success  ORA-00000
  Physical Standby Database   dbcndg                              Error  ORA-16664
  Physical Standby Database   dbcndg2                             Error  ORA-16664

$ oerr ora  16664
16664, 0000, "unable to receive the result from a database"
// *Cause:  During execution of a command, a database in the Data Guard
//          broker configuration failed to return a result.
// *Action: Check Data Guard broker logs for the details of the failure.
//          Ensure network communication is working properly amongst the
//          members of the configuration. Fix any possible network problems
//          and reissue the command.

--检查相应dg的drcdbcndg2.log文件:
05/29/2015 15:18:40
Connection to database dbcn returns ORA-01017.
Please check database dbcn is using a remote password file,
its remote_login_passwordfile is set to SHARED or EXCLUSIVE,
and the SYS password is the same as this database.
Failed to connect to remote database dbcn. Error is ORA-01017
Failed to send message to site dbcn. Error code is ORA-01017.

--很明显按照提示,数据库的sys口令被修改了.而实际上的情况是dg的日志应用是正常的,why什么呢?
--实际上口令根本没有改变.
--只好建立新的口令文件,再检查问题消失!(我一般不建立口令文件,而是从服务器拷贝)

$ xxd -c 16 orapwdbcndg2.xxx >| /tmp/a1.txt
$ xxd -c 16 orapwdbcndg2 >| /tmp/a2.txt
$ diff  /tmp/a1.txt /tmp/a2.txt
43,45c43,45
---
> 00002a0: 0000 0000 1000 0000 1f6c 6a1d 373c 0d87  .........lj.7> 00002b0: 341a a3ce a467 0b30 319c 0026 9f40 8dcb  4..?g.01..&.@.?
> 00002c0: 7759 8363 f8eb 2c00 5359 5300 0000 0000  wY.c?,.SYS.....
50,51c50,51
---
> 0000310: 1f7c e9a6 313b f7cf 3149 da0b b16d 01a3  .|?1;.?I?.m..
> 0000320: 9cdb 8e8c 20ad 5153 2695 e166 c132 d300  .?. .QS&.醘??

--才想起来11G可能前几天修改profile,也修改了口令.
--恢复后我重新修改sys的口令(还是原来的密码),我发现即使我修改成原来的口令,马上出现:

DGMGRL> show configuration
Configuration - dbcn
  Protection Mode: MaxPerformance
  Databases:
    dbcn    - Primary database
    dbcndg  - Physical standby database
      Error: ORA-16664: unable to receive the result from a database

    dbcndg2 - Physical standby database
      Error: ORA-16664: unable to receive the result from a database

Fast-Start Failover: DISABLED

Configuration Status:
ERROR

$  ll  orapwdbcn1
-rw-r----- 1 oracle oinstall 1536 2015-05-29 15:53:40 orapwdbcn1

$ ll orapwdbcn2
-rw-r----- 1 oracle oinstall 1536 2014-10-28 17:04:04 orapwdbcn2

$  stat orapwdbcn1
  File: `orapwdbcn1'
  Size: 1536            Blocks: 8          IO Block: 4096   regular file
Device: fc03h/64515d    Inode: 10698784    Links: 1
Access: (0640/-rw-r-----)  Uid: ( 1001/  oracle)   Gid: ( 1001/oinstall)
Access: 2015-05-29 16:03:03.000000000 +0800
Modify: 2015-05-29 15:53:40.000000000 +0800
Change: 2015-05-29 16:03:03.000000000 +0800

$ stat orapwdbcn2
  File: `orapwdbcn2'
  Size: 1536            Blocks: 8          IO Block: 4096   regular file
Device: fc03h/64515d    Inode: 5996564     Links: 1
Access: (0640/-rw-r-----)  Uid: ( 1001/  oracle)   Gid: ( 1001/oinstall)
Access: 2015-05-29 16:03:40.000000000 +0800
Modify: 2014-10-28 17:04:04.000000000 +0800
Change: 2015-05-29 16:03:40.000000000 +0800

--还发现一个bug,这样修改口令文件,仅仅在一个实例上修改.oracle真tmd的变态!
--再做一个检查就知道了,拷贝口令文件到dg后:

--在RAC实例1上执行:
DGMGRL> show configuration
Configuration - dbcn
  Protection Mode: MaxPerformance
  Databases:
    dbcn    - Primary database
    dbcndg  - Physical standby database
    dbcndg2 - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS

--在RAC实例2上执行:
DGMGRL> show configuration
Configuration - dbcn
  Protection Mode: MaxPerformance
  Databases:
    dbcn    - Primary database
    dbcndg  - Physical standby database
      Error: ORA-16664: unable to receive the result from a database
    dbcndg2 - Physical standby database
      Error: ORA-16664: unable to receive the result from a database
Fast-Start Failover: DISABLED
Configuration Status:
ERROR

--我把实例1的口令文件拷贝到实例2:
--在RAC实例2上执行:
DGMGRL> show configuration
Configuration - dbcn
  Protection Mode: MaxPerformance
  Databases:
    dbcn    - Primary database
    dbcndg  - Physical standby database
    dbcndg2 - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS

--我把dg在使用原来的口令文件,问题再次出现!
--看来千万不要乱改sys口令.

--在各个机器检查一遍,dgmgrl显示都是正常了.
--这个问题到底是什么原因引起的,要找测试环境来测试看看.

时间: 2024-07-30 10:47:50

[20150529]ORA-16664.txt的相关文章

[20160512]tnsnames.ora配置文件.txt

[20160512]tnsnames.ora配置文件.txt --今天再次解决1个tnsnames.ora配置文件.看来这个文件最好不要手工修改!! --通过例子来说明: 78 =   (DESCRIPTION =     (ADDRESS_LIST =       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.78)(PORT = 1521))     )     (SDU = 32768)     (CONNECT_DATA =       (

[20150529]revoke sysdba from user_name

[20150529]revoke sysdba from user_name.txt SYS@test> @ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- -------------------------------------------------------------------------------- x86_64/Linu

UNIX oracle 10g能用utl

oracle|unix|数据 UNIX oracle 10g能用utl_file包读取文件数据吗? 我在WINDOW 下ORACLE 8i利用utl_file可以读取文本文件的数据,我本人测试通过,但是在UNIX oracle 10g不行呀!出错!begin loadfiledata('d:\ora','1.txt'); end; ORA-29280: 目录路径无效ORA-06512: 在 "SYS.UTL_FILE", line 33ORA-06512: 在 "SYS.UT

配置dg broker的问题分析及修复

最近从同事那儿接手了一套新环境,备库因为服务器问题已经下架,重新配了一台服务器,所以需要搭一套备库,主库已经配置好了,而且同事已经把在主库把dg broker配好了. 使用dgmgrl来验证,只有主库孤零零的在那儿. DGMGRL> show configuration; Configuration - dg_test   Protection Mode: MaxPerformance   Databases:     stest  - Primary database Fast-Start F

[20170914]tnsnames.ora的管理.txt

[20170914]tnsnames.ora的管理.txt --//昨天朋友讲tnsnams.ora的内容太长了,而且许多不需要的.管理不方便.我记得以前写[20150409]tnsnames.ora与IFILE.txt.链接 --//http://blog.itpub.net/267265/viewspace-1561107/ --//这样你可以按照某种分类管理.实际上这个我也是以前看别人的机器学来的,很简单就是建立多个tnsnames配置文件. --//使用参数IFILE=/path/xxx

[20150529]man tmux less.txt

[20150529]man tmux less.txt --在linux下有一个小问题(我测试几个版本都存在这个问题),如果在tmux下使用man显示文档时,如果按q退出,会清除屏幕显示.导致我无 --法根据文档打入命令,我希望在退出后屏幕的显示信息保留在屏幕上. --如果不在tmux下使用正常. --最先想到的是终端仿真的问题. --在tmux下: $  echo $TERM screen --一般putty登陆: #  echo $TERM linux --一直想从上面终端仿真上找原因,能力

[20150529]使用bbed解决丢失的归档.txt

[20150529]使用bbed解决丢失的归档.txt -- 以前跟别人探讨过这个问题,我个人的观点通过bbed等手段来跳过丢失的归档来恢复存在许多问题. -- 我以前个人的主张是通过别的手段抽取数据文件的数据,结合logminer来重新整合数据.但是如果抽取的logminer很多,会非常麻烦. --实际上无论那种方式,都存在许多问题,这里通过例子来说明bbed如何解决跳过丢失的归档. 1.测试环境建立: SCOTT@test> @ &r/ver1 PORT_STRING          

[20150924]tnsnames.ora是否可以带斜线.txt

[20150924]tnsnames.ora是否可以带斜线.txt --10g开始oracle支持ezconnect简单连接方式建立与数据库的连接. d:\tools\sqltemp>sqlplus scott/xxxxxx@192.168.100.40:1521/test.com SQL*Plus: Release 12.1.0.1.0 Production on Thu Sep 24 08:32:43 2015 Copyright (c) 1982, 2013, Oracle.  All r

[20111220]tnsnames.ora的定位.txt

[20111220]tnsnames.ora的定位.txt 1.跟踪在linux下sqlplus的执行过程,可以很容易定位tnsnames.ora的定位过程. $ export TNS_ADMIN=/tmp$ strace -o  findtnsnames.txt sqlplus scott/xxxx@noexist $ grep -i tnsname findtnsnames.txtaccess("/home/oracle/.tnsnames.ora", F_OK) = -1 ENO