起因是我的8i的数据库迁移到10g的数据库后,希望用8i的数据库作为新的数据库的异地备份,但是sqlplus可以连通,exp的时候提示错误。
在blog上看到的:
缘由:前两天用9.2.0.1的exp去导出8.1.7.0数据库,得到ora-0942错误,参考了网上的多种方法后
都未能解决,例如运行catexp.sql、catpatch.sql等,于是细看了一下oracle帮助中的exp、imp,
做了以下测试(8i和9i):
源数据库 目标数据库 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-00942、IMP-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-00942、IMP-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-00942、IMP-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 成功
总结,如果版本不一致的话,在数据库之间exp、imp数据的应该遵循的规则:
1、 imp工具的版本应该和目标数据库的版本一致;
2、 exp工具的版本应该与源数据库和目标数据库中版本最低的一个相一致;
另可参见《Oracle9i Database Utilities》exp部分
但是我用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的数据库,我用它导DB4(10G)的还是不行,跟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机器,
许多命令会出现segmentation fault.例如apt-get,rpm,sleep等等。
运行gdb,backtrace信息如下:
google了一把找到一个类似的xmms的bug report,#export LD_ASSUME_KERNEL=2.4.18解决了,不懂这个东东,也没时间去了解,记录一下:(
没有继续尝试。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/51862/viewspace-180564/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/51862/viewspace-180564/