Oracle数据库升级与补丁

以下是Maclean.Liu 编写或收集的数据库升级(Upgrade)与补丁(patch fix)方面的知识:

 

甲骨文发布2012 1月数据库安全补丁Critical Patch Update January 2012 Oracle数据库版本10.2实际进入扩展支持Extended Support周期 Patch Set Update and Critical Patch Update October 2011补丁更新发布了 11.2.0.3 Patch Set – List of Bug Fixes by Problem Type 快速升级Oracle 11.2.0.2 RAC到11.2.0.3 Upgrade GI/CRS 11.1.0.7 to 11.2.0.2. Rootupgrade.sh Hanging Oracle补丁集的补丁号Patch ID/Number速查 Oracle 11gR2发布11.2.0.3 Patchset补丁集-又一重量级更新 Slide:11g新特性-在线实施补丁online patching Slide:Oracle数据库升级前必要的准备工作 深入了解Oracle数据字典升级脚本catupgrd.sql调用过程 Slide:如何安装Oracle one-off . . . → Read More: Oracle数据库升级与补丁

Oracle 10g R2 to 11g R2 Upgrade Keeping It Simple

Oracle 10g r2 to 11g r2 upgrade keeping it simple View more presentations from Maclean Liu

快速升级Oracle 11.2.0.2 RAC到11.2.0.3

11.2.0.3 补丁集在美国时间9月23日发布了,关于11.2.0.3 发布的更多信息可以参考<Oracle 11gR2发布11.2.0.3 Patchset补丁集-又一重量级更新>一文。

这里我们来快速浏览由11.2.0.2 RAC升级到11.2.0.3的过程:

在正式升级GI/CRS之前需要先打上”Patch 12539000: 11203:ASM UPGRADE FAILED ON FIRST NODE WITH ORA-03113″

我们仅需要针对GI/CRS打上补丁,无需在RDBMS/DB上实施。该Patch可以滚动升级Rolling upgrade, 简易的实施流程如下:

 

1. 在所有节点上安装最新的opatch工具,该步骤不需要停止任何服务 [root@vrh1 ~]# su – grid [grid@vrh1 ~]$ cd $CRS_HOME [grid@vrh1 grid]$ mv OPatch OPatch_old [grid@vrh1 grid]$ unzip /tmp/p6880880_112000_Linux-x86-64.zip -d $CRS_HOME [grid@vrh1 grid]$ opatch Invoking OPatch 11.2.0.1.3 Oracle Interim Patch Installer version 11.2.0.1.3 . . . → Read More: 快速升级Oracle 11.2.0.2 RAC到11.2.0.3

Slide:Oracle数据库升级前必要的准备工作

Oracle数据库升级前必要的准备工作 View more documents from Maclean Liu

深入了解Oracle数据字典升级脚本catupgrd.sql调用过程

我们在升级数据库的大版本(如9i -> 10g )或大的补丁集( 如10.2.0.1 -> 10.2.0.4)时总是需要升级现有数据库的数据字典(dictionary),这是因为随着Oracle版本的升级,某些对象的属性需要改变,而这些改变操作都将体现在升级脚本catupgrd.sql中。

举例来说在11.2版本中为了ASH特性增加dbreplay的信息,那么我们到11.2的ORACLE_HOME/rdbms/admin下找到c1102000.sql,可以发现以下的DDL语句:

SQL> select * from v$version; BANNER ——————————————————————————– Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 – 64bit Production PL/SQL Release 11.2.0.2.0 – Production CORE 11.2.0.2.0 Production TNS for Linux: Version 11.2.0.2.0 – Production NLSRTL Version 11.2.0.2.0 – Production SQL> select * from global_name; GLOBAL_NAME ——————————————————————————– www.oracledatabase12g.com alter table . . . → Read More: 深入了解Oracle数据字典升级脚本catupgrd.sql调用过程

Startup Upgrade为我们做了什么?

从Oracle 10g以后数据库升级前我们都需要将实例关闭,并以startup upgrade的升级模式启动数据库。那么startup upgrade到底对instance做了什么事?在这样的模式下升级可以绕过那些错误呢?

就常规判断可以猜测startup upgrade升级模式至少会限制以下几点:

关闭自动作业队列 关闭回收站功能 禁用系统触发器 以限制模式启动,仅允许以SYSDBA身份登录

为了了解更多的细节,我们不妨直观地来观察以下升级模式对比普通模式有哪些不同之处:

SQL> startup upgrade; 以升级模式启动后观察告警日志内容: Starting ORACLE instance (normal) 以上信息表明虽然是upgrde模式,但其实仍是以NORMAL启动 ……….. ALTER SYSTEM enable restricted session; 实例mount之后启用了限制会话特性 ALTER SYSTEM SET _system_trig_enabled=FALSE SCOPE=MEMORY; _system_trig_enabled参数控制一些系统触发器是否被启用,例如某些登录审计触发器 (system trigger facilities are used as an additional audit trail or as a mechanism to prevent certain actions taking place or as . . . → Read More: Startup Upgrade为我们做了什么?

Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql)

This script is intended to provide a user friendly output to diagnose the status of the database either before (or) after upgrade. The script will create a file called db_upg_diag__.log.

— – - – - – - – - – - – - – Script begins here – - – - – - – - . . . → Read More: Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql)

介绍dbms_registry PL/SQL程序包