9i遠端匯出報錯ORA-12571

yangtingkun發表於2008-09-04

今天透過客戶端遠端匯出一個9201資料庫的時候,中途出現ORA-12571錯誤。

 

 

資料庫版本為9201,本地的匯出客戶端版本也是9201,結果出現了下面的錯誤資訊:

連線到: Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
已匯出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
: 將不匯出對錶 / 檢視 / 序列 / 角色的授權
.
正在匯出 pre-schema 過程物件和操作
.
正在匯出使用者 INFO 的外部函式庫名稱
.
匯出 PUBLIC 型別同義詞
.
匯出私有型別同義詞
.
正在匯出使用者 INFO 的物件型別定義
即將匯出 INFO 的物件 ...
.
正在匯出資料庫連結
.
正在匯出序號
.
正在匯出群集定義
.
即將匯出 INFO 的表透過常規路徑 ...
. .
正在匯出表            ALL_SCORE_LINSHIBIAO     183905 行被匯出
. .
正在匯出表                   A_BJ_CONTRACT      13567 行被匯出
.
.
.
. .
正在匯出表              T_PLAT_PRODUCT_ALL     120847 行被匯出
. .
正在匯出表              T_PLAT_PRODUCT_BAK    3061030 行被匯出
EXP-00056:
遇到 ORACLE 錯誤 12571
ORA-12571: TNS:
包寫入程式失敗
EXP-00056:
遇到 ORACLE 錯誤 24324
ORA-24324:
未初始化服務控制程式碼
EXP-00056:
遇到 ORACLE 錯誤 24324
ORA-24324:
未初始化服務控制程式碼
EXP-00056:
遇到 ORACLE 錯誤 24324
ORA-24324:
未初始化服務控制程式碼
EXP-00056:
遇到 ORACLE 錯誤 24324
ORA-24324:
未初始化服務控制程式碼
EXP-00000:
匯出終止失敗

檢查alert檔案,發現alert檔案中有一個錯誤資訊的描述:

Errors in file d:\oracle\admin\newzb\udump\newzb_ora_752.trc:

除了日期資訊外,就只有這麼一個日誌資訊,看來這個錯誤也比較特別。

雖然alert裡面沒有進一步描述,好在還有trace檔案可以看:

Dump file d:\oracle\admin\newzb\udump\newzb_ora_752.trc
Wed Sep 03 09:12:04 2008
ORACLE V9.2.0.1.0 - Production vsnsta=0
vsnsql=12 vsnxtr=3
Windows 2000 Version 5.2 Service Pack 2, CPU type 586
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
Windows 2000 Version 5.2 Service Pack 2, CPU type 586
Instance name: newzb

Redo thread mounted by this instance: 1

Oracle process number: 23

Windows thread id: 752, image: ORACLE.EXE


*** 2008-09-03 09:12:04.000
*** SESSION ID:(9.26502) 2008-09-03 09:12:04.000
FATAL ERROR IN TWO-TASK SERVER: error = 12571
*** 2008-09-03 09:12:04.000
ksedmp: internal or fatal error
----- Call Stack Trace -----
calling              call     entry                argument values in hex     
location             type     point                (? means dubious value)    
-------------------- -------- -------------------- ----------------------------
_ksedmp+147          CALLrel  _ksedst+0           
__VInfreq__opitsk+3  CALLrel  _ksedmp+0            2 25C34D4 311B
eb                                                
_opiino+5fc          CALLrel  _opitsk+0            0 0 C59F068 8FFF554 B4 0
_opiodr+4cd          CALLreg  00000000             3C 4 993FBD8
_opidrv+233          CALLrel  _opiodr+0            3C 4 993FBD8 0
_sou2o+19            CALLrel  _opidrv+0           
_opimai+10a          CALLrel  _sou2o+0            
_OracleThreadStart@  CALLrel  _opimai+0           
4+35c                                             
7C824826             CALLreg  00000000            
 
--------------------- Binary Stack Dump ---------------------
 

DUMP的開頭部分,至少可以肯定,問題是由於ORA-12571錯誤產生的。

下面進一步檢查trace檔案:

8FFF550 000000B8 53454428 50495243 4E4F4954  [....(DESCRIPTION]
8FFF560 4441283D 53455244 50283D53 4F544F52  [=(ADDRESS=(PROTO]
8FFF570 3D4C4F43 29504354 534F4828 37313D54  [COL=TCP)(HOST=17]
8FFF580 2E302E32 32342E34 4F502829 313D5452  [2.0.4.42)(PORT=1]
8FFF590 29313235 4F432829 43454E4E 41445F54  [521))(CONNECT_DA]
8FFF5A0 283D4154 3D444953 7A77656E 53282962  [TA=(SID=newzb)(S]
8FFF5B0 45565245 45443D52 41434944 29444554  [ERVER=DEDICATED)]
8FFF5C0 44494328 5250283D 4152474F 3A433D4D  [(CID=(PROGRAM=C:]
8FFF5D0 61726F5C 5C656C63 3961726F 69625C32  [\oracle\ora92\bi]
8FFF5E0 58455C6E 58452E50 48282945 3D54534F  [n\EXP.EXE)(HOST=]
8FFF5F0 322D4350 28293236 52455355 6E61793D  [PC-262)(USER=yan]
8FFF600 6E61696A 29292929 05397F00 00BC614E  [jian))))..9.Na..]

從這個部分已經可以確定導致問題的程式就是EXP,進一步檢查TRACE

Process global information:
     process: 249523C0, call: 00000000, xact: 00000000, curses: 00000000, usrses: 2413F068
  ----------------------------------------
  SO: 249523C0, type: 2, owner: 00000000, flag: INIT/-/-/0x00
  (process) Oracle pid=23, calls cur/top: 00000000/2417066C, flag: (0) -
            int error: 0, call error: 0, sess error: 0, txn error 0
  (post info) last post received: 0 0 20
              last post received-location: ksqrcl
              last process to post me: 2494e040 1 6
              last post sent: 0 0 15
              last post sent-location: ksasnd
              last process posted by me: 2494e040 1 6
    (latch info) wait_event=0 bits=0
    Process Group: DEFAULT, pseudo proc: 24970008
    O/S info: user: SYSTEM, term: ZBDATA, ospid: 752
    OSD pid info: Windows thread id: 752, image: ORACLE.EXE
    ----------------------------------------
    SO: 24E989C4, type: 8, owner: 249523C0, flag: INIT/-/-/0x00
    (FOB) flags=2 fib ptr=24f3f7a0 incno=0 pending i/o cnt=0
    ----------------------------------------
    SO: 24E96E28, type: 8, owner: 249523C0, flag: INIT/-/-/0x00
    (FOB) flags=2 fib ptr=24f3efbc incno=0 pending i/o cnt=0
    ----------------------------------------
    SO: 24E975D0, type: 8, owner: 249523C0, flag: INIT/-/-/0x00
    (FOB) flags=2 fib ptr=24f3e53c incno=0 pending i/o cnt=0
    ----------------------------------------
    SO: 24E9748C, type: 8, owner: 249523C0, flag: INIT/-/-/0x00
    (FOB) flags=2 fib ptr=24f3dd58 incno=0 pending i/o cnt=1
    ----------------------------------------
    SO: 24E97420, type: 8, owner: 249523C0, flag: INIT/-/-/0x00
    (FOB) flags=2 fib ptr=24f3dabc incno=0 pending i/o cnt=0
    ----------------------------------------
    SO: 24E97348, type: 8, owner: 249523C0, flag: INIT/-/-/0x00
    (FOB) flags=2 fib ptr=24f3dff4 incno=0 pending i/o cnt=0
    ----------------------------------------
    SO: 24E97270, type: 8, owner: 249523C0, flag: INIT/-/-/0x00
    (FOB) flags=2 fib ptr=24f3d820 incno=0 pending i/o cnt=0
    ----------------------------------------
    SO: 24E97204, type: 8, owner: 249523C0, flag: INIT/-/-/0x00
    (FOB) flags=2 fib ptr=24f409f4 incno=0 pending i/o cnt=0
    ----------------------------------------
    SO: 24E97198, type: 8, owner: 249523C0, flag: INIT/-/-/0x00
    (FOB) flags=2 fib ptr=24f3c074 incno=1 pending i/o cnt=0
    ----------------------------------------
    SO: 2413F068, type: 4, owner: 249523C0, flag: INIT/-/-/0x00
    (session) trans: 00000000, creator: 249523C0, flag: (10000041) USR/- -/-/-/-/-/-
              DID: 0001-0017-00000002, short-term DID: 0000-0000-00000000
              txn branch: 00000000
              oct: 0, prv: 0, sql: 18D21044, psql: 18D21044, user: 62/INFO
    O/S info: user: yanjian, term: PC-262, ospid: 4832:6004, machine: WORKGROUP\PC-262
              program: EXP.EXE
    last wait for 'null event' blocking sess=0x0 seq=25502 wait_time=4
                =54435000, =1, =0
    temporary object counter: 1
      ----------------------------------------

會話資訊進一步確定了EXP導致了問題的產生。

檢查metalink,發現和當前問題最為接近的bugBug 4102426Oracle在文件Doc ID:  Note:4102426.8中進行簡單的描述。

Oracle分別在92071010510201fixed了這個bug

在不升級的情況下,使用DIRECT=Y的直接路徑方式匯出,代替常規EXP,成功避免了錯誤的產生。另外,這個錯誤似乎並非每次都可以重現,同樣的匯出操作可能第二次就可以成功執行。

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-441880/,如需轉載,請註明出處,否則將追究法律責任。

相關文章