硬件及OS相关信息:
操作系统 | RHEL 7.6(x86_64) |
CPUS | 8 |
内存 | 16GB |
硬盘容量 | 200GB |
数据库相关信息:
源数据库版本 | 11.2.0.4 |
ORACLE_HOME(源) | /u01/app/oracle/product/11.2.0.4/db_1 |
目标数据库版本 | 19.5.0.0 |
ORACLE_HOME(目) | /u01/app/oracle/product/19.0.0/db_1 |
数据库名 | orcl |
升级方式:采用命令行方式,在源主机上,直接升级数据库版本。
升级关键步骤:
1)先将11.2.0.4升级到19.3.0.0
2)在19.3.0.0基础上,进行RU升级(p30125133),最终将版本升级到19.5.0.0
升级前准备:
1)19.3安装准备
2)安装Oracle 19.3
./runInstall –i gnore Prereq –waitforcompletion –silent –responseFile ${ORACLE_HOME}/install/respa
1)通过RMAN进行全备
2)查询是否还有备份作业
SQL> select * from v$backup where status!='NOT ACTIVE';
3)清空回收站
>purge dba_recyclebin;
4)收集数据字典信息
>exec dbms_stats.gather_dirctionary_stats;
5)生成预升级检查脚本
6)执行preupgrade_fixups.sql脚本
关闭数据库
SQL >shutdown immediate;
7)拷贝orapworcl和spfileorcl.ora文件到目标库对应目录
以下操作均在目标版本19.3上操作:
1)更改oracle用户的环境变量ORACLE_HOME路径,并使用环境变量生效。
2)启动数据库,以upgrade模式打开。
>alter database open upgrade;
3)运行编目控制程序(-n代表并行度)
$perl/bin/perl catctl.pl –n 4 catupgrd.sql
4)启动数据库,执行postupgrade_fixups.sql脚本。
>@/u02/pregrade/postupgrade_fixups.sql
5)检查时区相关问题
Select version from v$timezone_file;
version
14
6)修复时区相关问题
@/u02/pregrade/postupgrade_fixups.sql
7)再次检查时区信息
Select version from v$timezone_file;
version
32
8)编译无效对象
@/rdbms/admin/utlrp.sql
9)查看参数compatible,并修正为19.0.0
10)关闭并重启数据库,检查参数及版本等。
11)核对软件升级后的业务数据。
至此,我们已经成功将oracle 11.2.0.4版本升级到19.3。
以下是将19.3版本升级到19.5版本。
1)解压补丁包。
2)备份ORACLE_HOME
3)关闭数据库和监听
4)先决条件检查
5)开始打补丁
6)启动监听和数据库
$lsnrctl start
7)列出特定ORACLE_HOME的库存或显示所有可以找到的安装。
./opatch lsinv
8)编译无效对象