xtts 跨平台迁移数据库

建议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的临时文件
Can‘t 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.
Can‘t 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

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

时间: 2024-08-30 14:22:54

xtts 跨平台迁移数据库的相关文章

IMP跨平台迁移数据库SQL生成SQL方式表空间创建脚本

我们在利用EXP/IMP进行跨平台迁移的时候,由于表空间路径变更,需要先手工创建在目标端创建与源端一致的表空间和数据文件,以下为创建生成语句的脚本. 一.在源端数据库执行以下命令,生成创建脚本 select 'create tablespace ' || b.NAME || ' DATAFILE ' || chr(39) || a.NAME || chr(39) || ' SIZE ' || a.BYTES / 1024 / 1024 || ' m;' from v$datafile a, v$

XTTS跨平台迁移impdp导入元数据报ORA-29349

一.迁移环境 源库:AIX-Based Systems (64-bit),11.1.0.7.0  rac 目标库:Linux x86 64-bit ,12.1.0.2 rac 二.导入元数据报错 cat imp_xttplugin_201803.par userid='/ as sysdba'  DIRECTORY=TTSIMP  DUMPFILE=exp_xttplugin_201803_%u.dmp  LOGFILE=imp_xttplugin_201803.log  transport_d

Oracle 10g RMAN 跨平台迁移

RMAN异构平台迁移 1.实验环境简介 1.1  SOA生产系统 数据库名    comSOA 实例名      Comsoa DBID        4133565260 数据库版本 Windows 32bit 10.2.R2 数据文件目录 E:\ORASOA\ORADATA\COMSOAPfile  Initcomsoa.ora 1.2  待恢SOA系统 数据库名    comSOA 实例名      Comsoa DBID        4133565260 数据库版本 Linux 64i

使用rman迁移数据库到异机

迁移数据库的方法有多种,较为常用的则是使用RMAN来迁移.使用RMAN迁移数据库属于数据库的物理备份与恢复范畴,整个过程中数据库的相关信息是完整地镜像.因此,基于此种方式还原恢复的数据库用于测试会使得与真实的生产环境差异相对较小. 一.主要步骤     1.备份数据库     2.拷贝备份到目的服务器     3.为目标数据库创建项目目录     4.为目标数据库创建pfile或spfile(使用RMAN还原或复制原pfile到目的服务器)     5.还原控制文件     6.还原数据文件  

Centos7下Gitlab迁移数据库mysql过程

第1章 系统准备 [[email protected] ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [[email protected] ~]# uname -r 3.10.0-327.el7.x86_64 1.1添加阿里云的镜像 cd /etc/yum.repos.d #备份原镜像 mv CentOS-Base.repo CentOS-Base.repo.backup     #添加阿里云Base源 wget

关于Laravel 迁移数据库的问题

今天在Homestead 中用 php artisan migrate 迁移数据库时出现了拒绝的情况: 科学上网之后发现只要修改项目文件夹下面的database.php 和.env 文件中的数据库配置,要保持一致,如下图 然后记得重启服务器,因为我是在Homestead里面部署项目,所以用以下命令可以重启服务器 cd ~/Homestead && vagrant provision && vagrant reload 然后运行vagrant ssh 进入Homestead中

linux 下一个 jira-6.3.6 组态 皴 翻译 迁移数据库

每一个版本号翻译包下载  https://translations.atlassian.com/dashboard/download jira下载地址  https://www.atlassian.com/zh/software/jira/download 这里使用的是最新版本号jira-6.3.6 实验环境 操作系统 Red Hat Enterprise Linux Server release 5.9 (64) 数据库 mysql : Ver 14.14 Distrib 5.6.12, fo

[python][django学习篇][4]django完成数据库代码翻译:迁移数据库(migration)

上一篇我们已经完成数据库的设计,但是仅仅是python语言,并没有真正创建了数据库表.翻译成数据库语言,真正创建数据库表由django manage.py来实现,这一过程专业术语:迁移数据库 切换到manage.py所在目录,分别执行命令:python manage.py makemigrations , python manage.py migrate 执行python manage.py makemigrations结果 F:\pythoncode\django\workspace\blog

linux 下 jira-6.3.6 配置 破解 翻译 迁移数据库

各个版本翻译包下载地址  https://translations.atlassian.com/dashboard/download jira下载地址  https://www.atlassian.com/zh/software/jira/download 这里使用的是最新版本jira-6.3.6 实验环境 操作系统 Red Hat Enterprise Linux Server release 5.9 (64) 数据库 mysql : Ver 14.14 Distrib 5.6.12, for