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 临时小补丁及注意事项 by Maclean.liu
Slide:了解Oracle critical patch update
Slide:Upgrade 11.2.0.1 GI/CRS to 11.2.0.2 in Linux
Slide:Upgrade 11.2.0.1 RAC DB/RDBMS to 11.2.0.2 in Linux By Maclean
Upgrade 11.2.0.1 DB/RDBMS to 11.2.0.2 in Linux
Upgrade 11.2.0.1 GI/CRS to 11.2.0.2 in Linux
Applying 11G R2 GI PSU 11.2.0.2.3
Critical Patch Update July 2011 Released
了解Oracle Critical Patch Update
了解Oracle数据库的版本号
Pre-check while you are applying one-off patch
Advise on OS patch upgrade with RAC
Oracle Patch Set Update and Critical Patch Update April 2011 Released
11g新特性:Rolling Upgrade With Physical Standby
Patch your 10g Oracle database to PSU 10.2.0.4.5
7月最新发布10.2.0.4.5 Patch Set Update
Oracle Exadata Database Recommended Patch (BP3) for Bug 10387939
Startup Upgrade为我们做了什么?
深入理解Oracle Universal Installer (OUI)
Script to Collect DB Upgrade/Migrate Diagnostic Information (dbupgdiag.sql)
介绍dbms_registry PL/SQL程序包
Applying online patch on 11gr2
January 2011 Patch set Update发布
Advice on upgrading to 11.2.0.2 and converting to RAC
Oracle 9iR2 RAC to Oracle 10gR2 RAC Upgrade
Upgrading to Oracle Database 11g
如何确定所打Patch是否需要停机
Database Upgrade using Transportable Tablespaces
Upgrading to 11g–Why,How and Best Practices
Upgrade from Oracle Database 10g to 11g:What to Expect From the Optimizer
Upgrade to Oracle Database 11g: Single Instance to RAC & ASM
Applying Database PSU 10.2.0.4.6
Oct 12: Patch Set Update Released
Oracle Critical Patch Updates Unwrapped
11.2.0.2补丁集安装体验
Upgrading to RAC 11g R2 What you should know
Oracle 9i/10g/11g数据库升级路线图总览
OPatch工具相关的环境变量
使用OPATCH_DEBUG环境变量调试Opatch工具
opatch java.lang.OutOfMemoryError:Java heap space错误一例

Slide:11g新特性-在线实施补丁online patching

Slide:如何安装Oracle one-off 临时小补丁及注意事项 by Maclean.liu

Applying 11G R2 GI PSU 11.2.0.2.3

GI PSU 11.2.0.2.3在最近的一次CPU July中被释出,该Patch Set Update包含了最新的CPU,且GI和Database PSU的都包含在其中,可以直接从<Patch 12419353: GI PSU 11.2.0.2.3 (INCLUDES DATABASE PSU 11.2.0.2.3)>页面下载到,该PSU所修复的Bug包括:

CPU molecules in GI PSU 11.2.0.2.3:

GI PSU 11.2.0.2.3 contains the following new CPU 11.2.0.2 molecules:

12586486 - DB-11.2.0.2-MOLECULE-004-CPUJUL2011

12586487 - DB-11.2.0.2-MOLECULE-005-CPUJUL2011

12586488 - DB-11.2.0.2-MOLECULE-006-CPUJUL2011

12586489 - DB-11.2.0.2-MOLECULE-007-CPUJUL2011

12586490 - DB-11.2.0.2-MOLECULE-008-CPUJUL2011

12586491 - DB-11.2.0.2-MOLECULE-009-CPUJUL2011

12586492 - DB-11.2.0.2-MOLECULE-010-CPUJUL2011

12586493 - DB-11.2.0.2-MOLECULE-011-CPUJUL2011

12586494 - DB-11.2.0.2-MOLECULE-012-CPUJUL2011

12586495 - DB-11.2.0.2-MOLECULE-013-CPUJUL2011

12586496 - DB-11.2.0.2-MOLECULE-014-CPUJUL2011

5.2 Bugs Fixed in GI PSU 11.2.0.2.3
GI PSU 11.2.0.2.3 contains all fixes previously released in GI PSU 11.2.0.2.2
(see Section 5.3 for a list of these bug fixes) and the following new fixes:

Note:

ACFS is not supported on HP and therefore the bug fixes for ACFS do not apply to the HP GI PSU 3. 

Automatic Storage Management

6892311 - PROVIDE REASON FOR MOUNT FORCE FAILURE WITHOUT REQUIRING PST DUMP

9078442 - ORA-19762 FROM ASMCMD CP COPYING FILE WITH DIFFERENT BYTE ORDER FROM FILESYSTEM

9572787 - LONG WAITS FOR ENQ: AM CONTENTION FOLLOWING CELL CRASH CAUSED CLUSTERWIDE OUTAGE

9953542 - TB_SOL_SP: HIT 7445 [KFKLCLOSE()+20] ERROR WHEN DG OFFLINE

10040921 - HUNG DATABASE WORKLOAD AND BACKGROUNDS AFTER INDUCING WRITE ERRORS ON AVD VOLUME

10155605 - 11201-OCE:DISABLE FC IN ONE NODE, ASM DISKGOUP FORCE DISMOUNTED IN OTHER NODES.

10278372 - TB:X:CONSISTENTLY PRINT "WARNING: ELAPSED TIME DID NOT ADVANCE" IN ASM ALERT LOG

10310299 - TB:X:LOST WRITES DUE TO RESYNC MISSING EXTENTS WHEN DISK GO OFFLINE DURING REBAL

10324294 - DBMV2: DBFS INSTANCE WAITS MUCH FOR "ASM METADATA FILE OPERATION"

10356782 - DBMV2+: ASM INSTANCE CRASH WITH ORA-600 : [KFCGET0_04], [25],

10367188 - TB:X:REBOOT 2 CELL NODES,ASM FOREGROUND PROCESS HIT ORA-600[KFNSMASTERWAIT01]

10621169 - FORCE DISMOUNT IN ASM RECOVERY MAY DROP REDO'S AND CAUSE METADATA CORRUPTIONS

11065646 - ASM MAY PICK INCORRECT PST WHEN MULTIPLE COPIES EXTANT

11664719 - 11203_ASM_X64:ARB0 STUCK IN DG REBALANCE

11695285 - ORA-15081 I/O WRITE ERROR OCCURED AFTER CELL NODE FAILURE TEST

11707302 - FOUND CORRUPTED ASM FILES AFTER CELL NODES FAILURE TESTING.

11707699 - DATABASE CANNOT MOUNT DUE TO ORA-00214: CONTROL FILE INCONSISTENCY

11800170 - ASM IN KSV WAIT AFTER APPLICATION OF 11.2.0.2 GRID PSU

11800854 - BUG TO TRACK LRG 5135625

12620422 - FAILED TO ONLINE DISKS BECAUSE OF A POSSIBLE RACING RESYNC

Buffer Cache Management

11674485 - LOST DISK WRITE INCORRECTLY SIGNALLED IN STANDBY DATABASE WHEN APPLYING REDO

Generic

9748749 - ORA-7445 [KOXSS2GPAGE]

10082277 - EXCESSIVE ALLOCATION IN PCUR OF "KKSCSADDCHILDNO" CAUSES ORA-4031 ERRORS

10126094 - ORA-600 [KGLLOCKOWNERSLISTDELETE] OR [KGLLOCKOWNERSLISTAPPEND-OVF]

10142788 - APPS 11I PL/SQL NCOMP:ORA-04030: OUT OF PROCESS MEMORY

10258337 - UNUSABLE INDEX SEGMENT NOT REMOVED FOR "ALTER TABLE MOVE"

10378005 - EXPDP RAISES ORA-00600[KOLRARFC: INVALID LOB TYPE], EXP IS SUCCESSFUL

10636231 - HIGH VERSION COUNT FOR INSERT STATEMENTS WITH REASON INST_DRTLD_MISMATCH

12431716 - UNEXPECTED CHANGE IN MUTEX WAIT BEHAVIOUR IN 11.2.0.2.2 PSU (HIGHER CPU POSSIBLE

High Availability

9869401 - REDO TRANSPORT COMPRESSION (RTC) MESSAGES APPEARING IN ALERT LOG

10157249 - CATALOG UPGRADE TO 11.2.0.2 FAILS WITH ORA-1

10193846 - RMAN DUPLICATE FAILS WITH ORA-19755 WHEN BCT FILE OF PRIMARY IS NOT ACCESSIBLE

10648873 - SR11.2.0.3TXN_REGRESS - TRC - KCRFW_REDO_WRITE

11664046 - STBH: WRONG SEQUENCE NUMBER GENERATED AFTER DB SWITCHOVER FROM STBY TO PRIMARY

Oracle Portable ClusterWare

8906163 - PE: NETWORK AND VIP RESOURCES FAIL TO START IN SOLARIS CONTAINERS

9593552 - GIPCCONNECT() IS NOT ASYNC 11.2.0.2GIBTWO

9897335 - TB-ASM: UNNECCESSARY OCR OPERATION LOG MESSAGES IN ASM ALERT LOG WITH ASM OCR

9902536 - LNX64-11202-MESSAGE: EXCESSIVE GNS LOGGING IN CRS ALERT FILE WHEN SELFCHECK FAIL

9916145 - LX64: INTERNAL ERROR IN CRSD.LOG, MISROUTED REQUEST, ASSERT IN CLSM2M.CPP

9916435 - ROOTCRS.PL FAILS TO CREATE NODEAPPS DURING ADD NODE OPERATION

9939306 - SERVICES NOT COMING UP AFTER SWITCHOVER USING SRVCTL START DATABASE

10012319 - ORA-600 [KFDVF_CSS], [19], [542] ON STARTUP OF ASM DURING ADDNODE

10019726 - MEMORY LEAK 1.2MB/HR IN CRSD.BIN ON NON-N NODE

10056713 - LNX64-11202-CSS: SPLIT BRAIN WHEN START CRS STACK IN PARALLEL WITH PRIV NIC DOWN

10103954 - INTERMITTENT "CANNOT COMMUNICATE WITH CRSD DAEMON" ERRORS

10104377 - GIPC ENSURE INITIAL MESSAGE IS NOT LOST DURING ESTABLISH PHASE

10115514 - SOL-X64-11202: CLIENT REGISTER IN GLOBAL GROUP MASTER#DISKMON#GROUP#MX NOT EXIT

10190153 - HPI-SG-11202 ORA.CTSSD AND ORA.CRSD GOES OFFLINE AFTER KILL GIPC ON CRS MASTER

10231906 - 11202-OCE-SYMANTEC:DOWN ONE OF PRIVAE LINKS ON NODE 3,OCSSD CRASHED ON NODE 3

10233811 - AFTER PATCHING GRID HOME, UNABLE TO START RESOURCES DBFS AND GOLDEN

10253630 - TB:X:HANG DETECTED,"WAITING FOR INSTANCE RECOVERY OF GROUP 2" FOR 45 MINUTES

10272615 - TB:X:SHUTDOWN SERVICE CELLD ON 2 CELL NODES,CSSD ABORT IN CLSSNMRCFGMGRTHREAD

10280665 - TB:X:STOP CELLD ON 2 CELL NODES,CSSD ABORT IN CLSSNMVVERIFYPENDINGCONFIGVFS

10299006 - AFTER 11.2.0.2 UPGRADE, ORAAGENT.BIN CONNECTS TO DATABASE WITH TOO MANY SESSIONS

10322157 - 11202_GIBONE: PERM OF FILES UNDER $CH/CRS/SBS CHANGED AFTER PATCHED

10324594 - STATIC ENDPOINT IN THE LEASE BLOCKS OVERWRITTEN DURING UPGRADE

10331452 - SOL-11202-UD: 10205->11202 NETWORK RES USR_ORA_IF VALUE MISSED AFTER UPGRADE

10357258 - SOL-11202-UD: 10205->11202 [IPMP] HUNDREDS OF DUP IP AFTER INTRA-NODE FAILOVER

10361177 - LNX64-11203-GNS: MANY GNS SELF CHECK FAILURE ALERT MESSAGES

10385838 - TB:X:CSS CORE DUMP AT GIPCHAINTERNALSEND

10397652 - AIX-11202-GIPC:DISABLE SWITCH PORT FOR ONE PRIVATE NIC,HAIP DID NOT FAILOVER

10398810 - DOUBLE FREE IN SETUPWORK DUE TO TIMING

10419987 - PEER LISTENER IS ACCESSING A GROCK THAT IS ALREADY DELETED

10621175 - TB_RAC_X64:X: CLSSSCEXIT: CSSD SIGNAL 11 IN THREAD GMDEATHCHECK

10622973 - LOSS OF LEGACY FEATURES IN 11.2

10631693 - TB:X:CLSSNMHANDLEVFDISCOVERACK: NO PENDINGCONFIGURATION TO COMPLETE. CSS ABORT

10637483 - TB:X:REBOOT ONE CELL NODE, CSS ABORT AT CLSSNMVDDISCTHREAD

10637741 - HARD STOP DEPENDENCY CAN CAUSE WRONG FAIL-OVER ORDER

10638381 - 11202-OCE-SYMANTEC: HAIP FAIL TO START WHEN PRIVATE IP IS PLUMBED ON VIRTUAL NIC

11069614 - RDBMS INSTANCE CRASH DUE TO SLOW REAP OF GIPC MESSAGES ON CMT SYSTEMS

11071429 - PORT 11GR2 CRS TO EL6

11654726 - SCAN LISTENER STARTUP FAILS IF /VAR/OPT/ORACLE/LISTENER.ORA EXISTS.

11663339 - DBMV2:SHARED PROCESS SPINNING CAUSES DELAY IN PRIMARY MEMBER CLEANUP

11682409 - RE-USING OCI MEMORY ACROSS CONNECTIONS CAUSES A MEMORY CORRUPTION

11698552 - SRVCTL REPORT WRONG STATUS FOR DATABASE INSTANCE.

11741224 - INCORRECT ACTIVE VERSION CHECK WHILE ENABLING THE BATCH FUNCTIONALITY

11744313 - LNX64-11203-RACG: UNEXPECTED CRSD RESTART DURING PARALLEL STACK START

11775080 - ORA-29701/29702 OCCURS WHEN WORKLOAD TEST RUNNING FOR A LONG TIME AND IS RESTART

11781515 - EVMD/CRSD FAIL TO START AFTER REBOOT, EVEN AFTER CRSCTL START CLUSTERWARE

11807012 - LNX64-11203-RACG: DB SERVICE RUNS INTO "UNKNOWN" STATE AFTER STACK START

11812615 - LNX64-11203-DIT: INCONSISTENT PERMISSION BEFORE/AFTER ROOTCRS.PL -UNLOCK/-PATCH

11828633 - DATABASE SERVICE DID NOT FAIL OVER AND COULD NOT BE STARTED AFTER NODE FAILURE

11840629 - KERNEL CRASH DUMP AND REBOOT FAIL INSIDE SOLARIS CONTAINER

11866171 - ENABLE CRASHDUMP WHEN REBOOTING THE MACHINE (LINUX)

11877079 - HUNDREDS OF ORAAGENT.BIN@HOSTNAME SESSSIONS IN 11.2.0.2 DATABASE

11899801 - 11202_GIBTWO_HPI:AFTER KILL ASM PMON, POLICY AND ADMIN DB RUNNING ON SAME SERVER

11904778 - LNX64-OEL6-11202: CRS STACK CAN'T BE START AFTER RESTART

11933693 - 11.1.0.7 DATABASE INSTANCE TERMINATED BY 11.2.0.2 CRS AGENT

11936945 - CVU NOT RECOGNIZING THE OEL6 ON LINUX

12332919 - ORAAGENT KEEPS EXITING

12340501 - SRVCTL SHOWS INSTANCE AS DOWN AFTER RELOCATION

12340700 - EVMD CONF FILES CAN HAVE WRONG PERMISSIONS AFTER INSTALL

12349848 - LNX64-11203: VIPS FELL OFFLINE WHEN BRING DOWN 3/4 PUBLIC NICS ONE BY ONE

12378938 - THE LISTENER STOPS WHEN THE ORA.NET1.NETWORK'S STATE IS CHANGED TO UNKNOWN

12380213 - 11203_110415:ERROR EXCEPTION WHILE INSTALLATION 11202 DB WITH DATAFILES ON 11203

12399977 - TYPO IN SUB PERFORM_START_SERVICE RETURNS ZERO (SUCCESS) EVEN WHEN FAILED

12677816 - SCAN LISTENER FAILD TO STARTUP IF /VAR/OPT/ORACLE/LISTENER.ORA EXIST

Oracle Space Management

8223165 - ORA-00600 [KTSXTFFS2] AFTER DATABASE STARTUP

9443361 - WRONG RESULTS (ROWDATA) FOR SELECT IN SERIAL FROM COMPRESSED TABLE

10061015 - LNX64-11202:HIT MANY ORA-600 ARGUMENTS: [KTFBHGET:CLSVIOL_KCBGCUR_9] DURING DBCA

10132870 - INDEX BLOCK CORRUPTION - ORA-600 [KCBZPBUF_2], [6401] ON RECOVER

10324526 - ORA-600 [KDDUMMY_BLKCHK] [6106] WHEN UPDATE SUBPARTITION OF TABLE IN TTS

Oracle Transaction Management

10053725 - TS11.2.0.3V3 - TRC - K2GUPDATEGLOBALPREPARECOUNT

10233732 - ORA-600 [K2GUGPC: PTCNT >= TCNT] OCCURS IN A DATABASE LINK TRANSACTION

Oracle Universal Storage Management

9867867 - SUSE10-LNX64-11202:NODE REBOOT HANG WHILE ORACLE_HOME LOCATED ON ACFS

9936659 - LNX64-11202-CRS: ORACLE HOME PUT ON ACFS, DB INST FAILS TO RESTART AFTER CRASH

9942881 - TIGHTEN UP KILL SEMANTICS FOR 'CLEAN' ACTION.

10113899 - AIX KSPRINTTOBUFFER TIMESTAMPS NEEDS TIME SINCE BOOT AND WALL_CLOCK TIMES

10266447 - ROOTUPGRADE.SH FAILS: 'FATAL: MODULE ORACLEOKS NOT FOUND' , ACFS-9121, ACFS-9310

11789566 - ACFS RECOVERY PHASE 2

11804097 - GBM LOCK TAKEN WHEN DETERMINING WHETHER THE FILE SYSTEM IS MOUNTED AND ONLINE

11846686 - ACFSROOT FAILS ON ORACLELINUX-RELEASE-5-6.0.1 RUNNUNG A 2.6.18 KERNEL

12318560 - ALLOW IOS TO RESTART WHEN WRITE ERROR MESG RETURNS SUCCESS

12326246 - ASM TO RETURN DIFF VALUES WHEN OFFLINE MESG UNSUCCESSFUL

12378675 - AIX-11203-HA-ACFS: HIT INVALID ASM BLOCK HEADER WHEN CONFIGURE DG USING AIX LVS

12398567 - ACFS FILE SYSTEM NOT ACCESSIBLE

12545060 - CHOWN OR RM CMD TO LOST+FOUND DIR IN ACFS FAILS ON LINUX

Oracle Utilities

9735282 - GETTING ORA-31693, ORA-2354, ORA-1426 WHEN IMPORTING PARTITIONED TABLE

Oracle Virtual Operating System Services

10317487 - RMAN CONTROLFILE BACKUP FAILS WITH ODM ERROR ORA-17500 AND ORA-245

11651810 - STBH: HIGH HARD PARSING DUE TO FILEOPENBLOCK EATING UP SHARED POOL MEMORY

XML Database

10368698 - PERF ISSUE WITH UPDATE RESOURCE_VIEW DURING AND AFTER UPGRADING TO 11.2.0.2

5.3 Bugs Fixed in GI PSU 11.2.0.2.2
This section describes bugs fixed in the GI PSU 11.2.0.2.2 release.

ACFS

10015603 - KERNEL PANIC IN OKS DRIVER WHEN SHUTDOWING CRS STACK

10178670 - ACFS VOLUMES ARE NOT MOUNTING ONCE RESTARTED THE SERVER

10019796 - FAIL TO GET ENCRYPTION STATUS OF FILES UNTIL DOING ENCR OP FIRST

10029794 - THE DIR CAN'T READ EVEN IF THE DIR IS NOT IN ANY REALM

10056808 - MOUNT ACFS FS FAILED WHEN FS IS FULL

10061534 - DB INSTANCE TERMINATED DUE TO ORA-445 WHEN START INSTANCE ON ALL NODES

10069698 - THE EXISTING FILE COULD CORRUPT IF INPUT INCORRECT PKCS PASSOWRD

10070563 - MULTIPLE WRITES TO THE SAME BLOCK WITH REPLICATION ON CAN GO OUT OF ORDER

10087118 - UNMOUNT PANICS IF ANOTHER USER IS SITTING IN A SNAPSHOT ROOT DIRECTORY

10216878 - REPLI-RELATED RESOURCE FAILED TO FAILOVER WHEN DG DISMOUNTED

10228079 - MOUTING DG ORA-15196 [KFC.C:25316] [ENDIAN_KFBH] AFTER NODE REBOOT

10241696 - FAILED TO MOUNT ACFS FS TO DIRECTORY CREATED ON ANOTHER ACFS FS

10252497 - ADVM/ACFS FAILS TO INSTALL ON SLES10

9861790 - LX64: ADVM DRIVERS HANGING OS DURING ACFS START ATTEMPTS

9906432 - KERNEL PANIC WHILE DISMOUNT ACFS DG FORCE

9975343 - FAIL TO PREPARE SECURITY IF SET ENCRYPTION FIRST ON THE OTHER NODE

10283549 - FIX AIX PANIC AND REMOVE -DAIX_PERF

10283596 - ACFS:KERNEL PANIC DURING USM LABEL PATCHING - ON AIX

10326548 - WRITE-PROTETED ACFS FILES SHOULD NOT BE DELETED BY NON-ROOT USER

ADVM

10045316 - RAC DB INSTALL ON SHARED ACFS HANGS AT LINKING PHASE

10283167 - ASM INSTANCE CANNOT STARTUP DUE TO EXISTENCE OF VMBX PROCESS

10268642 - NODE PANIC FOR BAD TRAP IN "ORACLEADVM" FOR NULL POINTER

10150020 - LINUX HANGS IN ADVM MIRROR RECOVERY, AFTER ASM EVICTIONS

Automatic Storage Management

9788588 - STALENESS REGISTRY MAY GET CLEARED PREMATURELY

10022980 - DISK NOT EXPELLED WHEN COMPACT DISABLED

10040531 - ORA-600 [KFRHTADD01] TRYING TO MOUNT RECO DISKGROUP

10209232 - STBH: DB STUCK WITH A STALE EXTENT MAP AND RESULTS IN DATA CORRUPTIONS

10073683 - ORA-600 [KFCBINITSLOT40] ON ASM ON DBMV2 WITH BP5

9715581 - DBMV2: EXADATA AUTO MANAGEMENT FAILED TO BRING UP DISKS ONLINE

10019218 - ASM DROPPED DISKS BEFORE DISK_REPAIR_TIME EXPIRED

10084145 - DBMV2: ORA-600 [1427] MOUNTING DISKGROUP AFTER ALL CELLS RESTARTED

11067567 - KEPT GENERATING "ELAPSED TIME DID NOT ADVANCE " IN ASM ALERT LOG

10356513 - DISK OFFLINED WITH NON ZERO TIMEOUT EXPELLED IMMEDIATELY

10332589 - TB:X:MOUNT NORMAL REDUNDANCY DG, FAILED WITH ORA-00600:[KFCINITRQ20]

10329146 - MARKING DIFFERENT SR BITS FROM MULTIPLE DBWS CAN CAUSE A LOST WRITE

10299224 - TB:X:PIVOTING AN EXTENT ON AN OFFLINE DISK CAN CAUSE STALE XMAPS IN RDBMS

10245086 - ORA-01210 DURING CREATE TABLESPACE

10230571 - TB:X:REBOOT ONE CELL NODE, RBAL HIT ORA-600[17183]

10228151 - ASM DISKGROUPS NOT GETTING MOUNTED

10227288 - DG FORCIBLY DISMOUNTED AFTER ONE FG LOST DUE TO "COULD NOT READ PST FOR GRP 4"

10222719 - ASM INSTANCE HANGS WITH RBAL PROCESS WAITS ON "NO FREE BUFFER"

10102506 - DISK RESYNC TAKES A LONG TIME EVEN WITH NO STALE EXTENTS

10094201 - DISK OFFLINE IS SLOW

10190642 - ORA-00600: [1433] FOLLOWED BY INSTANCE CRASH WITH ASM ON EXADATA

11067567 - 11202_gibtwo: kept generating "elapsed time did not advance " in asm alert log

Buffer Cache Management

9651350 - ora-00308 and ora-27037 when ora-8103 without event 10736 been set

10110863 - trace files is still generated after applying patch:9651350

10205230 - tb_x64: hit ora-00600: [kclwcrs_6]

10332111 - sql running long in active standby

CRS Group

CLEANUP

9949676 - GNSD.BIN CORE DUMP AFTER KILL ASM PMON ON ALL NODES AT SAME TIME

9975837 - GNS INCORRECTLY PROCESSES IPV6 LOOKUP REQUESTS

10007185 - GNS DUMPS CORE IN CLSKGOPANIC AT CLSKPDVA 717

10028343 - GNS CAN NOT BE RELOCATED AFTER PUBLIC RESTARTED

CRS

9876201 - OHASD AGENT CORE DUMP AT EONSHTTP.C:162

10011084 - 11202 STEP3 MODIFY BINARY AFTER INSTALLATION CANNOT EXCUTE SUCCESSFULLY

10028235 - 'CLSNVIPAGENT.CPP', LINE 1522: ERROR: FORMAL ARGUMENT TYPE OF ...

10045436 - 'ORA.LISTENER.LSNR' FAILED TO BE FENCED OFF DURING CRSD CLEANUP

10062301 - VALUE FOR FIELD 'CLUSTER_NAME' IS MISSING IN CRSCONFIG_PARAMS

10110969 - PORTABILITY ISSUES IN FUNCTION TOLOWER_HOST

10175855 - FAILED TO UGPRADE 11.2.0.1 + ARU 12900951 -> 11.2.0.2

9891341 - CRSD CORE DUMP IN PROATH_MASTER_EXIT_HELPER AT PROATH.C:1834

11655840 - RAC1 DB' STATE_DETAILS IS WRONG AFTER KILL GIPCD

10634513 - OHASD DUMPS CORE WHEN PLUG IN UNPLUGGED PRIVATE NETWORK NIC

10236074 - ASM INSTANCES CRASH SEVERAL TIMES DURING PARALLEL CRS STARTUP

10052529 - DB INST OFFLINE AFTER STOP/START CRS STACK ON ALL NODES IN PARALLEL

10065216 - VIRTUAL MEMORY USAGE OF ORAROOTAGENT IS BIG(1321MB) AND NOT DECREASING

10168006 - ORAAGENT PROCESS MEMORY GROWTH PERIODICALLY.

CSS

9907089 - CSS CORE DUMP DURING EXADATA ROLLING UPGRADE

9926027 - NODE REBOOTED AFTER CRS CLEAN-UP SUCCEEDED 11202 GI + 10205 RAC DB

10014392 - CRSCTL DELETE NODE FAILS WITH CRS-4662 & CRS-4000

10015460 - REMOVAL OF WRONG INCARNATION OF A NODE DUE TO MANUAL SHUTDOWN STATE

10040109 - PMON KILL LEAD TO OS REBOOT

10048027 - ASM UPGRADE FAILS

10052721 - 11201- 11202 NON-ROLLING,CRSCTL.BIN CORE AT CLSSNSQANUM, SIGNAL 11

10083789 - A NODE DOESNT INITIATE A RECONFIG DUE TO INCORRECT RECONFIG STATE

9944978 - FALSE CSS EVICTION AFTER PRIVATE NIC RESUME

9978195 - STOP DB ACTION TIMED OUT AND AGENT EXITS DUE TO FAILURE TO STOP EVENT BRIDGE

10248739 - AFTER APPLY THE PATCH, THE NODE EVICTED DURING START CRS STACK

CVU

9679401 - OUI PREREQ CHECKS FAILED FOR WRONG OWNSHIP OF RESOLV.CONF_`HOST`

9959110 - GNS INTEGRITY PREREQUISITE FAILED WITH PRVF-5213

9979706 - COMP OCR CHECK FAILS TO VERIFY SIZE OF OCR LOCATION

10029900 - CVU PRE NODEADD CHECK VD ERROR

10033106 - ADDNODE.SH SHOULD INDICATE WHAT HAPPENS WHEN ERROR OCCURRING

10075643 - UNABLE TO CONTINUE CONFIG.SH FOR CRS UPGRAD

10083009 - GIPCD FAILS TO RETRIEVE INFORMATION FROM PEERS DUE TO INVALID ENDPOINT

GIPC

9812956 - STATUS OF CRSD AND EVMD GOES INTERMEDIATE FOR EVER WHEN KILL GIPC

9915329 - ORA-600 [603] IN DB AND ORA-603 IN ASM AFTER DOWN INTER-CONNECT NIC

9944948 - START RESOUCE HAIP FAILED WHEN RUN ROOT.SH

9971646 - ORAROOTAGENT CORE DUMPED AT NETWORKHAMAINTHREAD::READROUTEDATA

9974223 - GRID INFRASTRUCTURE NEEDS MULTICAST COMMUNICATION ON 230.0.1.0 ADDRESSES WORKING

10053985 - ERROR IN NETWORK ADDRESS ON SOLARIS 11

10057680 - OHASD ORAROOTAGENT.BIN SPIN CPU AFTER SIMULATE ASM DISK ERROR

10078086 - ROOTUPGRADE.SH FAIL FOR 'CRSCTL STARTUPGRADE' FAIL,10205-> 11202

10260251 - GRID INSTALLATION FAILS TO START HAIP DUE TO CHANGE IN NETWORK INTERFACE NAME

10111010 - CRSD HANGS FOR THE HANAME OF PEER CRSD

11782423 - OHASD.BIN TAKES CPU ABOUT 95% ~ 100%

11077756 - STARTUP FAILURE OF HAIP CAUSES INSTALLATION FAILURE

10375649 - DISABLE HAIP ON PRIMECLUSTER

10284828 - INTERFACE UPDATES GET LOST DURING BOUNCE OF CRSD PROCESS

10284693 - AIX EPIPE FAILURE

10233159 - NEED 20 MINS TO STARTUP CRS WHEN 1/2 GIPC NICS DOWN

10128191 - LRGSRG9 AND LRGSRGE FAILURE

GNS

9864003 - NODE REBOOT DUE TO 'ORA.GNS' FAILED TO BE FENCED OFF DURING CRSD

GPNP

9336825 - GPNPD FLUSH PROFILE PUSH ERROR MESSAGES IN CRS ALERT LOG

10314123 - GPNPD MAY NOT UPDATE PROFILE TO LATEST ON START

10105195 - PROC-32 ACCESSING OCR; CRS DOES NOT COME UP ON NODE

10205290 - DBCA FAILED WITH ERROR ORA-00132

10376847 - [ORA.CRF] [START] ERROR = ERROR 9 ENCOUNTERED WHEN CONNECTING TO MOND

IPD-OS

9812970 - IPD DO NOT MARK TYPE OF DISKS USED FOR VOTING DISK CORRECTLY

10057296 - IPD SPLIT BRAIN AFTER CHANGE BDB LOCATION

10069541 - IPD SPLIT BRAIN AFTER STOPPING ORA.CRF ON MASTER NODE

10071992 - UNREASONABLE VALUES FOR DISK STATISTICS

10072474 - A NODE IS NOT MONITORED AFTER STOP AND START THE ORA.CRF ON IT

10073075 - INVALID DATA RECEIVED FROM THE CLUSTER LOGGER SERVI

10107380 - IPD NOT STARTED DUE TO SCRFOSM_GET_IDS FAILED

OCR

9978765 - ROOTUPGRADE.SH HANG AND CRSD CRASHED ON OTHER NODES,10205-> 11202

10016083 - 'OCRCONFIG -ADD' NEEDS HELPFUL MESSAGE FOR ERROR ORA-15221

OPSM

9918485 - EMCONFIG FAIL WITH NULLPOINTEREXCEPTION AT RACTRANSFERCORE.JAVA

10018215 - RACONE DOES NOT SHUTDOWN INSTANCE DURING RELOCATION

10042143 - ORECORE11 LWSFDSEV CAUSED SEGV IN SRVM NATIVE METHODS

OTHERS

9963327 - CHMOD.PL GETS CALLED INSTEAD OF CHMOD.EXE

10008467 - FAILS DUE TO WRONG VERSION OF PERL USED:

10015210 - OCTSSD LEAK MEMORY 1.7M HR ON PE MASTER DURING 23 HOURS RUNNI

10027079 - CRS_SHUTDOWN_SYNCH EVENT NOT SENT IN SIHA

10028637 - SCLS.C COMPILE ERRORS ON AIX UNDECLARED IDENTIFIERS

10029119 - 11201-11202 CRS UPGRADE OUI ASKS TO RUN ROOTUPGRADE.SH

10036834 - PATCHES NOT FOUND ERROR WHILE UPGRADING GRID FROM 11201 TO 11202

10038791 - HAS SRG SRV GETTING MANY DIFS FOR AIX ON LABEL 100810 AND LATER

10040647 - LNX64-112022-UD; AQ AND RLB DO NOT WORK AFTER UPGRADING FROM 11201

10044622 - EVMD FAILED TO START AFTER KILL OHASD.BIN

10048487 - DIAGCOLLECTION CANNOT RETRIEVE IPD REPORTS

10073372 - DEINSTALL FAILED TO DELETE CRS_HOME ON REMOTE NODE IF OCR VD ON NFS

10089120 - WRONG PROMPT MESSAGE BY DEINSTALL COMMAND WHILE DELETING CRS HOME

10124517 - CRS STACK DOES NOT START AUTOMATICALLY AFTER NODE REBOOT

10157622 - 11.2.0.2 GI BUNDLE 1 HAS-CRS TRACKING BUG

RACG

10036193 - STANDBY NIC DOESN'T WORK IF DOWN PUBLIC NIC

10146768 - NETWORK RESOURCE FAILS TO START WITH IPMP ON SOLARIS 11

USM Miscellaneous

10146744 - ORA.REGISTRY.ACFS BECOME UNKOWN AND ACFS FS DISMOUNT

10283058 - RESOURCES ACFS NEEDS AN OPTION TO DISALLOW THE MOUNTING OF FILE SYSTEMS ON RESOURCE START

10193581 - ROOT.SH CRS-2674: START OF 'ORA.REGISTRY.ACFS' FAIL

10244210 - FAIL TO INSTALL ADVM/ACFS ON SOLARIS CONTAINER

10311856 - APPLY ASSERTION FAILURE:PBOARDENTRY>USRGBOARDRECENTRY_RECORD

Generic

9591812 - incorrect wait events in 11.2 ("cursor: mutex s" instead of "cursor: mutex x")

9905049 - ebr: ora-00600: internal error code, arguments: [kqlhdlod-bad-base-objn]

10052141 - exadata database crash with ora-7445 [_wordcopy_bwd_dest_aligned] and ora-600 [2

10052956 - ora-7445 [kjtdq()+176]

10157402 - lob segment has null data after long to lob conversion in parallel mode

10187168 - obsolete parent cursors if version count exceeds a threshold

10217802 - alter user rename raises ora-4030

10229719 - qrmp:12.2:ora-07445 while performing complete database import on solaris sparc

10264680 - incorrect version_number reported after patch for 10187168 applied

10411618 - add different wait schemes for mutex waits

11069199 - ora-600 [kksobsoletecursor:invalid stub] quering pq when pq is disabled

11818335 - additional changes when wait schemes for mutex waits is disabled

High Availability

10018789 - dbmv2-bigbh:spin in kgllock caused db hung and high library cache lock

10129643 - appsst gsi11g m9000: ksim generic wait event

10170431 - ctwr consuming lots of cpu cycles

Oracle Space Management

6523037 - et11.1dl: ora-600 [kddummy_blkchk] [6110] on update

9724970 - pdml fails with ora-600 [4511]. ora-600 [kdblkcheckerror] by block check

10218814 - dbmv2: ora-00600:[3020] data block corruption on standby

10219576 - ora-600 [ktsl_allocate_disp-fragment]

Oracle Transaction Management

10358019 - invalid results from flashback_transaction_query after applying patch:10322043

Oracle Utilities

10373381 - ora-600 [kkpo_rcinfo_defstg:objnotfound] after rerunning catupgrd.sql

Oracle Virtual Operating System Services

10127360 - dg4msql size increasing to 1.5gb after procedure executed 250 times

Server Manageability

11699057 - ora-00001: unique constraint (sys.wri$_sqlset_plans_tocap_pk) violated

针对Grid Infrastructure的大致升级步骤如下,具体见该PSU的readme文档,见(6 Appendix A: Manual Steps for Apply/Rollback Patch)
部分:

1.升级Opatch,Patch 12419353 requires OPatch version 11.2.0.1.4.
可以从这里下载到11.2上最新的opatch工具,解压后直接覆盖原Opatch目录即可

2.关闭相关的RAC数据库  

<ORACLE_HOME>/bin/srvctl stop database –d <db-unique-name> 

3.Umount所有的ACFS文件系统

4. 切换到oracle用户,停止所有节点上的相关资源
su  - oracle
$<ORACLE_HOME>/bin/srvctl stop home -o <ORACLE_HOME> -s <status file location> -n <node name>

5.在所有节点上运行rootcrs.pl脚本停止GI相关资源
su - root
<GI_HOME>/crs/install/rootcrs.pl -unlock
Using configuration parameter file: /g01/11.2.0/grid/crs/install/crsconfig_params
CRS-2791: Starting shutdown of Oracle High Availability Services-managed resources on 'vrh1'
CRS-2673: Attempting to stop 'ora.crsd' on 'vrh1'
CRS-2790: Starting shutdown of Cluster Ready Services-managed resources on 'vrh1'
CRS-2673: Attempting to stop 'ora.asm' on 'vrh1'
CRS-2677: Stop of 'ora.asm' on 'vrh1' succeeded
CRS-2792: Shutdown of Cluster Ready Services-managed resources on 'vrh1' has completed
CRS-2677: Stop of 'ora.crsd' on 'vrh1' succeeded
CRS-2673: Attempting to stop 'ora.drivers.acfs' on 'vrh1'
CRS-2673: Attempting to stop 'ora.mdnsd' on 'vrh1'
CRS-2673: Attempting to stop 'ora.ctssd' on 'vrh1'
CRS-2673: Attempting to stop 'ora.evmd' on 'vrh1'
CRS-2673: Attempting to stop 'ora.asm' on 'vrh1'
CRS-2677: Stop of 'ora.asm' on 'vrh1' succeeded
CRS-2673: Attempting to stop 'ora.cluster_interconnect.haip' on 'vrh1'
CRS-2677: Stop of 'ora.evmd' on 'vrh1' succeeded
CRS-2677: Stop of 'ora.cluster_interconnect.haip' on 'vrh1' succeeded
CRS-2677: Stop of 'ora.mdnsd' on 'vrh1' succeeded
CRS-2677: Stop of 'ora.ctssd' on 'vrh1' succeeded
CRS-2673: Attempting to stop 'ora.cssd' on 'vrh1'
CRS-2677: Stop of 'ora.cssd' on 'vrh1' succeeded
CRS-2673: Attempting to stop 'ora.gipcd' on 'vrh1'
CRS-2673: Attempting to stop 'ora.diskmon' on 'vrh1'
CRS-2677: Stop of 'ora.diskmon' on 'vrh1' succeeded
CRS-2677: Stop of 'ora.gipcd' on 'vrh1' succeeded
CRS-2673: Attempting to stop 'ora.gpnpd' on 'vrh1'
CRS-2677: Stop of 'ora.drivers.acfs' on 'vrh1' succeeded
CRS-2677: Stop of 'ora.gpnpd' on 'vrh1' succeeded
CRS-2793: Shutdown of Oracle High Availability Services-managed resources on 'vrh1' has completed
CRS-4133: Oracle High Availability Services has been stopped.
Successfully unlock /g01/11.2.0/grid

6.解压下载的PSU补丁包
unzip p12419353_112020_Linux-x86-64.zip 

7.
在所有节点上实施对GI的Patch

 <GI_HOME>/OPatch/opatch napply -oh <GI_HOME> -local /tmp/12419353

Invoking OPatch 11.2.0.1.6

Oracle Interim Patch Installer version 11.2.0.1.6
Copyright (c) 2011, Oracle Corporation.  All rights reserved.

UTIL session

Oracle Home       : /g01/11.2.0/grid
Central Inventory : /g01/oraInventory
   from           : /etc/oraInst.loc
OPatch version    : 11.2.0.1.6
OUI version       : 11.2.0.2.0
Log file location : /g01/11.2.0/grid/cfgtoollogs/opatch/opatch2011-08-12_00-07-39AM.log

Verifying environment and performing prerequisite checks...
OPatch continues with these patches:   12419353  

Do you want to proceed? [y|n]

Backing up files...
Applying interim patch '12419353' to OH '/g01/11.2.0/grid'

Patching component oracle.crs, 11.2.0.2.0...
Copying file to "/g01/11.2.0/grid/crs/install/crsconfig_lib.pm"
Copying file to "/g01/11.2.0/grid/crs/install/crspatch.pm"
Copying file to "/g01/11.2.0/grid/crs/install/s_crsconfig_lib.pm"

Patching component oracle.usm, 11.2.0.2.0...
Patches 12419353 successfully applied.
Log file location: /g01/11.2.0/grid/cfgtoollogs/opatch/opatch2011-08-12_00-07-39AM.log

OPatch succeeded.

<GI_HOME>/OPatch/opatch napply -oh <GI_HOME> -local /tmp/12419331

Invoking OPatch 11.2.0.1.6

Oracle Interim Patch Installer version 11.2.0.1.6
Copyright (c) 2011, Oracle Corporation.  All rights reserved.

UTIL session

Oracle Home       : /g01/11.2.0/grid
Central Inventory : /g01/oraInventory
   from           : /etc/oraInst.loc
OPatch version    : 11.2.0.1.6
OUI version       : 11.2.0.2.0
Log file location : /g01/11.2.0/grid/cfgtoollogs/opatch/opatch2011-08-12_00-10-46AM.log

Verifying environment and performing prerequisite checks...
OPatch continues with these patches:   12419331  

Backing up files...
Applying interim patch '12419331' to OH '/g01/11.2.0/grid'
ApplySession: Optional component(s) [ oracle.sysman.console.db, 11.2.0.2.0 ] ,
[ oracle.sysman.oms.core, 10.2.0.4.3 ] , [ oracle.rdbms.dv, 11.2.0.2.0 ] ,
[ oracle.sysman.plugin.db.main.repository, 11.2.0.2.0 ]  not present in the Oracle Home or a higher version is found.

Patching component oracle.rdbms.rsf, 11.2.0.2.0...

Patching component oracle.rdbms, 11.2.0.2.0...
Copying file to "/g01/11.2.0/grid/psu/11.2.0.2.3/catpsu.sql"
Copying file to "/g01/11.2.0/grid/psu/11.2.0.2.3/catpsu_rollback.sql"
Copying file to "/g01/11.2.0/grid/cpu/scripts/patch_8837510.sql"
Copying file to "/g01/11.2.0/grid/cpu/scripts/emdb_recomp_invalids.sql"

Patching component oracle.ldap.rsf, 11.2.0.2.0...

Patching component oracle.rdbms.dbscripts, 11.2.0.2.0...

Patching component oracle.rdbms.rman, 11.2.0.2.0...
Patches 12419331 successfully applied.
Log file location: /g01/11.2.0/grid/cfgtoollogs/opatch/opatch2011-08-12_00-10-46AM.log

OPatch succeeded.

后续对DB HOME升级的步骤可以参照以下文档摘录 

8.Run the pre script for DB component of the patch.

As the database home owner execute:

$<UNZIPPED_PATCH_LOCATION>/12419353/custom/server/12419353/custom/scripts/prepatch.sh -dbhome <ORACLE_HOME>

9.Apply the DB patch.

As the database home owner execute:

$<ORACLE_HOME>/OPatch/opatch napply -oh <ORACLE_HOME> -local <UNZIPPED_PATCH_LOCATION>/12419353/custom/server/12419353
$<ORACLE_HOME>/OPatch/opatch napply -oh <ORACLE_HOME> -local <UNZIPPED_PATCH_LOCATION>/12419331

10.Run the post script for DB component of the patch.

As the database home owner execute:

$<UNZIPPED_PATCH_LOCATION>/12419353/custom/server/12419353/custom/scripts/postpatch.sh -dbhome <ORACLE_HOME>

11.Run the post script.

As the root user execute:

#<GI_HOME>/rdbms/install/rootadd_rdbms.sh
If this is a GI Home, as the root user execute:

#<GI_HOME>/crs/install/rootcrs.pl -patch
If this is an Oracle Restart Home, as the root user execute:

#<GI_HOME>/crs/install/roothas.pl -patch

12.Start the CRS managed resources that were earlier running from DB homes.

If this is a GI Home environment, as the database home owner execute:

$<ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> -n <node name>
If this is an Oracle Restart Home environment, as the database home owner execute:

$<ORACLE_HOME>/bin/srvctl start home -o <ORACLE_HOME> -s <status file location> 

OPatch工具相关的环境变量

  • ORACLE_HOME – This is the Oracle home location.
  • OPATCH_DEBUG – This is the log level that specifies the amount of logging OPatch should perform.
  • OPATCH_PLATFORM_ID – This is the unique platform ID.
  • PATH – This is the path information.
  • OPatch.SKIP_VERIFY_PLATFORM – Allows us to skip verification phase. Using this will not restore Oracle Home if patching fails at verification phase.

使用OPATCH_DEBUG环境变量调试Opatch工具

我们在使用opatch数据库补丁管理工具时可能碰到这样那样的问题,那么opatch工具是否存在一些调试选项以便我们了解更多的信息呢?同OUI工具一样,opatch存在一个debug选项,使用该选项我们仅需要设置OPATCH_DEBUG环境变量为TRUE就可以了,如:

[oracle@rh2 OPatch]$ export OPATCH_DEBUG=TRUE

[oracle@rh2 OPatch]$ ./opatch lsinventory
ORACLE_HOME is set at OPatch invocation
Machine Info: Linux rh2.oracle.com 2.6.32-100.0.19.el5 #1 
SMP Fri Sep 17 17:51:41 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

_osArch is i386
_javaVMSpecVersion is 1.0
_javaVMSpecVendor is Sun Microsystems Inc.
_javaVMSpecName is Java Virtual Machine Specification
_javaVMVendor is Sun Microsystems Inc.
_javaJRESpecVersion is 1.4
_javaJRESpecVendor is Sun Microsystems Inc.
_javaJRESpecName is Java Platform API Specification
_javaSupportedClassVersion is 48.0
OPatch compiled with major version: 0, minor version: 0
_osArch (from OCM API) is i386
/s01/db_1/jdk/bin/java  -mx96m -cp ./ocm/lib/emocmutl.jar:./ocm/lib/emocmclnt.jar:/s01/db_1/oui/jlib/OraInstaller.jar:
/s01/db_1/oui/jlib/OraPrereq.jar:/s01/db_1/oui/jlib/share.jar:/s01/db_1/oui/jlib/srvm.jar:
/s01/db_1/oui/jlib/orai18n-mapping.jar:/s01/db_1/oui/jlib/xmlparserv2.jar:./jlib/opatch.jar:./jlib/opatchutil.jar:
./jlib/opatchprereq.jar:./jlib/opatchactions.jar:./jlib/opatchext.jar:
./jlib/opatchfmw.jar: -DOPatch.ORACLE_HOME=/s01/db_1 -DOPatch.DEBUG=true 
-DOPatch.RUNNING_DIR=. -DOPatch.MW_HOME= -DOPatch.WL_HOME= 
-DOPatch.COMMON_COMPONENTS_HOME=   oracle/opatch/OPatch lsinventory

/* 以上debug信息可以说明opatch工具需要用到Oracle软件自带的JRE */

Invoking OPatch 11.2.0.1.3

Oracle Interim Patch Installer version 11.2.0.1.3
Copyright (c) 2010, Oracle Corporation.  All rights reserved.

OPatchSession::parse() on "lsinventory",

Argument is "lsinventory"
 Add commands for Help
 add command "apply"
 add command "napply"
 add command "rollback"
 add command "nrollback"
 add command "lsinventory"
 add command "lsinv"
 add command "query"
 add command "util"
 add command "prereq"
 add command "version"
 add command "-help"
 add command "-help -fmw"
 Add supported commands for validation
 add command "apply"
 add command "rollback"
 add command "lsinv"
 add command "lsinventory"
 add command "query"
 add command "util"
 add command "prereq"
 add command "version"
 add command "napply"
 add command "nrollback"
 add command "-fmw"
 Not a command that can be mapped to Util Session.
CmdLineParser::initRuntimeOptions()
 Checking on class oracle.opatch.opatchutil.CmdLineOptions$StringArguments
 Get list of fields defined in the class oracle.opatch.opatchutil.CmdLineOptions$StringArguments
 There are 7 fields defined in this class.
   adding option "fp"
   adding option "dp"
   adding option "fr"
   adding option "dr"
   adding option "mp"
   adding option "phbasedir"
   adding option "phbasefile"
 Checking on class oracle.opatch.opatchutil.CmdLineOptions$BooleanArguments
 Get list of fields defined in the class oracle.opatch.opatchutil.CmdLineOptions$BooleanArguments
 There are 2 fields defined in this class.
   adding option "delay_link"
   adding option "cmd_end"
 Checking on class oracle.opatch.opatchutil.CmdLineOptions$IntegerArguments
 Get list of fields defined in the class oracle.opatch.opatchutil.CmdLineOptions$IntegerArguments
 There are 2 fields defined in this class.
   adding option "integerarg1"
   adding option "integerarg2"
 Checking on class oracle.opatch.opatchutil.CmdLineOptions$StringtegerArguments
 Get list of fields defined in the class oracle.opatch.opatchutil.CmdLineOptions$StringtegerArguments
 There are 5 fields defined in this class.
   adding option "stringtegerarg1"
   adding option "stringtegerarg2"
   adding option "ps"
   adding option "mp"
   adding option "xmlinput"
 Checking on class oracle.opatch.opatchutil.CmdLineOptions$DoubleArguments
 Get list of fields defined in the class oracle.opatch.opatchutil.CmdLineOptions$DoubleArguments
 There are 2 fields defined in this class.
   adding option "doublearg1"
   adding option "doublearg2"
 Checking on class oracle.opatch.opatchutil.CmdLineOptions$RawStringArguments
 Get list of fields defined in the class oracle.opatch.opatchutil.CmdLineOptions$RawStringArguments
 There are 1 fields defined in this class.
   adding option "cmd"
CmdLineHelper::loadRuntimeOption() for Class "oracle.opatch.opatchutil.OUSession"
  initializing String option 0, fp
  initializing String option 1, dp
  initializing String option 2, fr
  initializing String option 3, dr
  initializing String option 4, mp
  initializing String option 5, phbasedir
  initializing String option 6, phbasefile
 done init. String arg.
  initializing Boolean option 0, delay_link
  initializing Boolean option 1, cmd_end
 done init. Boolean arg.
  initializing Integer option 0, integerarg1
  initializing Integer option 1, integerarg2
 done init. Integer arg.
  initializing StringTeger option 0, stringtegerarg1
  initializing StringTeger option 1, stringtegerarg2
  initializing StringTeger option 2, ps
  initializing StringTeger option 3, mp
  initializing StringTeger option 4, xmlinput
 done init. SringTeger arg.
  initializing Double option 0, doublearg1
  initializing Double option 1, doublearg2
 done init. Double arg.
  initializing RawString option 0, cmd
 done init. RawString arg.
CmdLineHelper::loadRuntimeOption() for Class "oracle.opatch.opatchutil.OUSession", done.
CmdLineParser::initRuntimeOptions()
 Checking on class oracle.opatch.opatchprereq.CmdLineOptions$StringArguments
 Get list of fields defined in the class oracle.opatch.opatchprereq.CmdLineOptions$StringArguments
 There are 3 fields defined in this class.
   adding option "phbasedir"
   adding option "patchids"
   adding option "phbasefile"
 Checking on class oracle.opatch.opatchprereq.CmdLineOptions$BooleanArguments
 Get list of fields defined in the class oracle.opatch.opatchprereq.CmdLineOptions$BooleanArguments
 There are 2 fields defined in this class.
   adding option "booleanarg1"
   adding option "booleanarg2"
 Checking on class oracle.opatch.opatchprereq.CmdLineOptions$IntegerArguments
 Get list of fields defined in the class oracle.opatch.opatchprereq.CmdLineOptions$IntegerArguments
 There are 2 fields defined in this class.
   adding option "integerarg1"
   adding option "integerarg2"
 Checking on class oracle.opatch.opatchprereq.CmdLineOptions$StringtegerArguments
 Get list of fields defined in the class oracle.opatch.opatchprereq.CmdLineOptions$StringtegerArguments
 There are 2 fields defined in this class.
   adding option "stringtegerarg1"
   adding option "stringtegerarg2"
 Checking on class oracle.opatch.opatchprereq.CmdLineOptions$DoubleArguments
 Get list of fields defined in the class oracle.opatch.opatchprereq.CmdLineOptions$DoubleArguments
 There are 2 fields defined in this class.
   adding option "doublearg1"
   adding option "doublearg2"
CmdLineHelper::loadRuntimeOption() for Class "oracle.opatch.opatchprereq.PQSession"
  initializing String option 0, phbasedir
  initializing String option 1, patchids
  initializing String option 2, phbasefile
 done init. String arg.
  initializing Boolean option 0, booleanarg1
  initializing Boolean option 1, booleanarg2
 done init. Boolean arg.
  initializing Integer option 0, integerarg1
  initializing Integer option 1, integerarg2
 done init. Integer arg.
  initializing StringTeger option 0, stringtegerarg1
  initializing StringTeger option 1, stringtegerarg2
 done init. SringTeger arg.
  initializing Double option 0, doublearg1
  initializing Double option 1, doublearg2
 done init. Double arg.
CmdLineHelper::loadRuntimeOption() for Class "oracle.opatch.opatchprereq.PQSession", done.
 reqVer For using getEnv() = 10.2.0.4.0
 curVer = 10.2.0.4.0
 Current Ver later than required? :false
 Current Ver equals required? :true
Checking EMDROOT using OUI's API...
CmdLineParser.processOPatchProperties() begins
CmdLineParser.processOPatchProperties() ends
OUIReplacer::runEnvScript() called
SystemCall:RuntimeExec(cmds, runDir): GOING to start thread to read Input Stream
SystemCall:RuntimeExec(cmds, runDir): Started thread to read Input Stream
SystemCall:RuntimeExec(cmds, runDir): GOING to start thread to read Error Stream
ReaderThread::run(): Stream InputStream about to be read
SystemCall:RuntimeExec(cmds, runDir): Started thread to read Error Stream
SystemCall:RuntimeExec(cmds, runDir): GOING into process.waitFor()
ReaderThread::run(): Stream ErrorStream about to be read
ReaderThread::run(): Stream ErrorStream reading completed
ReaderThread::run(): Stream InputStream reading completed
SystemCall:RuntimeExec(cmds, runDir): process.waitFor() is OVER
SystemCall:RuntimeExec(cmds, runDir): Error stream thread joined successfully
SystemCall:RuntimeExec(cmds, runDir): Input stream thread joined successfully
OUIReplacer::setKeyValue() called
OPatchSession::main()
Environment:
   OPatch.ORACLE_HOME=/s01/db_1
   oracle.installer.invPtrLoc=/etc/oraInst.loc
   oracle.installer.oui_loc=/s01/db_1/oui
   oracle.installer.library_loc=/s01/db_1/oui/lib/linux
   oracle.installer.startup_location=/s01/db_1/oui
   OPatch.PLATFORM_ID=
   os.name=Linux
   OPatch.NO_FUSER=
   OPatch.SKIP_VERIFY=null
   OPatch.SKIP_VERIFY_SPACE=null
   oracle.installer.clusterEnabled=false
   TRACING.ENABLED=TRUE
   TRACING.LEVEL=2
   OPatch.DEBUG=true
   OPATCH_VERSION=11.2.0.1.3
   Bundled OPatch Property File=properties
   Minimum OUI version: 10.2
   OPatch.PATH=/s01/db_1/bin:/bin:/usr/bin:/sbin:/usr/sbin
Stand-Alone home : false
   OPatch.MW_HOME=
   OPatch.WL_HOME=
   OPatch.COMMON_COMPONENTS_HOME=

Environment:
   OPatch.ORACLE_HOME=/s01/db_1
   oracle.installer.invPtrLoc=/etc/oraInst.loc
   oracle.installer.oui_loc=/s01/db_1/oui
   oracle.installer.library_loc=/s01/db_1/oui/lib/linux
   oracle.installer.startup_location=/s01/db_1/oui
   OPatch.PLATFORM_ID=
   os.name=Linux
   OPatch.NO_FUSER=
   OPatch.SKIP_VERIFY=null
   OPatch.SKIP_VERIFY_SPACE=null
   oracle.installer.clusterEnabled=false
   TRACING.ENABLED=TRUE
   TRACING.LEVEL=2
   OPatch.DEBUG=true
   OPATCH_VERSION=11.2.0.1.3
   Bundled OPatch Property File=properties
   Minimum OUI version: 10.2
   OPatch.PATH=/s01/db_1/bin:/bin:/usr/bin:/sbin:/usr/sbin
Stand-Alone home : false
   OPatch.MW_HOME=
   OPatch.WL_HOME=
   OPatch.COMMON_COMPONENTS_HOME=

Oracle Home       : /s01/db_1
Central Inventory : /s01/oraInventory
   from           : /etc/oraInst.loc
OPatch version    : 11.2.0.1.3
OUI version       : 10.2.0.4.0
OUI location      : /s01/db_1/oui
Log file location : /s01/db_1/cfgtoollogs/opatch/opatch2011-05-06_23-38-48PM.log

Patch history file: /s01/db_1/cfgtoollogs/opatch/opatch_history.txt

OUISessionManager::instantiate()
lockCentralInventory(): OUISessionManager::lockCentralInventory() will retry 0 times with 120-second interval to get an Inventory lock.
OUISessionManager::lockCentralInventory() try round # 1
OUISessionManager::setupSession()
OUISessionManager::setupSession() instantiates a OUIInventorySession obj.
OUISessionManager::setupSession() init. the session
OUISessionManager::setupSession() sets up READ-ONLY session
OUISessionManager::setupSession() done
OUISessionManager::lockCentralInventory() set up session OK
 reqVer = 10.2
 curVer = 10.2.0.4.0
 Current Ver later than required? :true
 Current Ver equals required? :false
OracleHomeInventory::createInventoryObj()
OracleHomeInventory::createInventoryObj() gets OUIInventorySession object
Locker::lock()
   calling lockCentralInventory()
OUISessionManager::getInventorySession()
Caller Details: 
        Caller Name : OPatch    Caller Version : 11.2.0.1.3     Requested Read-only access : true       Oracle Home : /s01/db_1
OUISessionManager::register()
Registering the caller : OPatch
OracleHomeInventory::createInventoryObj() gets OUIInstallAreaControl object
OracleHomeInventory::createInventoryObj() gets OUIInstallInventory object
OracleHomeInventory::createInventoryObj() gets OUIOracleHomeInfo object
OracleHomeInventory::createInventoryObj() construction done
LsInventory::loadAndPrintInventory()
Retrieving inventory from Oracle Home...
OracleHomeInventory::load()
OracleHomeInventory::load() gets a Vector of all product entries
OracleHomeInventory::load() gets a Vector of all one-off entries
OracleHomeInventory::load() begins to process raw data from OUI to build up OPatch primitive classes
PatchObject(oracleHomePath,patchID)
PatchObject::PatchObject looks for the actions file /s01/db_1/inventory/oneoffs/9352164/etc/config/actions.xml
PatchObject::PatchObject looks for the inventory file /s01/db_1/inventory/oneoffs/9352164/etc/config/inventory.xml
PatchObject::PatchObject looks for the deploy file /s01/db_1/inventory/oneoffs/9352164/etc/config/deploy.xml
PatchObject::PatchObject looks for the interview file /s01/db_1/inventory/oneoffs/9352164/etc/config/sequence.xml
PatchObject::createPatchObject() deploy actions file /s01/db_1/inventory/oneoffs/9352164/etc/config/deploy.xml does not exist
PatchObject::createPatchObject() deploy actions file /s01/db_1/inventory/oneoffs/9352164/etc/config/deploy.xml unreadable
PatchObject::createPatchObject() interview file /s01/db_1/inventory/oneoffs/9352164/etc/config/sequence.xml does not exist or is not readable
PatchObject::createPatchObject() deploy actions file /s01/db_1/inventory/oneoffs/9352164/etc/config/sequence.xml unreadable
parserXMLFile : start
parserXMLFile : start
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::getCompleteFileListPath() returns :ORACLE_HOME/rdbms/jlib/qsma.jar
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::getCompleteFileListPath() returns :ORACLE_HOME/rdbms/jlib/qsma.jar
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::getCompleteFileListPath() returns :ORACLE_HOME/rdbms/jlib/qsma.jar
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::getCompleteFileListPath() returns :ORACLE_HOME/rdbms/jlib/CDC.jar
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::getCompleteFileListPath() returns :ORACLE_HOME/sysman/jlib/emDB.jar
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::getCompleteFileListPath() returns :ORACLE_HOME/sysman/jlib/emDB.jar
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::getCompleteFileListPath() returns :ORACLE_HOME/sysman/jlib/emDB.jar
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::getCompleteFileListPath() returns :ORACLE_HOME/sysman/jlib/emDB.jar
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::getCompleteFileListPath() returns :ORACLE_HOME/sysman/jlib/emDB.jar
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::getCompleteFileListPath() returns :ORACLE_HOME/sysman/jlib/emDB.jar
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::getCompleteFileListPath() returns :ORACLE_HOME/sysman/jlib/emDB.jar
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::getCompleteFileListPath() returns :ORACLE_HOME/sysman/jlib/emjsp.jar
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::getCompleteFileListPath() returns :ORACLE_HOME/sysman/jlib/emjsp.jar
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::getCompleteFileListPath() returns :ORACLE_HOME/sysman/jlib/emjsp.jar
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::processJarActionPaths()
JarAction::processJarActionPaths(): return true for successful parsing Jar path
JarAction::getCompleteFileListPath() returns :ORACLE_HOME/sysman/jlib/emjsp.jar
PatchObject(oracleHomePath,patchID)
PatchObject::PatchObject looks for the actions file /s01/db_1/inventory/oneoffs/9654991/etc/config/actions.xml
PatchObject::PatchObject looks for the inventory file /s01/db_1/inventory/oneoffs/9654991/etc/config/inventory.xml
PatchObject::PatchObject looks for the deploy file /s01/db_1/inventory/oneoffs/9654991/etc/config/deploy.xml
PatchObject::PatchObject looks for the interview file /s01/db_1/inventory/oneoffs/9654991/etc/config/sequence.xml
PatchObject::createPatchObject() deploy actions file /s01/db_1/inventory/oneoffs/9654991/etc/config/deploy.xml does not exist
PatchObject::createPatchObject() deploy actions file /s01/db_1/inventory/oneoffs/9654991/etc/config/deploy.xml unreadable
PatchObject::createPatchObject() interview file /s01/db_1/inventory/oneoffs/9654991/etc/config/sequence.xml does not exist or is not readable
PatchObject::createPatchObject() deploy actions file /s01/db_1/inventory/oneoffs/9654991/etc/config/sequence.xml unreadable
parserXMLFile : start
parserXMLFile : start
PatchObject(oracleHomePath,patchID)
PatchObject::PatchObject looks for the actions file /s01/db_1/inventory/oneoffs/7527908/etc/config/actions.xml
PatchObject::PatchObject looks for the inventory file /s01/db_1/inventory/oneoffs/7527908/etc/config/inventory.xml
PatchObject::PatchObject looks for the deploy file /s01/db_1/inventory/oneoffs/7527908/etc/config/deploy.xml
PatchObject::PatchObject looks for the interview file /s01/db_1/inventory/oneoffs/7527908/etc/config/sequence.xml
PatchObject::createPatchObject() deploy actions file /s01/db_1/inventory/oneoffs/7527908/etc/config/deploy.xml does not exist
PatchObject::createPatchObject() deploy actions file /s01/db_1/inventory/oneoffs/7527908/etc/config/deploy.xml unreadable
PatchObject::createPatchObject() interview file /s01/db_1/inventory/oneoffs/7527908/etc/config/sequence.xml does not exist or is not readable
PatchObject::createPatchObject() deploy actions file /s01/db_1/inventory/oneoffs/7527908/etc/config/sequence.xml unreadable
parserXMLFile : start
parserXMLFile : start
PatchObject(oracleHomePath,patchID)
PatchObject::PatchObject looks for the actions file /s01/db_1/inventory/oneoffs/9696904/etc/config/actions.xml
PatchObject::PatchObject looks for the inventory file /s01/db_1/inventory/oneoffs/9696904/etc/config/inventory.xml
PatchObject::PatchObject looks for the deploy file /s01/db_1/inventory/oneoffs/9696904/etc/config/deploy.xml
PatchObject::PatchObject looks for the interview file /s01/db_1/inventory/oneoffs/9696904/etc/config/sequence.xml
PatchObject::createPatchObject() deploy actions file /s01/db_1/inventory/oneoffs/9696904/etc/config/deploy.xml does not exist
PatchObject::createPatchObject() deploy actions file /s01/db_1/inventory/oneoffs/9696904/etc/config/deploy.xml unreadable
PatchObject::createPatchObject() interview file /s01/db_1/inventory/oneoffs/9696904/etc/config/sequence.xml does not exist or is not readable
PatchObject::createPatchObject() deploy actions file /s01/db_1/inventory/oneoffs/9696904/etc/config/sequence.xml unreadable
parserXMLFile : start
parserXMLFile : start
LsInventory::init()
LsInventorySession::process(): creates an output file /s01/db_1/cfgtoollogs/opatch/lsinv/lsinventory2011-05-06_23-38-48PM.txt
LsInventory::init() returns
Lsinventory Output file location : /s01/db_1/cfgtoollogs/opatch/lsinv/lsinventory2011-05-06_23-38-48PM.txt

--------------------------------------------------------------------------------
[Rules: should lock OH and Central Inv.= true, read from OUI= true, write to OUI= true, read from system= true, write to system= true, -all= false, -xml= false, -match= false, -patch= false, -detail= false, print patch = true, print all prods = false, print top-level prod = true, print detail = false, print by-bugs fixed = false ]
Installed Top-level Products (2): 

Oracle Database 10g                                                  10.2.0.1.0
Oracle Database 10g Release 2 Patch Set 3                            10.2.0.4.0
There are 2 products installed in this Oracle Home.

Interim patches (4) :

OneOffEntry::getBugIDsFixed()
OneOffEntry::getBugIDsFixed() returns 3 bugs.
Patch  9696904      : applied on Fri May 06 22:26:37 CST 2011
Unique Patch ID:  12575150
   Created on 10 May 2010, 23:22:02 hrs PST8PDT
   Bugs fixed:
     7025450, 8575528, 6904068
   This patch overlays patches:
     9352164
   This patch needs patches:
     9352164
   as prerequisites

OneOffEntry::getBugIDsFixed()
OneOffEntry::getBugIDsFixed() returns 1 bugs.
Patch  7527908      : applied on Fri May 06 22:25:33 CST 2011
Unique Patch ID:  12546933
   Created on 30 Apr 2010, 12:48:09 hrs PST8PDT
   Bugs fixed:
     7527908
   This patch overlays patches:
     9352164
   This patch needs patches:
     9352164
   as prerequisites

OneOffEntry::getBugIDsFixed()
OneOffEntry::getBugIDsFixed() returns 10 bugs.
Patch  9654991      : applied on Fri May 06 21:33:38 CST 2011
Unique Patch ID:  12816418
   Created on 30 Jun 2010, 18:30:40 hrs PST8PDT
   Bugs fixed:
     9714832, 9713537, 9678695, 9655017, 9173248, 8309642, 9678697, 9678690
     9573054, 9654991
   This patch overlays patches:
     9352164
   This patch needs patches:
     9352164
   as prerequisites

OneOffEntry::getBugIDsFixed()
OneOffEntry::getBugIDsFixed() returns 414 bugs.
Patch  9352164      : applied on Fri May 06 21:29:20 CST 2011
Unique Patch ID:  12307477
   Created on 1 Apr 2010, 11:33:14 hrs PST8PDT
   Bugs fixed:
     9377578, 6418420, 7835247, 7207654, 7592346, 6724797, 7936993, 7331867
     9093300, 7535152, 7552067, 5879114, 8866013, 5457450, 8344348, 7272297
     7136866, 7196894, 6258480, 7013124, 6512622, 6355586, 7196532, 8568395
     8309587, 7557226, 5399699, 6509115, 8568397, 8568398, 7127618, 5701695
     6052226, 7424804, 6817593, 7553884, 6741425, 7513673, 6783812, 8437213
     6452766, 6469211, 7527650, 8309592, 8479537, 5991038, 5686407, 6945157
     7639602, 9119226, 6403091, 7589862, 7552082, 6711853, 8304589, 6052169
     8199266, 6327692, 5756769, 9352191, 7460818, 6268409, 8232056, 6687381
     6972843, 8230457, 6800507, 7027551, 6778714, 6200820, 6645719, 7393804
     6775231, 3934160, 6683178, 6650256, 5085288, 7528105, 7329252, 6378112
     6151380, 6844866, 4723109, 8544896, 5126719, 5890312, 5934363, 7036453
     7610362, 8426816, 8433026, 7270434, 7172531, 6451626, 8247855, 5497338
     6324944, 6874522, 7175513, 6960489, 7341598, 8576156, 6797677, 8342923
     5895190, 6756739, 7150470, 7593835, 7356443, 7044551, 8227106, 4695511
     7298688, 5747462, 8556340, 7197445, 5348308, 7937113, 8341623, 7569205
     8409848, 6053134, 6163771, 6851669, 6181488, 6375150, 6825866, 7210921
     7295780, 6345573, 7033630, 6954722, 6824129, 7523475, 7457766, 7309458
     8324577, 6840740, 6804746, 7375611, 8268054, 6981690, 6512811, 6988017
     7375613, 8344399, 7340448, 8362683, 7375617, 8251247, 5933656, 6005347
     9145204, 6599920, 7238230, 6379441, 6452375, 6352003, 6833965, 7136489
     6610218, 7612639, 6392076, 7225204, 9119194, 5476236, 9442328, 7609057
     7609058, 6605106, 6374297, 6193945, 4693355, 8217795, 7039896, 7432514
     7330909, 6952701, 7190270, 8287155, 7587008, 7207932, 6802650, 7189447
     8481935, 4598439, 9442331, 6615740, 7155655, 6749617, 9442335, 7159505
     5868257, 5727166, 7173005, 6917874, 9442339, 7013768, 7691766, 7385253
     7291739, 7225720, 7257770, 7363767, 7244238, 6941717, 8267348, 7710551
     8354686, 7247217, 8328954, 7299153, 8909984, 6681695, 8702276, 9119284
     8217011, 7661251, 6265559, 6823287, 6991626, 6954829, 5259835, 6500033
     5923486, 7432601, 7022234, 8534387, 5147386, 7697802, 6653934, 7375644
     6490140, 7662491, 8331466, 5623467, 6070225, 6635214, 7396409, 6638558
     7038750, 6714608, 6838714, 6870937, 7219752, 7263842, 7278117, 6882739
     5404871, 8836667, 8373286, 7393292, 6678845, 6903051, 7936793, 6600051
     7155248, 4966512, 7155249, 7197637, 8836308, 8568402, 8568404, 8568405
     8431487, 5704108, 6343150, 7280764, 6923450, 7643632, 6145177, 8836671
     8310931, 6640411, 8347704, 8836675, 7155250, 7155251, 8836677, 7155252
     8836678, 7155253, 8292378, 7155254, 6219529, 7411865, 8227091, 8340379
     7276960, 6145687, 7659217, 5863926, 7022905, 6852598, 7123643, 6596564
     6413089, 6851438, 8836681, 8836683, 8836684, 8836686, 7579469, 7494333
     7315642, 8340383, 6786022, 8340387, 6926448, 7600026, 7462072, 6679303
     8815639, 7197583, 7172752, 7326645, 7008262, 9173244, 9173248, 7573151
     8490879, 7477934, 6725634, 6733655, 6799205, 6980597, 7499353, 6084232
     6014513, 7140204, 7254987, 8833280, 6647480, 6120004, 7693128, 6760697
     6051177, 8247215, 6858062, 7189645, 6844739, 6768251, 7196863, 5630796
     7378661, 7378735, 5970301, 6705822, 8290506, 6658484, 7599944, 9173253
     8309623, 7125408, 7257461, 6987790, 7568556, 6919819, 8886674, 5883691
     6955744, 7801939, 6074620, 7149004, 6857917, 8283650, 6445948, 5929055
     6110752, 7552042, 8210889, 8287504, 6506617, 7306915, 6271590, 5386204
     6976005, 8330783, 7606362, 5377242, 7043989, 8309632, 7575925, 6870047
     8309637, 5902053, 8309639, 7028176, 6827260, 7588384, 4726401, 6720712
     5910650, 6752765, 6971433, 6024730, 8315482, 6628122, 8239142, 9352164
     5695562, 4637902, 7345904, 8309642, 6994160, 8556586, 6404447, 8220734
     6919764, 7597354, 7523787, 6029179, 5231155, 6455659

probeAndPrintRACInfo()
Rac::getInstance()
 initializing racType
Rac::getClusterNodes()
 calling OiiOracleHomeInfo::getNodeList()
 OiiiOracleHomeInfo::getNodeList() returned 0 elements.
RAC::getClusterNodes() returned a list of 0 elements.
 User did not use -no_inventory, so why clusterNodes are empty?
 clusterNodes is null or empty, set racType to NO_RAC
Not a RAC system or shouldn't be treated like one
Rac::shouldPropagate()
Rac::getInstance()
 racType has been initialized, just return the cached object
[Rac: [RacType: typeDesc= NO_RAC, detail= Not a RAC system or shouldn't be treated like one ], should propagate file= false, local node="", remote nodes=", racTypeDetail="Not a RAC system or shouldn't be treated like one", racDiagMsg="
OPatch detected non-cluster Oracle Home from the inventory and will patch the local system only.
 ]
probeAndPrintRACInfo() done
--------------------------------------------------------------------------------
Locker::release()
OUISessionManager::unRegister()
Un-Registering the caller : OPatch
LsInventory::getInstance() returns
Cleaning up the directory : "/s01/db_1/.patch_storage/patch_unzip"...

OPatch succeeded.

记以录之!

Pre-check while you are applying one-off patch

Oracle Database的补丁除去我们最常见的Patch set大补丁集(就是那种动辄1、2个G的补丁包)外,还包括Critical Patch Update(CPU)和Patch Set Update(PSU),one-off Patch(一次性补丁);在数据库使用过程中出现某些问题后(最常见的是出现ORA-00600、ORA-07445错误),通过DBA与MOS的协作将问题定位到某个大版本上的具体Bug,如果该Bug在该版本上现有one-off patch的话,我们可以通过one-off patch的实施来解决问题,one-off patch具有如下特点:

  1. one-off patch的patch包一般都很小,因为它是为了修正一个或多个bug所特制,它一般只包含必要的inventory xml信息,以及和bug相关的共享库文件(一般是.o或者.a文件)
  2. one-off patch绝大多数是随需随制,一般是Oracle内部人员发现Bug或者客户在生产过程中遇到Bug后,向Oracle development开发部门提出patch building的Request ,开发人员接到building或backport的要求后会为客户系统指定的数据库版本和操作系统平台特制一个补丁(如果还没有的话);举例来说可能一个bug在Linux平台的10.2.0.4版本中已有one-off patch,但客户在Solaris Sparc 平台上10.2.0.3上碰到同样的bug,那么这个时候就可以提交SR要求Oracle开发部门backport这个patch
  3. 绝大多数one-off patch只需要用Opatch工具apply即可,不需要升级/修正数据字典,这一点和Patch set/CPU/PSU是不同的
  4. one-off patch是针对某个特殊版本的,如10.2.0.4上的one-off patch只能针对10.2.0.4实施,而在10.2.0.4.8(10.2.0.4的PSU 8)上该one-off patch可能是一个conflicting Bug即有冲突的一次性bug补丁;针对这种情况Oracle一般会给出当前版本上的替代one-off patch,例如6996030″MERGE LABEL REQUEST ON TOP OF 10.2.0.4 FOR AUDIT TRAIL CLEAN-UP”是10.2.0.4上的一个one-off patch,但在10.2.0.4.4上6996030是一个conflicting bug存在冲突,这样我们就需要一个替代品、一个10.2.0.4.4上的Equivalent patch等价补丁,在我们的例子中这个patch是9650152 “MERGE REQUEST ON TOP OF 10.2.0.4.4 FOR BUGS 9589005 6805009 6991606”
  5. 实施one-off patch意味着你的数据库软件将与其他主流版本的数据库在行为方式上有所区别,另一方面你需要考虑到如果发现了新的Bug并考虑打上另一个one-off patch时可能存在Conflicting冲突。大多数情况下one-off patch可以迅速帮我们解决Bug,但反过来说实施任意一个one-off patch时我们可能冒着今后花费更多时间去维护数据库补丁的风险;就这一点来看,应用one-off patch有着它明显的缺点
  6. 在11g中提出了hot patch的概念,这里的patch就是指的one-off patch;就目前看来online-patching只是一个噱头,因为真正具备在线实施能力的patch少之又少,你很难从MOS上的patch专栏中找到一个可用的online-patch
  7. 一个我个人的观点:Oracle GCS会通过stack call、trace、dump等信息将问题定位到bug,最为常见的是ORA-00600、ORA-07445等内部错误,这些错误因为有着明确的error argument、stack call等信息可以让GCS精确地定位故障,而对于另一些问题例如process spin、异常等待事件等不产生明确argument、stack、dump的问题时,定位就要困难一些。我们经常可以看到一些bug note,在客户apply one-off patch并设置特定event后one-off patch并不起作用,导致这种情况的原因多种多样,一种可能是patch在开发过程中存在问题(补丁代码没有被正确触发),另一种则是bug没有被准确定位。

我们目前的问题在于虽然one-off patch存在这样那样的问题,但很多时候又不得不实施one-off patch(大多数原因是停机时间限制);以及在一个已经实施了诸多Patch set、PSU、CPU和one-off patch的环境中新增one-off patch,为了更好地完成这项工作,我们有必要在具体实施补丁前完成以下的预备工作:

1.在定位到具体Bug后我们可以获得一个Bug No#,使用该No#到My Oracle Support上的Patches & Updates专栏中搜索该Bug相关的patch信息,这里存在三种情况:

  • 最好的情况是指定的数据库版本和操作系统平台上存在相关的patch
  • 指定数据库版本上有patch,注意这里的指定数据库版本需要精确到具体的PSU,但没有指定操作系统平台上的,这个时候可以提交SR要求在指定平台上build一个
  • 指定数据库版本上没有patch,注意这里的指定数据库版本需要精确到具体的PSU,例如10.2.0.4上的patch是不能直接用在10.2.0.4.x上的;针对这种情况我们可以首先查询Metalink Note“Patch Set Updates – One-off Patch Conflict Resolution”,可以从这个Note中查到指定one-off patch是否被包含在某个psu中,或者在某个psu上有特定的等价补丁(Equivalent on top),一部分one-off patch在不同的psu之间还存在通用性,如10.2.0.4.4上的部分patch可以在10.2.0.4.5上实施,具体是否通用可以参考下文中冲突检查的方法来检验。如果都没有等价补丁也没有通用补丁那么需要提交SR让Oracle开发部门去merge一个

2.更复杂的情况是在现有版本上已经应用了某些特定的patch(psu、cpu、或者其他one-off patch),我们要保证需要新增的one-off patch之间不存在conflict关系,也不会和系统中已有的patch发生conflict,这时候我们可以使用opatch prereq命令来做冲突检查并得到相关建议,如:

[oracle@rh2 tmp]$ /s01/db_1/OPatch/opatch lsinventory
Invoking OPatch 11.2.0.1.3
Oracle Interim Patch Installer version 11.2.0.1.3
Copyright (c) 2010, Oracle Corporation.  All rights reserved.

Oracle Home       : /s01/db_1
Central Inventory : /s01/oraInventory
   from           : /etc/oraInst.loc
OPatch version    : 11.2.0.1.3
OUI version       : 10.2.0.4.0
OUI location      : /s01/db_1/oui
Log file location : /s01/db_1/cfgtoollogs/opatch/opatch2011-05-06_21-41-39PM.log

Patch history file: /s01/db_1/cfgtoollogs/opatch/opatch_history.txt

Lsinventory Output file location : /s01/db_1/cfgtoollogs/opatch/lsinv/lsinventory2011-05-06_21-41-39PM.txt

--------------------------------------------------------------------------------
Installed Top-level Products (2): 

Oracle Database 10g                                                  10.2.0.1.0
Oracle Database 10g Release 2 Patch Set 3                            10.2.0.4.0
There are 2 products installed in this Oracle Home.

Interim patches (2) :

Patch  9654991      : applied on Fri May 06 21:33:38 CST 2011
Unique Patch ID:  12816418
   Created on 30 Jun 2010, 18:30:40 hrs PST8PDT
   Bugs fixed:
     9714832, 9713537, 9678695, 9655017, 9173248, 8309642, 9678697, 9678690
     9573054, 9654991
   This patch overlays patches:
     9352164
   This patch needs patches:
     9352164
   as prerequisites

Patch  9352164      : applied on Fri May 06 21:29:20 CST 2011
Unique Patch ID:  12307477
   Created on 1 Apr 2010, 11:33:14 hrs PST8PDT
   Bugs fixed:

/* 以上示例环境中实施了10.2.0.4上的psu4(9352164)和psu5(9654991) */

/* 在示例环境中我们试图实施补丁7527908和9696904,这2个merge patch是针对psu4(10.2.0.4.4)版本的,
    但在psu5(10.2.0.4.5)上没有相应的替代补丁,我们需要检测这2个patch是否和psu5发生冲突  */

[oracle@rh2 ~]$ mkdir $ORACLE_HOME/patches

/* 在Oracle HOME下创建存放patch的目录 */

[oracle@rh2 ~]$ cd $ORACLE_HOME/patches

[oracle@rh2 patches]$ unzip /home/oracle/patch/p7527908_102044_Linux-x86-64.zip 

Archive:  /home/oracle/patch/p7527908_102044_Linux-x86-64.zip
   creating: 7527908/
   creating: 7527908/files/
   creating: 7527908/files/lib/
   creating: 7527908/files/lib/libserver10.a/
  inflating: 7527908/files/lib/libserver10.a/ktm.o
  inflating: 7527908/files/lib/libserver10.a/ktu.o
  inflating: 7527908/files/lib/libserver10.a/ktusm.o
   creating: 7527908/etc/
   creating: 7527908/etc/config/
  inflating: 7527908/etc/config/inventory
  inflating: 7527908/etc/config/actions
   creating: 7527908/etc/xml/
  inflating: 7527908/etc/xml/GenericActions.xml
  inflating: 7527908/etc/xml/ShiphomeDirectoryStructure.xml
  inflating: 7527908/README.txt      

[oracle@rh2 patches]$ unzip ~/patch/p9696904_102044_Linux-x86-64.zip
Archive:  /home/oracle/patch/p9696904_102044_Linux-x86-64.zip
   creating: 9696904/
   creating: 9696904/files/
   creating: 9696904/files/lib/
   creating: 9696904/files/lib/libserver10.a/
  inflating: 9696904/files/lib/libserver10.a/kks1.o
  inflating: 9696904/files/lib/libserver10.a/kksc.o
  inflating: 9696904/files/lib/libserver10.a/kksh.o
  inflating: 9696904/files/lib/libserver10.a/ksmp.o
  inflating: 9696904/files/lib/libserver10.a/kspt.o
   creating: 9696904/etc/
   creating: 9696904/etc/config/
  inflating: 9696904/etc/config/inventory
  inflating: 9696904/etc/config/actions
   creating: 9696904/etc/xml/
  inflating: 9696904/etc/xml/GenericActions.xml
  inflating: 9696904/etc/xml/ShiphomeDirectoryStructure.xml
  inflating: 9696904/README.txt

接下来我们首先检查以上2个patch之间是否存在conflict冲突,这里我们会用到opatch prereq CheckConflictAmongPatchesWithDetail命令:

[oracle@rh2 db_1]$ /s01/db_1/OPatch/opatch prereq CheckConflictAmongPatchesWithDetail -phBaseDir $ORACLE_HOME/patches

Invoking OPatch 11.2.0.1.3
Oracle Interim Patch Installer version 11.2.0.1.3
Copyright (c) 2010, Oracle Corporation.  All rights reserved.

PREREQ session
Oracle Home       : /s01/db_1
Central Inventory : /s01/oraInventory
   from           : /etc/oraInst.loc
OPatch version    : 11.2.0.1.3
OUI version       : 10.2.0.4.0
OUI location      : /s01/db_1/oui
Log file location : /s01/db_1/cfgtoollogs/opatch/opatch2011-05-06_22-07-18PM.log

Patch history file: /s01/db_1/cfgtoollogs/opatch/opatch_history.txt
Invoking prereq "checkconflictamongpatcheswithdetail"

Prereq "checkConflictAmongPatchesWithDetail" passed.

OPatch succeeded.

/* 可以看到以上补丁间冲突检查发现需要实施的补丁间不存在冲突 */

接着我们需要为将要实施的补丁与系统中现有的补丁检查是否存在冲突,这里我们要用到opatch prereq CheckConflictAgainstOHWithDetail命令,如:

[oracle@rh2 db_1]$ /s01/db_1/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /s01/db_1/patches/9696904
Invoking OPatch 11.2.0.1.3

Oracle Interim Patch Installer version 11.2.0.1.3
Copyright (c) 2010, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /s01/db_1
Central Inventory : /s01/oraInventory
   from           : /etc/oraInst.loc
OPatch version    : 11.2.0.1.3
OUI version       : 10.2.0.4.0
OUI location      : /s01/db_1/oui
Log file location : /s01/db_1/cfgtoollogs/opatch/opatch2011-05-06_22-08-44PM.log

Patch history file: /s01/db_1/cfgtoollogs/opatch/opatch_history.txt

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

[oracle@rh2 db_1]$ /s01/db_1/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /s01/db_1/patches/7527908
Invoking OPatch 11.2.0.1.3

Oracle Interim Patch Installer version 11.2.0.1.3
Copyright (c) 2010, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /s01/db_1
Central Inventory : /s01/oraInventory
   from           : /etc/oraInst.loc
OPatch version    : 11.2.0.1.3
OUI version       : 10.2.0.4.0
OUI location      : /s01/db_1/oui
Log file location : /s01/db_1/cfgtoollogs/opatch/opatch2011-05-06_22-08-57PM.log

Patch history file: /s01/db_1/cfgtoollogs/opatch/opatch_history.txt

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

/* 在这里另外举一个检查后发现冲突的例子 */

[oracle@rh2 tmp]$ /s01/db_1/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir 8557428
Invoking OPatch 11.2.0.1.3

Oracle Interim Patch Installer version 11.2.0.1.3
Copyright (c) 2010, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /s01/db_1
Central Inventory : /s01/oraInventory
   from           : /etc/oraInst.loc
OPatch version    : 11.2.0.1.3
OUI version       : 10.2.0.4.0
OUI location      : /s01/db_1/oui
Log file location : /s01/db_1/cfgtoollogs/opatch/opatch2011-05-06_22-38-25PM.log

Patch history file: /s01/db_1/cfgtoollogs/opatch/opatch_history.txt

Invoking prereq "checkconflictagainstohwithdetail"

ZOP-47: The patch(es) has supersets with other patches installed in the Oracle Home (or) among themselves.

ZOP-40: The patch(es) has conflicts with other patches installed in the Oracle Home (or) among themselves.

Prereq "checkConflictAgainstOHWithDetail" failed.

Summary of Conflict Analysis:

There are no patches that can be applied now.

Following patches have conflicts. Please contact Oracle Support and get the merged patch of the patches :
9352164

Following patches are not required, as they are subset of the patches in Oracle Home or
subset of the patches in the given list : 

Following patches will be rolled back from Oracle Home on application of the patches in the given list :
9352164
Conflicts/Supersets for each patch are:

Patch : 8557428
        Bug Conflict with 9352164
        Conflicting bugs are:
        8479537,  7462072,  8210889,  6404447

OPatch succeeded.

/* 可以看到以上发现了8557428 one-off patch与9352164(PSU4)之间存在冲突,
    引发冲突的Bug是8479537,  7462072,  8210889,  6404447
    opatch建议用户提交合并8557428和9352164补丁的服务要求  */

通过以上检查可以发现虽然是针对psu4(10.2.0.4.4)发布的one-off patch,但在对psu5(10.2.0.4.5)的ORACLE HOME做checkConflict时未发现冲突,接着我们opatch apply -report命令来预演补丁实施,使用-report选项让opatch仅报告其所会做的操作,而不真正去实施这些操作:

[oracle@rh2 db_1]$ cd patches/7527908/
[oracle@rh2 7527908]$ ls
etc  files  README.txt
[oracle@rh2 7527908]$ /s01/db_1/OPatch/opatch apply -report
Invoking OPatch 11.2.0.1.3

Oracle Interim Patch Installer version 11.2.0.1.3
Copyright (c) 2010, Oracle Corporation.  All rights reserved.

Oracle Home       : /s01/db_1
Central Inventory : /s01/oraInventory
   from           : /etc/oraInst.loc
OPatch version    : 11.2.0.1.3
OUI version       : 10.2.0.4.0
OUI location      : /s01/db_1/oui
Log file location : /s01/db_1/cfgtoollogs/opatch/opatch2011-05-06_22-19-25PM.log

Patch history file: /s01/db_1/cfgtoollogs/opatch/opatch_history.txt

ApplySession applying interim patch '7527908' to OH '/s01/db_1'

Running prerequisite checks...
[Report: skip "rm -rf /s01/db_1/ccr"]
[Report: skip unzipping "/s01/db_1/OPatch/ocm/ocm.zip"]
Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.
Visit http://www.oracle.com/support/policies.html for details.
Email address/User Name: 

You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]:  Yes
[Report: Skip calling "/bin/sh /s01/db_1/ccr/bin/setupCCR -R
/s01/db_1/.patch_storage/ocmRespFile -S OPatch -V 11.2.0.1.3" under "/s01/db_1/ccr/bin"]

OPatch detected non-cluster Oracle Home from the inventory and will patch the local system only.

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/s01/db_1')

Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files and inventory (not for auto-rollback) for the Oracle Home
Users request no RAC file generation.  Do not create MP files.

Skip patching component oracle.rdbms, 10.2.0.4.0 and its actions.
The actions are reported here, but are not performed.

Updating archive file "/s01/db_1/lib/libserver10.a"  with "lib/libserver10.a/ktm.o"
Updating archive file "/s01/db_1/lib/libserver10.a"  with "lib/libserver10.a/ktu.o"
Updating archive file "/s01/db_1/lib/libserver10.a"  with "lib/libserver10.a/ktusm.o"
Running make for target ioracle
ApplySession skipping inventory update.

Verifying the update...
Inventory and System verification is performed here.

The local system has been patched and can be restarted.

OPatch succeeded.

[oracle@rh2 patches]$ cd 9696904/
[oracle@rh2 9696904]$ /s01/db_1/OPatch/opatch apply -report
Invoking OPatch 11.2.0.1.3

Oracle Interim Patch Installer version 11.2.0.1.3
Copyright (c) 2010, Oracle Corporation.  All rights reserved.

Oracle Home       : /s01/db_1
Central Inventory : /s01/oraInventory
   from           : /etc/oraInst.loc
OPatch version    : 11.2.0.1.3
OUI version       : 10.2.0.4.0
OUI location      : /s01/db_1/oui
Log file location : /s01/db_1/cfgtoollogs/opatch/opatch2011-05-06_22-22-11PM.log

Patch history file: /s01/db_1/cfgtoollogs/opatch/opatch_history.txt

ApplySession applying interim patch '9696904' to OH '/s01/db_1'

Running prerequisite checks...
[Report: skip "rm -rf /s01/db_1/ccr"]
[Report: skip unzipping "/s01/db_1/OPatch/ocm/ocm.zip"]
Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.
Visit http://www.oracle.com/support/policies.html for details.
Email address/User Name: 

You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]:  Yes
[Report: Skip calling "/bin/sh /s01/db_1/ccr/bin/setupCCR -R /s01/db_1/.patch_storage/ocmRespFile -S 
OPatch -V 11.2.0.1.3" under "/s01/db_1/ccr/bin"]

OPatch detected non-cluster Oracle Home from the inventory and will patch the local system only.

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/s01/db_1')

Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files and inventory (not for auto-rollback) for the Oracle Home
Users request no RAC file generation.  Do not create MP files.

Skip patching component oracle.rdbms, 10.2.0.4.0 and its actions.
The actions are reported here, but are not performed.

Updating archive file "/s01/db_1/lib/libserver10.a"  with "lib/libserver10.a/kks1.o"
Updating archive file "/s01/db_1/lib/libserver10.a"  with "lib/libserver10.a/kksc.o"
Updating archive file "/s01/db_1/lib/libserver10.a"  with "lib/libserver10.a/kksh.o"
Updating archive file "/s01/db_1/lib/libserver10.a"  with "lib/libserver10.a/ksmp.o"
Updating archive file "/s01/db_1/lib/libserver10.a"  with "lib/libserver10.a/kspt.o"
Running make for target ioracle
ApplySession skipping inventory update.

Verifying the update...
Inventory and System verification is performed here.

The local system has been patched and can be restarted.

OPatch succeeded.

以上使用opatch apply -report进一步确认了实施以上补丁不会引起冲突或其他失败,我们可以放心地正式应用补丁了!

[oracle@rh2 patches]$ cd 7527908/
[oracle@rh2 7527908]$ /s01/db_1/OPatch/opatch apply
Invoking OPatch 11.2.0.1.3

Oracle Interim Patch Installer version 11.2.0.1.3
Copyright (c) 2010, Oracle Corporation.  All rights reserved.

Oracle Home       : /s01/db_1
Central Inventory : /s01/oraInventory
   from           : /etc/oraInst.loc
OPatch version    : 11.2.0.1.3
OUI version       : 10.2.0.4.0
OUI location      : /s01/db_1/oui
Log file location : /s01/db_1/cfgtoollogs/opatch/opatch2011-05-06_22-24-46PM.log

Patch history file: /s01/db_1/cfgtoollogs/opatch/opatch_history.txt

ApplySession applying interim patch '7527908' to OH '/s01/db_1'

Running prerequisite checks...
Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.
Visit http://www.oracle.com/support/policies.html for details.
Email address/User Name: 

You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]:  Yes

OPatch detected non-cluster Oracle Home from the inventory and will patch the local system only.

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/s01/db_1')

Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files and inventory (not for auto-rollback) for the Oracle Home
Backing up files affected by the patch '7527908' for restore. This might take a while...
Backing up files affected by the patch '7527908' for rollback. This might take a while...

Patching component oracle.rdbms, 10.2.0.4.0...
Updating archive file "/s01/db_1/lib/libserver10.a"  with "lib/libserver10.a/ktm.o"
Updating archive file "/s01/db_1/lib/libserver10.a"  with "lib/libserver10.a/ktu.o"
Updating archive file "/s01/db_1/lib/libserver10.a"  with "lib/libserver10.a/ktusm.o"
Running make for target ioracle
ApplySession adding interim patch '7527908' to inventory

Verifying the update...
Inventory check OK: Patch ID 7527908 is registered in Oracle Home inventory with proper meta-data.
Files check OK: Files from Patch ID 7527908 are present in Oracle Home.

The local system has been patched and can be restarted.

OPatch succeeded.

[oracle@rh2 7527908]$ cd ..
[oracle@rh2 patches]$ cd 9696904/
[oracle@rh2 9696904]$ /s01/db_1/OPatch/opatch apply
Invoking OPatch 11.2.0.1.3

Oracle Interim Patch Installer version 11.2.0.1.3
Copyright (c) 2010, Oracle Corporation.  All rights reserved.

Oracle Home       : /s01/db_1
Central Inventory : /s01/oraInventory
   from           : /etc/oraInst.loc
OPatch version    : 11.2.0.1.3
OUI version       : 10.2.0.4.0
OUI location      : /s01/db_1/oui
Log file location : /s01/db_1/cfgtoollogs/opatch/opatch2011-05-06_22-25-58PM.log

Patch history file: /s01/db_1/cfgtoollogs/opatch/opatch_history.txt

ApplySession applying interim patch '9696904' to OH '/s01/db_1'

Running prerequisite checks...
Provide your email address to be informed of security issues, install and
initiate Oracle Configuration Manager. Easier for you if you use your My
Oracle Support Email address/User Name.
Visit http://www.oracle.com/support/policies.html for details.
Email address/User Name: 

You have not provided an email address for notification of security issues.
Do you wish to remain uninformed of security issues ([Y]es, [N]o) [N]:  Yes

OPatch detected non-cluster Oracle Home from the inventory and will patch the local system only.

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/s01/db_1')

Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files and inventory (not for auto-rollback) for the Oracle Home
Backing up files affected by the patch '9696904' for restore. This might take a while...
Backing up files affected by the patch '9696904' for rollback. This might take a while...

Patching component oracle.rdbms, 10.2.0.4.0...
Updating archive file "/s01/db_1/lib/libserver10.a"  with "lib/libserver10.a/kks1.o"
Updating archive file "/s01/db_1/lib/libserver10.a"  with "lib/libserver10.a/kksc.o"
Updating archive file "/s01/db_1/lib/libserver10.a"  with "lib/libserver10.a/kksh.o"
Updating archive file "/s01/db_1/lib/libserver10.a"  with "lib/libserver10.a/ksmp.o"
Updating archive file "/s01/db_1/lib/libserver10.a"  with "lib/libserver10.a/kspt.o"
Running make for target ioracle
ApplySession adding interim patch '9696904' to inventory

Verifying the update...
Inventory check OK: Patch ID 9696904 is registered in Oracle Home inventory with proper meta-data.
Files check OK: Files from Patch ID 9696904 are present in Oracle Home.

The local system has been patched and can be restarted.

OPatch succeeded.

[oracle@rh2 9696904]$ /s01/db_1/OPatch/opatch lsinventory
Invoking OPatch 11.2.0.1.3

Oracle Interim Patch Installer version 11.2.0.1.3
Copyright (c) 2010, Oracle Corporation.  All rights reserved.

Oracle Home       : /s01/db_1
Central Inventory : /s01/oraInventory
   from           : /etc/oraInst.loc
OPatch version    : 11.2.0.1.3
OUI version       : 10.2.0.4.0
OUI location      : /s01/db_1/oui
Log file location : /s01/db_1/cfgtoollogs/opatch/opatch2011-05-06_22-28-56PM.log

Patch history file: /s01/db_1/cfgtoollogs/opatch/opatch_history.txt

Lsinventory Output file location : /s01/db_1/cfgtoollogs/opatch/lsinv/lsinventory2011-05-06_22-28-56PM.txt

--------------------------------------------------------------------------------
Installed Top-level Products (2): 

Oracle Database 10g                                                  10.2.0.1.0
Oracle Database 10g Release 2 Patch Set 3                            10.2.0.4.0
There are 2 products installed in this Oracle Home.

Interim patches (4) :

Patch  9696904      : applied on Fri May 06 22:26:37 CST 2011
Unique Patch ID:  12575150
   Created on 10 May 2010, 23:22:02 hrs PST8PDT
   Bugs fixed:
     7025450, 8575528, 6904068
   This patch overlays patches:
     9352164
   This patch needs patches:
     9352164
   as prerequisites

Patch  7527908      : applied on Fri May 06 22:25:33 CST 2011
Unique Patch ID:  12546933
   Created on 30 Apr 2010, 12:48:09 hrs PST8PDT
   Bugs fixed:
     7527908
   This patch overlays patches:
     9352164
   This patch needs patches:
     9352164
   as prerequisites

Patch  9654991      : applied on Fri May 06 21:33:38 CST 2011
Unique Patch ID:  12816418
   Created on 30 Jun 2010, 18:30:40 hrs PST8PDT
   Bugs fixed:
     9714832, 9713537, 9678695, 9655017, 9173248, 8309642, 9678697, 9678690
     9573054, 9654991
   This patch overlays patches:
     9352164
   This patch needs patches:
     9352164
   as prerequisites

Patch  9352164      : applied on Fri May 06 21:29:20 CST 2011
Unique Patch ID:  12307477
   Created on 1 Apr 2010, 11:33:14 hrs PST8PDT
   Bugs fixed:
.............................................................

/* Applied one-off patch successfully, That's great! */

opatch java.lang.OutOfMemoryError:Java heap space错误一例

一套11.1.0.6的RAC系统在在使用opatch工具时出现了OutOfMemoryError: Java heap space错误,其错误日志如下:

opatch lsinventory
Invoking OPatch 11.1.0.6.2

Oracle Interim Patch Installer version 11.1.0.6.2
Copyright (c) 2007, Oracle Corporation.  All rights reserved.

Oracle Home       : /u01/oracle/db/11.1.0
Central Inventory : /u01/oraInventory
   from           : /etc/oraInst.loc
OPatch version    : 11.1.0.6.2
OUI version       : 11.1.0.7.0
OUI location      : /u01/oracle/db/11.1.0/oui
Log file location : /u01/oracle/db/11.1.0/cfgtoollogs/opatch/opatch2011-03-11_03-05-22AM.log

Lsinventory Output file location : /u01/oracle/db/11.1.0/cfgtoollogs/opatch/lsinv/lsinventory2011-03-11_03-05-22AM.txt

--------------------------------------------------------------------------------
Installed Top-level Products (2):

Oracle Database 11g                                                  11.1.0.6.0
Oracle Database 11g Patch Set 1                                      11.1.0.7.0

Interim patches (3) :

Patch  8496830      : applied on Wed Mar 30 07:11:26 CDT 2011
   Created on 27 Aug 2009, 01:59:52 hrs PST8PDT
   Bugs fixed:
     8496830

Patch  7327166      : applied on Wed Oct 20 11:25:00 CDT 2010
   Created on 31 Dec 2008, 10:49:56 hrs PST8PDT
   Bugs fixed:
     7327166

Patch  7253531      : applied on Wed Jul 28 14:45:44 CDT 2010
   Created on 24 Nov 2008, 03:52:49 hrs PST8PDT
   Bugs fixed:
     7253531
Exception in thread "Thread-7" Exception in thread "Thread-3" java.lang.OutOfMemoryError: Java heap space
java.lang.OutOfMemoryError: Java heap space

事后发现是由于opatch期间1号节点无法使用ssh服务登陆到其他节点上引起的,修复该故障后问题消失了。

另外提一句我们建议使用最新版本的opatch工具来管理数据库补丁,最新版本的opatch工具可以从<OPatch – Where Can I Find the Latest Version of OPatch?>下载到!

Patch your 10g Oracle database to PSU 10.2.0.4.5

有人会问不是10.2.0.5已经release了吗?为什么还要装10.2.0.4版本的PSU(Patch set Update)呢?做出这样的决定很大程度上是处于无奈的,毕竟Oracle的Bug有那么多,百年大计安全第一;10.2.0.4的稳定性在10g的范畴内可说是有目共睹的,而多达5个版本的PSU也进一步保证了能在10.2.0.4基础上不做大的变更,只修复合并一些小的bug。继10.2.0.4.4后(10.2.0.4.4有CRS和DB 2个版本)在July 13.2010推出了10.2.0.4.5 PSU,该PSU只有1.3MB大小,合并了:9714832, 9713537, 9678695, 9655017, 9173248, 8309642, 9678697, 9678690,9573054, 9654991等多个patch;因为10.2.0.4.5 PSU需要在10.2.0.4.4的基础上才能apply,所以我们需要首先应用10.2.0.4.4 PSU补丁。

PSU 10.2.0.4.5 的安装步骤:

1.如果你是全新的fresh安装的话,需要安装数据库Server软件10.2.0.1,之后升级到10.2.0.4;此外因为是fresh installation,还不存在数据库,所以只要是以custom database形式创建的新库都可以skip Post installation的步骤(也就是说不用执行脚本),而以DBCA中General, Data Warehouse, Transaction Processing形式创建新库需要执行catbundle.sql升级脚本(Loading Modified SQL Files into the Database)。
2.安装Oracle Opatch软件版本11.2.0.0,对应的patch号为6880880,使用10.2.0.4默认的Opatch软件在prereq和apply阶段会遇到Bug,并出现以下问题:

Invoking prereq "checkconflictagainstohwithdetail"
Prereq "checkConflictAgainstOHWithDetail" not executed
Unable to create Patch Object.
Exception occured : Patch ID is null.

Invoking prereq "checkconflictagainstohwithdetail"
The location ".//README.html" is not a directory or a valid patch zip file.
Prereq "checkConflictAgainstOHWithDetail" not executed
PrereqSession failed: Invalid patch location.

可以从MOS下载到p6880880_112000_$PLATFORM.zip的介质,解压后将OPatch部分的内容覆盖到原$ORACLE_HOME/OPatch目录:
[Read more…]

11.2.0.2补丁集安装体验

使用了Out-of-place Upgrade方式,安装图形界面沿袭了11.2.0.1的风格:
[Read more…]

沪ICP备14014813号-2

沪公网安备 31010802001379号