有關用8i的客戶端匯出10g的資料庫的試驗總結

orchidllh發表於2004-12-09

起因是我的8i的資料庫遷移到10g的資料庫後,希望用8i的資料庫作為新的資料庫的異地備份,但是sqlplus可以連通,exp的時候提示錯誤。


blog上看到的:

緣由:前兩天用9.2.0.1exp去匯出8.1.7.0資料庫,得到ora-0942錯誤,參考了網上的多種方法後
都未能解決,例如執行catexp.sqlcatpatch.sql,於是細看了一下oracle幫助中的expimp,
做了以下測試(8i9i):

源資料庫   目標資料庫    exp版本    exp成功?  imp版本    imp成功?
8.1.7.0    9.2.0.1    8.1.7.0    
成功      8.1.7.0    成功
8.1.7.0    9.2.0.1    8.1.7.0    
成功      9.2.0.1    成功
8.1.7.0    9.2.0.1    9.2.0.1    
失敗(ORA-00942)

9.2.0.1    8.1.7.0    8.1.7.0     成功      8.1.7.0    成功
9.2.0.1    8.1.7.0    8.1.7.0    
成功      9.2.0.1    失敗(ORA-00942IMP-00023)
9.2.0.1    8.1.7.0    9.2.0.1    
成功      8.1.7.0    失敗
(IMP-00010)
9.2.0.1    8.1.7.0    9.2.0.1    
成功      9.2.0.1    失敗(ORA-00942IMP-00023)

8.1.7.0    8.1.7.0    8.1.7.0     成功      8.1.7.0    成功
8.1.7.0    8.1.7.0    8.1.7.0    
成功      9.2.0.1    失敗(ORA-00942IMP-00023)
8.1.7.0    8.1.7.0    9.2.0.1    
失敗(ORA-00942)

9.2.0.1    9.2.0.1    8.1.7.0     成功      8.1.7.0    成功
9.2.0.1    9.2.0.1    8.1.7.0    
成功      9.2.0.1    成功
9.2.0.1    9.2.0.1    9.2.0.1    
成功      8.1.7.0    失敗(IMP-00010)
9.2.0.1    9.2.0.1    9.2.0.1    
成功      9.2.0.1    成功

總結,如果版本不一致的話,在資料庫之間expimp資料的應該遵循的規則:

1 imp工具的版本應該和目標資料庫的版本一致;
2
 exp工具的版本應該與源資料庫和目標資料庫中版本最低的一個相一致;

另可參見《Oracle9i Database Utilitiesexp部分

但是我用8.1.7.0的客戶端怎麼不能匯出9.2.0.1的資料庫呢?

發現應該跟資料庫本身的配置有關係,因為匯出dwtest的時候提示:

$ exp system/manager@dwtest file=/home/lisa/backup_exp.dmp log=/home/lisa/backup_exp.log

Export: Release 8.1.7.0.0 - Production on Thu Dec 9 10:40:57 2004

(c) Copyright 2000 Oracle Corporation.  All rights reserved.

Connected to: 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 - ProductionSegmentation Fault

但是匯出DB2資料庫,同樣是9.2.0.1的資料庫就沒有問題,難道是我的資料庫安裝的有問題嗎?

metalink上查詢,也看到有人問8.1.7.4匯出10.1.0.2錯誤和8.1.7.4匯出9.2.0.4錯誤的,但是沒有解決方案。

但是應該是跟資料庫安裝沒有關係吧,我今天用dwtest的客戶端匯出DB3(10G)不也好好的?

8i匯出10的資料庫,提示:

$ exp */*@DB3 file=/home/lisa/backup_exp.dmp log=/home/lisa/backup_exp.log STATISTICS=NONE

Export: Release 8.1.7.0.0 - Production on Thu Dec 9 11:04:38 2004

(c) Copyright 2000 Oracle Corporation.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Production

With the Partitioning, OLAP and Data Mining optionsSegmentation Fault

同事說另一個伺服器上的8.1.7.4的客戶端可以匯出10g的資料庫,我用它導DB410G)的還是不行,跟patch有關?我先tar一個過去試試。

Tar的時候提示沒有這幾個檔案,不過同事說沒關係的:

tar: product/817/Apache/modplsql/cfg/cache.cfg: Permission denied

tar: product/817/Apache/modplsql/cfg/wdbsvr.app: Permission denied

tar: /home/oracle/product/817/Apache/Apache/conf/ssl.key: Permission denied

8.1.7.4的客戶端失敗了,還是提示:

$ exp */*@DB4 file=/home/lisa/backup_exp.dmp log=/home/lisa/backup_exp.log STATISTICS=NONE

Export: Release 8.1.7.4.0 - Production on Thu Dec 9 16:37:16 2004

(c) Copyright 2000 Oracle Corporation.  All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production

With the Partitioning, OLAP and Data Mining optionsSegmentation Fault

 

我跟蹤了備份的程式,不過好像沒有什麼幫助:

root@bj72 udump]# tail ora10g_ora_27404.trc

FETCH #5:c=0,e=60,p=0,cr=2,cu=0,mis=0,r=1,dep=1,og=4,tim=1076742931316276

STAT #5 id=1 cnt=0 pid=0 pos=1 obj=62 op='TABLE ACCESS BY USER ROWID VIEW$ (cr=0 pr=0 pw=0 time=0 us)'

=====================

PARSING IN CURSOR #3 len=36 dep=0 uid=61 oct=3 lid=61 tim=1076742931321338 hv=1341279585 ad='8527e344'

SELECT NAME, VALUE FROM SYS.EXU8CSET

END OF STMT

PARSE #3:c=10000,e=9594,p=0,cr=2,cu=0,mis=1,r=0,dep=0,og=1,tim=1076742931321331

EXEC #3:c=0,e=58,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=1076742931324074

FETCH #3:c=0,e=128,p=0,cr=3,cu=0,mis=0,r=1,dep=0,og=1,tim=1076742931326148

STAT #3 id=1 cnt=0 pid=0 pos=1 obj=100 op='TABLE ACCESS FULL OBJ#(100) (cr=0 pr=0 pw=0 time=0 us)'

 

網上有人提到:

一臺redhat9機器,

#uname -a

Linux ***** 2.4.20-31.9 #1 Tue Apr 13 17:41:45 EDT 2004 i686 i686 i386 GNU/Linux

許多命令會出現segmentation fault.例如apt-getrpmsleep等等。

# rpm -v

Segmentation fault

# sleep 1

Segmentation fault

執行gdbbacktrace資訊如下:

# gdb sleep

(gdb) run 1

Starting program: /bin/sleep 1

(no debugging symbols found)...(no debugging symbols found)

[New Thread 1074144416 (LWP 4547)]

(no debugging symbols found)

(no debugging symbols found)...(no debugging symbols found)

Couldn't get registers: No such process.

(gdb) bt

Cannot fetch general-purpose registers for thread 1074144416: generic error

google了一把找到一個類似的xmmsbug report#export LD_ASSUME_KERNEL=2.4.18解決了,不懂這個東東,也沒時間去了解,記錄一下:(

沒有繼續嘗試

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

相關文章