xtts 跨平台迁移数据库
1、源和目标库创建数据库对应的目录,目标库创建公共 DBLink 使用 system 用户
# source db
create or replace directory ora11g_dir as '+DATA/orcl11g/datafile';
create or replace directory xttsfiles as '/home/oracle/xttsfiles';
grant read,write on directory ... to public;
# target db
create or replace directory ora12c_dir as '+DATA/orcl12c/datafile';
create or replace directory xttsfiles as '/home/oracle/xttsfiles';
grant read,write on directory ... to public;
create database link ORA11G_LINK connect to system identified by system using 'ORA11G';

2、解压 XTTS
unzip -d /home/oracle/xtts rman_xttconvert_1.4.zip

3、编辑 xtts.properties 配置文件
vi xtts.properties
tablespace=DATA,INDEX
# source db param
platform=2
srcdir=ora11g_dir
srclink=ora11g_link
dfcopydir=/home/oracle/xttsfiles
backupformat=/home/oracle/xttsfiles
# target db param
dstdir=ora12c_dir
stageondest=/home/oracle/xttsfiles
storageondest=+DATA
backupondest=+FRA
asm_home=/u01/app/12.1.0/grid
asm_sid=+ASM
parallel=4
rollparallel=2

4、执行脚本
初始提取
Generate initial datafile image copies:
$ ./xttdriver.pl -S
Copy scripts & files to destination platform:
$ scp ... ...
Pull initial datafile image copies to destination:
$ ./xttdriver.pl -G
Conversion handled implicitly!

增量同步
Generate INCREMENTAL LEVEL 1 backup sets:
$ ./xttdriver.pl -i
Copy scripts & files to destination platform:
$ scp ... ...
Capture SCN of last synchronization:
$ ./xttdriver.pl -s
Use INCREMENTAL LEVEL 1 backup sets to recover datafile image copies to current SCN:
$ ./xttdriver.pl -r
当源库与目标库期望接近时,DBA决定完成迁移,则将所有需要XTTS迁移的对象设置为只读模式,直到最后一个1级增量备份被捕获并传输到目标库,然后应用于0级备份,在做最后一次恢复。
alter tablespace ... read only;

最终同步
Generate INCREMENTAL LEVEL 1 backup sets:
$ ./xttdriver.pl -i
Copy scripts & files to destination platform:
$ scp ... ...
Capture SCN of last synchronization:
$ ./xttdriver.pl -s
Use INCREMENTAL LEVEL 1 backup sets to recover datafile image copies to final SCN:
$ ./xttdriver.pl -r
Import metadata into destination database:
$ ./xttdriver.pl -e

更多推荐