千家信息网

【XTTS】Oracle传输表空间xtts增量方式

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,--在线传输表空间,增量方式--创建相关目录create directory sourcedir as '+DATA/mydb/datafile';create directory destdir a
千家信息网最后更新 2024年09月22日【XTTS】Oracle传输表空间xtts增量方式
--在线传输表空间,增量方式--创建相关目录create directory sourcedir as '+DATA/mydb/datafile';create directory destdir as '/oracle/app/oracle/oradata/mytest';--创建dblinkcreate public database link ttslink connect to system identified by oracle using 'mydb';select * from dual@ttslink; export TMPDIR=/home/oracle/xttmkdir -p /stage_sourcechown oracle:oinstall /stage_sourcescp -r/home/oracle/xtt mystandby:/home/oracle--相关表空间TEST,MYDB,TMOVE,TBSADD,TSB01tablespaces=          ----需要迁移的表空间platformid=           ----源 OS 平台 IDdfcopydir=            ----源数据库备份文件存放目录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 -rservice rpcbind startservice nfs startmount -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_destcd /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_destcd /home/oracle/xtt/scp xttplan.txt mystandby:/home/oracle/xttscp tsbkupmap.txt mystandby:/home/oracle/xtt--目标端export ORACLE_SID=mytestexport 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'))unionselect '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_sourceexport TMPDIR=/home/oracle/xtt$ORACLE_HOME/perl/bin/perl xttdriver.pl -i--nfs无需拷贝,incrbackups.txt 备份信息--scp `cat incrbackups.txt` oracle@dest:/stage_destcd /home/oracle/xtt/scp xttplan.txt tsbkupmap.txt mystandby:/home/oracle/xtt--目标端su - rootchown -R oracle:oinstall /stage_dest/su - oracleexport ORACLE_SID=mytestexport 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;--删除dblinkdrop database link ttslink;--参考http://www.xifenfei.com/2017/11/xtts.htmlhttps://blog.csdn.net/heguanghuicn/article/details/7946019811G - Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 1389592.1)https://yq.aliyun.com/articles/129601


0