从oracle 12c 备份(expdp)出来的包,还原到11g里,想想都知道会有兼容性问题。
果不其然,报错了:
ORA-39142: 版本号 4.1 (在转储文件 “叉叉叉.expdp” 中) 不 兼容
之类
后来才知道,在12C中备份出来时,应指定版本信息,例如我要导进11g的库(具体版本为11.1.0.6.0,打开sqlplus就能看到),则version=11.1.0.6.0
语句:
在12C备份
1
|
<code class= "hljs livecodeserver" >expdp system/ password @SID12c directory=dbbak dumpfile=20160321.expdp logfile=20160321.log schemas=leftfist version=11.1.0.6.0</code>
|
在11g中还原
1
|
<code class= "hljs livecodeserver" ><code class= "hljs livecodeserver" >impdp sys/ password @SID11g directory=dbbak dumpfile=20160321.expdp logfile=20160321.log schemas=leftfist table_exists_action= replace </code></code>
|
当然这里面忽略了创建备份文件存放目录dbbak,创建表空间、用户等细节。后续有时间会持续给大家带来相关知识介绍,希望本文给大家介绍的Oracle12c的数据库向11g导进的方法对大家有所帮助!