Friday, June 4, 2010

How to change compatible parameter in Oracle

Overview of Compatible parameter
Oracle compatible parameter is a string data type parameter and value of this parameter is oracle database version. It can take value as 11.1.0.7, 11.1.0.6, 10.2.0.4, 10.2.0.3, 10.1.0.5, 10.1.0.4, 9.2.0.8, 9.0.1.4, 8.1.7.4 etc. This parameter controls the database behavior for example whether a feature will work for a database. For example if database version is 10.2.0.4 but compatible parameter is set to 9.2 then certain feature like RMAN compression will not work.

After the database upgrade, if the compatible parameter is set to database version then new feature stores any data on disk (including data dictionary changes) that cannot be processed with your previous release. However after upgrade if compatible parameter is not changed then new feature of the upgraded version will not be available.

Default, minimum and maximum value of compatible parameter
Here goes the compatible parameter default, minimum and maximum values based on oracle database version.



Oracle Database Release

Default Value

Minimum Value

Maximum Value

Oracle Database 9i Release 2 (9.2)

8.1.0

8.1.0.0.0

9.2.0.n.n

Oracle Database 10g Release 1 (10.1)

10.0.0

9.2.0.0.0

10.1.0.n.n

Oracle Database 10g Release 2 (10.2)

10.2.0

9.2.0.0.0

10.2.0.n.n

Oracle Database 11g Release 1 (11.1)

11.0.0

10.0.0.0.0

11.1.0.n.n




In order to check your compatible parameter issue,
SQL> SELECT name, value, description FROM v$parameter WHERE name = 'compatible';

or if you use sql*plus issue,
SQL> show parameter compatible;

Steps to change compatible parameter
1) Perform full backup of your database (optional).
Before changing compatible parameter, you should take a full backup of your database. Because raising the COMPATIBLE initialization parameter may cause your database to become incompatible with earlier releases of the Oracle Database, and a backup ensures that you can return to the earlier release whenever you want.

2) If you are using spfile parameter to start up your database then complete the following things.

a. Update the server parameter file to set or change the value of the COMPATIBLE initialization parameter.
For example, to set the COMPATIBLE initialization parameter to 10.2.0, issue the following statement:
SQL> ALTER SYSTEM SET COMPATIBLE = '10.2.0' SCOPE=SPFILE;

b. Shut down and restart the instance.
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP


3) If you are using pfile parameter, then complete the following steps.

a. Shut down the instance if it is running:
SQL> SHUTDOWN IMMEDIATE

b. Edit the initialization parameter file to set or change the value of the COMPATIBLE initialization parameter.
For example, to set the COMPATIBLE initialization parameter to 10.2.0, enter the following in the initialization parameter file:
COMPATIBLE = 10.2.0

c. Start the instance using STARTUP.
SQL> STARTUP

Related Documents
http://arjudba.blogspot.com/2008/04/list-of-oracle-database-version-release.html
http://arjudba.blogspot.com/2008/04/oracle-database-editions.html
http://arjudba.blogspot.com/2008/04/oracle-products.html
http://arjudba.blogspot.com/2008/04/timeline-of-oracle-rdbms-major-release.html
http://arjudba.blogspot.com/2008/04/history-of-oracle-corporation.html
http://arjudba.blogspot.com/2008/10/list-of-patchset-number-in-metalink.html
http://arjudba.blogspot.com/2010/01/how-to-know-whether-patches-applied-to.html

Thursday, June 3, 2010

java.util.zip.ZipException: reading zip file central directory failed

Problem Description
While applying opatch, from the front end I see following message.
Do you want to proceed? [y|n]
y
User Responded with: Y
Running make for target iextjob
Running make for target iextjobo
Running make for target client_sharedlib
Running make for target idgmgrl
Running make for target ioracle
Running make for target client_sharedlib
Running make for target itnslsnr
Running make for target iwrap
Running make for target genplusso
ApplySession adding interim patch '9119284' to inventory

Verifying the update...
Inventory check OK: Patch ID 9119284 is registered in Oracle Home inventory with proper meta-data.
java.util.zip.ZipException: unexpected EOF
        at java.util.zip.ZipInputStream.read(ZipInputStream.java:159)
        at java.io.FilterInputStream.read(FilterInputStream.java:90)
        at oracle.opatch.MultiJarUtil.writeOneZipEntryToFile(MultiJarUtil.java:422)
        at oracle.opatch.MultiJarUtil.doVerifyLeafLevel(MultiJarUtil.java:259)
        at oracle.opatch.JarActionHelper.verify(JarActionHelper.java:291)
        at oracle.opatch.JarAction.verifyMultiLevel(JarAction.java:2101)
        at oracle.opatch.JarAction.verify(JarAction.java:2022)
        at oracle.opatch.OPatchSessionHelper.verifyPatchAction(OPatchSessionHelper.java:2928)
        at oracle.opatch.ApplySession.verify(ApplySession.java:2781)
        at oracle.opatch.ApplySession.wasThisPatchApplied(ApplySession.java:2391)
        at oracle.opatch.ApplySession.processLocal(ApplySession.java:4463)
        at oracle.opatch.ApplySession.process(ApplySession.java:5584)
        at oracle.opatch.OPatchSession.main(OPatchSession.java:1718)
        at oracle.opatch.OPatch.main(OPatch.java:630)
There are 3 jar files under ORACLE_HOME that are not patched.
Files check failed: Some files under ORACLE_HOME are not patched. Please see log file for details.
ApplySession failed: ApplySession failed in system modification phase... 'Verification of patch failed: Files are not updated completely.'
OPatch will attempt to restore the system...
Restoring the Oracle Home...
Checking if OPatch needs to invoke 'make' to restore some binaries...
OPatch was able to restore your system. Look at log file and timestamp of each file to make sure your system is in the state prior to appl                    ying the patch.
--------------------------------------------------------------------------------
The following warnings have occurred during OPatch execution:
1) OUI-67160:ApplySession for patch ID '9119284': Could not back up following actions for patch rollback:
1) null
2) null
3) null

2) OUI-67124:java.lang.NullPointerException

3) OUI-67124:Files check failed: Some files under ORACLE_HOME are not patched. Please see log file for details.
--------------------------------------------------------------------------------

OPatch failed with error code 73

From the logfile,
INFO:Is the local system ready for patching? [y|n]
INFO:Start to wait for user-input at Fri May 28 00:29:59 EDT 2010
INFO:Finish waiting for user-input at Fri May 28 00:30:05 EDT 2010
INFO:User Responded with: Y
INFO:Start saving patch at Fri May 28 00:30:05 EDT 2010
INFO:Finish saving patch at Fri May 28 00:30:15 EDT 2010
INFO:Start backing up system for restore at Fri May 28 00:30:15 EDT 2010
INFO:Backing up files and inventory (not for auto-rollback) for the Oracle Home
INFO:Backing up files affected by the patch '9119284' for restore. This might take a while...
INFO:Finish backing up system for restore at Fri May 28 00:30:32 EDT 2010
INFO:******* create file /SIDS/app/oracle/product/10.2.0/db/.patch_storage/interim_inventory.txt
INFO:Start backing up system for rollback at Fri May 28 00:30:32 EDT 2010
INFO:Backing up files affected by the patch '9119284' for rollback. This might take a while...
INFO:Going to backup for rollback Jar Action(s) in a consolidated mode.
INFO:Jar Path -> /SIDS/app/oracle/product/10.2.0/db/rdbms/jlib/qsma.jar
INFO:--- Clubbed Actions for this Jar Path to backup for rollback NOW -> 
INFO:Backup For Rollback starts for the clubbed jars at --> Fri May 28 00:30:37 EDT 2010
INFO:Stack Description: java.util.zip.ZipException: reading zip file central directory failed
INFO:StackTrace: java.util.zip.ZipFile.open(Native Method)
INFO:StackTrace: java.util.zip.ZipFile.(ZipFile.java:123)
INFO:StackTrace: java.util.jar.JarFile.(JarFile.java:127)
INFO:StackTrace: java.util.jar.JarFile.(JarFile.java:92)
INFO:StackTrace: oracle.opatch.JarActionHelper.backupForRollback(JarActionHelper.java:1032)
INFO:StackTrace: oracle.opatch.JarAction.backupForRollback(JarAction.java:1575)
INFO:StackTrace: oracle.opatch.PatchObject.backupForRollback(PatchObject.java:4339)
INFO:StackTrace: oracle.opatch.ApplySession.processLocal(ApplySession.java:4388)
INFO:StackTrace: oracle.opatch.ApplySession.process(ApplySession.java:5584)
INFO:StackTrace: oracle.opatch.OPatchSession.main(OPatchSession.java:1718)
INFO:StackTrace: oracle.opatch.OPatch.main(OPatch.java:630)
INFO:Stack Description: java.lang.NullPointerException
INFO:StackTrace: oracle.opatch.JarActionHelper.backupForRollback(JarActionHelper.java:1204)
INFO:StackTrace: oracle.opatch.JarAction.backupForRollback(JarAction.java:1575)
INFO:StackTrace: oracle.opatch.PatchObject.backupForRollback(PatchObject.java:4339)
INFO:StackTrace: oracle.opatch.ApplySession.processLocal(ApplySession.java:4388)
INFO:StackTrace: oracle.opatch.ApplySession.process(ApplySession.java:5584)
INFO:StackTrace: oracle.opatch.OPatchSession.main(OPatchSession.java:1718)
INFO:StackTrace: oracle.opatch.OPatch.main(OPatch.java:630)
INFO:Going to backup for rollback Jar Action(s) in a consolidated mode.
INFO:Jar Path -> /SIDS/app/oracle/product/10.2.0/db/rdbms/jlib/qsma.jar
INFO:--- Clubbed Actions for this Jar Path to backup for rollback NOW -> 
INFO:Backup For Rollback starts for the clubbed jars at --> Fri May 28 00:30:37 EDT 2010
INFO:Stack Description: java.util.zip.ZipException: reading zip file central directory failed

The following actions have failed:
WARNING:OUI-67124:java.lang.NullPointerException

INFO:
Do you want to proceed? [y|n]
INFO:Start to wait for user-input at Fri May 28 01:43:18 EDT 2010
INFO:Finish waiting for user-input at Fri May 28 01:45:24 EDT 2010
INFO:User Responded with: Y
INFO:Running make for target iextjob
INFO:Start invoking 'make' at Fri May 28 01:45:25 EDT 2010Fri May 28 01:45:25 EDT 2010
INFO:Finish invoking 'make' at Fri May 28 01:45:28 EDT 2010
INFO:Running make for target iextjobo
INFO:Start invoking 'make' at Fri May 28 01:45:28 EDT 2010Fri May 28 01:45:28 EDT 2010
INFO:Finish invoking 'make' at Fri May 28 01:45:29 EDT 2010
INFO:Running make for target client_sharedlib
INFO:Start invoking 'make' at Fri May 28 01:45:29 EDT 2010Fri May 28 01:45:29 EDT 2010
INFO:Finish invoking 'make' at Fri May 28 01:47:12 EDT 2010
INFO:Running make for target idgmgrl
INFO:Start invoking 'make' at Fri May 28 01:47:12 EDT 2010Fri May 28 01:47:12 EDT 2010
INFO:Finish invoking 'make' at Fri May 28 01:47:14 EDT 2010
INFO:Running make for target ioracle
INFO:Start invoking 'make' at Fri May 28 01:47:14 EDT 2010Fri May 28 01:47:14 EDT 2010
INFO:Finish invoking 'make' at Fri May 28 01:48:18 EDT 2010
INFO:Running make for target client_sharedlib
INFO:Start invoking 'make' at Fri May 28 01:48:18 EDT 2010Fri May 28 01:48:18 EDT 2010
INFO:Finish invoking 'make' at Fri May 28 01:49:42 EDT 2010
INFO:Running make for target itnslsnr
INFO:Start invoking 'make' at Fri May 28 01:49:42 EDT 2010Fri May 28 01:49:42 EDT 2010
INFO:Finish invoking 'make' at Fri May 28 01:49:44 EDT 2010
INFO:Running make for target iwrap
INFO:Start invoking 'make' at Fri May 28 01:49:44 EDT 2010Fri May 28 01:49:44 EDT 2010
INFO:Finish invoking 'make' at Fri May 28 01:49:54 EDT 2010
INFO:Running make for target genplusso
INFO:Start invoking 'make' at Fri May 28 01:49:54 EDT 2010Fri May 28 01:49:54 EDT 2010
INFO:Finish invoking 'make' at Fri May 28 01:49:56 EDT 2010
INFO:Finish modifying the system at Fri May 28 01:49:57 EDT 2010
INFO:ApplySession adding interim patch '9119284' to inventory
INFO:Start saving patch to inventory at Fri May 28 01:49:57 EDT 2010
INFO:Registered Encoding value is : 8859_1 for the file /SIDS/app/oracle/product/10.2.0/db/inventory/oneoffs/9119284/etc/config/actions.xml
INFO:Finish saving patch to inventory at Fri May 28 01:50:03 EDT 2010
INFO:PatchObject::createPatchObject() Patch location is /SIDS/app/oracle/product/10.2.0/db/inventory/oneoffs/9119284
INFO:PatchObject::createPatchObject() patch location is /SIDS/app/oracle/product/10.2.0/db/inventory/oneoffs/9119284
INFO:
Verifying the update...
INFO:PatchObject::PatchObject() Patch location is /nas/sysadm/oracle/psu/HP/9119284
INFO:PatchObject::createPatchObject() Patch location is /nas/sysadm/oracle/psu/HP/9119284
INFO:PatchObject::createPatchObject() patch location is /nas/sysadm/oracle/psu/HP/9119284
INFO:PatchObject::createPatchObject() Patch location is /SIDS/app/oracle/product/10.2.0/db/inventory/oneoffs/9119284
INFO:PatchObject::createPatchObject() patch location is /SIDS/app/oracle/product/10.2.0/db/inventory/oneoffs/9119284
INFO:Inventory check OK: Patch ID 9119284 is registered in Oracle Home inventory with proper meta-data.
INFO:   verifying 38 copy files.
INFO:   verifying 4 jar files.
INFO:Verify top-level entry oracle/CDC/Purge.class using file /SIDS/app/oracle/product/10.2.0/db/.patch_storage/9119284_Dec_28_2009_03_45_13/scratch/work/Purge.class and /nas/sysadm/oracle/psu/HP/9119284/files//rdbms/jlib/CDC.jar/oracle/CDC/Purge.class
INFO:Verify top-level entry oracle/qsma/QsmaDataManager.class using file /SIDS/app/oracle/product/10.2.0/db/.patch_storage/9119284_Dec_28_2009_03_45_13/scratch/work/QsmaDataManager.class and /nas/sysadm/oracle/psu/HP/9119284/files//rdbms/jlib/qsma.jar/oracle/qsma/QsmaDataManager.class
INFO:Verify top-level entry oracle/qsma/QsmaDataReports.class using file /SIDS/app/oracle/product/10.2.0/db/.patch_storage/9119284_Dec_28_2009_03_45_13/scratch/work/QsmaDataReports.class and /nas/sysadm/oracle/psu/HP/9119284/files//rdbms/jlib/qsma.jar/oracle/qsma/QsmaDataReports.class
INFO:java.util.zip.ZipException: unexpected EOF
INFO: at java.util.zip.ZipInputStream.read(ZipInputStream.java:159)
INFO: at java.io.FilterInputStream.read(FilterInputStream.java:90)
INFO: at oracle.opatch.MultiJarUtil.writeOneZipEntryToFile(MultiJarUtil.java:422)
INFO: at oracle.opatch.MultiJarUtil.doVerifyLeafLevel(MultiJarUtil.java:259)
INFO: at oracle.opatch.JarActionHelper.verify(JarActionHelper.java:291)
INFO: at oracle.opatch.JarAction.verifyMultiLevel(JarAction.java:2101)
INFO: at oracle.opatch.JarAction.verify(JarAction.java:2022)
INFO: at oracle.opatch.OPatchSessionHelper.verifyPatchAction(OPatchSessionHelper.java:2928)
INFO: at oracle.opatch.ApplySession.verify(ApplySession.java:2781)
INFO: at oracle.opatch.ApplySession.wasThisPatchApplied(ApplySession.java:2391)
INFO: at oracle.opatch.ApplySession.processLocal(ApplySession.java:4463)
INFO: at oracle.opatch.ApplySession.process(ApplySession.java:5584)
INFO: at oracle.opatch.OPatchSession.main(OPatchSession.java:1718)
INFO: at oracle.opatch.OPatch.main(OPatch.java:630)
INFO:Verify top-level entry oracle/qsma/QsmaFileManager.class using file /SIDS/app/oracle/product/10.2.0/db/.patch_storage/9119284_Dec_28_2009_03_45_13/scratch/work/QsmaFileManager.class and /nas/sysadm/oracle/psu/HP/9119284/files//rdbms/jlib/qsma.jar/oracle/qsma/QsmaFileManager.class
INFO:   verifying 300 archive files.
SEVERE:There are 3 jar files under ORACLE_HOME that are not patched.
WARNING:OUI-67124:Files check failed: Some files under ORACLE_HOME are not patched. Please see log file for details.
SEVERE:OUI-67073:ApplySession failed: ApplySession failed in system modification phase... 'Verification of patch failed: Files are not updated completely.'

Cause of the Problem
The file "$ORACLE_HOME/rdbms/jlib/qsma.jar" itself is corrupted

The command jar tvf $ORACLE_HOME/rdbms/jlib/qsma.jar generates "java.util.zip.ZipException: unexpected EOF"

Solution of the Problem

For 10.2.0.4, we can consider extracting this file from 10.2.0.4 patchset staging kit.

- cd 10.2.0.4 Patchset Staging kit>/Disk1/stage/Patches/oracle.rdbms.rsf/10.2.0.4.0/1/DataFiles
- mkdir /tmp/qsma_jar
- cp filegroup4.1.1.jar /tmp/qsma_jar
- cd /tmp/qsma_jar
- jar xvf filegroup4.1.1.jar

-- This will give many files , including "qsma.jar" .

Rename the existing qsma.jar in the 10.2.0.4 Oracle Home and replace it with the file present in
-- /tmp/qsma_jar

Now use the ORACLE_HOME/jdk/bin/jar to check if we can list contents of this qsma.jar

If successful, proceed to apply the remaining CPU patch.

Tuesday, June 1, 2010

Abasa Arju born in this earth on 1st June, 2010

Today my first child (boy) came in this earth. He is in a hospital. I would want to keep his name as "Abasa Arju". Here goes some of his cute photos. I want dua from everyone for all of us.

This photo is taken almost just after his birth whenever I took him on my hand.

This photo is taken within 30 minutes of his birth.

Abasa Arju, whenever he was in hospital after his birth.


This photo is taken after 8 hours of his birth. Doctor gave him saline in this photo.

I wish, pray and hope that Allah will reward him a happy life in the earth and hereafter.