[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