【Oracle】19c数据库向11g迁移数据的问题

19c通过exp命令到处的dmp文件,导到11gR2会报错,


Import: Release 11.2.0.4.0 - Production on Tue Jan 11 17:36:14 2022

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.


Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

IMP-00010: not a valid export file, header failed verification
IMP-00000: Import terminated unsuccessfully

有人说用expdp指定版本号,这个自然没问题,但一来麻烦,二来有可能没有服务器权限,没法expdp,其实简单修改导出的dmp文件即可
linux下直接vimdmp文件修改文件头由V19.00.00改为V11.02.00即可,下面那行还可以改下用户名,
在这里插入图片描述

在这里插入图片描述

当然表空间就没法了,对于大数据类型CLOB,BLOB 表 表空间不存在的情况,exp就只能给它新建表空间了,数据泵expdp可以重定向,exp不行;新建表空间后,导入,然后重新把表迁移到对应表空间

IMP-00003: ORACLE error 959 encountered
ORA-00959: tablespace 'YYQ_SYS_BJ' does not exist

用以下语句整体迁移下,在删除额外新建的表空间,问题解决

select 'alter table  ' || table_name || '  move tablespace test1;'
  from user_all_tables
 where tablespace_name = 'TEST'; 

2022年5月7日补充

昨天某地测试问题,19c到12c,改成12.01.00一直不行,最后发现版本号不一定是数据库的版本号,还要看本地oracle客户端的版本号,应该是哪个版本低用哪个就可以

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
是的,Oracle 19c可以通过数据泵(Data Pump)方式导入Oracle 9i的数据数据泵是Oracle 10g引入的一种高效的数据导入导出工具,可以在不同版本的Oracle数据库之间进行数据迁移。以下是导入Oracle 9i数据Oracle 19c的步骤: 1. 在Oracle 19c数据库中创建一个新的目录(directory),用于存放导入数据所需的DMP文件。例如: ``` CREATE DIRECTORY dpump_dir AS '/u01/app/oracle/dpump'; ``` 2. 在Oracle 19c数据库中创建一个新的数据泵(Data Pump)作业(job),用于导入数据。例如: ``` CREATE JOB imp_job DESCRIPTION 'Import data from Oracle 9i' PROGRAM 'impdp' ENABLED; ``` 3. 将Oracle 9i数据库中的DMP文件复制到Oracle 19c数据库的目录中。例如: ``` scp user@oracle9i:/u01/app/oracle/export/exp.dmp /u01/app/oracle/dpump/exp.dmp ``` 4. 在Oracle 19c数据库中运行IMPDP命令,导入数据。例如: ``` impdp user/password@oracle19c directory=dpump_dir dumpfile=exp.dmp logfile=imp.log ``` 其中,user/password是Oracle 9i数据库的用户名和密码,oracle19cOracle 19c数据库的TNS别名,dpump_dir是步骤1中创建的目录名,exp.dmp是Oracle 9i导出的DMP文件名,imp.log是导入日志文件名。 需要注意的是,导入数据时可能需要调整一些参数,例如缓冲区大小、并行度等,以便更好地适应新的数据库环境。此外,数据泵工具还提供了许多其他选项,例如在导入时可以选择只导入指定的表、分区等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

实施工程师木易

感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值