社区编辑申请
注册/登录
使用 Convert Database 命令进行 RMAN 跨平台迁移(12C至19C)
数据库 Oracle
本场景将使用RMAN的convert database命令,一步步讲解数据库从Windows OS(Source)迁移到Linux OS(Target)的机制,window平台的oracle数据库版本由12C升级到linux的19C.

概述

本场景将使用RMAN的convert database命令,一步步讲解数据库从Windows OS(Source)迁移到Linux OS(Target)的机制,window平台的oracle数据库版本由12C升级到linux的19C

以下是执行迁移过程的以下步骤。

过程

1、要将数据库从一个平台转换到另一个平台,两个数据库的字节序格式应该相同。因此,作为第一步,请检查两个平台的 v$transportable_platform 视图

  1. col platform_name for a35 
  2. set pagesize 1000 
  3. select * from v$transportable_platform order by 2; 

从输出中可以看出,Windows 和 Linux 操作系统都是Little格式。所以在这种情况下,可以很容易地使用RMAN来转换整个数据库。

2、数据库置于挂载模式并使用只读选项打开它。

  1. SQL>shutdown immediate 
  2. SQL>startup mount 
  3. SQL>alter database open read only
  4. Database altered. 
  5. SQL> 

3、使用 dbms_tdb.check_db 函数检查数据库是否可以传输到目标平台,使用 dbms_tdb.check_external 函数检查外部对象、目录和 BFILE 的存在。将目标平台的名称作为参数传递给第一个函数。函数的返回类型是boolean,所以声明一个boolean类型的变量,调用函数如下:

  1. set serveroutput on 
  2. declare 
  3. v_return boolean; 
  4. begin 
  5. v_return:=dbms_tdb.check_db('Linux x86 64-bit'); 
  6. end

如果没有返回任何内容,则表示数据库已准备好传输到目标平台。

现在调用第二个函数 dbms_tdb.check_external:

  1. declare 
  2. v_return boolean; 
  3. begin 
  4. v_return:=dbms_tdb.check_external; 
  5. end
使用 convert database 命令进行 RMAN 跨平台迁移(12C至19C)

4、创建pfile文件并运行convert database命令 将整个数据库转换为Linux平台

  • 创建pfile文件
  1. create pfile from spfile; 

运行convert database命令 将整个数据库转换为目标Linux平台。

  1. rman target / 
  2.  
  3. convert database new database 'orcl' 
  4.  
  5. transport script 'c:\Clone\transport.sql' 
  6.  
  7. db_file_name_convert 'C:\app\piyus\oradata\orcl' 
  8.  
  9. 'c:\Clone' to platform 'Linux x86 64-bit'

在执行转换数据库命令时,RMAN 不会将重做日志文件、控制文件、密码文件和临时表空间转换和传输到目标平台。RMAN 将所有数据文件转换为目标平台类型。

5、目标主机创建相关目录

  1. cd $ORACLE_BASE 
  2. mkdir -p admin/orcl/adump admin/orcl/bdump 
  3. mkdir -p admin/orcl/cdump admin/orcl/udump 
  4. mkdir -p oradata/orcl/ 
  5. mkdir -p fast_recovery_area/orcl    

 6、copy相关文件到目标主机

把所有数据文件、位于 $ORACLE_HOME/dbs 目录中的参数文件和 创建数据库的transport.sql 复制到目标主机,具体如下:

  • 转换生成的所有数据文件
  • 生成的Pfile文件
  • TRANSPORT.SQL

7、目标主机编辑pfile文件,具体如下:

  • adump location
  • control_files locations

8、编辑 transportscript.sqlfile

  • change the locations of pdfile,
  • redolog files
  • data files
  • tempfile
  • 移除STARTUP UPGRADE之后所有的行,具体如下图所示
使用 convert database 命令进行 RMAN 跨平台迁移(12C至19C)

9、运行 transport.sql --目标主机

设置ORACLE_SID to orcl ,同时在sqlplus运行如下脚本

  1. SQL> @/tmp/TRANSPORT.SQL 

10、由12C升级到19C--目标主机

  1. cd $ORACLE_HOME/rdbms/admin 
  2. $ORACLE_HOME/perl/bin/perl catctl.pl catupgrd.sql 

这个过程大概需要40-50分钟左右的时间。

使用 convert database 命令进行 RMAN 跨平台迁移(12C至19C)

11、生成spfile

  1. create SPFILE from PFILE; 

12、重新编译无效的对象

  1. SQL> @?/rdbms/admin/utlrp.sql 

等脚本执行完成时你的数据库将成功由windows平台迁移到linux平台,并成功由12C升级到19C!

 

责任编辑:姜华 来源: 今日头条
相关推荐

2022-01-07 08:14:53

2022-05-09 15:08:56

存储厂商NFV领域华为

2022-04-20 20:28:40

HDF 驱动框架鸿蒙操作系统

2022-05-09 11:57:39

云原生实践安全

2022-04-21 10:01:48

VMware

2022-05-10 14:11:05

网络安全网络犯罪

2022-05-11 14:05:11

区块链网络安全存储

2022-05-23 10:55:19

华为数字化转型架构蓝图

2022-05-24 14:26:11

云原生数据库云架构

2022-05-24 10:27:39

博云容器云运维

2022-05-20 06:14:57

人工智能AI

2022-05-17 08:39:05

VueViteTypeScript

2022-05-24 12:42:24

物联网

2022-05-20 14:08:13

Web3元宇宙区块链

2022-05-19 19:26:33

区块链大数据数据分析

2022-05-24 08:21:16

数据安全API

2022-05-12 14:22:39

NFC标签鸿蒙

2022-05-23 18:08:48

数字化

2022-05-06 09:40:48

智能云原生云原生人工智能

2022-05-20 16:50:33

区块链Web3加密资产

编辑推荐

Oracle免费的便捷Web应用开发框架二则Oracle数据库初学者开场篇ORACLE数据库异步IO介绍一次去重 80w 数据时夯死临时处理实例如何只授予用户查看存储过程定义的权限
我收藏的内容
点赞
收藏

51CTO技术栈公众号