码迷,mamicode.com
首页 > 数据库 > 详细

xtts 跨平台迁移数据库

时间:2019-06-01 23:10:28      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:exp   rdbms   only   转换   upm   忽略   nfs   pre   false   

建议xtts目录和/rman 备份的路径目录都使用nfs共享


alter system set deferred_segment_creation=false sid=* scope=spfile;

###########################增量临时文件在asm#########xtt.properties ##########################
tablespaces=SPROD_TBS,IDX_TBS
platformid=13
dfcopydir=/xttrman/full 本地全量备份数据的路径
backupformat=/xttrman/incr 本地增量备份数据的路径
stageondest=/xttrman/full 目标端所需要恢复数据的路径,后续生成的增量也要拷贝到这里
storageondest=+DATA/prod/datafile 目标端数据文件路径 -c 的时候放的位置
backupondest=+DATA/prod/datafile 目标端增量文件的临时路径,做完增量后会自动删除,如果放asm需要设置asm_home和asm_sid
asm_home=/oracle/app/grid/product/11.2.0/grid
asm_sid=+ASM
parallel=2
rollparallel=2
getfileparallel=2
#############################建议使用这种方式,增量临时文件在文件系统######xtt.properties #######################
tablespaces=SPROD_TBS,IDX_TBS
platformid=13
dfcopydir=/xttrman/full
backupformat=/xttrman/incr
stageondest=/xttrman/full
storageondest=+DATA/prod/datafile
backupondest=/xttrman/rec
#asm_home=/oracle/app/grid/product/11.2.0/grid
#asm_sid=+ASM
parallel=2
rollparallel=2
getfileparallel=2
###########################################################################################


源端全量备份脚本
cat full_backup.sh 
export TMPDIR=/oracle/soft/xttconvert
perl xttdriver.pl -p

源端执行全量备份
sh full_backup.sh

生成文件
[oracle@localhost xttconvert]$ cat xttplan.txt 
SPROD_TBS::::967892
5
6
IDX_TBS::::967892
7

[oracle@localhost xttconvert]$ cat xttplan.txt 
SPROD_TBS::::967892
5
6
IDX_TBS::::967892
7
[oracle@localhost xttconvert]$ cat rmanconvert.cmd
host echo ts::SPROD_TBS; 
convert from platform Linux x86 64-bit 
datafile 
/xttrman/full/SPROD_TBS_5.tf 
,/xttrman/full/SPROD_TBS_6.tf 
format +DATA/prod/datafile/%N_%f.dbf 
parallelism 2; 
host echo ts::IDX_TBS; 
convert from platform Linux x86 64-bit 
datafile 
/xttrman/full/IDX_TBS_7.tf 
format +DATA/prod/datafile/%N_%f.dbf 
parallelism 2;

目标端,执行恢复转换
vi convert.sh
export XTTDEBUG=1
export TMPDIR=/oracle/soft/xttconvert
perl xttdriver.pl -c

sh convert.sh

vi do_incr.sh
export TMPDIR=/oracle/soft/xttconvert
perl xttdriver.pl -i


源端增量备份
sh do_incr.sh

[oracle@localhost xttconvert]$ cat xttplan.txt.new 
SPROD_TBS::::968168
5
6
IDX_TBS::::968196
7
[oracle@localhost xttconvert]$ cat tsbkupmap.txt
IDX_TBS::7:::1=07u31cir_1_1
SPROD_TBS::5,6:::1=06u31ciq_1_1


注意每次做完增量 需要将增量的数据文件拷贝到全量备份的目录下,恢复完删除/xttrman/incr/*
cp /xttrman/incr/* /xttrman/full/

目标端增量恢复
vi restore_incr.sh
export TMPDIR=/oracle/soft/xttconvert
perl xttdriver.pl -r


注意如果增量恢复文件放在asm可能会出现以下错误,可以忽略,这个是xtts无法自动删除asm的临时文件
Cant locate strict.pm in @INC (@INC contains: /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0 /oracle/app/grid/product/11.2.0/grid/lib /oracle/app/grid/product/11.2.0/grid/lib/asmcmd /oracle/app/grid/product/11.2.0/grid/rdbms/lib/asmcmd /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl .) at /oracle/app/grid/product/11.2.0/grid/bin/asmcmdcore line 143.
BEGIN failed--compilation aborted at /oracle/app/grid/product/11.2.0/grid/bin/asmcmdcore line 143.
Cant locate strict.pm in @INC (@INC contains: /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0 /oracle/app/grid/product/11.2.0/grid/lib /oracle/app/grid/product/11.2.0/grid/lib/asmcmd /oracle/app/grid/product/11.2.0/grid/rdbms/lib/asmcmd /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0/x86_64-linux-thread-multi /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl/5.10.0 /oracle/app/grid/product/11.2.0/grid/perl/lib/site_perl .) at /oracle/app/grid/product/11.2.0/grid/bin/asmcmdcore line 143.
BEGIN failed--compilation aborted at /oracle/app/grid/product/11.2.0/grid/bin/asmcmdcore line 143.

下次增量要记录当前恢复的scn位置,产生最新 xttplan.txt 文件要不然下次增量还会在全量进行备份
perl xttdriver.pl -s

后续增量循环以下三步骤
sh do_incr.sh
sh restore_incr.sh
perl xttdriver.pl -s


最后一次增量,表空间设置为只读模式
SQL> alter tablespace SPROD_TBS read only;

Tablespace altered.

SQL> alter tablespace IDX_TBS read only;

Tablespace altered.

最后一次恢复
sh do_incr.sh 
sh restore_incr.sh


导入元数据,建议不要导入统计信息,目标库直接收集
create or replace directory xtts_dir as /oracle/soft/
create database link ttslink connect to system identified by "oracle" USING sprod;

ASMCMD> ls -al
WARNING:option a is deprecated for ls
please use absolutepath

Type Redund Striped Time Sys Name
DATAFILE UNPROT COARSE JUN 01 21:00:00 Y +DATA/PROD/DATAFILE/idx_tbs_7.dbf => IDX_TBS.274.1009834557
DATAFILE UNPROT COARSE JUN 01 21:00:00 Y +DATA/PROD/DATAFILE/sprod_tbs_5.dbf => SPROD_TBS.273.1009834553
DATAFILE UNPROT COARSE JUN 01 21:00:00 Y +DATA/PROD/DATAFILE/sprod_tbs_6.dbf => SPROD_TBS.275.1009834553
DATAFILE UNPROT COARSE JUN 01 21:00:00 Y none => SYSAUX.257.1009808403
DATAFILE UNPROT COARSE JUN 01 21:00:00 Y none => SYSTEM.256.1009808403
DATAFILE UNPROT COARSE JUN 01 21:00:00 Y none => UNDOTBS1.258.1009808403
DATAFILE UNPROT COARSE JUN 01 21:00:00 Y none => USERS.259.1009808403
N idx_tbs_7.dbf => +DATA/PROD/DATAFILE/IDX_TBS.274.1009834557
N sprod_tbs_5.dbf => +DATA/PROD/DATAFILE/SPROD_TBS.273.1009834553
N sprod_tbs_6.dbf => +DATA/PROD/DATAFILE/SPROD_TBS.275.1009834553
ASMCMD>

impdp \/ as sysdba\‘ directory=xtts_dir logfile=tts_imp.log network_link=ttslink transport_full_check=no transport_tablespaces=SPROD_TBS,IDX_TBS exclude=STATISTICS transport_datafiles=+DATA/PROD/DATAFILE/IDX_TBS.275.1009832163,+DATA/PROD/DATAFILE/SPROD_TBS.274.1009832159,+DATA/PROD/DATAFILE/SPROD_TBS.273.1009832159

 

 

ls -al|grep -v *.zip|grep -v .sh|awk -F  {print $9}|xargs rm -rf

 

xtts 跨平台迁移数据库

标签:exp   rdbms   only   转换   upm   忽略   nfs   pre   false   

原文地址:https://www.cnblogs.com/houzhiqing/p/10961263.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!