下面以windows下oracle操作为例
1. 使用数据泵备份
- 在D盘创建目录
yn作为备份后的保存的的文件夹 - 使用dba用户在oracle服务器上登录sqlplus
sqlplus sys/sys@orcl as sysdba - 在sys登录后的sql命令行中创建导出目录对象
create or replace directory exp_dir as 'D:\yn\'; - 授权指定用户具有访问目录的权限
-- 授予目录读写权限 grant read,write on directory exp_dir to test_user; -- 授予数据泵操作权限 grant exp_full_database to test_user; -- 预防用户权限不足 grant dba to test_user; - 导出操作(在服务器
terminal中执行)
expdp test_user/test_user_pass@orcl
directory=exp_dir
dumpfile=exp_user_20260211.dmp
logfile=exp_user_20260211.log
命令中各字段说明如下
test_user:登录用户
test_user_pass:登录用户的密码
orcl:当前用户的 schema
exp_dir:前面设置的导出目录名称
dumpfile:导出的dmp文件名称
logfile:本次导出操作的日志
2. 使用数据泵还原
- 在D盘创建目录
yn作为导入时的保存数据的的文件夹,并将数据复制到这个文件夹下 - 使用dba用户在oracle服务器上登录sqlplus
sqlplus sys/sys@orcl as sysdba - 在sys登录后的sql命令行中创建导入目录对象
create or replace directory imp_dir as 'D:\yn\'; - 授权指定用户具有访问目录的权限
-- 授予目录读写权限 grant read,write on directory imp_dir to test_user; -- 授予数据泵操作权限 grant imp_full_database to test_user; -- 预防用户权限不足 grant dba to test_user; - 导入操作(在服务器
terminal中执行)
impdp test_user1/test_user_pass@orcl2
directory=imp_dir
dumpfile=exp_user_20260211.dmp
logfile=imp_user_20260211.log
remap_schema=test_user:test_user1
remap_tablespace=orcl1:orcl2
命令中各字段说明如下
test_user1:登录用户
test_user_pass:登录用户的密码
orcl2:当前用户的 schema
imp_dir:前面设置的导入目录名称
dumpfile:待导入的dmp文件名称
logfile:本次导入操作的日志 remap_schema:解决映射前后用户不一致的问题,前面为:源库用户,后面为:待导入库的用户
remap_tablespace: 解决表空间前后不一致的问题,前面:源表空间,后面:目标表空间