impdp导入不成功没有数据

本文讨论了在使用expdp和impdp导出和导入Oracle数据时遇到的ORA-00942错误,指出问题在于用户名不匹配,并提供了通过在导入语句中添加remap_scmema参数来解决此问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导出语句为:
expdp scott/***** directory=dump_dir dumpfile=mydump.dmp tables=person job_name=my_exp
结果显示成功导出。

导入语句为:
impdp system/****** directory=dump_dir dumpfile=mydump.dmp tables=person job_name=my_imp

 

在system用户下查询person时,系统却提示:ORA-00942:表或视力不存在

 

解决方法:

进出的用户名不一致当然没有,默认找同名用户。
所以需要加上remap_scmema=scott:system。

 

 


可以按照以下步骤在Linux系统中使用impdp命令导入Oracle数据: 1. 确认数据库已经创建,并且已经创建了需要导入。 2. 在Linux终端中,使用以下命令登录到Oracle数据库: ``` sqlplus username/password@database ``` 其中,username为数据库用户名,password为密码,database为数据库名称。 3. 使用以下命令创建目录对象,用于存放导入数据的文件: ``` CREATE DIRECTORY dump_dir AS '/u01/dump'; ``` 其中,dump_dir为目录名称,/u01/dump为目录路径。 4. 在Linux终端中,使用以下命令导出数据: ``` expdp username/password@database tables=table_name directory=dump_dir dumpfile=table_name.dmp logfile=table_name.log ``` 其中,table_name为需要导出的名,username为数据库用户名,password为密码,database为数据库名称,dump_dir为目录名称。 5. 将导出的数据文件table_name.dmp复制到需要导入数据的Linux系统中。 6. 在Linux终端中,使用以下命令导入数据: ``` impdp username/password@database directory=dump_dir dumpfile=table_name.dmp logfile=table_name_imp.log remap_schema=old_username:new_username remap_tablespace=old_tablespace:new_tablespace ``` 其中,table_name为需要导入名,username为数据库用户名,password为密码,database为数据库名称,dump_dir为目录名称,old_username为原用户名,new_username为新用户名,old_tablespace为原空间名,new_tablespace为新空间名。 7. 导入完成后,在Oracle数据库中确认数据已经成功导入
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值