【XTTS】Oracle傳輸表空間xtts增量方式

xysoul_雲龍發表於2019-01-21
--線上傳輸表空間,增量方式
--建立相關目錄
create directory sourcedir as '+DATA/mydb/datafile';
create directory destdir as '/oracle/app/oracle/oradata/mytest';
--建立dblink
create public database link ttslink connect to system identified by oracle using 'mydb';
select * from dual@ttslink;
 
export TMPDIR=/home/oracle/xtt
mkdir -p /stage_source
chown oracle:oinstall /stage_source
scp -r/home/oracle/xtt mystandby:/home/oracle
--相關表空間
TEST,MYDB,TMOVE,TBSADD,TSB01
tablespaces=          ----需要遷移的表空間
platformid=           ----源 OS 平臺 ID
dfcopydir=            ----源資料庫備份檔案存放目錄
backupformat=         ---源資料庫增備檔案存放目錄
stageondest=          ----目標據庫備份檔案存放目錄
storageondest=        ----目標據庫正式檔案存放目錄
backupondest=         ----目標據庫增備檔案存放目錄
parallel=             ----備份,轉化的並行度
rollparallel=         ----增備的並行度
getfileparallel=      ---- 使用 dbms_file_transfer 方式的並行度
--源端塊跟蹤
alter database enable block change tracking using file '+data';
--源端執行,匯出資料
export TMPDIR=/home/oracle/xtt
$ORACLE_HOME/perl/bin/perl xttdriver.pl -p
--nfs
/stage_source 192.168.8.0/24(rw,no_root_squash,no_all_squash,sync)
exportfs -r
service rpcbind start
service nfs start
mount -t nfs -o rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,actimeo=0,vers=3,timeo=600 192.168.8.24:/stage_source /stage_dest
--掛在的nfs,無需複製
--scp oracle@source:/stage_source/* /stage_dest
cd /home/oracle/xtt/
scp rmanconvert.cmd mystandby:/home/oracle/xtt
--chown -R oracle:oinstall /stage_dest/*
export TMPDIR=/home/oracle/xtt
$ORACLE_HOME/perl/bin/perl xttdriver.pl -c
--源端建立增量備份
export TMPDIR=/home/oracle/xtt
$ORACLE_HOME/perl/bin/perl xttdriver.pl -i
--nfs無需複製
--scp `cat incrbackups.txt` oracle@dest:/stage_dest
cd /home/oracle/xtt/
scp xttplan.txt mystandby:/home/oracle/xtt
scp tsbkupmap.txt mystandby:/home/oracle/xtt
--目標端
export ORACLE_SID=mytest
export TMPDIR=/home/oracle/xtt
$ORACLE_HOME/perl/bin/perl xttdriver.pl -r
--源端更新scn
$ORACLE_HOME/perl/bin/perl xttdriver.pl -s
--目標端建立相關使用者,注意密碼即將過期使用者無法查到(open)
select 'create user '||d.username||' identified by values '''||u.password||''' default tablespace USERS temporary tablespace '||d.TEMPORARY_TABLESPACE||';' from dba_users d,user$ u where d.username=u.name and account_status='OPEN' and username not in('SYS','SYSTEM');
select 'grant '||granted_role||' to '||grantee||';' from dba_role_privs where grantee in (select username from dba_users where account_status='OPEN' and username not in('SYS','SYSTEM'))
union
select 'grant '||PRIVILEGE||' to '||grantee||';' from DBA_SYS_PRIVS where grantee in (select username from dba_users where account_status='OPEN' and username not in('SYS','SYSTEM')); 
--源端設定表空間只讀TEST,MYDB,TMOVE,TBSADD,TSB01
 alter tablespace TEST read only;
 alter tablespace MYDB read only;
 alter tablespace TMOVE read only;
 alter tablespace TBSADD read only;
 alter tablespace TSB01 read only;
--最後增量
--源端建立增量備份,注意nfs目錄許可權
chown -R oracle:oinstall /stage_source
export TMPDIR=/home/oracle/xtt
$ORACLE_HOME/perl/bin/perl xttdriver.pl -i
--nfs無需複製,incrbackups.txt 備份資訊
--scp `cat incrbackups.txt` oracle@dest:/stage_dest
cd /home/oracle/xtt/
scp xttplan.txt tsbkupmap.txt mystandby:/home/oracle/xtt
--目標端
su - root
chown -R oracle:oinstall /stage_dest/
su - oracle
export ORACLE_SID=mytest
export TMPDIR=/home/oracle/xtt
$ORACLE_HOME/perl/bin/perl xttdriver.pl -r
--生成匯入指令碼
$ORACLE_HOME/perl/bin/perl xttdriver.pl -e
--編輯匯入指令碼,例如
impdp directory=DATA_PUMP_DIR logfile=tts_imp.log \
network_link=ttslink transport_full_check=no \
transport_tablespaces=ABC \
transport_datafiles='/oracle/app/oracle/oradata/mytest/ABC_12.dbf'
--設定表空間讀寫
 alter tablespace TEST read write;
 alter tablespace MYDB read write;
 alter tablespace TMOVE read write;
 alter tablespace TBSADD read write;
 alter tablespace TSB01 read write;
 
--修改目標端使用者預設表空間(語句在源端查詢)
select 'alter user '||d.username||' default tablespace '||d.default_tablespace||' temporary tablespace '||d.TEMPORARY_TABLESPACE||';' from dba_users d,user$ u where d.username=u.name and account_status='OPEN' and username not in('SYS','SYSTEM');
--取消塊跟蹤
alter database disable block change tracking;
--刪除dblink
drop database link ttslink;
--參考

https://blog.csdn.net/heguanghuicn/article/details/79460198
11G - Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 1389592.1)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29487349/viewspace-2564303/,如需轉載,請註明出處,否則將追究法律責任。

相關文章