DM8逻辑备份恢复笔记

DM8逻辑导出导入主要指令是dexp/dimp 或者dexpdp/dimpdp 两种指令都是参数都是一样的。
唯一区别就是dexp可以支持远程导出,dexpdp只支持导出到服务器上的路径。

一、搭建测试环境
1、创建测试用户和表空间
drop tablespace BKTEST;
create tablespace bktest datafile '/dmdata/bktest01.dbf' size 128 CACHE = NORMAL;
drop tablespace BKTEST;

create user BKTEST identified by bktest123456
 PROFILE "DEFAULT"
default tablespace "BKTEST"
default index tablespace "BKTEST";

grant "PUBLIC","SOI","VTI" to BKTEST;

2、创建测试schema
--默认会为每一个用户创建一个同名的schema
CREATE SCHEMA BKTEST2 AUTHORIZATION "BKTEST";
3、创建测试表
drop table BKTEST.TABLE_1
create table BKTEST.TABLE_1
(
    COLUMN_1 CHAR(10)  ,
    COLUMN_2 CHAR(10),
    COLUMN_3 CHAR(10)
)
storage(initial 1, next 1, minextents 1, fillfactor 0)
;

alter table BKTEST.TABLE_1 add constraint PK_TABLE_1 primary key("COLUMN_1");


4、插入测试数据

insert into BKTEST2.table_2 values('a','table_2','test');
insert into BKTEST2.table_2 values('b','table_2','test');
insert into BKTEST2.table_2 values('c','table_2','test');
insert into BKTEST2.table_2 values('q','table_2','test');
insert into BKTEST2.table_2 values('b','table_2','test');
insert into BKTEST2.table_2 values('c','table_2','test');
二、按照不同策略备份
1、全库导出
dexp USERID=SYSDBA/SYSDBA file=ful.bak directory=/dmbk full=Y
2、导出制定用户
 dexp USERID=SYSDBA/SYSDBA file=BKTEST.bak directory=/dmbk  OWNER=BKTEST
3、导出指定表
 dexp USERID=SYSDBA/SYSDBA file=table.bak directory=/dmbk  tables=BKTEST.table_1,BKTEST2.table_2
4、导出制定schemal
dexp USERID=SYSDBA/SYSDBA file=BKTEST2.bak directory=/dmbk  SCHEMAS=BKTEST2
4、不导出指定对象
dexp USERID=SYSDBA/SYSDBA file=BKTEST_NOROW.bak directory=/dmbk  OWNER=BKTEST rows=N  --不导出行
dexp USERID=SYSDBA/SYSDBA file=BKTEST_NO2.bak directory=/dmbk  OWNER=BKTEST EXCLUDE=SCHEMAS:BKTEST2  --不导出schema  BKTEST2
5、开启导出并行
dexp USERID=SYSDBA/SYSDBA file=BKTESTP.bak directory=/dmbk  OWNER=BKTEST PARALLEL=2

三、恢复对应备份集
1、恢复指定表
用全备备份恢复
dimp USERID=SYSDBA/SYSDBA file=ful.bak directory=/dmbk tables=bktest.table_1
在表已经存在的情况下进行表恢复
dimp USERID=SYSDBA/SYSDBA file=ful.bak directory=/dmbk tables=bktest2.table_2 TABLE_EXISTS_ACTION=APPEND

dimp USERID=SYSDBA/SYSDBA file=ful.bak directory=/dmbk tables=bktest.table_1 TABLE_EXISTS_ACTION=TRUNCATE

切换指定表的schema 
dimp USERID=SYSDBA/SYSDBA file=ful.bak directory=/dmbk tables=bktest.table_1 REMAP_SCHEMA=bktest:bktest2

2、恢复指定 schema

drop schema "BKTEST2" cascade;

dimp USERID=SYSDBA/SYSDBA file=ful.bak directory=/dmbk SCHEMAS=BKTEST2

3、恢复指定owner
drop user "BKTEST" cascade;
重新创建用户,导入用户需要保证指定用户存在

dimp USERID=SYSDBA/SYSDBA file=ful.bak directory=/dmbk OWNER=BKTEST

4、恢复全库

dimp  USERID=SYSDBA/SYSDBA file=ful.bak directory=/dmbk full=Y TABLE_EXISTS_ACTION=TRUNCATE

5、提高导入效率
相关参数
FAST_LOAD :使用直接路径加载
PARALLEL:提高并行度
TABLE_PARALLEL: 在开启直接路径加载的时候有效
BUFFER_NODE_SIZE:直接路径加载文件缓冲区大小


总结,测试过程中未发现报错,功能完整无异常,导入效率限制于测试环境没有很好的参考
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值