网站首页 > 技术文章 正文
概述
本场景将使用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
猜你喜欢
- 2024-10-20 Oracle转移数据库表空间文件,db2空间不足导致load失败(详细步骤)
- 2024-10-20 Kettle迁移Oracle数据到MySQL kettle数据库迁移
- 2024-10-20 使用 convert database 命令进行 RMAN 跨平台迁移(同版本)
- 2024-10-20 最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 2024-10-20 Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 2024-10-20 0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 2024-10-20 将Oracle企业应用程序迁移到云端需要了解的信息
- 2024-10-20 阿里云PolarDB发布重大更新,支持Oracle等数据库一键迁移上云
- 2024-10-20 oracle高版本迁移数据到低版本 oracle 跨版本迁移
- 2024-10-20 阿里云PolarDB发布更新,支持Oracle等数据库一键迁移上云
你 发表评论:
欢迎- 最近发表
-
- 前端流行框架Vue3教程:13. 组件传递数据_Props
- 前端必看!10 个 Vue3 救命技巧,解决你 90% 的开发难题?
- JAVA和JavaScript到底是什么关系?是亲戚吗?
- Java和js有什么区别?(java和javascript的区别和联系)
- 东方标准|Web和Java的区别,如何选择这两个专业
- 前端面试题-JS 中如何实现大对象深度对比
- 360前端一面~面试题解析(360前端笔试)
- 加班秃头别慌!1 道 Vue 面试题,快速解锁大厂 offer 通关密码
- 焦虑深夜刷题!5 道高频 React 面试题,吃透 offer 稳了
- 2025Web前端面试题大全(整理版)面试题附答案详解,最全面详细
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端懒加载 (45)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle查询数据库 (45)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)