xtts v4for oracle 11g&12c(文档ID 2471245

xtts v4for oracle 11g&12c(文档ID 2471245.1)
序号主机操作项目操作内容备注:
阶段一:初始阶段
1.1源端环境验证migrate_check_xtts.sql是否实用XTTX检查验见传输表空间先决条件V4 
1.2源端确认表空间和用户例罗需要传输的表空间 和 用户 
1.3目标端安装数据库软件和实例11.2.0.4 以上版本 
 目标端提前创建好用户根据通用XTTS要求,确保目标数据库中存在表空间传输所需的用户。 
1.4源端安装xttconvert脚本[oracle@source]$ pwd
/home/oracle/xtt

[oracle@source]$ unzip rman_xttconvert_VER4.zip
Archive: rman_xttconvert_v3.zip
inflating: xtt.properties
inflating: xttcnvrtbkupdest.sql
inflating: xttdbopen.sql
inflating: xttdriver.pl
inflating: xttprep.tmpl
extracting: xttstartupnomount.sql
 
1.5源端配置xtt.properties使用特定于站点的配置编辑源系统上的xtt.properties文件。以下是必须参数
tablespaces
platformid
src_scratch_location
dest_scratch_location
dest_datafile_location
(if using 12c) -- usermantransport=1
 
1.6源/目标端创建目录源端: 由xtt.properties文件中的src_scratch_location参数定义的备份位置。  
目标端:1.由xtt.properties文件中的dest_scratch_location参数定义的备份位置。   
2.数据文件在目标上的位置,由xtt.properties文件中的dest_datafile_location参数定义。
 
1.7目标端将脚本和文件
传到目标端
由于oracle软件所有者将所有xttconvert脚本和修改后的xtt.properties文件复制到目标系统
scp -r /home/oracle/xttdest:/home/oracle/xtt
 
1.8源/目标端设置TMPDIR在源系统和目标系统上的shell环境中,将环境变量TMPDIR设置为支持脚本所在的位置。
[oracle@source]$ export TMPDIR=/home/oracle/xtt
[oracle@dest]$ export TMPDIR=/home/oracle/xtt
 
阶段二:准备阶段
注意:对于大量文件,如果您希望使用dbms_file_transfer,则无法使用V4,您必须使用11G - 使用跨平台增量备份减少可传输表空间停机时间(注释1389592.1)。
2.1源端在源系统上运行备份在源系统上,以具有指向源数据库的环境(ORACLE_HOME和ORACLE_SID环境变量)的oracle用户身份登录,运行准备步骤,如下所示:
[oracle@source]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --backup
 
2.2源端执行文件传输从源src_scratch_location创建的备份目标dest_scratch_location
源$TMPDIR到目标$TMPDIR的res.txt文件:
   在下面的示例中,  scp 用于将上一步创建的level = 0备份从源系统传输到目标系统。
[oracle@source]$ scp /src_scratch/* oracle@dest:/dest_scratch
[oracle@source]$ scp res.txt oracle@dest:/home/oracle/xtt
 
2.3目标端恢复数据文件在目标系统上,以具有指向目标 数据库的环境(ORACLE_HOME和ORACLE_SID环境变量)的oracle用户身份登录,运行还原(数据文件将放置在定义的存储器中的目标系统上),如下所示:
[oracle@dest]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --restore

数据文件将放置在定义的dest_datafile_location中的目标系统上。
 
阶段三:前滚阶段 :
注意:可以对源执行多个备份,而不将其应用于目标。必须先复制备份文件和res.txt,然后才能在目标位置执行“--restore”。  
3.1源端创建表空间的增量备份[oracle@source]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --backup 
3.2源端将增量备份传输到目标系统将增量备份(在src_scratch_location和dest_scratch_location之间)和res.txt(在$ TMPDIR之间)从源传输到目标。可以在源系统上的incrbackups.txt文件中
找到当前备份的增量备份文件列表。

[oracle@source]$ scp `cat incrbackups.txt` oracle@dest:/dest_scratch_location
[oracle@source]$ scp res.txt oracle@dest:/home/oracle/xtt
 
3.3目标端转换增量备份并应用[oracle@dest]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --restore 
3.4源/目标端重复前滚阶段重复前滚阶段3(3.1 - 3.3)或进入阶段4,最终增量备份 
阶段四: 最终增量备份 - 如果运行12c,则可以在Note 2005729.1 即V3中的第4阶段替换此步骤:
在此阶段,源数据只读,并且通过创建和应用最终增量备份使目标数据文件与源数据库保持一致。在使目标数据文件保持一致之后,执行正常的可传输表空间步骤以从源数据库导出对象元数据并将其导入目标数据库。传输的数据只能在READ ONLY模式下访问,直到此阶段结束。
4.1源端使源表空间只在源数据库中读取alter tablespace xxx read only ; 
4.2源端最后一次增量$ORACLE_HOME/perl/bin/perl xttdriver.pl --backup 注意:由于表空间处于READ ONLY模式,可以忽略以下警告:

###############################
Warning:
------
Warnings found in executing /home/oracle/radranly/convert_source/backup_Nov9_Fri_09_08_26_213//xttpreparenextiter.sql
####################################################
Prepare newscn for Tablespaces: 'SECOND'
DECLARE*
ERROR at line 1:
ORA-20001: TABLESPACE(S) IS READONLY OR,
OFFLINE JUST CONVERT, COPY
ORA-06512: at line 284 
4.3源端将增量备份和res.txt传输到目标系统[oracle@source]$ scp 'cat incrbackups.txt' oracle@dest:/dest_scratch_location
[oracle@source]$ scp res.txt oracle@dest:/home/oracle/xtt
 
4.4目标端最后一次增量应用[oracle@dest]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl --restore

 此步骤将最后一次增量备份应用于目标上的数据文件。 
 
阶段五:传输阶段:将对象元数据导入目标数据库
       注意:如果您运行12c并选择在Note 2005729.1中使用“Phase 4”,则会跳过此选项。 
5A.1源端在源数据库上运行
datapump导出:
通过在源数据库上运行可传输模式Data Pump导出来执行表空间传输,以将传输的对象元数据导出到转储文件中。例:
[oracle@source]$ cat exp.par

dumpfile=xttdump.dmp
directory=DATA_PUMP_DIR
statistics=NONE
transport_tablespaces=TS1,TS2
transport_full_check=y
logfile=tts_export.log

[oracle@source]$ expdp system/manager parfile=exp.par
 
5A.2源端将导出文件
传输到目标端面
要使用此命令执行表空间传输,则必须编辑导入命令文件xttplugin.txt(在步骤4.3中生成)并将导入参数DIRECTORY替换为特定于站点的值。
例: [oracle@dest]$ impdp system/<password> directory=dpump_tts \
> logfile=tts_imp.log \
> dumpfile=impdp3925_641.dmp \
> transport_datafiles='/u01/oradata/DESTDB/o1_mf_ts1_bngv18vm_.dbf','/u01/oradata/DESTDB/o1_mf_ts2_bngv229g_.dbf'
 
5A.3目标端使用的目标目录在目标上运行datapump import以插入表空间。例如:
[oracle@dest]$ cat manual_imp.par
dumpfile= xttdump.dmp
directory=DATAPUMP
transport_datafiles='/dest_datafile_location/TS1.dbf','/dest_datafile_location/TS2.dbf'

[oracle@dest]$ impdp system/oracle parfile=manual_imp.par
 
5B.1目标端创建directory 目录SYS@DESTDB> create directory dpump_tts as '/home/oracle/destination/convert';

SYS@DESTDB> GRANT READ, WRITE ON DIRECTORY dpump_tts TO system;
 
5B.2目标端生成新的xttplugin.txt[oracle@dest]$ $ORACLE_HOME/perl/bin/perl xttdriver.pl -e

这将在文件xttplugin.txt中生成示例Data Pump network_link transportable import命令,并正确设置可传输表空间参数TRANSPORT_TABLESPACES和TRANSPORT_DATAFILES。此外,还将创建数据泵导出文件。
注意:此命令将覆盖Step5A所需的先前xttplugin.txt。

5B.3目标端创建dblink SQL@dest> create public database link ttslink connect to system identified by <password> using '<tns_to_source>';

SQL@dest> select name from v$database@ttslink;
 
5B.4目标端修改并执行Impdp命令: 不需要单独的导出或转储文件。要使用此命令执行表空间传输,则必须编辑导入命令文件xttplugin.txt(在步骤5B.1中生成)并将导入参数DIRECTORY,LOGFILE和NETWORK_LINK替换为特定于站点的值。 例:
[oracle@dest]$ impdp directory=DATA_PUMP_DIR logfile=tts_imp.log network_link=ttslink \
transport_full_check=no \
transport_tablespaces=TS1,TS2 \
transport_datafiles='+DATA/prod/datafile/ts1.285.771686721', \
'+DATA/prod/datafile/ts2.286.771686723', \
'+DATA/prod/datafile/ts2.287.771686743'

 
阶段六:验证传输的数据
6.1目标端检查表空间是否损坏运行RMAN以通过运行VALIDATE TABLESPACE来检查物理和逻辑块损坏,如下所示:
RMAN> validate tablespace TS1, TS2 check logical;
 
6.2目标端更改表空间为读写system@dest/prod SQL> alter tablespace TS1 read write;
system@dest/prod SQL> alter tablespace TS2 read write; 
 
阶段七:清理
7.1目标端清理如果为迁移创建了单独的增量转换主目录和实例,则可能会关闭实例并删除软件。
此过程创建的文件不再需要,现在可以删除。它们包括以下内容:
    源系统上的backupformat位置
    目的地系统上的stageondest位置
    源系统和目标系统中的$ TMPDIR位置
 
7.2目标端其它注意事项a.dblink 时建议单独配置 端口,以防止影响网络
b.数据增量期间,建议禁止添加数据文件
c.如用RMAN 方式,要预估转储空间
d.迁移完成后,注意检查监听,服务
 
 
 

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

 
 
 
 





转载于:https://www.cnblogs.com/cqdba/p/8d2b08febc0a3bbf35adae656911bad2.html

适用于: Oracle Database Cloud Schema Service - 版本 N/A 和更高版本 Oracle Database Exadata Cloud Machine - 版本 N/A 和更高版本 Oracle Cloud Infrastructure - Database Service - 版本 N/A 和更高版本 Oracle Database Exadata Express Cloud Service - 版本 N/A 和更高版本 Oracle Database Backup Service - 版本 N/A 和更高版本 Linux x86-64 用途 注意: 考虑使用新release的版本V4的过程。 这个版本极大地简化了相关步骤。 请参考文档V4 Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup Note 2471245.1 本文档覆盖了在 12c 及更高版本上,使用跨平台传输表空间(XTTS)以及 RMAN 增量备份,以最小的应用停机时间,在不 同 endian 格式的系统间迁移数据的步骤。 第一步是从源系统拷贝一份 full backup 到目标系统。之后,使用一系列的增量备份(每一份都比前一份要小),这样在停 机前可以做到目标系统的数据和源系统“几乎”一致。需要停机的步骤只有最终的增量备份及元数据导出/导入。 这个文档描述了在 12c 下使用跨平台增量备份的步骤,关于 11g 下的步骤,请您参考 Note:1389592.1。 跨平台增量备份特性并不能减少 XTTS 的其它步骤花费的时间,比如元数据导出/导入。因此,如果数据库内有很多元数据 (DDL),比如 Oracle E-Business Suite 和其它打包程序,那么跨平台增量备份特性并不能带来很多好处;对于这样的 环境,迁移花的大部分时间是花在处理元数据上,而不是数据文件的转换及传输。 只有被迁移表空间里物理存储的数据库对象才会被拷贝至目标系统;如果要迁移存储在其它表空间的其它类型的对象 (比如存储在 SYSTEM 表空间内的 pl/sql 对象,sequences 等),你可以使用数据泵来拷贝这些对象至目标系统。 注意: 考虑使用新release的版本V4的过程。 这个版本极大地简化了相关步骤。 请参考文档V4 Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup Note 2471245.1 跨平台增量备份的主要步骤有: 1. 初始化设置 2. 准备阶段(源库数据仍然在线) 1. 备份要传输的表空间(0级备份) 2020/1/5 Document 2102859.1 https://myaccess.oraclevpn.com/+CSCO+1075676763663A2F2F7A6266727A632E68662E62656E7079722E70627A++/epmos/faces/Document… 3/14 2. 把备份及其它必须的文件发送到目标系统 3. 在目标系统恢复数据文件至目标端的 endian 格式 3. 前滚阶段(源库数据仍然在线 – 要重复这个阶段足够多次,使得目标数据文件拷贝和源库越相近越好) 1. 在源库创建增量备份 2. 把增量备份及其它必须的文件发送到目标系统 3. 把增量备份转换成目标系统的 endian 格式并且把增量备份应用至目标数据文件 4. 为下次增量备份确定 next_scn 5. 重复这些步骤直到已经准备好了操作传输表空间 NOTE: 在版本3,如果一个数据文件被加入到一个表空间或者一个新的表空间名字被加入到xtt.properties文件,会出现 一个Warning并且需要额外的处置 1. 传输阶段(此时源库数据需要置于 READ ONLY 模式) 1. 在源库端把表空间置为 READ ONLY 2. 最后一次执行前滚阶段的步骤 这个步骤会让目标系统的数据文件拷贝和源库数据文件完全一致并且产生必要导出文件。 在数据量非常大的情况下,这个步骤所花费的时间要显著的少于传统的 XTTS 方式,因为增量备份会很 小。 3. 使用数据泵把这个表空间的元数据导入至目标数据库 4. 把目标数据库的相关表空间置为 READ WRITE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值