Oracle Database 10g RAC,CRS/DB/Instance升级到:10.2.0.5
本文的内容,如题所示:Oracle Database 10g RAC,CRS/DB/Instance升级到:10.2.0.5
本文的整理为事后整理,而非全部都是顺着步骤一步步的做出来的,所以,在有的步骤中的截图与说明可能会出现不够精确与不够全面的问题。
首先,你需要从Oracle的My Oracle Support网站(http://support.oracle.com)上获取10.2.0.5(Patch No:8202632)的补丁包:p8202632_10205_LINUX.zip。
上传介质到服务器并解压:
1 2 3 4 5 6 7 8 |
[root@rac1 software]# ll total 783772 -rw-r--r-- 1 grid oinstall 801603584 Jan 29 17:13 10201_database_linux_x86_64.cpio drwxr-xr-x 6 oracle oinstall 4096 Oct 23 2005 database drwxr-xr-x 5 grid oinstall 4096 Apr 29 2010 Disk1 -rwxr-xr-x 1 grid oinstall 171131 Apr 29 2010 README.htm drwxrwxrwx 6 root root 4096 Jan 28 11:40 yum [root@rac1 software]# |
解压后,是:Disk1。
如果当前有数据库正在运行,需要关闭(一个节点一个节点的关)。
关闭监听器:lsnrctl stop
关闭EM:emctl stop dbconsole
关闭iSQLPlus:isqlplusctl stop
关闭数据库实例:sqlplus / as sysdba —> shutdown immediate
升级有风险,运行需谨慎。所以,可能的话,先做备份吧,备份数据文件(数据库实例),以及软件(CRS与DB)的安装目录。
备份软件目录:
cp -r $ORACLE_HOME /
cp -r $ORA_CRS_HOME /
备份数据库实例:RMAN或者EXP都可以,又或者停库后冷备。
对于Oracle DB 10g RAC的环境,升级到:10.2.0.5大概有以下几个步骤:
1. 升级CRS到10.2.0.5
2. 升级Database到10.2.0.5
3. 升级Instance到10.2.0.5
一、CRS的软件升级
进入补丁的介质目录(Disk1),
执行“./runInstaller -ignoreSysPrereqs”,
调出OUI安装:
在OUI的图形界面中,大部分的时候都可以“下一步”。
需要注意的是如上图所示的位置,如果你要升级CRS,则需要在这里指定到CRS的安装目录,如果你要升级的是DB,则需要指向到DB的安装目录。
另外,在系统状态自检的步骤,可能会出现多个Warning,它们是可以被手动忽略的。
最后,你会看到下图的安装进度:
安装进度的步骤,可能会耗时较长,视具体机器的性能而不同。
执行脚本:
/u01/app/10g/grid/bin/crsctl stop crs
/u01/app/10g/grid/install/root102.sh
执行脚本的时候,需要注意的是顺序:先执行第一个脚本后执行第二个,在执行每个脚本时,要按照后面列出的主机顺序,依次执行。通常是顺着节点一优执行,节点二次之,节点三再次,…以此类推。
在最后一个节点执行脚本时可能会遇到诸如VIPCA的一些问题,需要注释掉:srvctl和vipca中的“LD_ASSUME_KERNEL”,然后重新执行:oifcfg和vipca,即可;如果遇到了类似“java”的报错,也可能是需要注释掉“LD_ASSUME_KERNEL”。
修复完成了,OUI提示的脚本不需要重新执行,继续“NEXT”,就完成了对CRS的升级了。
二、Database软件的升级
一样的是要保证数据库实例没有运行。
如果没有关闭数据库实例,就执行了OUI,你会看到如下警告:
一样的是要进入补丁的介质路径拉起OUI图形化操作。
和CRS升级的不同是如上文所述的,在安装路径选择的时候,选择到Database的软件路径,而不是CRS的软件路径,这是需要注意的部分。
系统自检的部分和CRS一样,有的也是可以手动忽略的。
三、升级数据库实例
对于数据库实例的升级,有两种方案可供选择:DBUA或者手动执行脚本。
下面的篇章中,呈现的是手动执行脚本的技术细节。
升级数据库实例前,你需要拉起CRS资源:
Command is: crs_start -all
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
[grid@rac2 ~]$ crs_start -all Attempting to start `ora.rac1.vip` on member `rac1` Attempting to start `ora.rac2.vip` on member `rac2` Attempting to start `ora.rac3.vip` on member `rac3` Start of `ora.rac2.vip` on member `rac2` succeeded. Attempting to start `ora.rac2.ASM2.asm` on member `rac2` Start of `ora.rac3.vip` on member `rac3` succeeded. Attempting to start `ora.rac3.ASM3.asm` on member `rac3` Start of `ora.rac1.vip` on member `rac1` succeeded. Attempting to start `ora.rac1.ASM1.asm` on member `rac1` Start of `ora.rac2.ASM2.asm` on member `rac2` succeeded. Attempting to start `ora.dblogic.dblogic2.inst` on member `rac2` Start of `ora.rac1.ASM1.asm` on member `rac1` succeeded. Start of `ora.rac3.ASM3.asm` on member `rac3` succeeded. Attempting to start `ora.dblogic.dblogic1.inst` on member `rac1` Attempting to start `ora.dblogic.dblogic3.inst` on member `rac3` Start of `ora.dblogic.dblogic2.inst` on member `rac2` failed. rac1 : CRS-1018: Resource ora.rac2.vip (application) is already running on rac2 rac3 : CRS-1018: Resource ora.rac2.vip (application) is already running on rac2 Attempting to start `ora.rac2.LISTENER_RAC2.lsnr` on member `rac2` Start of `ora.rac2.LISTENER_RAC2.lsnr` on member `rac2` succeeded. Start of `ora.dblogic.dblogic3.inst` on member `rac3` failed. rac1 : CRS-1018: Resource ora.rac3.vip (application) is already running on rac3 rac2 : CRS-1018: Resource ora.rac3.vip (application) is already running on rac3 Attempting to start `ora.rac3.LISTENER_RAC3.lsnr` on member `rac3` Start of `ora.rac3.LISTENER_RAC3.lsnr` on member `rac3` succeeded. Start of `ora.dblogic.dblogic1.inst` on member `rac1` failed. rac2 : CRS-1018: Resource ora.rac1.vip (application) is already running on rac1 rac3 : CRS-1018: Resource ora.rac1.vip (application) is already running on rac1 Attempting to start `ora.rac1.LISTENER_RAC1.lsnr` on member `rac1` Start of `ora.rac1.LISTENER_RAC1.lsnr` on member `rac1` succeeded. CRS-1002: Resource 'ora.rac1.ons' is already running on member 'rac1' CRS-1002: Resource 'ora.rac2.ons' is already running on member 'rac2' CRS-1002: Resource 'ora.rac3.ons' is already running on member 'rac3' Attempting to start `ora.rac1.gsd` on member `rac1` Attempting to start `ora.rac2.gsd` on member `rac2` Attempting to start `ora.rac3.gsd` on member `rac3` Attempting to start `ora.dblogic.db` on member `rac1` Start of `ora.rac1.gsd` on member `rac1` succeeded. Start of `ora.rac2.gsd` on member `rac2` succeeded. Start of `ora.rac3.gsd` on member `rac3` succeeded. Start of `ora.dblogic.db` on member `rac1` failed. Attempting to start `ora.dblogic.db` on member `rac2` Start of `ora.dblogic.db` on member `rac2` failed. Attempting to start `ora.dblogic.db` on member `rac3` Start of `ora.dblogic.db` on member `rac3` failed. CRS-1006: No more members to consider CRS-0215: Could not start resource 'ora.dblogic.db'. CRS-0215: Could not start resource 'ora.dblogic.dblogic1.inst'. CRS-0215: Could not start resource 'ora.dblogic.dblogic2.inst'. CRS-0215: Could not start resource 'ora.dblogic.dblogic3.inst'. CRS-0223: Resource 'ora.rac1.ons' has placement error. CRS-0223: Resource 'ora.rac2.ons' has placement error. CRS-0223: Resource 'ora.rac3.ons' has placement error. [grid@rac2 ~]$ |
查看CRS的资源状态:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
[root@rac2 ~]# su - grid [grid@rac2 ~]$ crs_stat -t -v Name Type R/RA F/FT Target State Host ---------------------------------------------------------------------- ora.dblogic.db application 0/1 0/1 OFFLINE OFFLINE ora....c1.inst application 0/5 0/0 OFFLINE OFFLINE ora....c2.inst application 0/5 0/0 OFFLINE OFFLINE ora....c3.inst application 0/5 0/0 ONLINE OFFLINE ora....SM1.asm application 0/5 0/0 ONLINE ONLINE rac1 ora....C1.lsnr application 0/5 0/0 ONLINE ONLINE rac1 ora.rac1.gsd application 0/5 0/0 ONLINE ONLINE rac1 ora.rac1.ons application 0/3 0/0 ONLINE ONLINE rac1 ora.rac1.vip application 0/0 0/0 ONLINE ONLINE rac1 ora....SM2.asm application 0/5 0/0 ONLINE ONLINE rac2 ora....C2.lsnr application 0/5 0/0 ONLINE ONLINE rac2 ora.rac2.gsd application 0/5 0/0 ONLINE ONLINE rac2 ora.rac2.ons application 0/3 0/0 ONLINE ONLINE rac2 ora.rac2.vip application 0/0 0/0 ONLINE ONLINE rac2 ora....SM3.asm application 0/5 0/0 ONLINE ONLINE rac3 ora....C3.lsnr application 0/5 0/0 ONLINE ONLINE rac3 ora.rac3.gsd application 0/5 0/0 ONLINE ONLINE rac3 ora.rac3.ons application 0/3 0/0 ONLINE ONLINE rac3 ora.rac3.vip application 0/0 0/0 ONLINE ONLINE rac3 [grid@rac2 ~]$ |
如上所示,数据库实例相关的资源无法起来。
查看后台日志(alert_dblogic1.log),你会更明确该问题:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 |
[root@rac1 ~]# su - oracle [oracle@rac1 ~]$ cd $ORACLE_BASE [oracle@rac1 oracle]$ ls admin product [oracle@rac1 oracle]$ cd admin/ [oracle@rac1 admin]$ ls +ASM dblogic [oracle@rac1 admin]$ cd dblogic/ [oracle@rac1 dblogic]$ ls adump bdump cdump dpdump hdump pfile scripts udump [oracle@rac1 dblogic]$ cd bdump/ [oracle@rac1 bdump]$ ls alert_dblogic1.log dblogic1_diag_17184.trc dblogic1_diag_5468.trc dblogic1_lgwr_4997.trc dblogic1_lmon_17188.trc dblogic1_lmon_5472.trc dblogic1_smon_17209.trc dblogic1_arc0_12178.trc dblogic1_diag_17576.trc dblogic1_j000_6067.trc dblogic1_lgwr_5485.trc dblogic1_lmon_17580.trc dblogic1_lms0_12036.trc dblogic1_smon_17968.trc dblogic1_arc0_5117.trc dblogic1_diag_17948.trc dblogic1_lgwr_12045.trc dblogic1_lmd0_12034.trc dblogic1_lmon_17952.trc dblogic1_lms0_17192.trc dblogic1_smon_5489.trc dblogic1_arc0_5592.trc dblogic1_diag_18389.trc dblogic1_lgwr_17205.trc dblogic1_lmd0_17190.trc dblogic1_lmon_18393.trc dblogic1_lms0_17584.trc dblogic1_arc1_12180.trc dblogic1_diag_3139.trc dblogic1_lgwr_17592.trc dblogic1_lmd0_17582.trc dblogic1_lmon_3143.trc dblogic1_lms0_17956.trc dblogic1_arc1_5119.trc dblogic1_diag_3481.trc dblogic1_lgwr_17964.trc dblogic1_lmd0_17954.trc dblogic1_lmon_3485.trc dblogic1_lms0_18397.trc dblogic1_arc1_5594.trc dblogic1_diag_3704.trc dblogic1_lgwr_18407.trc dblogic1_lmd0_18395.trc dblogic1_lmon_3708.trc dblogic1_lms0_5476.trc dblogic1_arc2_12183.trc dblogic1_diag_4288.trc dblogic1_lgwr_3718.trc dblogic1_lmd0_5474.trc dblogic1_lmon_4292.trc dblogic1_pmon_5466.trc dblogic1_diag_12028.trc dblogic1_diag_4985.trc dblogic1_lgwr_4300.trc dblogic1_lmon_12032.trc dblogic1_lmon_4989.trc dblogic1_smon_12049.trc [oracle@rac1 bdump]$ [oracle@rac1 bdump]$ tail -f alert_dblogic1.log ARC0: Switch failed Fri Jan 30 09:10:38 CST 2015 Errors in file /u01/app/oracle/admin/dblogic/udump/dblogic1_ora_18622.trc: ORA-00704: bootstrap process failure ORA-39700: database must be opened with UPGRADE option Fri Jan 30 09:10:38 CST 2015 Error 704 happened during db open, shutting down database USER: terminating instance due to error 704 Instance terminated by USER, pid = 18622 ORA-1092 signalled during: ALTER DATABASE OPEN... ============================= ============================= Fri Jan 30 09:18:36 CST 2015 Starting ORACLE instance (normal) LICENSE_MAX_SESSION = 0 LICENSE_SESSIONS_WARNING = 0 Interface type 1 eth1 166.101.0.0 configured from OCR for use as a cluster interconnect Interface type 1 eth0 166.100.0.0 configured from OCR for use as a public interface Picked latch-free SCN scheme 3 LICENSE_MAX_USERS = 0 SYS auditing is disabled ksdpec: called for event 13740 prior to event group initialization Starting up ORACLE RDBMS Version: 10.2.0.5.0. System parameters with non-default values: processes = 150 __shared_pool_size = 142606336 __large_pool_size = 4194304 __java_pool_size = 4194304 __streams_pool_size = 0 spfile = +DATA01/dblogic/spfiledblogic.ora sga_target = 536870912 control_files = +DATA01/dblogic/controlfile/current.260.870284095 db_block_size = 8192 __db_cache_size = 377487360 compatible = 10.2.0.1.0 log_archive_dest_1 = LOCATION=+DATA01/dblogic/ log_archive_format = %t_%s_%r.dbf db_file_multiblock_read_count= 16 cluster_database = TRUE cluster_database_instances= 3 db_create_file_dest = +DATA01 thread = 1 instance_number = 1 undo_management = AUTO undo_tablespace = UNDOTBS1 remote_login_passwordfile= EXCLUSIVE db_domain = dispatchers = (PROTOCOL=TCP) (SERVICE=dblogicXDB) remote_listener = LISTENERS_DBLOGIC job_queue_processes = 10 background_dump_dest = /u01/app/oracle/admin/dblogic/bdump user_dump_dest = /u01/app/oracle/admin/dblogic/udump core_dump_dest = /u01/app/oracle/admin/dblogic/cdump audit_file_dest = /u01/app/oracle/admin/dblogic/adump db_name = dblogic open_cursors = 300 pga_aggregate_target = 195035136 Cluster communication is configured to use the following interface(s) for this instance 166.101.0.13 Fri Jan 30 09:18:36 CST 2015 cluster interconnect IPC version:Oracle UDP/IP (generic) IPC Vendor 1 proto 2 PMON started with pid=2, OS id=21813 DIAG started with pid=3, OS id=21818 PSP0 started with pid=4, OS id=21821 LMON started with pid=5, OS id=21833 LMD0 started with pid=6, OS id=21836 LMS0 started with pid=7, OS id=21839 MMAN started with pid=8, OS id=21845 DBW0 started with pid=9, OS id=21868 LGWR started with pid=10, OS id=21870 CKPT started with pid=11, OS id=21872 SMON started with pid=12, OS id=21874 RECO started with pid=13, OS id=21876 CJQ0 started with pid=14, OS id=21878 MMON started with pid=15, OS id=21880 MMNL started with pid=16, OS id=21882 Fri Jan 30 09:18:37 CST 2015 starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'... starting up 1 shared server(s) ... Fri Jan 30 09:18:37 CST 2015 lmon registered with NM - instance id 1 (internal mem no 0) Fri Jan 30 09:18:37 CST 2015 Reconfiguration started (old inc 0, new inc 2) List of nodes: 0 Global Resource Directory frozen * allocate domain 0, invalid = TRUE Communication channels reestablished Master broadcasted resource hash value bitmaps Non-local Process blocks cleaned out Fri Jan 30 09:18:37 CST 2015 LMS 0: 0 GCS shadows cancelled, 0 closed Set master node info Submitted all remote-enqueue requests Dwn-cvts replayed, VALBLKs dubious All grantable enqueues granted Post SMON to start 1st pass IR Fri Jan 30 09:18:37 CST 2015 LMS 0: 0 GCS shadows traversed, 0 replayed Fri Jan 30 09:18:37 CST 2015 Submitted all GCS remote-cache requests Fix write in gcs resources Reconfiguration complete LCK0 started with pid=19, OS id=21893 Fri Jan 30 09:18:38 CST 2015 ALTER DATABASE MOUNT Fri Jan 30 09:18:38 CST 2015 This instance was first to mount Fri Jan 30 09:18:38 CST 2015 Starting background process ASMB ASMB started with pid=21, OS id=21898 Starting background process RBAL RBAL started with pid=22, OS id=21902 Fri Jan 30 09:18:44 CST 2015 SUCCESS: diskgroup DATA01 was mounted Fri Jan 30 09:18:48 CST 2015 Setting recovery target incarnation to 2 Fri Jan 30 09:18:48 CST 2015 Successful mount of redo thread 1, with mount id 1555569454 Fri Jan 30 09:18:48 CST 2015 Database mounted in Shared Mode (CLUSTER_DATABASE=TRUE) Completed: ALTER DATABASE MOUNT Fri Jan 30 09:18:49 CST 2015 ALTER DATABASE OPEN This instance was first to open Fri Jan 30 09:18:49 CST 2015 Beginning crash recovery of 1 threads Fri Jan 30 09:18:49 CST 2015 Started redo scan Fri Jan 30 09:18:49 CST 2015 Completed redo scan 1 redo blocks read, 0 data blocks need recovery Fri Jan 30 09:18:49 CST 2015 Started redo application at Thread 2: logseq 7, block 2, scn 1076475 Fri Jan 30 09:18:49 CST 2015 Recovery of Online Redo Log: Thread 2 Group 3 Seq 7 Reading mem 0 Mem# 0: +DATA01/dblogic/onlinelog/group_3.269.870284241 Fri Jan 30 09:18:49 CST 2015 Completed redo application Fri Jan 30 09:18:49 CST 2015 Completed crash recovery at Thread 2: logseq 7, block 3, scn 1096477 0 data blocks read, 0 data blocks written, 1 redo blocks read Attempt to switch log for thread 2 failed. reason: 3 Picked broadcast on commit scheme to generate SCNs Fri Jan 30 09:18:49 CST 2015 LGWR: STARTING ARCH PROCESSES ARC0 started with pid=26, OS id=22033 Fri Jan 30 09:18:49 CST 2015 ARC0: Archival started ARC1: Archival started LGWR: STARTING ARCH PROCESSES COMPLETE ARC1 started with pid=27, OS id=22035 Fri Jan 30 09:18:49 CST 2015 Thread 1 opened at log sequence 10 Current log# 1 seq# 10 mem# 0: +DATA01/dblogic/onlinelog/group_1.261.870284095 Successful open of redo thread 1 Fri Jan 30 09:18:49 CST 2015 MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set Fri Jan 30 09:18:49 CST 2015 ARC0: Becoming the 'no FAL' ARCH ARC0: Becoming the 'no SRL' ARCH Fri Jan 30 09:18:49 CST 2015 ARC1: Becoming the heartbeat ARCH Fri Jan 30 09:18:49 CST 2015 SMON: enabling cache recovery Fri Jan 30 09:18:49 CST 2015 Errors in file /u01/app/oracle/admin/dblogic/udump/dblogic1_ora_22025.trc: ORA-00704: bootstrap process failure ORA-39700: database must be opened with UPGRADE option Fri Jan 30 09:18:49 CST 2015 Error 704 happened during db open, shutting down database USER: terminating instance due to error 704 Instance terminated by USER, pid = 22025 ORA-1092 signalled during: ALTER DATABASE OPEN... ============================== ============================== [oracle@rac1 bdump]$ |
Alert日志的报错显示,必须以“Upgrade”方式启动数据库实例。
在这一步,对于RAC和单实例,是有所差别的:
对于单实例的环境,直接在“SQL>”执行“startup upgrade”,即可进入UPGRADE模式。
但是对于RAC的实例环境,在执行“startup upgrade”之前,需要修改数据库的参数“CLUSTER_DATABASE”,否则无法将数据库启动到“Upgrade”阶段。
RAC的操作具体如下:
1 2 3 |
1. startup nomount 2. ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=spfile; 3. SHUTDOWN immediate |
如上操作后,就能在RAC的其中一个节点上通过“startup upgrade”登入数据库实例了。
在UPGRADE阶段,执行实例升级脚本:
Step One:
1. 执行脚本:@?/rdbms/admin/catupgrd.sql
该脚本执行完了之后,你会看到如下所示的画面:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
Oracle Database 10.2 Upgrade Status Utility 01-30-2015 10:07:35 . Component Status Version HH:MM:SS Oracle Database Server VALID 10.2.0.5.0 00:06:47 JServer JAVA Virtual Machine VALID 10.2.0.5.0 00:01:01 Oracle XDK VALID 10.2.0.5.0 00:00:26 Oracle Database Java Packages VALID 10.2.0.5.0 00:00:23 Oracle Text VALID 10.2.0.5.0 00:00:16 Oracle XML Database VALID 10.2.0.5.0 00:01:34 Oracle Real Application Clusters VALID 10.2.0.5.0 00:00:00 Oracle Workspace Manager VALID 10.2.0.5.0 00:00:33 Oracle Data Mining VALID 10.2.0.5.0 00:00:13 OLAP Analytic Workspace VALID 10.2.0.5.0 00:00:13 OLAP Catalog VALID 10.2.0.5.0 00:00:33 Oracle OLAP API VALID 10.2.0.5.0 00:00:30 Oracle interMedia VALID 10.2.0.5.0 00:03:50 Spatial VALID 10.2.0.5.0 00:01:38 Oracle Expression Filter VALID 10.2.0.5.0 00:00:08 Oracle Enterprise Manager VALID 10.2.0.5.0 00:00:55 Oracle Rule Manager VALID 10.2.0.5.0 00:00:06 . Total Upgrade Time: 00:20:33 DOC>####################################################################### DOC>####################################################################### DOC> DOC> The above PL/SQL lists the SERVER components in the upgraded DOC> database, along with their current version and status. DOC> DOC> Please review the status and version columns and look for DOC> any errors in the spool log file. If there are errors in the spool DOC> file, or any components are not VALID or not the current version, DOC> consult the Oracle Database Upgrade Guide for troubleshooting DOC> recommendations. DOC> DOC> Next shutdown immediate, restart for normal operation, and then DOC> run utlrp.sql to recompile any invalid application objects. DOC> DOC>####################################################################### DOC>####################################################################### DOC># SQL> |
2. 关闭数据库实例:shutdown immediate
1 2 3 4 5 |
SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> |
3. 以正常方式启动数据库实例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
[oracle@rac1 ~]$ ps -ef | grep ora_ oracle 27624 16803 0 10:54 pts/1 00:00:00 grep ora_ [oracle@rac1 ~]$ env | grep SID ORACLE_SID=dblogic1 [oracle@rac1 ~]$ [oracle@rac1 ~]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.5.0 - Production on Fri Jan 30 10:54:57 2015 Copyright (c) 1982, 2010, Oracle. All Rights Reserved. Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 536870912 bytes Fixed Size 2097624 bytes Variable Size 201330216 bytes Database Buffers 327155712 bytes Redo Buffers 6287360 bytes Database mounted. Database opened. SQL> select instance_name,status from v$instance; INSTANCE_NAME STATUS ---------------- ------------ dblogic1 OPEN SQL> show parameter cluster_database; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ cluster_database boolean FALSE cluster_database_instances integer 1 SQL> |
4. 执行脚本:@?/rdbms/admin/utlrp.sql
该脚本成功的执行完成后,数据库实例的升级就完成了。
查看数据库实例的组件的版本与可用性状态信息:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
SQL> col comp_name for a45 SQL> set linesize 400 SQL> select comp_name,version,status from sys.dba_registry; COMP_NAME VERSION STATUS --------------------------------------------- ------------------------------ ---------------------- Oracle Enterprise Manager 10.2.0.5.0 VALID Spatial 10.2.0.5.0 VALID Oracle interMedia 10.2.0.5.0 VALID OLAP Catalog 10.2.0.5.0 VALID Oracle XML Database 10.2.0.5.0 VALID Oracle Text 10.2.0.5.0 VALID Oracle Expression Filter 10.2.0.5.0 VALID Oracle Rule Manager 10.2.0.5.0 VALID Oracle Workspace Manager 10.2.0.5.0 VALID Oracle Data Mining 10.2.0.5.0 VALID Oracle Database Catalog Views 10.2.0.5.0 VALID COMP_NAME VERSION STATUS --------------------------------------------- ------------------------------ ---------------------- Oracle Database Packages and Types 10.2.0.5.0 VALID JServer JAVA Virtual Machine 10.2.0.5.0 VALID Oracle XDK 10.2.0.5.0 VALID Oracle Database Java Packages 10.2.0.5.0 VALID OLAP Analytic Workspace 10.2.0.5.0 VALID Oracle OLAP API 10.2.0.5.0 VALID Oracle Real Application Clusters 10.2.0.5.0 VALID 18 rows selected. SQL> |
对于RAC环境,还需要将之前改掉的初始化参数(cluster_database)更正:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
SQL> show parameter cluster_database NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ cluster_database boolean FALSE cluster_database_instances integer 1 SQL> SQL> alter system set cluster_database=true scope=spfile; System altered. SQL> SQL> startup force; ORACLE instance started. Total System Global Area 536870912 bytes Fixed Size 2097624 bytes Variable Size 209718824 bytes Database Buffers 318767104 bytes Redo Buffers 6287360 bytes Database mounted. Database opened. SQL> SQL> show parameter cluster_database NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ cluster_database boolean TRUE cluster_database_instances integer 3 SQL> |
最后,依次在其余各个节点上,通过SQL*Plus启动数据库实例“startup”。
成功启动后,你会看到CRS的资源状态,如下所示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
[grid@rac1 ~]$ crs_stat -t -v Name Type R/RA F/FT Target State Host ---------------------------------------------------------------------- ora.dblogic.db application 0/1 0/1 ONLINE ONLINE rac2 ora....c1.inst application 0/5 0/0 ONLINE ONLINE rac1 ora....c2.inst application 0/5 0/0 ONLINE ONLINE rac2 ora....c3.inst application 0/5 0/0 ONLINE ONLINE rac3 ora....SM1.asm application 0/5 0/0 ONLINE ONLINE rac1 ora....C1.lsnr application 0/5 0/0 ONLINE ONLINE rac1 ora.rac1.gsd application 0/5 0/0 ONLINE ONLINE rac1 ora.rac1.ons application 0/3 0/0 ONLINE ONLINE rac1 ora.rac1.vip application 0/0 0/0 ONLINE ONLINE rac1 ora....SM2.asm application 0/5 0/0 ONLINE ONLINE rac2 ora....C2.lsnr application 0/5 0/0 ONLINE ONLINE rac2 ora.rac2.gsd application 0/5 0/0 ONLINE ONLINE rac2 ora.rac2.ons application 0/3 0/0 ONLINE ONLINE rac2 ora.rac2.vip application 0/0 0/0 ONLINE ONLINE rac2 ora....SM3.asm application 0/5 0/0 ONLINE ONLINE rac3 ora....C3.lsnr application 0/5 0/0 ONLINE ONLINE rac3 ora.rac3.gsd application 0/5 0/0 ONLINE ONLINE rac3 ora.rac3.ons application 0/3 0/0 ONLINE ONLINE rac3 ora.rac3.vip application 0/0 0/0 ONLINE ONLINE rac3 [grid@rac1 ~]$ |
至此,数据库升级完成。
————————————————————————————
Finished:2015年1月30日11:16:20
这次的代码用的是Xmanager的Xshell,所以,代码的呈现上,格式乱掉了,非常的不友好,保持格式方面,SecureCRT做的很好,但是SecureCRT在界面色彩上不如Xshell做的好。这两者难道是不能兼得的吗?
格式乱掉的部分是:SQL*Plus中的数据表输出格式,而不是全部的格式。
SQL*Plus里面的数据表格式输出的格式符是用TAB?或者空格?
是这些方面处理的不好,所以乱掉的吗?
但是,在UltraEdit的写字板中,两个终端模拟工具中拉出的代码的格式都没有乱掉。
看来,不同的厂家实现的字处理功能模块还是有很大的差异的。