`
Appleses
  • 浏览: 348591 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

oracle小版本升级patch过程和分析 及 升级失败后的两种回退方法

 
阅读更多

一则比较完整的数据库的10.2.0.1升级到10.2.0.5的步奏和分析

[root@localhost ~]# df -h

FilesystemSizeUsed Avail Use% Mounted on

/dev/sda112G8.5G 2.7G77% /

/dev/sda21.9G40M1.8G3% /home

tmpfs385M0385M0% /dev/shm

/dev/sdb14.6G1.3G3.2G28% /backup

[root@localhost ~]# cd /backup/

[root@localhost backup]# ls

Disk1lost+foundREADME.html

上述的Disk1是下载的10.2.0.5patchoracle官网可能已经停止了oracle 10g相关方面的下载,有mos的可以直接从mosdownload下来。

 

 

升级数据库当然需要对数据库软件进行升级,而后对数据库的数据文件进行相应的update,软件升级前我们要备份oracle的软件,那么数据文件update当然需要备份其数据,那么可以考虑的就有两种了冷备和热备。

 

软件备份

[root@localhost backup]# su - oracle

[oracle@localhost ~]$ sqlplus /nolog

 

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Sep 6 10:36:55 2012

 

Copyright (c) 1982, 2005, Oracle.All rights reserved.

 

[oracle@localhost ~]$ cd $ORACLE_HOME

[oracle@localhost db_1]$ pwd

/db/oracle/oracle/product/10.2.0/db_1

[oracle@localhost db_1]$ tar -cvzf ora_home.tar.gz ./

软件升级主要是对ORACLE_HOME下的文件进行修改,先对其打tar包。

 

数据文件备份:

需要备份的文件主要是spfilecontrolfiledatafile,如果是采取的冷备份方式直接cp的方式备份数据文件所在的目录即可,而如果是热备,则需要备份controlfiledatafile以及备份的control中未完全记录的archivelog

RMAN> run{

2> allocate channel disk1 type disk;

3> delete obsolete;

4> crosscheck backup;

5> delete expired backup;

6> backup database format '/backup/db_%d_%T_%s'

7> plus archivelog delete all input format '/backup/arch_%d_%T_%s';

8> backup current controlfile format '/backup/ctl_%d_%T_%s';

9> release channel disk1;

10> }

上述是自己经常用的全备份脚本。

 

接下来正常关闭数据库,此时buffer cache中的数据已经全部syncdisk中去,接下来可以放心的升级了!

RMAN> shutdown immediate;

升级软件前请先关闭所有使用ORACLE_HOME下面的对象的进程,不然后续可能无法正常打patch

这里也可以利用oracle 10R2中的restore point功能来实现升级,由于生产库一般是不开启flashback database

SQL>shutdown immediate;

SQL>startup mount;

SQL>create restore point upgrade guarantee flashback database;

这里创建一个restore point upgrade,而后如果升级失效可以直接回退这个点,这样也就不需要备份数据文件和控制文件了,restore point是记录在控制文件中,而后相应的记录改变都会记录在闪回区中,所以需要保证闪回恢复区的容量足够大,相对于rman的恢复更节省了时间(不需要restore数据文件)。

 

 

升级软件完毕后需要用upgrade启动数据库,运行相应的数据字典更新和编译失效的系统对象。

[oracle@localhost ~]$ cd /db/oracle/oracle/product/10.2.0/db_1/rdbms/admin/

[oracle@localhost admin]$ sqlplus / as sysdba

 

SQL*Plus: Release 10.2.0.5.0 - Production on Thu Sep 6 23:06:17 2012

 

Copyright (c) 1982, 2010, Oracle.All Rights Reserved.

 

Connected to an idle instance.

SQL> startup upgrade;

ORACLE instance started.

 

Total System Global Area524288000 bytes

Fixed Size1274668 bytes

Variable Size272633044 bytes

Database Buffers247463936 bytes

Redo Buffers2916352 bytes

Database mounted.

Database opened.

SQL>spool ‘/tmp/catupgrd.log’

SQL>start catupgrd.sql

更新数据字典,此过程比较漫长,适当的增加shared pooljava pool网络上说是可以增加更新速度,不过一般生产环境中肯定的是足够的。

SQL>spool off;

SQL>shutdown immediate;

 

编译失效的对象

SQL>startup;

SQL>start utltp.sql

SQL>start catalog.sql

SQL>start catproc.sql

检查是否正常升级

SQL> col comp_name for a30

SQL> col version for a20

SQL> select comp_name,version from dba_registry;

SQL> select comp_name,version from dba_registry;

 

COMP_NAMEVERSION

------------------------------ --------------------

Oracle Database Catalog Views10.2.0.50

Oracle Database Packages and T 10.2.0.5.0

ypes

 

Oracle Workspace Manager10.2.0.5.0

JServer JAVA Virtual Machine10.2.0.5.0

Oracle XDK10.2.0.5.0

……

升级全部完成,如果其中出现了不可预料的错误,我们至少可以正常回退软件和数据文件,不会影响系统的使用。

参考:http://blog.itpub.net/25362835/viewspace-1059365/

 

=====================================升级失败后的两种回退方法===================================

二、回退过程(to 11.2.0.2)

1、关闭RAC所有节点的实例

2、在所有节点上关闭数据库实例,并在一个节点上启动数据库到mount模式进行闪回。

$ sqlplus / as sysdba
SQL> startup mount;
SQL> SELECT NAME, SCN, TIME, DATABASE_INCARNATION#, GUARANTEE_FLASHBACK_DATABASE, STORAGE_SIZE  FROM V$RESTORE_POINT WHERE GUARANTEE_FLASHBACK_DATABASE='YES';

NAME
--------------------------------------------------------------------------------
       SCN
----------
TIME
---------------------------------------------------------------------------
DATABASE_INCARNATION# GUA STORAGE_SIZE
--------------------- --- ------------
UPGRADE_ROLLBACK
   1227989
31-MAR-12 10.21.06.000000000 AM
                    1 YES    910868480
 

SQL> flashback database to restore point UPGRADE_ROLLBACK;
Flashback complete.


SQL> alter database open resetlogs;
Database altered.

SQL> shutdown immediate;


3 、使用srvctl命令更新ocr中DBHOME相关信息

$ su - Oracle
%srvctl upgrade database -d racdb -o $NEW_ORACLE_HOME

$ srvctl upgrade database -d racdb -o /oracle/app/oracle/product/11.2.0

$ srvctl config database -d racdb


4、更环境变量到11.2.0及pfile等。


5、启动数据库:


6、 检查版本信息

SQL> select * from global_name;

GLOBAL_NAME
--------------------------------------------------------------------------------
RACDB


SQL> select * from v$version;

SQL> col COMP_ID format a10
SQL> col COMP_NAME format a30
SQL> select comp_id,comp_name,version,status,modified from dba_registry

 


SQL> select * from global_name;

GLOBAL_NAME
--------------------------------------------------------------------------------
RACDB

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 IBM/AIX RISC System/6000: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production

SQL> col COMP_ID format a10
SQL> col COMP_NAME format a30
SQL> select comp_id,comp_name,version,status,modified from dba_registry
  2  ;

COMP_ID    COMP_NAME                      VERSION
---------- ------------------------------ ------------------------------
STATUS                 MODIFIED
---------------------- -----------------------
APEX       Oracle Application Express     3.2.1.00.12
INVALID                29-MAR-2012 19:53:42

EM         Oracle Enterprise Manager      11.2.0.2.0
VALID                  29-MAR-2012 19:34:52

ORDIM      Oracle Multimedia              11.2.0.2.0
VALID                  29-MAR-2012 19:24:12


COMP_ID    COMP_NAME                      VERSION
---------- ------------------------------ ------------------------------
STATUS                 MODIFIED
---------------------- -----------------------
XDB        Oracle XML Database            11.2.0.2.0
VALID                  29-MAR-2012 19:12:54

EXF        Oracle Expression Filter       11.2.0.2.0
VALID                  29-MAR-2012 19:09:10

RUL        Oracle Rules Manager           11.2.0.2.0
VALID                  29-MAR-2012 19:13:49


COMP_ID    COMP_NAME                      VERSION
---------- ------------------------------ ------------------------------
STATUS                 MODIFIED
---------------------- -----------------------
OWM        Oracle Workspace Manager       11.2.0.2.0
VALID                  29-MAR-2012 18:56:43

CATALOG    Oracle Database Catalog Views  11.2.0.2.0
VALID                  29-MAR-2012 18:55:11

CATPROC    Oracle Database Packages and T 11.2.0.2.0
           ypes
VALID                  29-MAR-2012 18:55:11

COMP_ID    COMP_NAME                      VERSION
---------- ------------------------------ ------------------------------
STATUS                 MODIFIED
---------------------- -----------------------

JAVAVM     JServer JAVA Virtual Machine   11.2.0.2.0
VALID                  29-MAR-2012 19:06:30

XML        Oracle XDK                     11.2.0.2.0
VALID                  29-MAR-2012 19:08:00

CATJAVA    Oracle Database Java Packages  11.2.0.2.0
VALID                  29-MAR-2012 19:08:34

COMP_ID    COMP_NAME                      VERSION
---------- ------------------------------ ------------------------------
STATUS                 MODIFIED
---------------------- -----------------------

RAC        Oracle Real Application Cluste 11.2.0.2.0
           rs
VALID                  29-MAR-2012 19:58:08


13 rows selected.

完成回退。

 

原文链接:http://www.linuxidc.com/Linux/2012-07/65950p2.htm

 

分享到:
评论

相关推荐

    图解Oracle数据库小版本升级过程

    Oracle数据库的小版本升级是一个重要的维护任务,用于保持系统的稳定性和安全性。本文以从Oracle 10.2.0.1.0升级到10.2.0.4.0为例,详细介绍了整个过程。小版本升级不同于大版本升级,后者通常涉及更复杂的数据迁移...

    Oracle 11g 通过DBUA升级19C 详细过程

    为了避免升级失败后对生产环境造成不可逆的影响,需要通过 RMAN 备份并恢复到目标库中,以便在升级失败时能够迅速回退到原有状态。 #### 四、备份 在进行任何升级操作之前,备份是必不可少的步骤之一。尽管这里...

    oracle upgrade 版本升级 解决办法

    oracle 冷备到更高级的实例中 upgrade 方法

    Oracle DBA数据库升级 最佳实践

    升级前的准备工作包括计划停机时间、备份数据库和软件目录、估算升级时间及失败回退的时间等。具体备份操作可以使用RMAN工具进行冷备份数据,以及备份$ORACLE_HOME目录。 在升级过程中,调整SGA(System Global ...

    oracle 10.2.0.5 patch 下载地址

    Oracle 提供了详细的文档来指导用户完成整个过程,包括任何必要的预安装检查和后安装验证。 总的来说,Oracle 10.2.0.5 补丁集是确保数据库健康和安全的关键步骤。对于所有使用 Oracle 10.2.0.5 数据库的企业来说,...

    oracle 11.2.0.3 各版本升级patch 包

    oracle 11.2.0.3 各版本升级包 11.2.0.3-linux-32 11.2.0.3-linux-64 11.2.0.3-HP-UX 11.2.0.3-WIN64 11.2.0.3-WINNT

    Patch-oracle for me

    本文将详细介绍Oracle中与Patch-oracle相关的常见问题及解决方案。 #### 二、Patch-oracle的背景 Oracle公司为了保障其产品的安全性,定期会发布一系列的安全更新,即Critical Patch Update (CPU)。这些更新主要...

    Oracle版本升级10.2.0.1升级到10.2.0.4

    升级过程中通常采用两种方法:联机升级和离线升级。联机升级允许在不停止数据库服务的情况下进行,但可能需要更多的时间和资源。离线升级则需要停止数据库服务,但更新速度较快。Oracle 10.2.0.1到10.2.0.4的升级...

    Oracle数据库DBUA升级方法探讨.pdf

    Oracle数据库DBUA(Database Upgrade Assistant)是Oracle公司提供的一种图形化的数据库升级工具,它使得数据库升级过程更加简单、直观。DBUA适用于在数据库软件已经打完补丁后进行数据库本身的补丁升级,或者在...

    Oracle单实例版本升级(11g To 12c).docx

    升级步骤包括升级到 Oracle Database 12c release 2 的最新版本所需的路径、升级方法和测试计划等几个方面。 升级到 Oracle Database 12c release 2 升级到 Oracle Database 12c release 2 需要考虑当前数据库的...

    oracle安装失败处理方法

    这篇博文“oracle安装失败处理方法”将为我们揭示一些常见的错误及其解决策略。 首先,Oracle安装失败可能源于硬件和软件的兼容性问题。确保你的操作系统版本与Oracle数据库版本相匹配是非常关键的。例如,如果你...

    oracle修改版本工具

    这个工具可能简化了这些步骤,使得对于Oracle 10g和11g这两个版本之间的转换更加高效。Oracle 10g是2003年发布的一个版本,而11g则在2007年推出,两者在功能、性能和安全性上都有所提升,但同时也可能需要适应新的...

    SAP ECC 环境升级Oracle10g Patch

    Oracle数据库作为广泛使用的高性能数据库系统,其版本升级是确保系统安全性和优化性能的重要步骤。本篇文章将详细阐述如何在SAP ECC环境中升级Oracle数据库从10.2.0.2到10.2.0.5的过程。 首先,升级的需求源于对...

    Oracle EBS r12升级流程图.doc

    Oracle EBS R12升级流程图详细描绘了这一复杂过程,下面将对这一知识点进行深入解析。 ### Oracle EBS R12升级概述 Oracle EBS R12是Oracle公司推出的E-Business Suite系列中的一个重要版本,它带来了许多新特性和...

    oracle8升级到Oracle10g数据库升级脚本

    2. **升级策略**:升级过程有几种方法,包括联机升级、并行升级和脱机升级。联机升级允许数据库在升级期间保持在线状态,但可能需要更多时间;并行升级是指在新的Oracle实例上同时运行旧版本和新版本,然后切换;...

    oracle10g 4679769 patch

    Oracle 10g 4679769 补丁是针对 Oracle 数据库系统的一个重要更新,旨在解决特定版本的 Oracle 10g 中存在的问题和潜在的安全隐患。Oracle 数据库是全球广泛使用的数据库管理系统,它提供了强大的数据存储、管理和...

    oracle 10g 升级操作文档

    ### Oracle 10g 升级操作文档 #### 一、概述 本文档详细记录了Oracle 10.2.0.1版本升级至10.2.0.4的操作步骤与注意事项。Oracle数据库作为企业级应用的重要组成部分,其稳定性和性能对业务连续性至关重要。随着...

    Oracle数据库版本修改工具

    Oracle数据库是全球广泛使用...总的来说,"Oracle数据库版本修改工具"是应对数据库版本问题的一种手段,它简化了特定情况下的升级或导入过程。但使用时需谨慎,遵循最佳实践,以确保数据库系统的稳定性和数据的安全性。

    ORACLE回退段的作用、用法及问题的产生和解决方案.pdf

    - 事务恢复:在系统崩溃或异常情况下,Oracle利用重做日志和回退段中的信息来恢复未提交的事务,保证数据库的完整性。 - 读一致性:回退段确保不同事务之间的一致性视图,避免一个事务看到其他事务未提交的修改,...

    oracle_patch_download_method

    本文将深入探讨如何通过Oracle官方渠道下载Oracle补丁包,特别是针对不同版本和操作系统的具体方法。 ### Oracle补丁包下载方法 Oracle提供了多种方式来帮助用户获取必要的补丁,其中一种常见的方式是通过下载号...

Global site tag (gtag.js) - Google Analytics