Oracle 10.2.0.4 , Linux AS5.3 , 64Bit
Production + Logical Standby , 其中Logical Standby 用于报表查询 。
报错信息如下 :
Mon Aug 2 09:39:04 2010
RFS LogMiner: Registered logfile [/u01/product/oradata/delll10/arch/1_10903_717422003.arc] to LogMiner session id [1]
Mon Aug 2 09:39:05 2010
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 10903, /u01/product/oradata/delll10/arch/1_10903_717422003.arc
Mon Aug 2 09:39:05 2010
LOGMINER: End mining logfile: /u01/product/oradata/delll10/arch/1_10903_717422003.arc
Mon Aug 2 09:39:08 2010
LOGMINER: Log Auto Delete - deleting: /u01/product/oradata/delll10/arch/1_10902_717422003.arc
Deleted file /u01/product/oradata/delll10/arch/1_10902_717422003.arc
Mon Aug 2 09:49:04 2010
RFS[1]: Successfully opened standby log 4: '/data/delll10/redo01s.log'
Mon Aug 2 09:49:04 2010
RFS LogMiner: Client enabled and ready for notification
Mon Aug 2 09:49:04 2010
RFS LogMiner: Registered logfile [/u01/product/oradata/delll10/arch/1_10904_717422003.arc] to LogMiner session id [1]
Mon Aug 2 09:49:05 2010
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 10904, /u01/product/oradata/delll10/arch/1_10904_717422003.arc
Mon Aug 2 09:49:05 2010
LOGMINER: End mining logfile: /u01/product/oradata/delll10/arch/1_10904_717422003.arc
Mon Aug 2 09:49:06 2010
LOGSTDBY status: ORA-00001: unique constraint (DFMS.WIP_D_SHIP_BIN_DETAIL_PK) violated
LOGSTDBY Apply process P007 pid=35 OS id=10791 stopped
Mon Aug 2 09:49:07 2010
Errors in file /u01/product/admin/delll10/bdump/delll10_lsp0_10803.trc:
ORA-12801: error signaled in parallel query server P007
ORA-00001: unique constraint (DFMS.WIP_D_SHIP_BIN_DETAIL_PK) violated
LOGSTDBY Analyzer process P003 pid=32 OS id=10783 stopped
LOGSTDBY Apply process P005 pid=34 OS id=10787 stopped
LOGSTDBY Apply process P008 pid=36 OS id=10793 stopped
LOGSTDBY Apply process P004 pid=33 OS id=10785 stopped
LOGSTDBY Apply process P006 pid=31 OS id=10789 stopped
Mon Aug 2 09:49:07 2010
LOGSTDBY status: ORA-16222: automatic Logical Standby retry of last action
LOGSTDBY status: ORA-16111: log mining and apply setting up
Mon Aug 2 09:49:07 2010
LOGMINER: Parameters summary for session# = 1
LOGMINER: Number of processes = 3, Transaction Chunk Size = 201
LOGMINER: Memory Size = 30M, Checkpoint interval = 150M
LOGMINER: session# = 1, reader process P000 started with pid=28 OS id=10775
LOGMINER: session# = 1, preparer process P002 started with pid=30 OS id=10779
LOGMINER: session# = 1, builder process P001 started with pid=29 OS id=10777
Mon Aug 2 09:49:07 2010
LOGSTDBY ERROR: krvxgov failed for SYS AUD$ with status 1403
Mon Aug 2 09:49:07 2010
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 10904, /u01/product/oradata/delll10/arch/1_10904_717422003.arc
Mon Aug 2 09:49:07 2010
LOGMINER: Turning ON Log Auto Delete
LOGSTDBY Analyzer process P003 started with pid=32 OS id=10783
Mon Aug 2 09:49:07 2010
LOGMINER: Log Auto Delete - deleting: /u01/product/oradata/delll10/arch/1_10903_717422003.arc
Deleted file /u01/product/oradata/delll10/arch/1_10903_717422003.arc
Mon Aug 2 09:49:07 2010
LOGMINER: End mining logfile: /u01/product/oradata/delll10/arch/1_10904_717422003.arc
出现3次这样的现象, 没有办法,只有忽略这个表先, 然后将这个表初始化 。
SQL> alter database stop logical standby apply;
SQL> exec dbms_logstdby.skip('DML','DFMS','WIP_D_SHIP_BIN_DETAIL');
SQL> alter database start logical standby apply;
SQL> alter database stop logical standby apply;
SQL> exec dbms_logstdby.unskip('DML','DFMS','WIP_D_SHIP_BIN_DETAIL');
SQL> EXECUTE DBMS_LOGSTDBY.INSTANTIATE_TABLE ('DFMS','WIP_D_SHIP_BIN_DETAIL','db_linkto_orcl');
SQL> alter database start logical standby apply;
我们在Logical Standby上这个表中创建了一个trigger , 如果有人工的更新这个table ,那么会触发写log 表, 发现登入这个
logical standby的账号根本没有权限更改这个表, 只有查看权限 。 为什么还会发生PK重复值的情况呢 ? 难道是SQL Apply
使用了并行导致的 ? 但是Oracle也不会同时在一个物件上进行并行apply吧 ? 它应该控制的很好才对 。
Production + Logical Standby , 其中Logical Standby 用于报表查询 。
报错信息如下 :
Mon Aug 2 09:39:04 2010
RFS LogMiner: Registered logfile [/u01/product/oradata/delll10/arch/1_10903_717422003.arc] to LogMiner session id [1]
Mon Aug 2 09:39:05 2010
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 10903, /u01/product/oradata/delll10/arch/1_10903_717422003.arc
Mon Aug 2 09:39:05 2010
LOGMINER: End mining logfile: /u01/product/oradata/delll10/arch/1_10903_717422003.arc
Mon Aug 2 09:39:08 2010
LOGMINER: Log Auto Delete - deleting: /u01/product/oradata/delll10/arch/1_10902_717422003.arc
Deleted file /u01/product/oradata/delll10/arch/1_10902_717422003.arc
Mon Aug 2 09:49:04 2010
RFS[1]: Successfully opened standby log 4: '/data/delll10/redo01s.log'
Mon Aug 2 09:49:04 2010
RFS LogMiner: Client enabled and ready for notification
Mon Aug 2 09:49:04 2010
RFS LogMiner: Registered logfile [/u01/product/oradata/delll10/arch/1_10904_717422003.arc] to LogMiner session id [1]
Mon Aug 2 09:49:05 2010
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 10904, /u01/product/oradata/delll10/arch/1_10904_717422003.arc
Mon Aug 2 09:49:05 2010
LOGMINER: End mining logfile: /u01/product/oradata/delll10/arch/1_10904_717422003.arc
Mon Aug 2 09:49:06 2010
LOGSTDBY status: ORA-00001: unique constraint (DFMS.WIP_D_SHIP_BIN_DETAIL_PK) violated
LOGSTDBY Apply process P007 pid=35 OS id=10791 stopped
Mon Aug 2 09:49:07 2010
Errors in file /u01/product/admin/delll10/bdump/delll10_lsp0_10803.trc:
ORA-12801: error signaled in parallel query server P007
ORA-00001: unique constraint (DFMS.WIP_D_SHIP_BIN_DETAIL_PK) violated
LOGSTDBY Analyzer process P003 pid=32 OS id=10783 stopped
LOGSTDBY Apply process P005 pid=34 OS id=10787 stopped
LOGSTDBY Apply process P008 pid=36 OS id=10793 stopped
LOGSTDBY Apply process P004 pid=33 OS id=10785 stopped
LOGSTDBY Apply process P006 pid=31 OS id=10789 stopped
Mon Aug 2 09:49:07 2010
LOGSTDBY status: ORA-16222: automatic Logical Standby retry of last action
LOGSTDBY status: ORA-16111: log mining and apply setting up
Mon Aug 2 09:49:07 2010
LOGMINER: Parameters summary for session# = 1
LOGMINER: Number of processes = 3, Transaction Chunk Size = 201
LOGMINER: Memory Size = 30M, Checkpoint interval = 150M
LOGMINER: session# = 1, reader process P000 started with pid=28 OS id=10775
LOGMINER: session# = 1, preparer process P002 started with pid=30 OS id=10779
LOGMINER: session# = 1, builder process P001 started with pid=29 OS id=10777
Mon Aug 2 09:49:07 2010
LOGSTDBY ERROR: krvxgov failed for SYS AUD$ with status 1403
Mon Aug 2 09:49:07 2010
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 10904, /u01/product/oradata/delll10/arch/1_10904_717422003.arc
Mon Aug 2 09:49:07 2010
LOGMINER: Turning ON Log Auto Delete
LOGSTDBY Analyzer process P003 started with pid=32 OS id=10783
Mon Aug 2 09:49:07 2010
LOGMINER: Log Auto Delete - deleting: /u01/product/oradata/delll10/arch/1_10903_717422003.arc
Deleted file /u01/product/oradata/delll10/arch/1_10903_717422003.arc
Mon Aug 2 09:49:07 2010
LOGMINER: End mining logfile: /u01/product/oradata/delll10/arch/1_10904_717422003.arc
出现3次这样的现象, 没有办法,只有忽略这个表先, 然后将这个表初始化 。
SQL> alter database stop logical standby apply;
SQL> exec dbms_logstdby.skip('DML','DFMS','WIP_D_SHIP_BIN_DETAIL');
SQL> alter database start logical standby apply;
SQL> alter database stop logical standby apply;
SQL> exec dbms_logstdby.unskip('DML','DFMS','WIP_D_SHIP_BIN_DETAIL');
SQL> EXECUTE DBMS_LOGSTDBY.INSTANTIATE_TABLE ('DFMS','WIP_D_SHIP_BIN_DETAIL','db_linkto_orcl');
SQL> alter database start logical standby apply;
我们在Logical Standby上这个表中创建了一个trigger , 如果有人工的更新这个table ,那么会触发写log 表, 发现登入这个
logical standby的账号根本没有权限更改这个表, 只有查看权限 。 为什么还会发生PK重复值的情况呢 ? 难道是SQL Apply
使用了并行导致的 ? 但是Oracle也不会同时在一个物件上进行并行apply吧 ? 它应该控制的很好才对 。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-672093/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/35489/viewspace-672093/
本文记录了Oracle 10.2.0.4在Linux AS5.3 64位环境下运行Logical Standby时遇到的问题及解决过程。主要错误为ORA-00001唯一约束冲突,通过停止并重新启动Logical Standby应用,以及对特定表的操作来解决该问题。

被折叠的 条评论
为什么被折叠?



