百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

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

sinye56 2024-10-09 19:44 3 浏览 0 评论

概述

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

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

过程

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

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

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

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

SQL>shutdown immediate
SQL>startup mount
SQL>alter database open read only;
Database altered.
SQL>

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

set serveroutput on
declare
v_return boolean;
begin
v_return:=dbms_tdb.check_db('Linux x86 64-bit');
end;
/

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

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

declare
v_return boolean;
begin
v_return:=dbms_tdb.check_external;
end;
/

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

  • 创建pfile文件
create pfile from spfile;
  • 运行convert database命令 将整个数据库转换为目标Linux平台。rman target /
    convert database new database 'orcl'
    transport script
    'c:\Clone\transport.sql'
    db_file_name_convert
    'C:\app\piyus\oradata\orcl'
    'c:\Clone' to platform 'Linux x86 64-bit';

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

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

cd $ORACLE_BASE
mkdir -p admin/orcl/adump admin/orcl/bdump
mkdir -p admin/orcl/cdump admin/orcl/udump
mkdir -p oradata/orcl/
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之后所有的行,具体如下图所示

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

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

SQL> @/tmp/TRANSPORT.SQL

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

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

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

11、生成spfile

create SPFILE from PFILE;

12、重新编译无效的对象

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

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

三、附录

我的博文:https://www.cnblogs.com/lkj371/p/15776089.html

相关推荐

Linux基础知识之修改root用户密码

现象:Linux修改密码出现:Authenticationtokenmanipulationerror。故障解决办法:进入单用户,执行pwconv,再执行passwdroot。...

Linux如何修改远程访问端口

对于Linux服务器而言,其默认的远程访问端口为22。但是,出于安全方面的考虑,一般都会修改该端口。下面我来简答介绍一下如何修改Linux服务器默认的远程访问端口。对于默认端口而言,其相关的配置位于/...

如何批量更改文件的权限

如果你发觉一个目录结构下的大量文件权限(读、写、可执行)很乱时,可以执行以下两个命令批量修正:批量修改文件夹的权限chmod755-Rdir_name批量修改文件的权限finddir_nam...

CentOS「linux」学习笔记10:修改文件和目录权限

?linux基础操作:主要介绍了修改文件和目录的权限及chown和chgrp高级用法6.chmod修改权限1:字母方式[修改文件或目录的权限]u代表所属者,g代表所属组,o代表其他组的用户,a代表所有...

Linux下更改串口的权限

问题描述我在Ubuntu中使用ArduinoIDE,并且遇到串口问题。它过去一直有效,但由于可能不必要的原因,我觉得有必要将一些文件的所有权从root所有权更改为我的用户所有权。...

Linux chown命令:修改文件和目录的所有者和所属组

chown命令,可以认为是"changeowner"的缩写,主要用于修改文件(或目录)的所有者,除此之外,这个命令也可以修改文件(或目录)的所属组。当只需要修改所有者时,可使用...

chmod修改文件夹及子目录权限的方法

chmod修改文件夹及子目录权限的方法打开终端进入你需要修改的目录然后执行下面这条命令chmod777*-R全部子目录及文件权限改为777查看linux文件的权限:ls-l文件名称查看li...

Android 修改隐藏设置项权限

在Android系统中,修改某些隐藏设置项或权限通常涉及到系统级别的操作,尤其是针对非标准的、未在常规用户界面显示的高级选项。这些隐藏设置往往与隐私保护、安全相关的特殊功能有关,或者涉及开发者选项、权...

完蛋了!我不小心把Linux所有的文件权限修改了!在线等修复!

最近一个客户在群里说他一不小心把某台业务服务器的根目录权限给改了,本来想修改当前目录,结果执行成了根目录。...

linux改变安全性设置-改变所属关系

CentOS7.3学习笔记总结(五十八)-改变安全性设置-改变所属关系在以前的文章里,我介绍过linux文件权限,感兴趣的朋友可以关注我,阅读一下这篇文章。这里我们不在做过的介绍,注重介绍改变文件或者...

Python基础到实战一飞冲天(一)--linux基础(七)修改权限chmod

#07_Python基础到实战一飞冲天(一)--linux基础(七)--修改权限chmod-root-groupadd-groupdel-chgrp-username-passwd...

linux更改用户权限为root权限方法大全

背景在使用linux系统时,经常会遇到需要修改用户权限为root权限。通过修改用户所属群组groupid为root,此操作只能使普通用户实现享有部分root权限,普通用户仍不能像root用户一样享有超...

怎么用ip命令在linux中添加路由表项?

在Linux中添加路由表项,可以使用ip命令的route子命令。添加路由表项的基本语法如下:sudoiprouteadd<network>via<gateway>这...

Linux配置网络

1、网卡名配置相关文件回到顶部网卡名命名规则文件:/etc/udev/rules.d/70-persistent-net.rules#PCIdevice0x8086:0x100f(e1000)...

Linux系列---网络配置文件

1.网卡配置文件在/etc/sysconfig/network-scripts/下:[root@oldboynetwork-scripts]#ls/etc/sysconfig/network-s...

取消回复欢迎 发表评论: