首页 > 代码库 > rac 10g 10.2.0.1升级到10.2.0.5详解

rac 10g 10.2.0.1升级到10.2.0.5详解

    RAC 10.2.0.1 升级到 10.2.0.5

 

一、 准备:

Patch 包:p8202632_10205_LINUX.zip

 

节点数:3个节点

      RAC1    RAC2   RAC3

当前节点状态

节点1:

[root@rac1 bin]# ./crs_stat -t

Name          Type           Target    State    Host       

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

ora....B1.inst application    ONLINE   ONLINE    rac1       

ora....B2.inst application    ONLINE   ONLINE    rac2       

ora....B3.inst application    ONLINE   ONLINE    rac3       

ora.RACDB.db  application    ONLINE    ONLINE   rac1       

ora....SM1.asm application    ONLINE   ONLINE    rac1       

ora....C1.lsnr application    ONLINE   ONLINE    rac1       

ora.rac1.gsd  application    ONLINE    ONLINE   rac1       

ora.rac1.ons  application    ONLINE    ONLINE   rac1       

ora.rac1.vip  application    ONLINE    ONLINE   rac1       

ora....SM2.asm application    ONLINE   ONLINE    rac2       

ora....C2.lsnr application    ONLINE   ONLINE    rac2       

ora.rac2.gsd  application    ONLINE    ONLINE   rac2       

ora.rac2.ons  application    ONLINE    ONLINE   rac2       

ora.rac2.vip  application    ONLINE    ONLINE   rac2       

ora....SM3.asm application    ONLINE   ONLINE    rac3       

ora....C3.lsnr application    ONLINE   ONLINE    rac3       

ora.rac3.gsd  application    ONLINE    ONLINE   rac3       

ora.rac3.ons  application    ONLINE    ONLINE   rac3       

ora.rac3.vip  application    ONLINE    ONLINE   rac3   

 

查看当前数据库版本

SYS@RACDB1>select * from v$version;

 

BANNER

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

Oracle Database 10g Enterprise Edition Release10.2.0.1.0 - Prod

PL/SQL Release 10.2.0.1.0 - Production

CORE   10.2.0.1.0      Production

TNS for Linux: Version 10.2.0.1.0 - Production

NLSRTL Version 10.2.0.1.0 - Production

 

二、 集群软件升级

2.1 上传升级需要的 patch

[root@rac1 soft]# chown oracle:oinstall -R Disk1/

[root@rac1 soft]# ll

drwxr-xr-x 5 oracle oinstall       4096 Jul 23  2010 Disk1

 

2.2 切换到oracle用户下进行

[root@rac1 Disk1]# su - oracle

[oracle@rac1 ~]$ cd /soft/Disk1/

[oracle@rac1 Disk1]$ ls

install patch_note.htm  response  runInstaller stage

[oracle@rac1 Disk1]$ ll

total 184

drwxr-xr-x  4oracle oinstall   4096 Apr 20  2010 install

-rwxrwxr-x  1oracle oinstall 165290 Jul 23  2010patch_note.htm

drwxr-xr-x  2oracle oinstall   4096 Apr 20  2010 response

-rwxr-xr-x  1oracle oinstall   3927 Apr 20  2010 runInstaller

drwxr-xr-x 11 oracle oinstall   4096 Jul 19 2010 stage

 

2.3 用srvctl 工具关闭进程和资源

注:依次在每个节点上执行!!!

[oracle@rac1 Disk1]$ srvctl stop nodeapps -n rac1

[oracle@rac2 ]$ srvctl stop nodeapps -n rac2

[oracle@rac3 ]$ srvctl stop nodeapps -n rac3

 

[oracle@rac1 Disk1]$ crs_stat -t

Name          Type           Target    State    Host       

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

ora....B1.inst application    OFFLINE  OFFLINE              

ora....B2.inst application    OFFLINE  OFFLINE              

ora....B3.inst application    OFFLINE  OFFLINE              

ora.RACDB.db  application    OFFLINE   OFFLINE              

ora....SM1.asm application    OFFLINE  OFFLINE              

ora....C1.lsnr application    OFFLINE  OFFLINE              

ora.rac1.gsd  application    OFFLINE   OFFLINE              

ora.rac1.ons  application    OFFLINE   OFFLINE              

ora.rac1.vip  application    OFFLINE   OFFLINE              

ora....SM2.asm application    OFFLINE  OFFLINE              

ora....C2.lsnr application    OFFLINE  OFFLINE              

ora.rac2.gsd  application    OFFLINE   OFFLINE              

ora.rac2.ons  application    OFFLINE   OFFLINE              

ora.rac2.vip  application    OFFLINE   OFFLINE              

ora....SM3.asm application    OFFLINE  OFFLINE              

ora....C3.lsnr application    OFFLINE  OFFLINE              

ora.rac3.gsd  application    OFFLINE   OFFLINE              

ora.rac3.ons  application    OFFLINE   OFFLINE              

ora.rac3.vip  application    OFFLINE   OFFLINE              

 

2.4 开始安装 patch

[root@rac1 Disk1]# xhost +

access control disabled, clients can connect fromany host

[root@rac1 Disk1]# su - oracle

[oracle@rac1 ~]$ cd /soft/Disk1/

[oracle@rac1 Disk1]$ ./runInstaller

 

   选择安装CRS补丁位置,必须和以前位置一样!!!

 


 

         有warning  说 swap空间不足  选中 下一步

 

         总体配置预览   开始安装

 

 

 





此处特别注意!!!看一下是否需要执行脚本

      刚好没截上图  一定按照顺序执行!!!

节点1 :

[root@rac1 crsd]#/u01/app/oracle/product/10.2.0/db_1/bin/crsctl stop crs

Stopping resources.

Successfully stopped CRS resources

Stopping CSSD.

Shutting down CSS daemon.

Shutdown request successfully issued.

[root@rac1 crsd]#/u01/app/oracle/product/10.2.0/db_1/install/root102.sh

Creating pre-patch directory for saving pre-patchclusterware files

Completed patching clusterware files to/u01/app/oracle/product/10.2.0/db_1

Relinking some shared libraries.

Relinking of patched files is complete.

WARNING: directory ‘/u01/app/oracle/product/10.2.0‘is not owned by root

WARNING: directory ‘/u01/app/oracle/product‘ is notowned by root

WARNING: directory ‘/u01/app/oracle‘ is not ownedby root

WARNING: directory ‘/u01/app‘ is not owned by root

WARNING: directory ‘/u01‘ is not owned by root

Preparing to recopy patched init and RC scripts.

Recopying init and RC scripts.

Startup will be queued to init within 30 seconds.

Starting up the CRS daemons.

Waiting for the patched CRS daemons to start.

  This maytake a while on some systems.

.

10205 patch successfully applied.

clscfg: EXISTING configuration version 3 detected.

clscfg: version 3 is 10G Release 2.

Successfully deleted 1 values from OCR.

Successfully deleted 1 keys from OCR.

Successfully accumulated necessary OCR keys.

Using ports: CSS=49895 CRS=49896 EVMC=49898 andEVMR=49897.

node <nodenumber>: <nodename><private interconnect name> <hostname>

node 1: rac1 rac1-priv rac1

Creating OCR keys for user ‘root‘, privgrp ‘root‘..

Operation successful.

clscfg -upgrade completed successfully

Creating‘/u01/app/oracle/product/10.2.0/db_1/install/paramfile.crs‘ with data used forCRS configuration

Setting CRS configuration values in/u01/app/oracle/product/10.2.0/db_1/install/paramfile.crs

节点2 :

[root@rac1 crsd]#/u01/app/oracle/product/10.2.0/db_1/bin/crsctl stop crs

[root@rac1 crsd]#/u01/app/oracle/product/10.2.0/db_1/install/root102.sh

节点3:

[root@rac1 crsd]#/u01/app/oracle/product/10.2.0/db_1/bin/crsctl stop crs

[root@rac1 crsd]#/u01/app/oracle/product/10.2.0/db_1/install/root102.sh

 

2.5 查看状态

[oracle@rac1 Disk1]$ crs_stat -t

Name          Type           Target    State    Host       

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

ora....B1.inst application    ONLINE   ONLINE    rac1       

ora....B2.inst application    ONLINE   ONLINE    rac2       

ora....B3.inst application    ONLINE   ONLINE    rac3       

ora.RACDB.db  application    ONLINE    ONLINE   rac1       

ora....SM1.asm application    ONLINE   ONLINE    rac1       

ora....C1.lsnr application    ONLINE   ONLINE    rac1       

ora.rac1.gsd  application    ONLINE    ONLINE   rac1       

ora.rac1.ons  application    ONLINE    ONLINE   rac1       

ora.rac1.vip  application    ONLINE    ONLINE   rac1       

ora....SM2.asm application    ONLINE   ONLINE    rac2       

ora....C2.lsnr application    ONLINE   ONLINE    rac2       

ora.rac2.gsd  application    ONLINE    ONLINE   rac2       

ora.rac2.ons  application    ONLINE    ONLINE   rac2       

ora.rac2.vip  application    ONLINE    ONLINE   rac2       

ora....SM3.asm application    ONLINE   ONLINE    rac3       

ora....C3.lsnr application    ONLINE   ONLINE    rac3       

ora.rac3.gsd  application    ONLINE    ONLINE   rac3       

ora.rac3.ons  application    ONLINE    ONLINE   rac3       

ora.rac3.vip  application    ONLINE    ONLINE   rac3     

 

 

三、 数据库软件升级

最好在建库之前进行数据库的升级,我这里是建库之后进行的

3.1 停止 em  和 isqlplus

[oracle@rac1 Disk1]$ export ORACLE_SID=RACDB1

[oracle@rac1 Disk1]$ emctl stop dbconsole

TZ set to PRC

Oracle Enterprise Manager 10g Database ControlRelease 10.2.0.1.0 

Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.

http://rac1:1158/em/console/aboutApplication

Stopping Oracle Enterprise Manager 10g DatabaseControl ...

 ...  Stopped.

[oracle@rac1 Disk1]$ isqlplusctl stop

iSQL*Plus 10.2.0.1.0

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

iSQL*Plus instance on port 5560 is not running ...

 

    3.2 关闭服务和实例

   各个节点都执行!!!

[oracle@rac1 ~]$ srvctl stop nodeapps -n rac1

[oracle@rac2 ~]$ srvctl stop nodeapps -n rac2

[oracle@rac3~ ]$ srvctl stop nodeapps -n rac3

 

[oracle@rac1 Disk1]$ crs_stat -t

Name          Type           Target    State    Host       

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

ora....B1.inst application    OFFLINE  OFFLINE              

ora....B2.inst application    OFFLINE  OFFLINE              

ora....B3.inst application    OFFLINE  OFFLINE              

ora.RACDB.db  application    OFFLINE   OFFLINE              

ora....SM1.asm application    OFFLINE  OFFLINE              

ora....C1.lsnr application    OFFLINE  OFFLINE              

ora.rac1.gsd  application    OFFLINE   OFFLINE              

ora.rac1.ons  application    OFFLINE   OFFLINE              

ora.rac1.vip  application    OFFLINE   OFFLINE              

ora....SM2.asm application    OFFLINE  OFFLINE              

ora....C2.lsnr application    OFFLINE  OFFLINE              

ora.rac2.gsd  application    OFFLINE   OFFLINE              

ora.rac2.ons  application    OFFLINE   OFFLINE              

ora.rac2.vip  application    OFFLINE   OFFLINE              

ora....SM3.asm application    OFFLINE  OFFLINE              

ora....C3.lsnr application    OFFLINE  OFFLINE              

ora.rac3.gsd  application    OFFLINE   OFFLINE              

ora.rac3.ons  application    OFFLINE   OFFLINE              

ora.rac3.vip  application    OFFLINE   OFFLINE             

 

    注:如果虚拟机老重启的话  直接两个节点 crs 都关了

    ./crsctl stop crs

 

    选择数据库安装的目录:

 

    Not execute 和 warning的都勾选了  下一步

 

 

开始安装

 

    按顺序执行脚本

 

   执行完下面的脚本再点击OK

    最好别用ssh 怕某些权限情况!

节点1 :

[root@rac1 bin]# /u01/app/oracle/product/10.2.0/db_2/root.sh

Running Oracle 10g root.sh script...

 

The following environment variables are set as:

   ORACLE_OWNER= oracle

   ORACLE_HOME= /u01/app/oracle/product/10.2.0/db_2

 

Enter the full pathname of the local bin directory:[/usr/local/bin]:

The file "dbhome" already exists in/usr/local/bin.  Overwrite it? (y/n)

[n]:

The file "oraenv" already exists in/usr/local/bin.  Overwrite it? (y/n)

[n]:

The file "coraenv" already exists in/usr/local/bin.  Overwrite it? (y/n)

[n]:

 

Entries will be added to the /etc/oratab file asneeded by

Database Configuration Assistant when a database iscreated

Finished running generic part of root.sh script.

Now product-specific root actions will beperformed.

 

    节点2:

[root@rac2 cssd]#/u01/app/oracle/product/10.2.0/db_2/root.sh

Running Oracle 10g root.sh script...

 

The following environment variables are set as:

   ORACLE_OWNER= oracle

   ORACLE_HOME= /u01/app/oracle/product/10.2.0/db_2

 

Enter the full pathname of the local bin directory:[/usr/local/bin]:

The file "dbhome" already exists in/usr/local/bin.  Overwrite it? (y/n)

[n]:

The file "oraenv" already exists in/usr/local/bin.  Overwrite it? (y/n)

[n]:

The file "coraenv" already exists in/usr/local/bin.  Overwrite it? (y/n)

[n]:

 

Entries will be added to the /etc/oratab file asneeded by

Database Configuration Assistant when a database iscreated

 

Finished running generic part of root.sh script.

Now product-specific root actions will beperformed.

 

    节点3

[root@rac3 cssd]#/u01/app/oracle/product/10.2.0/db_2/root.sh

Running Oracle 10g root.sh script...

 

The following environment variables are set as:

   ORACLE_OWNER= oracle

   ORACLE_HOME= /u01/app/oracle/product/10.2.0/db_2

 

Enter the full pathname of the local bin directory:[/usr/local/bin]:

The file "dbhome" already exists in/usr/local/bin.  Overwrite it? (y/n)

[n]:

The file "oraenv" already exists in/usr/local/bin.  Overwrite it? (y/n)

[n]:

The file "coraenv" already exists in/usr/local/bin.  Overwrite it? (y/n)

[n]:

 

Entries will be added to the /etc/oratab file asneeded by

Database Configuration Assistant when a database iscreated

Finished running generic part of root.sh script.

Now product-specific root actions will beperformed.

 

四、 数据库升级

4.1 当前crs的状态      --看着就感觉很和谐!!

[root@rac1 bin]# ./crs_stat -t

Name          Type           Target    State    Host       

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

ora....B1.inst application    ONLINE   OFFLINE              

ora....B2.inst application    ONLINE   OFFLINE              

ora....B3.inst application    ONLINE   OFFLINE              

ora.RACDB.db  application    ONLINE    OFFLINE              

ora....SM1.asm application    ONLINE   ONLINE    rac1       

ora....C1.lsnr application    ONLINE   ONLINE    rac1       

ora.rac1.gsd  application    ONLINE    ONLINE   rac1       

ora.rac1.ons  application    ONLINE    ONLINE   rac1       

ora.rac1.vip  application    ONLINE    ONLINE   rac1       

ora....SM2.asm application    ONLINE   ONLINE    rac2       

ora....C2.lsnr application    ONLINE   ONLINE    rac2       

ora.rac2.gsd  application    ONLINE    ONLINE   rac2       

ora.rac2.ons  application    ONLINE    ONLINE   rac2       

ora.rac2.vip  application    ONLINE    ONLINE   rac2       

ora....SM3.asm application    ONLINE   ONLINE    rac3       

ora....C3.lsnr application    ONLINE   ONLINE    rac3       

ora.rac3.gsd  application    ONLINE    ONLINE   rac3       

ora.rac3.ons  application    ONLINE    ONLINE   rac3       

ora.rac3.vip  application    ONLINE    ONLINE   rac3       

 

升级数据库比较简单,dbua的方式更简单,这里介绍手动升级方式

 

    4.2 在其中任意一个节点执行:

本次在rac1上执行

[oracle@rac1 ~]$ export ORACLE_SID=RACDB1

[oracle@rac1 ~]$ sqlplus / as sysdba

 

SQL*Plus: Release 10.2.0.5.0 - Production on ThuAug 28 13:37:32 2014

 

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

 

Connected to an idle instance.

 

SQL> startup nomount;

ORACLE instance started.

 

Total System Global Area  285212672 bytes

Fixed Size                  1273276 bytes

Variable Size             109052484 bytes

Database Buffers          171966464 bytes

Redo Buffers                2920448 bytes

SQL> alter system set sga_max_size=400Mscope=spfile;

 

System altered.

 

SQL> alter system set sga_target=400Mscope=spfile;

 

System altered.

SQL> show parameter shared

 

NAME                                 TYPE        VALUE

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

hi_shared_memory_address             integer     0

max_shared_servers                   integer

shared_memory_address                integer     0

shared_pool_reserved_size            big integer 5033164

shared_pool_size                     big integer 0

shared_server_sessions               integer

shared_servers                       integer     1

SQL> alter system set shared_pool_size=‘150M‘scope=spfile;

 

System altered.

 

SQL> alter system set java_pool_size=‘150M‘scope=spfile;

 

System altered.

 

SQL> show parameter cluster

 

NAME                                 TYPE        VALUE

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

cluster_database                     boolean     TRUE

cluster_database_instances           integer     2

cluster_interconnects                string

SQL> alter system set cluster_database=falsescope=spfile;

 

System altered.

 

注:保证shared_pool_size和 java_pool_size 不小于150m。因为数据文件是共享的,所以升级的时候只需要在一个节点升级就行,所以要把CLUSTER_DATABASE设置成FALSE

 

    4.3 执行更新脚本

SQL> shutdown immediate

SQL> startup upgrade

SQL> spool /tmp/patch.log

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

SQL> spool off

 

    检查日志中有没有错误,如果没有则启动数据库:  --文件数量很多

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

 

Total System Global Area  419430400 bytes

Fixed Size                  1274068 bytes

Variable Size             331353900 bytes

Database Buffers           83886080 bytes

Redo Buffers                2916352 bytes

Database mounted.

Database opened.

   

4.4 编译无效对象

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

    4.5 改参数

SQL> show parameter cluster

 

NAME                                 TYPE        VALUE

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

cluster_database                     boolean     FALSE

cluster_database_instances           integer     1

cluster_interconnects                string

SQL> alter system set cluster_database=truescope=spfile;

 

System altered.

 

    4.6 重启数据库,升级完成

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

 

Total System Global Area  419430400 bytes

Fixed Size                  1274068 bytes

Variable Size             331353900 bytes

Database Buffers           83886080 bytes

Redo Buffers                2916352 bytes

Database mounted.

Database opened.

SQL> select * from v$version;

 

BANNER

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

Oracle Database 10g Enterprise Edition Release10.2.0.5.0 - Prod

PL/SQL Release 10.2.0.5.0 - Production

CORE    10.2.0.5.0     Production

TNS for Linux: Version 10.2.0.5.0 - Production

NLSRTL Version 10.2.0.5.0 - Production

 

 

 

rac 10g 10.2.0.1升级到10.2.0.5详解