oracle 19c xtts迁移

一、环境检查

1.检查数据库时区

select dbtimezone from dual;

检查一致

2.检查数据库时间

select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss') from dual;

检查一致

3.检查两边字符集

set linesize 120
select * from nls_database_parameters where parameter like '%CHARACTERSET%';

检查一致

4.组件安装情况

select comp_name from dba_registry

检查一致

5.检查是否使用了 Key Compression 的索引组织表

 select index_name,table_name from dba_indexes where compression='ENABLED';

6.检查sys和system用户在业务表空间上是否创建对象

 select table_name, owner, tablespace_name from dba_tables where tablespace_name not in('SYSTEM','SYSAUX') and owner in ('SYS','SYSTEM');

如果数据库用户 SYS、SYSTEM 在业务表空间上创建有对象,则这些对象不能通过 XTTS 迁移,需要在目标库手工创建。

7.检查源端 Compatible 参数

 show parameter compatible;

目标端的版本也要是这个

8.确认recycle in 功能是关闭,并手工清空回收站

show parameter recyclebin; 
alter system set recyclebin='off' scope=spfile;

9.数据文件状态检查

 select distinct status from v$datafile;

正常返回应为:ONLINE、SYSTEM

10.查看v$transportable_platform检查平台信息

col PLATFORM_NAME format a50
select * from v$transportable_platform;
 

二、源端创建测试用数据

1.创建表空间和用户

create tablespace test02 datafile '/u01/app/oradata/ORACLE/test02.dbf' size 10m autoextend on next 1m;create user test02 identified by 123 default tablespace test02;
grant resource,connect,dba to test02;

2.添加测试用数据

create table test02.tab1(marchantid number(10) primary key,marchantname varchar2(20) not null,email varchar2(30));insert into test02.tab1 values(0000000001,'Java','zs@163.com');
insert into test02.tab1 values(0000000002,'Oracle','ls@163.com');
insert into test02.tab1 values(0000000003,'C++','ww@163.com');
insert into test02.tab1 values(0000000004,'Python','zl@163.com');
insert into test02.tab1 values(0000000005,'PHP','zy@163.com');
insert into test02.tab1 values(0000000006,'IOS','ht@163.com');
insert into test02.tab1 values(0000000007,'Sun','yg@163.com');

三、实施迁移

1.创建源端和目标端用于存放备份数据文件夹

mkdir xtts
cd xtts/
mkdir source_back
mkdir source_incr_back
mkdir target_data
mkdir target_back
mkdir target_incr_back

将rman_xttconvert_v3上传至该目录

2.解压rman_xttconvert_v3工具

 unzip rman_xttconvert_v3.zipls

3.给该路径下的文件授权

 chmod -R 775 /home/oracle/xtts

4.编辑和配置xtt.properties文件

tablespaces= {需要传输的表空间}
platformid= {源端平台号,select * from v$transportable_platform  order by platform_id 语句查询得到)}
srcdir= {当使用dbms_file_transfer时使用,表示源库存放数据文件的路径(数据库里的dir,不是os上的 dir)}
dstdir= {当使用dbms_file_transfer时使用,表示目标库存放数据文件的路径(数据库里的dir,不是os上的dir)}
srclink= {从目标端指向源端的dblink,当使用dbms_file_transfer时使用}
dfcopydir= {源端datafile convert保存路径}
backupformat= {源端增量备份保存路径}
stageondest= {目标端备份文件,建议和backupondest设置为同一路径}
backupondest= {目标端备份文件保存路径,建议和stageondest设置为同一路径}
storageondest= {目标端恢复到数据库的数据文件保存位置,如果是diskgroup则需要注意还需要对应的数据库名}
cnvinst_home= {新环境$ORACLE_HOME}
cnvinst_sid= {新环境ORACLE_SID}
asm_home= {如果是直接恢复到diskgroup,则需要指定对应的grid_home和ASM实例}
asm_sid= {如果是直接恢复到diskgroup,则需要指定对应的grid_home和ASM实例}
parallel= {设置并行,建议设置为6或者8,根据CPU情况设置}
rollparallel= {roll forward 并行,如果数据库大的话建议设置为8}
getfileparallel= {getfile 并行度,建议设置为6或者8,根据CPU情况设置}
desttmpdir= {设置目标端tempdir目录,建议指向xtts目录)}

## Specify tablespace names in CAPITAL letters.
tablespaces=TEST02      # 表示需要迁移的表空间## Source database platform ID
## ===========================
##
## platformid
## ----------
## Source database platform id, obtained from V$DATABASE.PLATFORM_ID
platformid=13    # 表示源OS平台ID......## dbms_file_transfer.
#srclink=TTSLINK   #表示从目标库指向源库的db_link,由于这里采用的是rman方式,所以不需要db_link......## as the stageondest property for the destination system.
dfcopydir=/home/oracle/xtts/source_back #表示源库备份文件存放目录## backupformat
## ------------
## Location where incremental backups are created.
##
## This location may be an NFS-mounted filesystem that is shared with the
## destination system, in which case it should reference the same NFS location
## as the stageondest property for the destination system.
backupformat=/home/oracle/xtts/source_incr_back #表示源库增备文件存放目录......## as the dfcopydir and backupformat properties for the source system.
stageondest=/home/oracle/xtts/target_back #表示目标库备份文件存放目录## storageondest
## -------------
## This parameter is used only when Prepare phase method is RMAN backup.
##
## Location where the converted datafile copies will be written during the
## "-c conversion of datafiles" step.  This is the final location of the
## datafiles where they will be used by the destination database.
storageondest=/home/oracle/xtts/target_data  #表示目标库正式文件存放目录## backupondest
## ------------
## Location where converted incremental backups on the destination system
## will be written during the "-r roll forward datafiles" step.
##
## NOTE: If this is set to an ASM location then define properties
##       asm_home and asm_sid below.  If this is set to a file system
##       location, then comment out asm_home and asm_sid below
backupondest=/home/oracle/xtts/target_incr_back #表示目标库增备文件存放目录......## If undefined, default value is 8.
parallel=3  #表示备份转化并行度## rollparallel
## ------------
## Defines the level of parallelism for the -r roll forward operation.
##
## If undefined, default value is 0 (serial roll forward).
rollparallel=2 #表示增备的并行度## getfileparallel
## ---------------
## Defines the level of parallelism for the -G operation
##
## If undefined, default value is 1. Max value supported is 8.
## This will be enhanced in the future to support more than 8
## depending on the destination system resources.
getfileparallel=4  #表示使用 dbms_file_transfer 方式的并行度

5.、将源端xtts目录拷贝到目标端

scp -rp /home/oracle/xtts/ 192.168.232.114:/home/oracle/

6.设置源端和目标端的TMPDIR环境变量

vi ~/.bash_profile
export TMPDIR=/home/oracle/xtts

7.源端执行如下命令开始初始备份

 $ORACLE_HOME/perl/bin/perl /home/oracle/xtts/xttdriver.pl -p

8.源端查看备份文件,并将备份文件传到目标端

scp -p /home/oracle/xtts/source_back/TEST02_5.tf oracle@192.168.232.114:/home/oracle/xtts/target_back

9.将源端生成的rmanconvert.cmd文件传到目标端,并执行文件转换命令

scp rmanconvert.cmd 192.168.232.114:/home/oracle/xtts

目标端执行:

$ORACLE_HOME/perl/bin/perl /home/oracle/xtts/xttdriver.pl -c

将生成的xttnewdatafiles.txt传给源端

scp xttnewdatafiles.txt 192.168.232.113:/home/oracle/xtts

10.开始增量同步(由于这里只是测试,所以直接将源库表空间离线然后做最后一次增量同步)

alter tablespace test02 read only;

源端做最后一次增量备份

$ORACLE_HOME/perl/bin/perl /home/oracle/xtts/xttdriver.pl -i

11.将最后的增备文件传到目标端

scp -p /home/oracle/xtts/source_incr_back/02tu4ui5_1_1 oracle@192.168.127.71:/home/oracle/xtts/target_back
scp -p xttplan.txt tsbkupmap.txt 192.168.232.114:/home/oracle/xtts

12.目标端应用增备

$ORACLE_HOME/perl/bin/perl /home/oracle/xtts/xttdriver.pl -r

13.源端导出数据

mkdir -p /home/oracle/data
create directory source_dbdata as '/home/oracle/data';
grant read,write on directory source_dbdata to system;# 源端导出元数据expdp system/oracle directory=source_dbdata dumpfile=test02.dmp transport_tablespaces=test02 transport_full_check=y

14.将导出的数据传给目标端

scp -p /home/oracle/data/test02.dmp oracle@192.168.232.114:/home/oracle/data

15.目标端导入元数据

创建test02用户,但是不要创建表空间

create user test02 identified by 123;
grant dba to test02;
impdp test02/123 DUMPFILE=test02.dmp DIRECTORY=source_dbdata TRANSPORT_DATAFILES=/home/oracle/xtts/target_back/TEST02_5.dbf

16.目标端更改test02默认表空间

alter user test02 default tablespace TEST02;

17.检查数据

 select * from test02.tab1;

数据迁移成功

本文参考Oracle XTTS数据迁移_oracle xtts迁移-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/600416.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL进阶-----SQL优化(插入和主键优化)

目录 前言 一、插入数优化(insert) 1.insert插入的优化方案 2 大批量插入数据 二、主键优化 1.数据组织方式 2. 页分裂 3. 页合并 4. 索引设计原则 前言 本期我们就正式进入到下一个章节的学习了,也就是SQL优化,前面我们…

运动健身选什么耳机好?推荐五款好用的运动蓝牙耳机

运动蓝牙耳机相比传统的蓝牙耳机佩戴起来更为舒适,这使它们成为旅途和运动健身的理想选择。我们购买了多款运动蓝牙耳机并进行了测试,现在分享几个选购运动耳机的建议和几款好用的运动耳机给您。 一、选择有保障的大品牌耳机 我们在挑选蓝牙耳机的时候…

算法打卡day36|动态规划篇04| 01背包理论基础、416. 分割等和子集

目录 01背包理论基础 01背包问题描述 01背包解法 二维数组 一维数组 算法题 Leetcode 416. 分割等和子集 个人思路 解法 动态规划 01背包理论基础 不同的背包种类,虽然有那么多中南背包,但其中01背包和完全背包是重中之重; 01背包问…

更新!谷歌倾斜摄影转换生成OSGB瓦片V0.2版

半个月前发表了一篇文章(首发!谷歌倾斜摄影转换生成OSGB格式),首次将谷歌原始倾斜摄影瓦片转成OSGB瓦片,有读者对文章里的内容有诸多疑问,可能我在文章中描述的不够清楚,这里再解释一下。 1.谷歌倾斜摄影3DTiles瓦片生成方案 之…

花一分钟简单认识 CSS 中的规则 —— 级联层 @layer

layer 简介: 声明级联层时,越靠后优先级越高。不属于任何级联层的样式,将自成一层匿名级联层,并置于所有层之后 —— 级别最高。 用法一:在同一文件中 layer base, special; layer special {/* 优先 */li { color: …

【教程】iOS Swift应用加固

🔒 保护您的iOS应用免受恶意攻击!在本篇博客中,我们将介绍如何使用HTTPCORE DES加密来加固您的应用程序,并优化其安全性。通过以下步骤,您可以确保您的应用在运行过程中不会遭受数据泄露和未授权访问的风险。 摘要 …

使用阿里云服务器可以做什么?太多了

阿里云服务器可以干嘛?能干啥你还不知道么!简单来讲可用来搭建网站、个人博客、企业官网、论坛、电子商务、AI、LLM大语言模型、测试环境等,阿里云百科aliyunbaike.com整理阿里云服务器的用途: 阿里云服务器活动 aliyunbaike.com…

精彩享不停!!这款激光雕刻机赚足了看点,花式创意源源不绝

在充斥着人间烟火的城市街区, 有着一间间承载着年轻人诗和远方的特色创意小店。 偶尔,年轻人会停下来逗留, 偶尔,他们也会化身为灵感大爆发的手工创意达人, 用作品诉说着自己简单的快乐 ...... 现在,…

git Failed to connect to 你的网址 port 8282: Timed out

git Failed to connect to 你的网址 port 8282: Timed out 出现这个问题的原因是:原来的仓库换了网址,原版网址不可用了。 解决方法如下: 方法一:查看git用户配置是否有如下配置 http.proxyhttp://xxx https.proxyhttp://xxx如果…

【Spring Security】4.DefaultSecurityFilterChain

首先在源代码中找到这个类,shift shift 可进行全局搜索 可以发现这个类实现了SecurityFilterChain 默认情况下,SpringSecurity程序有一个默认的过滤器链,这一个默认的过滤器链里,有一系列默认的过滤器的集合 应用程序启动后&…

备忘,LangChain建立本地知识库的几个要点

本地知识库可以解决本地资源与AI结合的问题,为下一步应用管理已有资产奠定基础。 本地知识库的建立可参考LangChain结合通义千问的自建知识库 (二)、(三)、(四) 本文主要记录两个方面的问题 1 搭…

分布式 SpringCloudAlibaba、Feign与RabbitMQ实现MySQL到ES数据同步

文章目录 ⛄引言一、思路分析⛅实现方式⚡框架选择 二、实现数据同步⌚需求分析⏰搭建环境⚡核心源码 三、测试四、源码获取⛵小结 ⛄引言 本文参考黑马 分布式Elastic search Elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助…