数据泵(expdp和impdp)备份恢复数据库

一、数据泵(expdp和impdp)
1、expdp
①在数据库中创建导出数据的目录
create or replace directory exp_dir as 'd:\or_exp_dir';
②把目录授权给bankuser
grant read,write on directory exp_dir to scott;
③用expdp导出数据
expdp scott/tiger@orcl directory=exp_dir dumpfile=test.dmp logfile=testExp.log
1)按用户导
expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;
2)并行进程parallel
expdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3
3)按表名导
expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;
4)按查询条件导
expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';
5)按表空间导
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;
6)导整个数据库
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;
2、impdp
1)导到指定用户下
impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;
2)改变表的owner
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;
3)导入表空间
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;
4)导入数据库
impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;
5)追加数据
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION=append;

---------------------
作者:kisorl
来源:优快云
原文:https://blog.youkuaiyun.com/kisorl/article/details/80706355

转载于:https://www.cnblogs.com/Haihong72H/p/11254218.html

### Oracle 数据库 EXPDP 备份IMPDP 恢复教程 在 Oracle 数据库中,EXPDPExport Data Pump) IMPDP(Import Data Pump)是用于数据备份恢复的强大工具。以下是关于如何使用这些工具进行备份恢复的详细说明。 #### 1. 准备工作 在开始备份恢复之前,需要确保以下条件: - 创建一个目录对象,用于存储导出或导入的文件。 - 确保用户具有执行 EXPDP IMPDP 的权限,例如 `CONNECT`、`RESOURCE` `DATAPUMP_EXP_FULL_DATABASE`[^1]。 #### 2. 使用 EXPDP 进行备份 EXPDP 是 Oracle 提供的数据泵导出工具,支持多种参数以满足不同的备份需求。以下是使用 EXPDP 的基本步骤: ##### (1) 创建备份目录 在操作系统中创建一个物理目录,并通过 SQL 命令将其注册为 Oracle 目录对象: ```sql mkdir /data/oracle/bak sqlplus /nolog conn /as sysdba create directory data_dir as '/data/oracle/bak'; grant read, write on directory data_dir to dbuser; ``` 上述命令中,`dbuser` 是需要备份数据库用户的名称[^3]。 ##### (2) 执行 EXPDP 导出 使用以下命令导出整个模式(schema)的数据: ```bash expdp dbuser/password@orcl schemas=dbuser directory=data_dir dumpfile=dbuser_bak.dmp logfile=expdp.log ``` 如果需要导出特定表,可以添加 `tables` 参数: ```bash expdp dbuser/password@orcl tables=table1,table2 directory=data_dir dumpfile=specific_tables.dmp logfile=expdp.log ``` 为了提高性能,还可以设置 `parallel` 参数以启用多线程处理: ```bash expdp dbuser/password@orcl schemas=dbuser directory=data_dir dumpfile=dbuser_%U.dmp logfile=expdp.log parallel=4 compression=all ``` 上述命令中,`%U` 表示生成多个分片文件[^4]。 #### 3. 使用 IMPDP 进行恢复 IMPDP 是 Oracle 提供的数据泵导入工具,用于将备份数据恢复到目标数据库。 ##### (1) 检查备份环境 在恢复之前,确保目标数据库的用户表空间与备份环境一致。如果没有对应的用户或表空间,需先创建它们。 ##### (2) 执行 IMPDP 导入 使用以下命令将备份数据导入到目标数据库: ```bash impdp dbuser/password@orcl schemas=dbuser directory=data_dir dumpfile=dbuser_bak.dmp logfile=impdp.log ``` 如果需要将数据导入到另一个用户下,可以使用 `remap_schema` 参数: ```bash impdp dbuser/password@orcl remap_schema=source_user:target_user directory=data_dir dumpfile=dbuser_bak.dmp logfile=impdp.log ``` #### 4. 注意事项 - 在执行 EXPDPIMPDP 时,确保目标路径有足够的磁盘空间。 - 如果遇到性能问题,可以通过调整 `parallel` 参数来优化操作效率[^4]。 - 在大规模数据迁移时,建议使用压缩功能以减少存储需求[^5]。 --- ### 示例代码 以下是一个完整的备份恢复示例: #### 备份操作 ```bash expdp scott/tiger@orcl schemas=scott directory=data_dir dumpfile=scott_backup.dmp logfile=expdp.log ``` #### 恢复操作 ```bash impdp scott/tiger@orcl schemas=scott directory=data_dir dumpfile=scott_backup.dmp logfile=impdp.log ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值