Upgrade RAC 10.2.0.1 To 10.2.0.4

由于在10.2.0.1版本存在着诸多不便,在安装和使用过程中遇到了不少问题,听取了网友的建议之后,因此决定升级到10.2.0.4,升级过程相对简单,简单记录下。
升级包:p6810189_10204_Linux-x86.zip 大小大约0.98g。
升级之前准备:
仔细阅读安装介质里面的README.html,所有的操作过程这里都写得一清二楚。
做好备份。

0. 查看下升级前版本
操作系统信息:
[oracle@R1 ~]$ cat /etc/issue
Red Hat Enterprise Linux Server release 5.6 (Tikanga)
Kernel \r on an \m

[oracle@R1 ~]$ uname -a
Linux R1 2.6.18-238.el5 #1 SMP Sun Dec 19 14:24:47 EST 2010 i686 i686 i386 GNU/Linux
clusterware版本信息:
[oracle@R1 ~]$ cd $ORA_CRS_HOME/bin
[oracle@R1 bin]$ crsctl query crs softwareversion
CRS software version on node [r1] is [10.2.0.1.0]
数据库版本信息:
[oracle@R1 bin]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Nov 29 14:58:22 2011

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

idle> conn /as sysdba
Connected.
sys@RAC> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.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

sys@RAC> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
ASM版本信息:
[oracle@R1 bin]$ export ORACLE_SID=+ASM1
[oracle@R1 bin]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Nov 29 14:58:56 2011

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

idle> conn /as sysdba
Connected.
idle> select * from v$version;

BANNER
--------------------------------------------------------------------------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.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

idle> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
[oracle@R1 bin]$ export ORACLE_SID=RAC1

1. 上传升级包到节点R1,并解压出来,解压过程可以使用unzip命令
[oracle@R1 ~]$ pwd
/home/oracle
[oracle@R1 ~]$ ll
总计 1030308
-rw-r--r-- 1 oracle oinstall       5393 11-27 12:06 asmlog.log
-rw-r--r-- 1 oracle oinstall        362 11-05 01:22 crsstart.sh
-rwxr-xr-x 1 oracle oinstall        562 11-04 22:58 crsstat.sh
-rw-r--r-- 1 oracle oinstall        325 11-05 01:17 crsstop.sh
-rw-r--r-- 1 oracle oinstall       8002 11-27 12:06 dblog.log
drwxr-xr-x 2 oracle oinstall       4096 11-02 12:39 Desktop
-rw-r--r-- 1 oracle oinstall 1053748381 11-29 13:51 p6810189_10204_Linux-x86.zip
-rw-r----- 1 oracle oinstall      23610 11-05 07:49 RAC
-rw-r--r-- 1 oracle oinstall         26 11-05 12:40 test
[oracle@R1 ~]$ unzip p6810189_10204_Linux-x86.zip
[oracle@R1 ~]$ ll
总计 1030308
-rw-r--r-- 1 oracle oinstall       5393 11-27 12:06 asmlog.log
-rw-r--r-- 1 oracle oinstall        362 11-05 01:22 crsstart.sh
-rwxr-xr-x 1 oracle oinstall        562 11-04 22:58 crsstat.sh
-rw-r--r-- 1 oracle oinstall        325 11-05 01:17 crsstop.sh
-rw-r--r-- 1 oracle oinstall       8002 11-27 12:06 dblog.log
drwxr-xr-x 2 oracle oinstall       4096 11-02 12:39 Desktop
drwxr-xr-x 5 oracle oinstall       4096 2008-02-22 Disk1
-rw-r--r-- 1 oracle oinstall 1053748381 11-29 13:51 p6810189_10204_Linux-x86.zip
-rw-r----- 1 oracle oinstall      23610 11-05 07:49 RAC
-rw-r--r-- 1 oracle oinstall     178473 2008-02-26 README.html
-rw-r--r-- 1 oracle oinstall         26 11-05 12:40 test
[oracle@R1 ~]$

2. 执行CRS升级
2.1. 首先停止集群相关资源
在节点R1上oracle用户执行
[oracle@R1 ~]$ crs_stat -t
Name                           Target     State      Host      
------------------------------ ---------- ---------  -------   
ora.RAC.RAC1.inst              ONLINE     ONLINE     r1        
ora.RAC.RAC2.inst              ONLINE     ONLINE     r2        
ora.RAC.db                     ONLINE     ONLINE     r1        
ora.r1.ASM1.asm                ONLINE     ONLINE     r1        
ora.r1.LISTENER_R1.lsnr        ONLINE     ONLINE     r1        
ora.r1.gsd                     ONLINE     ONLINE     r1        
ora.r1.ons                     ONLINE     ONLINE     r1        
ora.r1.vip                     ONLINE     ONLINE     r1        
ora.r2.ASM2.asm                ONLINE     ONLINE     r2        
ora.r2.LISTENER_R2.lsnr        ONLINE     ONLINE     r2        
ora.r2.gsd                     ONLINE     ONLINE     r2        
ora.r2.ons                     ONLINE     ONLINE     r2        
ora.r2.vip                     ONLINE     ONLINE     r2   
[oracle@R1 ~]$ crs_stop -all
Attempting to stop `ora.r1.gsd` on member `r1`
Attempting to stop `ora.r1.ons` on member `r1`
Attempting to stop `ora.r2.ons` on member `r2`
Attempting to stop `ora.r2.gsd` on member `r2`
`ora.r2.ons` on member `r2` has experienced an unrecoverable failure.
Human intervention required to resume its availability.
`ora.r2.gsd` on member `r2` has experienced an unrecoverable failure.
Human intervention required to resume its availability.
Stop of `ora.r1.gsd` on member `r1` succeeded.
Stop of `ora.r1.ons` on member `r1` succeeded.
Attempting to stop `ora.r1.vip` on member `r1`
Attempting to stop `ora.r2.vip` on member `r2`
Stop of `ora.r1.vip` on member `r1` succeeded.
Stop of `ora.r2.vip` on member `r2` succeeded.
CRS-0216: Could not stop resource 'ora.r2.gsd'.

CRS-0216: Could not stop resource 'ora.r2.ons'.

[oracle@R1 ~]$ crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora.r1.gsd     application    OFFLINE   OFFLINE               
ora.r1.ons     application    OFFLINE   OFFLINE               
ora.r1.vip     application    OFFLINE   OFFLINE               
ora.r2.gsd     application    OFFLINE   UNKNOWN   r2          
ora.r2.ons     application    OFFLINE   UNKNOWN   r2          
ora.r2.vip     application    OFFLINE   OFFLINE               
[oracle@R1 ~]$ crs_stop -all
[oracle@R1 ~]$ crs_stat -t
[oracle@R1 bin]$  crs_stop -all
Attempting to stop `ora.r1.ons` on member `r1`
Attempting to stop `ora.r1.gsd` on member `r1`
Attempting to stop `ora.RAC.db` on member `r1`
Attempting to stop `ora.r2.ons` on member `r2`
Attempting to stop `ora.r2.gsd` on member `r2`
Stop of `ora.r2.gsd` on member `r2` succeeded.
Stop of `ora.r2.ons` on member `r2` succeeded.
Stop of `ora.r1.gsd` on member `r1` succeeded.
Stop of `ora.r1.ons` on member `r1` succeeded.
Stop of `ora.RAC.db` on member `r1` succeeded.
Attempting to stop `ora.r1.LISTENER_R1.lsnr` on member `r1`
Attempting to stop `ora.r2.LISTENER_R2.lsnr` on member `r2`
Stop of `ora.r1.LISTENER_R1.lsnr` on member `r1` succeeded.
`ora.RAC.RAC1.inst` is already OFFLINE.
Attempting to stop `ora.r1.ASM1.asm` on member `r1`
Stop of `ora.r2.LISTENER_R2.lsnr` on member `r2` succeeded.
`ora.RAC.RAC2.inst` is already OFFLINE.
Attempting to stop `ora.r2.ASM2.asm` on member `r2`
Stop of `ora.r1.ASM1.asm` on member `r1` succeeded.
Attempting to stop `ora.r1.vip` on member `r1`
Stop of `ora.r1.vip` on member `r1` succeeded.
Stop of `ora.r2.ASM2.asm` on member `r2` succeeded.
Attempting to stop `ora.r2.vip` on member `r2`
Stop of `ora.r2.vip` on member `r2` succeeded.
CRS-0216: Could not stop resource 'ora.RAC.RAC1.inst'.

CRS-0216: Could not stop resource 'ora.RAC.RAC2.inst'.

[oracle@R1 bin]$ crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora....C1.inst application    OFFLINE   OFFLINE               
ora....C2.inst application    OFFLINE   OFFLINE               
ora.RAC.db     application    OFFLINE   OFFLINE               
ora....SM1.asm application    OFFLINE   OFFLINE               
ora....R1.lsnr application    OFFLINE   OFFLINE               
ora.r1.gsd     application    OFFLINE   OFFLINE               
ora.r1.ons     application    OFFLINE   OFFLINE               
ora.r1.vip     application    OFFLINE   OFFLINE               
ora....SM2.asm application    OFFLINE   OFFLINE               
ora....R2.lsnr application    OFFLINE   OFFLINE               
ora.r2.gsd     application    OFFLINE   OFFLINE               
ora.r2.ons     application    OFFLINE   OFFLINE               
ora.r2.vip     application    OFFLINE   OFFLINE

2.2. 停止CRS进程
在节点R1和R2上root执行:
节点R1
[root@R1 ~]# cd /opt/app/product/10.2.0/crs_1/bin/
[root@R1 bin]# pwd
/opt/app/product/10.2.0/crs_1/bin
[root@R1 bin]# ps -ef | grep crs | grep -v "grep"
root      4375     1  0 14:43 ?        00:00:00 /bin/su -l oracle -c sh -c 'ulimit -c unlimited; cd /opt/app/product/10.2.0/crs_1/log/r1/evmd; exec /opt/app/product/10.2.0/crs_1/bin/evmd '
root      4377     1  0 14:43 ?        00:00:07 /opt/app/product/10.2.0/crs_1/bin/crsd.bin reboot
oracle    4826  4375  0 14:44 ?        00:00:01 /opt/app/product/10.2.0/crs_1/bin/evmd.bin
root      4933  4812  0 14:44 ?        00:00:00 /bin/su -l oracle -c /bin/sh -c 'ulimit -c unlimited; cd /opt/app/product/10.2.0/crs_1/log/r1/cssd;  /opt/app/product/10.2.0/crs_1/bin/ocssd  || exit $?'
oracle    4934  4933  0 14:44 ?        00:00:00 /bin/sh -c ulimit -c unlimited; cd /opt/app/product/10.2.0/crs_1/log/r1/cssd;  /opt/app/product/10.2.0/crs_1/bin/ocssd  || exit $?
oracle    4962  4934  0 14:44 ?        00:00:02 /opt/app/product/10.2.0/crs_1/bin/ocssd.bin
oracle    5291  4826  0 14:44 ?        00:00:00 /opt/app/product/10.2.0/crs_1/bin/evmlogger.bin -o /opt/app/product/10.2.0/crs_1/evm/log/evmlogger.info -l /opt/app/product/10.2.0/crs_1/evm/log/evmlogger.log
[root@R1 bin]# ./crsctl stop crs
Stopping resources.
Successfully stopped CRS resources
Stopping CSSD.
Shutting down CSS daemon.
Shutdown request successfully issued.
[root@R1 bin]# ps -ef | grep crs | grep -v "grep"
root     16850     1  0 15:12 ?        00:00:00 /bin/sh /etc/init.d/init.crsd run

节点R2
进行同样的操作。

2.3.升级clusterware
在节点R1上oracle执行,登陆图形界面进行操作
[oracle@R1 Disk1]$ export LANG=EN
[oracle@R1 Disk1]$ ll
total 1784
-rw-r--r--  1 oracle oinstall 1620786 Feb 22  2008 10204_buglist.htm
drwxr-xr-x  4 oracle oinstall    4096 Feb 17  2008 install
-rw-r--r--  1 oracle oinstall  178465 Feb 23  2008 patch_note.htm
drwxr-xr-x  2 oracle oinstall    4096 Feb 17  2008 response
-rwxr-xr-x  1 oracle oinstall    1756 Feb 17  2008 runInstaller
drwxr-xr-x 10 oracle oinstall    4096 Feb 22  2008 stage
[oracle@R1 Disk1]$ ./runInstaller -ignoreSysPrereqs

这样就可以开始升级操作,需要注意的是在第1个next之后注意选择的CRS的Name和Path,然后next,升级过程中可以该干啥干啥去,升级过程还是很快完成的。
安装结束之后执行提示运行的2个脚本,注意使用root用户分别在R1和R2两个节点执行:
The installer has detected that your Cluster Ready Services (CRS) installation is distributed across the following nodes:

    r1
    r2

Because the software consists of local identical copies distributed across each of the nodes in the cluster, it is possible to patch your CRS installation in a rolling manner, one node at a time.

To complete the installation of this patchset, you must perform the following tasks on each node:

    1.    Log in as the root user.
    2.    As the root user, perform the following tasks:

        a.    Shutdown the CRS daemons by issuing the following command:
                /opt/app/product/10.2.0/crs_1/bin/crsctl stop crs
        b.    Run the shell script located at:
                /opt/app/product/10.2.0/crs_1/install/root102.sh
            This script will automatically start the CRS daemons on the
            patched node upon completion.

    3.    After completing this procedure, proceed to the next node and repeat.

注意的是现在R1执行完成2个脚本之后再去R2执行。
节点R1上执行脚本:
[root@R1 bin]# /opt/app/product/10.2.0/crs_1/bin/crsctl stop crs
Stopping resources.
Error while stopping resources. Possible cause: CRSD is down.
Stopping CSSD.
Unable to communicate with the CSS daemon.
[root@R1 bin]# /opt/app/product/10.2.0/crs_1/install/root102.sh
Creating pre-patch directory for saving pre-patch clusterware files
Completed patching clusterware files to /opt/app/product/10.2.0/crs_1
Relinking some shared libraries.
Relinking of patched files is complete.
WARNING: directory '/opt/app/product/10.2.0' is not owned by root
WARNING: directory '/opt/app/product' is not owned by root
WARNING: directory '/opt/app' is not owned by root
WARNING: directory '/opt' 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 may take a while on some systems.
.
10204 patch successfully applied.
clscfg: EXISTING configuration version 3 detected.
clscfg: version 3 is 10G Release 2.
Successfully accumulated necessary OCR keys.
Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.
node <nodenumber>: <nodename> <private interconnect name> <hostname>
node 1: r1 r1-priv r1
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
clscfg -upgrade completed successfully

节点R2上执行脚本:
进行同样的操作。

执行完脚本之后,记得点击执行界面退出完成安装。

2.4. 升级database software
2.4.1. 停止CRS相关资源
由于在完成clusterware升级之后,会将相关资源启动,但是在进行database software的时候需要停掉相关资源。
[oracle@R1 bin]$ crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora....C1.inst application    ONLINE    ONLINE    r1          
ora....C2.inst application    ONLINE    ONLINE    r2          
ora.RAC.db     application    ONLINE    ONLINE    r1          
ora....SM1.asm application    ONLINE    ONLINE    r1          
ora....R1.lsnr application    ONLINE    ONLINE    r1          
ora.r1.gsd     application    ONLINE    ONLINE    r1          
ora.r1.ons     application    ONLINE    ONLINE    r1          
ora.r1.vip     application    ONLINE    ONLINE    r1          
ora....SM2.asm application    ONLINE    ONLINE    r2          
ora....R2.lsnr application    ONLINE    ONLINE    r2          
ora.r2.gsd     application    ONLINE    ONLINE    r2          
ora.r2.ons     application    ONLINE    ONLINE    r2          
ora.r2.vip     application    ONLINE    ONLINE    r2          
[oracle@R1 bin]$ crs_stop -all
Attempting to stop `ora.RAC.db` on member `r1`
Attempting to stop `ora.r1.gsd` on member `r1`
Attempting to stop `ora.r1.ons` on member `r1`
Attempting to stop `ora.r2.ons` on member `r2`
Attempting to stop `ora.r2.gsd` on member `r2`
Stop of `ora.r1.gsd` on member `r1` succeeded.
Stop of `ora.r2.gsd` on member `r2` succeeded.
Stop of `ora.r2.ons` on member `r2` succeeded.
Stop of `ora.r1.ons` on member `r1` succeeded.
Stop of `ora.RAC.db` on member `r1` succeeded.
`ora.RAC.RAC1.inst` is already OFFLINE.
`ora.RAC.RAC2.inst` is already OFFLINE.
Attempting to stop `ora.r1.ASM1.asm` on member `r1`
Attempting to stop `ora.r1.LISTENER_R1.lsnr` on member `r1`
Attempting to stop `ora.r2.ASM2.asm` on member `r2`
Attempting to stop `ora.r2.LISTENER_R2.lsnr` on member `r2`
Stop of `ora.r2.LISTENER_R2.lsnr` on member `r2` succeeded.
Attempting to stop `ora.r2.vip` on member `r2`
Stop of `ora.r2.vip` on member `r2` succeeded.
Stop of `ora.r1.LISTENER_R1.lsnr` on member `r1` succeeded.
Attempting to stop `ora.r1.vip` on member `r1`
Stop of `ora.r1.ASM1.asm` on member `r1` succeeded.
Stop of `ora.r1.vip` on member `r1` succeeded.
Stop of `ora.r2.ASM2.asm` on member `r2` succeeded.
CRS-0216: Could not stop resource 'ora.RAC.RAC1.inst'.

CRS-0216: Could not stop resource 'ora.RAC.RAC2.inst'.

[oracle@R1 bin]$ crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora....C1.inst application    OFFLINE   OFFLINE               
ora....C2.inst application    OFFLINE   OFFLINE               
ora.RAC.db     application    OFFLINE   OFFLINE               
ora....SM1.asm application    OFFLINE   OFFLINE               
ora....R1.lsnr application    OFFLINE   OFFLINE               
ora.r1.gsd     application    OFFLINE   OFFLINE               
ora.r1.ons     application    OFFLINE   OFFLINE               
ora.r1.vip     application    OFFLINE   OFFLINE               
ora....SM2.asm application    OFFLINE   OFFLINE               
ora....R2.lsnr application    OFFLINE   OFFLINE               
ora.r2.gsd     application    OFFLINE   OFFLINE               
ora.r2.ons     application    OFFLINE   OFFLINE               
ora.r2.vip     application    OFFLINE   OFFLINE               

2.4.2. 执行database software 升级
还是在图形界面上执行同样的安装脚本,注意选择的database的Name和Path。注意这个步骤可能会遇到在复制到远程节点和解压过程中出现错误的情况,解决办法是在执行安装之前将安装节点的时间调整比其他节点慢10分钟左右。
[oracle@R1 Disk1]$ ./runInstaller -ignoreSysPrereqs
这个升级过程有的漫长,慢慢等待吧,安装结束之后在R1和R2上用root执行提示的脚本:
节点R1执行脚本:
[root@R1 ~]# /opt/app/product/10.2.0/db_1/root.sh
Running Oracle10 root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /opt/app/product/10.2.0/db_1

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]: y
   Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.

节点R1执行脚本:
[root@R2 ~]# /opt/app/product/10.2.0/db_1/root.sh
Running Oracle10 root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /opt/app/product/10.2.0/db_1

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]: y
   Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.

3. 完成升级
3.1. 完成升级后,将crs进程和资源启动起来。
[oracle@R1 logs]$ crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora.r1.gsd     application    OFFLINE   OFFLINE               
ora.r1.ons     application    OFFLINE   OFFLINE               
ora.r1.vip     application    OFFLINE   OFFLINE               
ora.r2.gsd     application    OFFLINE   OFFLINE               
ora.r2.ons     application    OFFLINE   OFFLINE               
ora.r2.vip     application    OFFLINE   OFFLINE               
[oracle@R1 logs]$ crs_start -all
Attempting to start `ora.r1.vip` on member `r1`
Attempting to start `ora.r2.vip` on member `r2`
Start of `ora.r1.vip` on member `r1` succeeded.
Start of `ora.r2.vip` on member `r2` succeeded.
Attempting to start `ora.r2.ons` on member `r2`
Attempting to start `ora.r1.ons` on member `r1`
Attempting to start `ora.r1.gsd` on member `r1`
Attempting to start `ora.r2.gsd` on member `r2`
Start of `ora.r1.gsd` on member `r1` succeeded.
Start of `ora.r2.gsd` on member `r2` succeeded.
Start of `ora.r2.ons` on member `r2` succeeded.
Start of `ora.r1.ons` on member `r1` succeeded.
[oracle@R1 logs]$ crs_stat -t
Name           Type           Target    State     Host        
------------------------------------------------------------
ora.r1.gsd     application    ONLINE    ONLINE    r1          
ora.r1.ons     application    ONLINE    ONLINE    r1          
ora.r1.vip     application    ONLINE    ONLINE    r1          
ora.r2.gsd     application    ONLINE    ONLINE    r2          
ora.r2.ons     application    ONLINE    ONLINE    r2          
ora.r2.vip     application    ONLINE    ONLINE    r2  

3.2. 检查升级结果
[oracle@R1 logs]$ cd /opt/app/product/10.2.0/crs_1/bin/
[oracle@R1 bin]$ crsctl query crs softwareversion
CRS software version on node [r1] is [10.2.0.4.0]
[oracle@R1 bin]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.4.0 - Production on Mon Nov 28 19:20:33 2011

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

SQL>
可以看到已经完成升级到了10.2.0.4.0版本。
-The End-


你可能感兴趣的:(oracle,脚本,application,database,variables)