一般情况下,我们对oracle数据库导出使用exp命令:
exp userName/password file=myExp.dmp owner=userName;
但今天博主在对数据库进行exp导出操作时,导出失败报错:
EXP-00006: internal inconsistency error EXP-00000: Export terminated unsuccessfully
在这种情况下,我们碰上了oracle的bug,exp命令行不通。
下面介绍另外一种导出方式——expdp命令。
1.创建dmp文件存储路径
mkdir E:/dump_name
2.启动sqlplus
SqlPlus sys/syspwd@MyOrcl AS sysdba
3.为dump导入导出新建目录名称(dump_dir)
create or replace directory dump_name as 'E:DumpFiles' ;
4.为此用户的导入导出目录赋读写权限,不然导出会报错
//dump_name为上条语句创建的目录名称 //userName为数据库的用户名,需要导哪个用户名下的数据就赋权给谁 grant read,write on directory dump_name to userName;
5.退出 sqlplus 并运行dump工具
exit;
6.执行导出操作
//directory=自己创建的目录名称 //dumpfile=导出的文件名称 expdp userName/password directory=dump_name dumpfile=myDump.dmp
最后附上配套的导入命令
impdp userName/password directory=dump_name dumpfile=myDump.dmp FULL=y;