ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 有关用8i的客户端导出10g的数据库的试验总结

有关用8i的客户端导出10g的数据库的试验总结

原创 Linux操作系统 作者:orchidllh 时间:2004-12-09 00:00:00 0 删除 编辑

起因是我的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/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 小哞看奥运
请登录后发表评论 登录
全部评论

注册时间:2008-02-21

  • 博文量
    180
  • 访问量
    849361