Oracle expdp impdp 数据泵导入导出
·
一、创建 directory 对象
create directory dir_name as 'd:/oracle_data/dir';
dir_name:对象名称,后面会用到
注意:这里只是数据库对象与文件系统对象的关联,具体文件目录仍需创建
二、将读写权限授权给一个用户
grant read,write on directory dir_name to user_name ;
dba权限的用户无需授权
三、数据泵导出 expdp
- 进入 cmd 窗口
-
常规导出(按用户)
expdp scott/tiger DIRECTORY=dir_name DUMPFILE=testuser_20230401.dmp schemas=testuser logfile=expdp_testuser_20230401.log
导出中……

-
其他导出参数
-- 按表空间导出
-- 指定表导出
-- 排除指定表
-- 压缩导出
-- 生成兼容版本的文件
-- 只导出表结构
-- 连接远程用户导出
-- 按表空间导出
TABLESPACES=spaces1,spaces2
-- 指定表导出(不能与schemas参数同时使用)
TABLES=schema_name.table1,schema_name.table2
-- 排除指定表(在schemas内)
EXCLUDE=TABLE:\"IN ('table1', 'table2')\"
-- 压缩导出(源库文件过大时压缩导出便于拷贝,10g不支持压缩)
compression=all
-- 生成兼容版本的文件(跨oracle版本迁移时,通常指定较低的数据库版本)
version=10.2.0.1.0
-- 只导出表结构
CONTENT=METADATA_ONLY
-- 连接远程用户导出(注意:导出的文件仍然在远程服务器上,需要进入远程服务器的directory对象目录中查找dmp文件))
expdp system/manager@192.168.1.134/orcl ******
-
其他命令
-- 查询数据库版本
SELECT * FROM v$version;
四、数据泵导入impdp
- 放置dmp文件
将导出的dmp文件放到目标数据库的directory目录(如果没有则需创建,授权同理)
- 进入 cmd 窗口
-
常规导入(按用户)
impdp scott/tiger@orcl directory=dir_name dumpfile=testuser_20230401.dmp transform=oid:n logfile=impdp_testuser_20230401.log
transform=oid:n 避免导入时对象标识符冲突
-
其他导入参数
-- 变更数据库用户
-- 变更表空间
-- 变更临时表空间
-- 导入指定表
-- 排除指定表
-- 指定兼容版本导入
-- 表已存在时执行覆盖
-- 连接远程用户导出
-- 变更数据库用户
remap_schema=dbname_source:dbname_target
-- 变更表空间
REMAP_TABLESPACE=dbspace_source:dbspace_target
-- 变更临时表空间
REMAP_TABLESPACE=dbspace_temp_source:dbspace_target_temp
-- 导入指定表(schema一致时可省略schema_name)
tables=[schema_name.]table1,[schema_name.]table2
-- 排除指定表(在schemas内)
EXCLUDE=TABLE:\"IN ('table1', 'table2')\"
-- 指定兼容版本导入
version=10.2.0.1.0
-- 表已存在时执行覆盖(其他,skip:跳过这个表)
table_exists_action=replace
-- 连接远程用户导出(注意:需要提前将dmp文件放到远程服务器的directory对象目录中)
impdp system/manager@192.168.1.134/orcl ******
-
其他问题
注意:部分版本导入时需要dmp文件名大小写一致!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)