实际我的过程就是从4个CURSOR中取数据并赋值给变量,CURSOR是从远程数据库取数据(其中一个是副库 DG),然后通过邮件函数发出来,没有INSERT UPDATE DELETE 语句但还是偶尔出现下面的错误,商业数据,不方便公布程序[b]----- mon_smon_2580.trc
Dump file d:\oracle\product\10.2.0\admin\mon\bdump\mon_smon_2580.trc
Tue Oct 09 14:06:56 2012
ORACLE V10.2.0.1.0 - 64bit Production vsnsta=0
vsnsql=14 vsnxtr=3
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
Windows NT Version V5.2 Service Pack 2
CPU                 : 8 - type 8664, 2 Physical Cores
Process Affinity    : 0x0000000000000000
Memory (Avail/Total): Ph:5756M/8189M, Ph+PgF:5224M/9795M
Instance name: mon
Redo thread mounted by this instance: 1
Oracle process number: 8
Windows thread id: 2580, image: ORACLE.EXE (SMON)*** 2012-10-09 14:06:56.981
*** SERVICE NAMESYS$BACKGROUND) 2012-10-09 14:06:56.981
*** SESSION ID549.1) 2012-10-09 14:06:56.981
*** 2012-10-09 14:06:56.981
DISTRIB TRAN MON.WORLD.cc696d0c.3.45.31475
  is local tran 3.45.31475 (hex=03.2d.7af3)
  insert pending collecting tran, scn=10901277435461 (hex=9ea.26c4e645)
-------------mon_reco_2584.trcDump file d:\oracle\product\10.2.0\admin\mon\bdump\mon_reco_2584.trc
Tue Oct 09 14:08:17 2012
ORACLE V10.2.0.1.0 - 64bit Production vsnsta=0
vsnsql=14 vsnxtr=3
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
Windows NT Version V5.2 Service Pack 2
CPU                 : 8 - type 8664, 2 Physical Cores
Process Affinity    : 0x0000000000000000
Memory (Avail/Total): Ph:5764M/8189M, Ph+PgF:5236M/9795M
Instance name: monRedo thread mounted by this instance: 1Oracle process number: 9Windows thread id: 2584, image: ORACLE.EXE (RECO)
*** 2012-10-09 14:08:17.610
*** SERVICE NAMESYS$BACKGROUND) 2012-10-09 14:08:17.610
*** SESSION ID548.1) 2012-10-09 14:08:17.610
*** 2012-10-09 14:08:17.610
DISTRIB TRAN MON.WORLD.cc696d0c.3.45.31475
  is local tran 3.45.31475 (hex=03.2d.7af3))
  delete pending collecting tran, scn=10901277435461 (hex=9ea.26c4e645)
-------------------这下面是alter里面从10.6号到现在的Sat Oct 06 15:20:36 2012
Error 2050 trapped in 2PC on transaction 10.26.38865. Cleaning up.
Sat Oct 06 15:20:36 2012
DISTRIB TRAN MON.WORLD.cc696d0c.10.26.38865
  is local tran 10.26.38865 (hex=0a.1a.97d1)
  insert pending collecting tran, scn=10897031741658 (hex=9e9.29b4c0da)
Sat Oct 06 15:20:36 2012
Error stack returned to user:
ORA-02050: transaction 10.26.38865 rolled back, some remote DBs may be in-doubt
ORA-02050: transaction 1731.34.164587 rolled back, some remote DBs may be in-doubt
ORA-02056: 2PC: k2lcom: bad two-phase command number rdonly from coord
ORA-02063: preceding line from oracle1
ORA-02063: preceding 3 lines from oracle2
Sat Oct 06 15:20:36 2012
Errors in file d:\oracle\product\10.2.0\admin\mon\bdump\mon_j000_3516.trc:
ORA-12012: error on auto execute of job 319
ORA-02050: transaction 10.26.38865 rolled back, some remote DBs may be in-doubt
ORA-02050: transaction 1731.34.164587 rolled back, some remote DBs may be in-doubt
ORA-02056: 2PC: k2lcom: bad two-phase command number rdonly from coord
ORA-02063: preceding line from oracle1
ORA-02063: preceding 3 lines from oracle2Sat Oct 06 15:21:37 2012
DISTRIB TRAN MON.WORLD.cc696d0c.10.26.38865
  is local tran 10.26.38865 (hex=0a.1a.97d1))
  delete pending collecting tran, scn=10897031741658 (hex=9e9.29b4c0da)
Sat Oct 06 15:22:41 2012
Error 2050 trapped in 2PC on transaction 2.7.31446. Cleaning up.
Sat Oct 06 15:22:41 2012
DISTRIB TRAN MON.WORLD.cc696d0c.2.7.31446
  is local tran 2.7.31446 (hex=02.07.7ad6)
  insert pending collecting tran, scn=10897032617153 (hex=9e9.29c21cc1)
Sat Oct 06 15:22:41 2012
Error stack returned to user:
ORA-02050: transaction 2.7.31446 rolled back, some remote DBs may be in-doubt
ORA-02050: transaction 1944.29.62024 rolled back, some remote DBs may be in-doubt
ORA-02056: 2PC: k2lcom: bad two-phase command number rdonly from coord
ORA-02063: preceding line from oracle1
ORA-02063: preceding 3 lines from oracle2
Sat Oct 06 15:22:41 2012
Errors in file d:\oracle\product\10.2.0\admin\mon\bdump\mon_j000_2436.trc:
ORA-12012: error on auto execute of job 319
ORA-02050: transaction 2.7.31446 rolled back, some remote DBs may be in-doubt
ORA-02050: transaction 1944.29.62024 rolled back, some remote DBs may be in-doubt
ORA-02056: 2PC: k2lcom: bad two-phase command number rdonly from coord
ORA-02063: preceding line from oracle1
ORA-02063: preceding 3 lines from oracle2Sat Oct 06 15:23:41 2012
DISTRIB TRAN MON.WORLD.cc696d0c.2.7.31446
  is local tran 2.7.31446 (hex=02.07.7ad6))
  delete pending collecting tran, scn=10897032617153 (hex=9e9.29c21cc1)
Sat Oct 06 15:26:47 2012
Error 2050 trapped in 2PC on transaction 4.46.32640. Cleaning up.
Sat Oct 06 15:26:47 2012
DISTRIB TRAN MON.WORLD.cc696d0c.4.46.32640
  is local tran 4.46.32640 (hex=04.2e.7f80)
  insert pending collecting tran, scn=10897034256941 (hex=9e9.29db222d)
Sat Oct 06 15:26:47 2012
Error stack returned to user:
ORA-02050: transaction 4.46.32640 rolled back, some remote DBs may be in-doubt
ORA-02050: transaction 496.35.1771052 rolled back, some remote DBs may be in-doubt
ORA-02056: 2PC: k2lcom: bad two-phase command number rdonly from coord
ORA-02063: preceding line from oracle1
ORA-02063: preceding 3 lines from oracle2
Sat Oct 06 15:26:47 2012
Errors in file d:\oracle\product\10.2.0\admin\mon\bdump\mon_j000_3904.trc:
ORA-12012: error on auto execute of job 319
ORA-02050: transaction 4.46.32640 rolled back, some remote DBs may be in-doubt
ORA-02050: transaction 496.35.1771052 rolled back, some remote DBs may be in-doubt
ORA-02056: 2PC: k2lcom: bad two-phase command number rdonly from coord
ORA-02063: preceding line from oracle1
ORA-02063: preceding 3 lines from oracle2

解决方案 »

  1.   

    Sat Oct 06 15:27:45 2012
    DISTRIB TRAN MON.WORLD.cc696d0c.4.46.32640
      is local tran 4.46.32640 (hex=04.2e.7f80))
      delete pending collecting tran, scn=10897034256941 (hex=9e9.29db222d)
    Sat Oct 06 18:50:52 2012
    Thread 1 advanced to log sequence 4133
      Current log# 2 seq# 4133 mem# 0: E:\ORADATA\MON\REDO02.LOG
    Sat Oct 06 20:00:16 2012
    Error 2396 trapped in 2PC on transaction 6.13.34156. Cleaning up.
    Error stack returned to user:
    ORA-02396: exceeded maximum idle time, please connect again
    ORA-02063: preceding line from oracle1
    Dump file d:\oracle\product\10.2.0\admin\mon\bdump\alert_mon.log
    Sat Oct 06 22:11:20 2012
    ORACLE V10.2.0.1.0 - 64bit Production vsnsta=0
    vsnsql=14 vsnxtr=3
    Windows NT Version V5.2 Service Pack 2
    CPU                 : 8 - type 8664, 2 Physical Cores
    Process Affinity    : 0x0000000000000000
    Memory (Avail/Total): Ph:7449M/8189M, Ph+PgF:9489M/9795M
    Sat Oct 06 22:11:20 2012
    Starting ORACLE instance (normal)
    LICENSE_MAX_SESSION = 0
    LICENSE_SESSIONS_WARNING = 0
    Picked latch-free SCN scheme 3
    Using LOG_ARCHIVE_DEST_10 parameter default value as USE_DB_RECOVERY_FILE_DEST
    Autotune of undo retention is turned on. 
    IMODE=BR
    ILAT =61
    LICENSE_MAX_USERS = 0
    SYS auditing is disabled
    ksdpec: called for event 13740 prior to event group initialization
    Starting up ORACLE RDBMS Version: 10.2.0.1.0.
    System parameters with non-default values:
      processes                = 500
      sessions                 = 555
      resource_limit           = TRUE
      sga_max_size             = 4194304000
      shared_pool_size         = 838860800
      large_pool_size          = 33554432
      java_pool_size           = 67108864
      nls_language             = AMERICAN
      nls_territory            = AMERICA
      control_files            = E:\ORADATA\MON\CONTROL01.CTL, E:\ORADATA\MON\CONTROL02.CTL, E:\ORADATA\MON\CONTROL03.CTL
      db_block_size            = 8192
      db_cache_size            = 2634022912
      compatible               = 10.2.0.1.0
      db_file_multiblock_read_count= 16
      db_create_file_dest      = E:\Oradata\mon
      db_recovery_file_dest    = D:\oracle\product\10.2.0\flash_recovery_area
      db_recovery_file_dest_size= 2147483648
      undo_management          = AUTO
      undo_tablespace          = UNDOTBS1
      remote_login_passwordfile= EXCLUSIVE
      db_domain                = world
      dispatchers              = (PROTOCOL=TCP) (SERVICE=monXDB)
      job_queue_processes      = 10
      audit_file_dest          = D:\ORACLE\PRODUCT\10.2.0\ADMIN\MON\ADUMP
      background_dump_dest     = D:\ORACLE\PRODUCT\10.2.0\ADMIN\MON\BDUMP
      user_dump_dest           = D:\ORACLE\PRODUCT\10.2.0\ADMIN\MON\UDUMP
      core_dump_dest           = D:\ORACLE\PRODUCT\10.2.0\ADMIN\MON\CDUMP
      db_name                  = mon
      open_cursors             = 500
      pga_aggregate_target     = 838860800
    PMON started with pid=2, OS id=2472
    PSP0 started with pid=3, OS id=2476
    MMAN started with pid=4, OS id=2480
    DBW0 started with pid=5, OS id=2568
    LGWR started with pid=6, OS id=2572
    CKPT started with pid=7, OS id=2576
    SMON started with pid=8, OS id=2580
    RECO started with pid=9, OS id=2584
    CJQ0 started with pid=10, OS id=2588
    MMON started with pid=11, OS id=2592
    MMNL started with pid=12, OS id=2596
    Sat Oct 06 22:11:24 2012
    starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
    starting up 1 shared server(s) ...
    Sat Oct 06 22:11:25 2012
    alter database mount exclusive
    Sat Oct 06 22:11:29 2012
    Setting recovery target incarnation to 1
    Sat Oct 06 22:11:29 2012
    Successful mount of redo thread 1, with mount id 3300232205
    Sat Oct 06 22:11:29 2012
    Database mounted in Exclusive Mode
    Completed: alter database mount exclusive
    Sat Oct 06 22:11:29 2012
    alter database open
    Sat Oct 06 22:11:29 2012
    Beginning crash recovery of 1 threads
    parallel recovery started with 7 processes
    Sat Oct 06 22:11:30 2012
    Started redo scan
    Sat Oct 06 22:11:30 2012
    Completed redo scan
    295 redo blocks read, 58 data blocks need recovery
    Sat Oct 06 22:11:30 2012
    Started redo application at
    Thread 1: logseq 4133, block 54694
    Sat Oct 06 22:11:30 2012
    Recovery of Online Redo Log: Thread 1 Group 2 Seq 4133 Reading mem 0
      Mem# 0 errs 0: E:\ORADATA\MON\REDO02.LOG
    Sat Oct 06 22:11:30 2012
    Completed redo application
    Sat Oct 06 22:11:30 2012
    Completed crash recovery at
    Thread 1: logseq 4133, block 54989, scn 10897224313281
    58 data blocks read, 58 data blocks written, 295 redo blocks read
    Sat Oct 06 22:11:31 2012
    Thread 1 advanced to log sequence 4134
    Thread 1 opened at log sequence 4134
      Current log# 3 seq# 4134 mem# 0: E:\ORADATA\MON\REDO03.LOG
    Successful open of redo thread 1
    Sat Oct 06 22:11:31 2012
    MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
    Sat Oct 06 22:11:31 2012
    SMON: enabling cache recovery
    Sat Oct 06 22:11:33 2012
    Successfully onlined Undo Tablespace 1.
    Sat Oct 06 22:11:33 2012
    SMON: enabling tx recovery
    Sat Oct 06 22:11:33 2012
    Database Characterset is UTF8
    replication_dependency_tracking turned off (no async multimaster replication found)
    Starting background process QMNC
    QMNC started with pid=23, OS id=2776
    Sat Oct 06 22:11:39 2012
    db_recovery_file_dest_size of 2048 MB is 0.00% used. This is a
    user-specified limit on the amount of space that will be used by this
    database for recovery-related files, and does not reflect the amount of
    space available in the underlying filesystem or ASM diskgroup.
    Sat Oct 06 22:11:40 2012
    Completed: alter database open
    Sat Oct 06 22:14:15 2012
    Memory Notification: Library Cache Object loaded into SGA
    Heap size 3594K exceeds notification threshold (2048K)
    KGL object name :XDB.XDbD/PLZ01TcHgNAgAIIegtw== Sat Oct 06 22:14:16 2012
    Memory Notification: Library Cache Object loaded into SGA
    Heap size 3571K exceeds notification threshold (2048K)
    Details in trace file d:\oracle\product\10.2.0\admin\mon\udump\mon_ora_3368.trc
    KGL object name :XDB.XDhyZQTwiQSpaqlThQlxuE4g== Sun Oct 07 04:00:36 2012
    Thread 1 advanced to log sequence 4135
      Current log# 1 seq# 4135 mem# 0: E:\ORADATA\MON\REDO01.LOG
    Sun Oct 07 19:25:39 2012
    WARNING: inbound connection timed out (ORA-3136)
    Mon Oct 08 04:44:30 2012
    Thread 1 advanced to log sequence 4136
      Current log# 2 seq# 4136 mem# 0: E:\ORADATA\MON\REDO02.LOG
    Mon Oct 08 13:59:17 2012
    WARNING: inbound connection timed out (ORA-3136)
    Mon Oct 08 19:36:08 2012
    Thread 1 advanced to log sequence 4137
      Current log# 3 seq# 4137 mem# 0: E:\ORADATA\MON\REDO03.LOG
    Mon Oct 08 22:00:10 2012
    Thread 1 advanced to log sequence 4138
      Current log# 1 seq# 4138 mem# 0: E:\ORADATA\MON\REDO01.LOG
    Tue Oct 09 00:46:33 2012
    Thread 1 advanced to log sequence 4139
      Current log# 2 seq# 4139 mem# 0: E:\ORADATA\MON\REDO02.LOG
    Tue Oct 09 10:20:12 2012
    WARNING: inbound connection timed out (ORA-3136)
    Tue Oct 09 14:06:56 2012
    Error 2050 trapped in 2PC on transaction 3.45.31475. Cleaning up.
    Error stack returned to user:
    ORA-02050: transaction 3.45.31475 rolled back, some remote DBs may be in-doubt
    ORA-02050: transaction 1132.38.670846 rolled back, some remote DBs may be in-doubt
    ORA-02056: 2PC: k2lcom: bad two-phase command number rdonly from coord
    ORA-02063: preceding line from oracle1
    ORA-02063: preceding 3 lines from oracle2
    Tue Oct 09 14:06:56 2012
    DISTRIB TRAN MON.WORLD.cc696d0c.3.45.31475
      is local tran 3.45.31475 (hex=03.2d.7af3)
      insert pending collecting tran, scn=10901277435461 (hex=9ea.26c4e645)
    Tue Oct 09 14:08:17 2012
    DISTRIB TRAN MON.WORLD.cc696d0c.3.45.31475
      is local tran 3.45.31475 (hex=03.2d.7af3))
      delete pending collecting tran, scn=10901277435461 (hex=9ea.26c4e645)
      

  2.   

    看下TRACE文件:d:\oracle\product\10.2.0\admin\mon\bdump\mon_j000_3904.trc
    两个数据库之间是否有防火墙?