Xttdriver增量同步表空间
说明
- 本次实验采用的是rman方式传输数据文件,最后割接手工编辑plugin脚本
- 底层原理为异机convert恢复数据文件copy。在挂载tablespace前,都是无法使用的。
3、目标端需要有实例运行rman做恢复,可以不是目标数据库
4、该同步只挂载了表空间,所以只有表空间内的对象,用户其他元数据(view,function等)需要额外导入
准备
- xtts目录
两端都建立
mkdir /home/oracle/xtts
源端配置目录
mkdir /home/oracle/xtts/stage_source
mkdir /home/oracle/xtts/script
- 目标端到源端的dblink与directory
Create public database link tts connect to system identified by oracle using ‘192.168.7.2:1521/prod’;
Create directory dir as ‘/home/oracle’;
Grant read,write on directory dir to system;
- NFS挂载
源端vi /etc/exports
/home/oracle/xtts *(rw,no_root_squash)
目标端
mount -t nfs 192.168.7.2:/home/oracle/xtts /home/oracle/xtts
- Xttdriver脚本上传
解压脚本到/home/oracle/xtts下
流程
1、初始化
编辑脚本参数
Vi xtt.properties
tablespaces=XTTS
#指定要传输的表空间,复数用逗号隔开
platformid=13
#目标端平台id编号,查询select platform_id from v$database;
dfcopydir=/home/oracle/xtts/stage_source
#源端准备阶段的数据文件copy的存放位置
backupformat=/home/oracle/xtts/stage_source
#源端增量备份文件的存放位置
stageondest=/home/oracle/xtts/stage_source
#手工传输的数据文件拷贝与增量位置,与dfcopydir,backupformat一致即可
storageondest=/u01/app/oracle/oradata
#目标端数据文件的convert后的位置,即最终数据文件的位置
backupondest=/u01/app/oracle
#目标端增量备份convert后的位置
parallel=3
#备份并行度
rollparallel=2
#前滚并行度
getfileparallel=4
#传输文件并行度
源端生成备份
export ORACLE_SID=PROD
export TMPDIR=/home/oracle/xtts/script
$ORACLE_HOME/perl/bin/perl xttdriver.pl -p
Prepare步骤的脚本会在script目录下
目标端转换数据文件
export ORACLE_SID=DEST
export TMPDIR=/home/oracle/xtts/script
$ORACLE_HOME/perl/bin/perl xttdriver.pl -c
- 增量备份与恢复
注意:增量备份与增量恢复配套进行
目标端增量备份
export ORACLE_SID=PROD
export TMPDIR=/home/oracle/xtts/script
$ORACLE_HOME/perl/bin/perl xttdriver.pl -i
源端前滚恢复
export ORACLE_SID=DEST
export TMPDIR=/home/oracle/xtts/script
$ORACLE_HOME/perl/bin/perl xttdriver.pl -r
- 割接
锁定表空间为只读
Alter tablespace xtts read only;
增量追平恢复
执行一次增量备份与恢复
结束挂接表空间
数据库内创建用户
Create user xtts identitied by xtts;
Grant connect,resource to xtts;
生成导入脚本
export ORACLE_SID=DEST
export TMPDIR=/home/oracle/xtts/script
$ORACLE_HOME/perl/bin/perl xttdriver.pl –e
编辑脚本执行挂载
impdp directory=dir logfile=tts1.log \
network_link=tts transport_full_check=no \
transport_tablespaces=XTTS \
impdp directory=dir logfile=meta1.log \
network_link=tts content=metadata_only \
schemas=xtts \
释放源端
Alter tablespace xtts read write;
附件
Xttdriver脚本zip
rman xttconvert v3.zip
Xttdriver官方文档
1389592