ORACLE数据库数据泵备份与恢复
EXPDP和IMPDP是服务端的⼯具程序,他们只能在ORACLE服务端使⽤,不能在客户端使⽤。
IMP只适⽤于EXP导出的⽂件,不适⽤于EXPDP导出⽂件;IMPDP只适⽤于EXPDP导出的⽂件,⽽不适⽤于EXP导出⽂件。
⼀、expdp和impdp的使⽤
1.创建⽬录
create directory DBBAK as '/bak'; #DBBAK名称可以随便命名需要⼿⼯创建/bak,并且此⽬录oracle⽤户有读取写⼊权限
2.查看所有⽬录
select * from dba_directories;
3.给test⽤户赋予在指定⽬录的操作权限,最好⽤root⽤户赋予。
grant read,write on directory DBBAK to test;
4.导出数据
1)按⽤户导
expdp test/test@orcl schemas=test dumpfile=expdp.dmp DIRECTORY=DBBAK logfile=expdp.log
2)并⾏进程parallel
expdp test/test@orcl directory=DBBAK dumpfile=expdp1.dmp parallel=10 job_name=test1
3)按表名导
expdp test/test@orcl TABLES=table01,table02 dumpfile=expdp2.dmp DIRECTORY=DBBAK;
4)按查询条件导oracle 时间转换
expdp test/test@orcl directory=DBBAK dumpfile=expdp4.dmp Tables=table01 query='WHERE id=001';
5)按表空间导
expdp system/system DIRECTORY=DBBAK DUMPFILE=tablespace.dmp TABLESPACES=test,USERS;
6)导整个数据库
expdp system/system DIRECTORY=DBBAK DUMPFILE=full.dmp FULL=y;
5、创建表空间及⽤户
create tablespace test datafile '+data/test/datafile/data01.dbf' size 32000M;
alter tablespace test add datafile '+data2/test/datafile/users02.dbf' size 32000M;
create user test identified by test default tablespace TEST temporary tablespace TEMP;
grant connect,resource,dba to test;
grant read,write on directory DBBAK to test;
6、还原数据
1)导到指定⽤户下
impdp test1/test1@orcl DIRECTORY=DBBAK DUMPFILE=expdp.dmp SCHEMAS=test logfile=impdp.log
2)改变表的owner
impdp system/system DIRECTORY=DBBAK DUMPFILE=expdp2.dmp TABLES=test.table01
REMAP_SCHEMA=test1:table11;
3)导⼊表空间
impdp system/system DIRECTORY=DBBAK DUMPFILE=tablespace.dmp TABLESPACES=test;
4)导⼊数据库
impdb system/system DIRECTORY=DBBAK DUMPFILE=full.dmp FULL=y;
5)追加数据
impdp system/system DIRECTORY=DBBAK DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION
7、查看数据是否⼀致
select OBJECT_TYPE,COUNT(*) from all_objects where OWNER='TEST' group by OBJECT_TYPE;
⼆、expdp详细参数可以通过 expdp help=y查看
1.CONTENT 指定要导出的数据
其中有效关键字为:
(ALL), (默认)导出结构和数据
DATA_ONLY:只导出数据
METADATA_ONLY:只导出结构
2.DIRECTORY 供转储⽂件和⽇志⽂件使⽤的⽬录对象
3.DUMPFILE ⽬标转储⽂件 (expdat.dmp) 的列表
例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.d
4.INCLUDE 包括特定的对象类型
例如 INCLUDE=PACKAGE,FUNCTION,PROCEDURE,TABLE:"='EMP'"
5.EXCLUDE 排除特定的对象类型与INCLUDE相反
6.TABLES 标识要导出的表的列表
7.SCHEMAS 要导出的⽅案的列表可⽀持多个
schemas=(user01,user02,user03)
8.TABLESPACES 标识要导出的表空间的列表
9.ATTACH 连接到现有作业, 例如 ATTACH [=作业名]
10.COMPRESSION
ALL :对导出的元数据和表数据都进⾏压缩,得到的导出⽂件是最⼩的,耗时也是最长的。
DATA_ONLY :仅对表数据进⾏压缩,对于⼤数据量的导出效果明显,会⽐METADATA_ONLY⽅式得
到更⼩的压缩⽂件。METADATA_ONLY :仅对元数据进⾏压缩,⽽不会对表数据进⾏压缩,这种压缩执⾏后效果⼀般不是很明显,不过速度⽐较快。
NONE :不进⾏任何的压缩,导出后的⽂件也是最⼤的。
DEFAULT :默认⽅式,即不指定COMPRESSION参数,会采⽤默认的压缩⽅式METADATA_ONLY。
11.FULL 导出整个数据库默认N
12.LOGFILE ⽇志⽂件名 (export.log)
13.NOLOGFILE 不写⼊⽇志⽂件 (N) 不常⽤
14.PARFILE 指定参数⽂件
15.PARALLEL 更改当前作业的活动 worker 的数⽬默认1
⼀般配合dumpfile使⽤,dmp⽂件数不能超过worker数⽬,如果⼩于worker的数⽬,未分配到⽂件的worker⼀直处于等待状态。⼀般使⽤%U参数,他会根据worker数⾃动⽣成从1到n的数字名称的⽂件
例:dumpfile=test1.dmp,test2.dmp parallel=5。只会⼯作2个worker,其他3个worker⼀直处于wait状
态
dumpfile=test-%U.dmp parallel=5
16.JOB_NAME 要创建的导出作业的名称
17.QUERY ⽤于导出表的⼦集的谓词⼦句
18.其他参数
ENCRYPTION_PASSWORD ⽤于创建加密列数据的⼝令关键字。
ESTIMATE 计算作业估计值, 其中有效关键字为:
(BLOCKS) 和 STATISTICS。
ESTIMATE_ONLY 在不执⾏导出的情况下计算作业估计值。
FILESIZE 以字节为单位指定每个转储⽂件的⼤⼩。
FLASHBACK_SCN ⽤于将会话快照设置回以前状态的 SCN。FLASHBACK_TIME ⽤于获取最接近指定时间的 SCN 的时间。NETWORK_LINK 链接到源系统的远程数据库的名称。
SAMPLE 要导出的数据的百分⽐;
STATUS 在默认值 (0) 将显⽰可⽤时的新状态的情况下,
要监视的频率 (以秒计) 作业状态。
TRANSPORT_FULL_CHECK 验证所有表的存储段 (N)。
TRANSPORT_TABLESPACES 要从中卸载元数据的表空间的列表。VERSION 要导出的对象的版本, 其中有效关键字为: (COMPATIBLE), LATEST 或任何有效的数据库版本
19.交互模式下命令
ADD_FILE 向转储⽂件集中添加转储⽂件。
CONTINUE_CLIENT 返回到记录模式。如果处于空闲状态, 将重新启动作业。EXIT_CLIENT 退出客户机会话并使作业处于运⾏状态。
FILESIZE 后续 ADD_FILE 命令的默认⽂件⼤⼩ (字节)。
HELP 总结交互命令。
KILL_JOB 分离和删除作业。
PARALLEL 更改当前作业的活动 worker 的数⽬。
PARALLEL=<worker 的数⽬>。
START_JOB 启动/恢复当前作业。
STATUS 在默认值 (0) 将显⽰可⽤时的新状态的情况下,
要监视的频率 (以秒计) 作业状态。
STATUS[=interval]
STOP_JOB 顺序关闭执⾏的作业并退出客户机。
STOP_JOB=IMMEDIATE 将⽴即关闭
数据泵作业。
三、impdp参数⼤部分参数是和expdp⼀致的,下⾯主要介绍impdp特有的
1.REMAP_SCHEMA 将⼀个⽅案中的对象加载到另⼀个⽅案
例 REMAP_SCHEMA=user01:user02
2.REMAP_TABLESPACE 将表空间对象重新映射到另⼀个表空间
REMAP_TABLESPACE=DATA01:DATA02 (如果需要多个空间映射,⽤逗号隔开)
3.REMAP_DATAFILE 在所有 DDL 语句中重新定义数据⽂件引⽤。
。
。
REUSE_DATAFILES 如果表空间已存在, 则将其初始化 (N)。
SKIP_UNUSABLE_INDEXES 跳过设置为⽆⽤索引状态的索引。
SQLFILE 将所有的 SQL DDL 写⼊指定的⽂件。
STREAMS_CONFIGURATION 启⽤流元数据的加载
TABLE_EXISTS_ACTION 导⼊对象已存在时执⾏的操作。
有效关键字: (SKIP), APPEND, REPLACE 和 TRUNCATE。
TRANSFORM 要应⽤于适⽤对象的元数据转换。
TRANSFORM = transform_name:value[:object_type]
有效的转换关键字: SEGMENT_ATTRIBUTES, STORAGE
OID 和 PCTSPACE。
transform_name
SEGMENT_ATTRIBUTES - If the value is specified as y, then segment attributes (physical attributes, storage attributes, tablespaces, and logging) are included, with appropriate DDL. The default is y.
如果将值指定为y,则包含段属性(物理属性,存储属性,表空间和⽇志记录)以及适当的DDL。默认值为y。STORAGE - If the value is specified as y, then the storage clauses are included, with appropriate DDL. The default is y. This parameter is ignored if SEGMENT_ATTRIBUTES=n.
如果将值指定为y,则包含存储⼦句,并使⽤适当的DDL。默认值为y。如果SEGMENT_ATTRIBUTES = n,则忽略此参数OID - If the value is specified as n, then the assignment of the exported OID during the creation of object tables and types
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论