[oracle] 服务器导入dmp文件

转载自https://note.youdao.com/share/?id=ef2222fd7ac9b299077ba88567d5d806&type=note#/

expdp导出命令(如果从高版本导入到低版本要指定低版本的版本号)

TABLES=accesslog,accesslogitem(指定哪些表) content=metadata_only(只导表结构) query='WHERE deptno=20'(根据查询条件,要与tables连用) FULL=y(导整个数据库)

expdp wacos/oss dumpfile=test.dmp version=10.2.0.3.0

导出的test.dmp文件要用find命令查找一下。因为你没有指定directory

如果要指定directory的话请参考下面的方法

Sql代码

--创建dump文件目录

create directory dump_test as 'D:\test\dump'

--授权读写权限给你要操作的用户

grant read, write on directory dump_test to

username

 

impdp导入命令(如果是不同的用户之间导入导出,应该要指定导入用户和导出用户)

impdp cms/cms dumpfile=test.dmp REMAP_SCHEMA=wacos:cms EXCLUDE=USER(如果出错,这个属性不要)

如果出现这个问题 unable to open dump file "/opt/oracle/db01/app/oracle/admin/ORCL/dpdump/test.dmp" for read

这是因为directory路径下面没有test.dmp的原因

 

导出某个用户数据

expdp cms_0827/oss dumpfile=cms_0827.dmp schemas=cms_0827 logfile=cms_0827.log

cms_0827.dmp和cms_0827.log会放到某个逻辑目录下

find /opt/oracle -name cms_0827.log 通过该命令查找

文件名后缀必须是dmp

导入用户数据

impdp cms_0827/oss dumpfile=cms_0827.dmp schemas=cms_0827 logfile=cms_0827.log

关于用imp命令导入数据库的原因是由于有外键因素等原因存在。解决方案如下

===========================================================================================================案例=========================================

在172.19.65.32的cms_0827用户下导出WS_MERGEDMEDIA的表结构及数据

expdp cms_0827/oss tables=WS_MERGEDMEDIA dumpfile=temp_patrick.dump logfile=temp_patrick.log version=10.2.0.3.0

在10.50.13.68的sop用户下导入该dump文件

impdp sop/sop dumpfile=temp_patrick.dump remap_schema=cms_0827:sop logfile=temp_patrick.log

你可能感兴趣的:(oracle,linux)