Share the content if you found it is useful (You can share using 300 community websites) click "share" at the end of the post.

You are encouraged to leave a comment.








Tuesday, June 29, 2010

ADPatch - Rush-up

This post is about basics of Applications patches and its options.


ADPATCH Options
You can execute adpatch by logging in as the applications OS user and sourcing the appropriate environment file.
#su - applmgr
$cd SAMAPPL
$. ./APPSORA.env
$adpatch

By default adpatch does not take any clause, but there are some clauses that you could use with adpatch.
Running a patch in test modeYou can use the apply clause with adpatch to specify weather to run the patch in TEST mode or not,
when you run the patch in test mode it does not do any changes but runs generates a log file with all the actions it would have performed.

$adpatch apply=ny
The default is apply=y
Pre-install Mode You can also run a patch in pre install mode, this would be done normally during an upgrade or consolidated update. When a patch is applied in a preinstall mode the all the AD utilities are updated before the upgrade or update .

$adpatch preinstall=y
The default is preinstall=n
Other Options with adpatch
You can use the options clause to specify some of the other options available with adpatch.
AutoconfigYou can use the options=noautoconfig
top specify autopatch that you do not wish to run autoconfig as a part of the patch application. This can be useful when applying a large number of patches when they are not merged.

By default autoconfig is run as a part of adpatch.
$adpatch options=noautoconfig

Checkfile
The chekfile option of adpatch tells adpatch to check for already executed exec, SQL, and exectier commands.
You can use
options=nocheckfile
skips this check, however this can cause performance overheds so should be used only when specified.
$adpatch options=nocheckfile

Compile DatabaseBy default autopatch compiles the invalid objects after the patch application, in case you wish not to do so you can specify

options=nocompiledb
along with autopatch.$adpatch options=nocompiledb

Compile JSPBy default auto patch compiles the java server pages (jsp) after the patch application, in case you wish not to do so you can specify
options=nocompilejsp
along with autopatch.

$adpatch options=nocompilejsp

Copy PortionIf you wish adpatch not to execute the commands present in the copy driver portion of the patch you can use the

options=nocopyportion
.$adpatch options=nocopyportion

Database Portion
If you wish adpatch not to execute the commands present in the database driver portion of the patch you can use the

options=nodatabaseportion.
$adpatch options=nodatabaseportion

Generate Portion
If you wish adpatch not to execute the commands present in the generate driver portion of the patch you can use the

options=nogenerateportion
$adpatch options=nogenerateportion

Maintenance Mode
If you wish to apply a patch regardless of the system being in maintenance mode you can use options=hotpatch.
$adpatch options=hotpatch

Integrity Check
If you wish to check the integrity of the patch you can use the options=integrity. Since metalink patches are pre checked for their integrity it is generally not required to do an explicit check and the default value is nointegrity.
$adpatch options=integrity

Maintain MRC
You can use the
maintainmrc option to specify weather you wish adpatch to execute the Maintain MRC schema as a part of the patch application or not. By default maintain MRC is done for standard patches and is disabled for translation and documentation patches.
$adpatch options=nomaintainmrc

Pre requisite Patch Check
If you wish adpatch not to check for pre requisite patches before application of the main patch you can use

options=noprereq.

By default pre requsite checking is enabled.
$adpatch options=noprereq

Validate Schemas
If you wish adpatch to explicitly validate all the registered schema by making a connection you can use
options=validate.
By default this validation is not performed.
$adpatch options=validate

Java Classes
If you wish adpatch not to copy new java classes from the patch you can use
options=nojcopy.

By default java classes are copied.

$adpatch options=nojcopy


Force Copy
By default adpatch copies the files without check the version of the existing files already present on the system.
If you do not wish the newer version of the file to be replaced by the older version contained in the patch use
options=noforcecopy .
$adpatch options=noforcecopy

Relinking
If you wish adpatch not do perform relinking you can use
options=nolink.
$adpatch options=nolink

Generate Forms
If you wish adpatch not to generate the forms files you can specify
options=nogenform.
$adpatch options=nogenform

Generate Reports
If you wish adpatch not to generate the report files you can specify
options=nogenrep.
$adpatch options=nogenrep

You could specify multiple options at the command line using the , delimiter.$adpatch options=hotpatch,nojcopy


Patching Best Practices
As an Oracle Applications DBA we tend to spend a considerable amount of time applying patches. A newbie Applications DBA recently asked me the duties of an Applications DBA besides patching .At that moment i refrained myself just to a smile. But the question does highlight the significance of patching in an AppsDba's routine. Patching, though not a very complicated process, inefficient or inappropriate patching can seriously jeopardize the functioning of your system. Most of the patching for oracle applications is done using adpatch tools and there are many more which have other methods of application like through a shell script. However in my current post i will talking only about the adpatch patches. The 'best practices' mentioned here are the ones which I have felt to be of use and have made my patching life a bit less complicated.


Patching Methodology
Having a proper patching process and methodology is always helpful. The ideal one for me is the PATCH -> TEST -> DEVELOPMENT -> PRODUCTION one.

Under this the patch is first applied to a patch instance then it is propagated to the test environment where the testing is done after which it is applied on the development instance where the development team tests the patch against there customizations if any. Upon passing these stages the patch is finally applied to the production system. If you cannot afford these many instances at minimum you must ensure the patch is tested on TEST environment before you actually go ahead and apply the patch to your production.
ConsistencyThere should be consistency in the patch application process. That is you should use the same steps to apply the patch in your production environment that you used in your TEST/PATCH environment for example if you applied a pre requisite patch A as part of your main patch application, you must ensure the same pre requisite patch is also applied on the production environment and not a superseded version of patch A.Needless to mention there must be also consistency among the all the different environments. That is your PATCH/TEST/DEVELOPMENT and PRODUCTION environments should have the same setups configuration and patchset levels.
Schedule Patch ApplicationSchedule the patch application as far as possible. There are multiple benefits you realize out of scheduling. The most important one being that the downtimes will be scheduled and will have help the business to be prepared for them and not be taking them by surprise. Also if your patching downtimes are scheduled you can plan to have the downtime following your backup schedule thereby eliminating the need for having a separate backups for each patch application. However there will be high priority patches that will have applied outside this schedule.

A Patch in Time
It is always advisable to be at the latest patch set level at most of the times. I have always felt that it is one of your duties as an Apps DBA to take the fear of patching out of the business's mind. My experience sys that being on the latest Consolidated Update or the latest Roll up patch helps in avoiding most of the pre requisite in case of applying any one off patch which might be required. Also you should apply the Critical Patch Updates that are released by oracle every quarter.


The Readme
Before applying a patch make sure you have gone through the readme file of the patch. This file might contain some special or additional steps that you might have to follow as a part of the patch application. Also it will tell you if there are any pre requisite patches that are require. Downloading and having the pre requisites ready saves you a lot of time.
Pre requisite PatchIn case you are required to apply a pre requisite patch before you can apply the main patch. it is better to apply the pre requisite patch only and not the superseded version of the pre requisite patch. In case you choose to apply the super seeded version of the of the pre requisite patch you must doubly make sure that the superseded patch qualifies as a pre requisite patch for the main patch.

Patch Impact Analysis
A patch impact analysis should be carried out as far as possible before going ahead with the actual pat6ch application. The simplest way of doing it would be to apply the path with
apply=no
option along with adpatch. You can then go through the actions the patch would have done either from the logfile or view it through the Oracle Applications manager.

NLS Environment
In case you are patching an NLS environment. Check if you have a translation patch also available for the main patch. if one is available make sure to download and keep it ready. You must install the US language patch first and immediately follow it by applying the translation patch.
Merge Patches
In cases where you are doing a bulk patch application like during a production setup the patch application time is reduced greatly by merging the patches using AD Merge Patch. However per requisite patches should not be merged. Also in an NLS environment its is not advisable to merge multiple language translation patches.

The Logfile
I most patching scenarios the patch log file is either over written by accepting the default logfile name
adpatch.log or in other cases these are not maintained properly. I have found myself digging up patch logfiles for a variety of reasons, though you have a lot of this information available to you via Oracle Applications Manager's Patch Reports.

Maintenance Mode
With the latest AD.I patch set there is a pre requisite to put the system on maintenance mode before applying a patch. I have come across DBA's by passing this option by using options=hotpatch for reducing the patching related downtime. There is a reason for having the maintenance mode feature out there, it offers certain performance benefits and reduces the chances of any conflicts. There are other ways to reduce the patching related down times, which i will touch upon briefly next.

Reduce Your Patch Downtime

As discussed earlier merging your patches is one of the ways to reduce your patching related downtimes. There are also certain options you could use with adpatch which could reduce your downtime significantly. You must however understand each of there options clearly before using them with adpatch. For e.g. choosing not to compile invalid objects might reduce your patching downtime but you must be sure of the invalid objects or you must manually run the compilation script once you are through with all your patch application. You can also implement the concept of a Shared Application Tier File System and a Staged APPL_TOP to further bring down your patching downtime and effort.

Automate
If PossibleIn case your business can afford it you should opt for automating the patch application and management process using third party

Below are categories under which Oracle Application patches are divided.

Standalone or Individual Patches - These kind of patches are delivered to fix a one off bug or introduce a new feature in any of the oracle applications products. Mostly these patches would be independent and unrelated though they might require certain pre requisite patches to be applied.
Mini Packs - These are a consolidation of various standalone patches for a particular product in oracle applications like AD,GL etc. The naming convention for mini packs would be in the form of 11i.. such as 11i.AD.I.Mini packs are cumulative in nature that is AD.I would include all the bug fixes that were included in AD.H and so on. Prior to release 11 the mini packs were referred as patch sets.

Family Packs - A family pack is a consolidation of all the mini packs and various stand alone patches for a particular oracle applications product family. The functional grouping of application products forms a product family like financials HRMS etc. The naming convention of these family packs are in the form of 11i. like 11i.HR_PF.K.As in the case of mini packs the family packs are also cumulative in nature.
Consolidated Updates - Since the time between releases of oracle applications is significant, a number of patches mini packs and family packs would have been introduced. A consolidated update as the name implies is a consolidation of the recommended patches that have been released up till the date of the release of the consolidated update. A consolidated update brings the entire oracle applications system to the latest recommended patch level. The consolidated updates are in the form of CU like CU2.Consolidated updates are also cumulative.

Technology Stack Updates - Recently oracle has started to introduce a new type of patch know as the technology stack update, these include consolidation of patches and mini packs for the underlying technology stack. As a result they do not include any functional patches. An example of technology stack update is 11i.ATG_PF.H.Technology stack updates are cumulative.
Maintenance Packs - A maintenance pack is a consolidation of all the mini packs for all products and all the family packs for the entire oracle applications. Maintenance packs upgrade the system from on release to a higher release for example when you apply the 11.5.10.2 maintenance pack to a 11.5.9 system you upgrade your entire oracle applications to a higher version.

Critical Patch updates (CPU) - Every quarter oracle releases critical patch update that addresses the security vulnerabilities and alerts that have been identified. The critical patch updates were introduced in 2005 prior to which security alert were used address the security fixes for oracle products.

Translation Patches - In a multilingual environment the patches are first applied in the base language. After that a translation patch is required to be applied for each of the additional language installed. The translation patches would be in the form of _ like 3460000_FRC implies the Canadian French translation patch for 3460000 (consolidated update 2).

Recommended Patch List (RPL) - A recommend patch list is a list of patches for a particular oracle applications product. The RPL is not a patch but just a list of recommendations. In fact the consolidated updates are built up on the RPL based on the cut off dates for inclusion .

Thursday, June 03, 2010

Upgrade 10.2.0.3 to 11.1.0.6 (EBS 12.1.2)

Today I need to blog out my experiences during the Database Upgrade to 11.1.0.6 from 10.2.0.3 (12.1.2 EBSuite)

Server Name: prod.chainsys.com

(Manually Upgraded from 12.0.6 to 12.1.1 then to 12.1.2)


For Upgrading the oracle Applications from 12.0.x to 12.1.1, please refer my previous blog

http://balajiabhi.blogspot.com/2009/07/upgrade-oracle-e-business-suite-1205-to.html


WEB_OH=10.1.3.4.0

TOOLS_ORACLE_HOME=10.1.2.3.0


Previous Locations:

RDBMS_ORACLE_HOME = /HDD/GENIUS/db/tech_st/10.2.0


Upgrade Location:


RDBMS_ORACLE_HOME=/HDD/product/11.1.0/db_2


Steps for Upgrade:

  1. Check for Invalid Objects
  2. Compile them using adadmin before proceed to Upgrade 11.1.0.6

Applications Part:

  1. Apply 64400501 using Opatch tool. For applying opatch, please refer Readme.txt of the patch.

(Ensure that you have included OPatch directory on the path)

  1. Move to DB Oracle Home (10.2.0.3 Home)

Populate DB environment file.


De Register current tns configurations from DB Oracle Home


From appsutil/bin


Run:

[oracle@prod 10.2.0]$ perl $ORACLE_HOME/appsutil/bin/adgentns.pl appspass=apps contextfile=$CONTEXT_FILE -removeserver


################################################################

Generate Tns Names

################################################################

Classpath : :/HDD/GENIUS/db/tech_st/10.2.0/jdbc/lib/ojdbc14.jar:/HDD/GENIUS/db/tech_st/10.2.0/appsutil/java/xmlparserv2.jar:/HDD/GENIUS/db/tech_st/10.2.0/appsutil/java:/HDD/GENIUS/db/tech_st/10.2.0/jlib/netcfg.jar:/HDD/GENIUS/db/tech_st/10.2.0/jlib/ldapjclnt10.jar


Loading ORACLE_HOME environment from /HDD/GENIUS/db/tech_st/10.2.0

Logfile: /HDD/GENIUS/db/tech_st/10.2.0/appsutil/log/GENIUS_prod/05311427/NetServiceHandler.log


adgentns.pl exiting with status 0


ERRORCODE = 0 ERRORCODE_END


Please Note: Don’t run Autoconfig on Application Tier until it is instructed. If you want to change the SID, Port and hostname, do that now and update the application tier Context file with relevant values:


The new 11.1.0 Oracle home uses its own database listener for the database instance, replacing the current database listener. Use the Context Editor to update the following variables in the Applications context file on each application tier server node to reflect the 11.1.0 configuration:


Variable Name

Value

s_dbhost

New database hostname

s_dbdomain

New database domain name

s_db_serv_sid

New database SID

s_dbport

New database listener port

s_apps_jdbc_connect_descriptor

NULL



If you don’t change anything, update the s_apps_jdbc_connect_descriptor alone to NULL.


Step:2


Keep ready 11.1.0.6 Database installer and unzip to a temporary location.


Run the ./runInstaller from the unzipped location


Screen 1:


Select Advanced Option


Screen 2:


Select Enterprise Edition


Screen 3:


Specify, Oracle BASE, Oracle Home Name, and location


Screen 4:


Don’t select any database to be upgraded if shown.


Screen 5:


Select Configuration: Install Software only


Continue as pressing Next.


Once completed,



Step 3:


Create a profile file consisting of like this for 11g Database Home


export ORACLE_BASE=/HDD/product/11.1.0


export ORACLE_HOME=/HDD/product/11.1.0/db_2


export ORACLE_SID=GENIUS


export PATH=$PATH:$ORACLE_HOME/bin


export TNS_ADMIN=$ORACLE_HOME/network/admin


export ORACLE_TERM=xterm


export ORACLE_OWNER=oracle


export TNS_ADMIN=$ORACLE_HOME/network/admin


export CLASSPATH=$ORACLE_HOME/jdbc/lib/classes12.zip


export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32


export LDPATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32


Populate the environment file to setup the environment for the 11g Database Home




Step:4


Run $ORACLE_HOME/nls/data/old/cr9idata.pl script to create the $ORACLE_HOME/nls/data/9idata directory.


After creating the directory, make sure that the ORA_NLS10 environment variable is set to the full path of the 9idata directory whenever you enable the 11g Oracle home.


Add this line to profile as you created in the previous step.


export ORA_NLS10=$ORACLE_HOME/nls/data/9idata


Step 5: (Run the Pre-Upgrade Information Tool)


Copy the utlu111i.sql from 11g ORACLE_HOME/rdbms/admin to 10g Oracle HOME


Move to 10g Oracle Home


Populate Application Database Environment file and run


Please take the backup of the pfile (initSID.ora from dbs/ directory)


$sqlplus “/as sysdba” @utlu111i.sql


Oracle Database 11.1 Pre-Upgrade Information Tool 05-31-2010 15:36:58


**********************************************************************


Database:


**********************************************************************


--> name: GENIUS


--> version: 10.2.0.3.0


--> compatible: 10.2.0


--> blocksize: 8192


--> platform: Linux IA (32-bit)


--> timezone file: V4


**********************************************************************


Tablespaces: [make adjustments in the current environment]



**********************************************************************


--> SYSTEM tablespace is adequate for the upgrade.


.... minimum required size: 10731 MB


--> CTXD tablespace is adequate for the upgrade.


.... minimum required size: 15 MB


--> ODM tablespace is adequate for the upgrade.


.... minimum required size: 10 MB


--> APPS_UNDOTS1 tablespace is adequate for the upgrade.


.... minimum required size: 57 MB


--> APPS_TS_TX_DATA tablespace is adequate for the upgrade.


.... minimum required size: 5779 MB


--> APPS_TS_QUEUES tablespace is adequate for the upgrade.


.... minimum required size: 123 MB


--> OLAP tablespace is adequate for the upgrade.


.... minimum required size: 16 MB


--> SYSAUX tablespace is adequate for the upgrade.


.... minimum required size: 434 MB


--> USERS tablespace is adequate for the upgrade.



.... minimum required size: 353 MB


.... AUTOEXTEND additional space required: 2 MB


**********************************************************************


Update Parameters: [Update Oracle Database 11.1 init.ora or spfile]


**********************************************************************


-- No update parameter changes are required.


**********************************************************************


Renamed Parameters: [Update Oracle Database 11.1 init.ora or spfile]


**********************************************************************


-- No renamed parameters found. No changes are required.


**********************************************************************


Obsolete/Deprecated Parameters: [Update Oracle Database 11.1 init.ora or


spfile]


**********************************************************************


--> "background_dump_dest" replaced by "diagnostic_dest"


--> "user_dump_dest" replaced by "diagnostic_dest"


--> "core_dump_dest" replaced by "diagnostic_dest"


**********************************************************************


Components: [The following database components will be upgraded or installed]


**********************************************************************


--> Oracle Catalog Views [upgrade] VALID


--> Oracle Packages and Types [upgrade] VALID


--> JServer JAVA Virtual Machine [upgrade] VALID


--> Oracle XDK for Java [upgrade] VALID


--> Real Application Clusters [upgrade] INVALID


--> OLAP Analytic Workspace [upgrade] VALID


--> OLAP Catalog [upgrade] VALID


--> Oracle Text [upgrade] VALID


--> Oracle XML Database [upgrade] VALID


--> Oracle Java Packages [upgrade] VALID


--> Oracle interMedia [upgrade] VALID


--> Spatial [upgrade] VALID



--> Data Mining [upgrade] VALID


--> Oracle OLAP API [upgrade] VALID


**********************************************************************


Miscellaneous Warnings


**********************************************************************


WARNING: --> Database contains stale optimizer statistics.


.... Refer to the 11g Upgrade Guide for instructions to update


.... statistics prior to upgrading the database.


.... Component Schemas with stale statistics:


.... SYS


.... OLAPSYS


.... CTXSYS


.... XDB


.... ORDSYS


.... MDSYS


WARNING: --> Database contains INVALID objects prior to upgrade.


.... USER SYSTEM has 1 INVALID objects.


.... USER APPS has 1 INVALID objects.


WARNING: --> Database contains schemas with objects dependent on network


packages.


.... Refer to the 11g Upgrade Guide for instructions to configure Network


ACLs.


.... USER APPS has dependent objects.


PL/SQL procedure successfully completed.


Step 5: (Timezone Update)


Applying "version 4" Time Zone Files on an Oracle Database


Definitely the Version of the v$timezone_file will return version lower than version 4 if you use 10g

of any version.


For 10.2.0.3 there is a available patch, 5632264 from metalink and apply the same as opatch on

10.2.0.3 oracle HOME.


Please Note: If you are using a Version like 10.2.0.4, then you may not get the correct patch from the metalink. So, you can use this workaround.


I Used patch No. 5632264 and copied the 2 .dat files from the unzipped Patch then pasted in the 10g Oracle HOME/oracore/zoninfo. (Take backup of the file prior to copy) Most important (Dont neglect).


(By doing this, your orainventory does not know this. so please make a note of it yourself)


Eventhough this copy does not require any downtime, you require to restart the DB to change the version: After restart, you check with Timezone with this sql:

SQL> select * from v$timezone_file;

FILENAME VERSION
------------ ----------
timezlrg.dat 4


Step 6:


Gather Schema Statistics


From 10g Oracle Home:


Use Note ID: 560336.1 to get a query to identify stale statistics.


If any row identified by this query (please use the query provided by the script itself) else,


$ sqlplus "/as sysdba"


SQL> EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;


Step: 7


Disable Oracle database vault:


Please use Note ID: 453903.1 for doing this.


Step: 8:


Configuring Network ACLs (Network Access Control Lists)


Oracle Database 11g Release 1 (11.1) includes fine-grained access control to the UTL_TCP, UTL_SMTP, UTL_MAIL, UTL_HTTP, or UTL_INADDR packages using Oracle XMLDB. If you have applications that use one of these packages, you must install OracleXML DB if it is not already installed. You must also configure network access control lists (ACLs) in the database before these packages can work as they did in prior releases. Actions are discussed in Post Upgrade tasks as the DBMS_NETWORK_ACL_ADMIN package is introduced after upgrading the database and not available in prior releases.

Script is this. It will give you a script called analyze.sql.

Set verify off
Set space 0
Set line 120
Set heading off
Set feedback off
Set pages 1000
Spool analyze.sql

SELECT 'Analyze cluster "'||cluster_name||'" validate structure cascade;'
FROM dba_clusters
WHERE owner='SYS'
UNION
SELECT 'Analyze table "'||table_name||'" validate structure cascade;'
FROM dba_tables
WHERE owner='SYS'
AND partitioned='NO'
AND (iot_type='IOT' OR iot_type is NULL)
UNION
SELECT 'Analyze table "'||table_name||'" validate structure cascade into invalid_rows;'
FROM dba_tables
WHERE owner='SYS'
AND partitioned='YES';

spool off


Run this analyze.sql as sys user on 10g Oracle HOME



This may take several hours based on your Applications environment.


Once finished with this script:


Step: 9:


Stop the listener and other executables like emctl and also isqlplusctl


1. $lsnrctl stop SID

Step: 10:


Ensure no media for media recovery (using select * from v$recover_file)



Step: 11:


Resolve any unresolved pending transactions using (select * from dba_2pc_pending)


if this query returns any rows, you should do,


SQL> SELECT local_tran_id


FROM dba_2pc_pending;


SQL> EXECUTE dbms_transaction.purge_lost_db_entry('');


SQL> COMMIT;




Step: 12:


Ensure the users SYS and SYSTEM have system tablespace as their default. (select username,


default_tablespace from dba_users where username in ('SYS', 'SYSTEM'))


if anything is missed out, try to fix as (alter user username default_tablespace system.)




Step: 13:


Ensure that auditing is enabled in system tablespace by (select tablespace_name from dba_tabels where table_name='AUD$';)


Shutdown the instance;


Backup the database (COLD BACKUP) I used RMAN.


Make a backup of init.ora file (pfile) Comment out obsolete parameters and change the deprecated parameters


(List available with Note ID: 454442.1)



Move the pfile to 11g oracle Home dbs/ directory



Step: 14



Apply the additional Patches on 11g Oracle Home:


For all platforms apply OPatch 11.1.0.0.0. This is the same as OPatch 11.1.0.6.2 required by patch 6778860.


Apply the following patches:


For all UNIX/Linux platforms, apply RDBMS patches:


When Applying the patch 7377378, it includes lot of other bug fixed. Please use


$opatch napply


to apply this patch.



Step: 15:


Move to $ADMIN_SCRIPTS_HOME from APPL_TOP and stop the application services.


Step: 16:


Startup the sqlplus from 11g ORACLE_HOME with new initfile from dbs/ directory as per the step described

above. (After removing the deprecated values from the 10g Oracle Home (dbs/initSID.ora)


$sqlplus “/as sysdba”


SQL> Startup upgrade;


Once the database is opened, from rdbms/admin run


Sql> @catupgrd.sql


Once completed,


Run


Sql> @utlrp.sql


Once completed,


Please check as


Sql> select comp_name,comp_id from dba_registry



COMP_NAME


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


VERSION STATUS


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


Oracle Data Mining


11.1.0.6.0 VALID


Oracle XML Database


11.1.0.6.0 VALID


COMP_NAME


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


VERSION STATUS


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


OLAP Catalog


11.1.0.6.0 VALID


Oracle Text


11.1.0.6.0 VALID


COMP_NAME


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


VERSION STATUS


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


Oracle Multimedia


11.1.0.6.0 INVALID


Oracle Database Catalog Views


11.1.0.6.0 VALID


Oracle Database Packages and Types


11.1.0.6.0 VALID


COMP_NAME


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


VERSION STATUS


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


JServer JAVA Virtual Machine


11.1.0.6.0 VALID


Oracle Database Java Packages


11.1.0.6.0 VALID


Oracle XDK


11.1.0.6.0 VALID


COMP_NAME


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


VERSION STATUS


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


OLAP Analytic Workspace


11.1.0.6.0 VALID


Oracle OLAP API


11.1.0.6.0 VALID


12 rows selected.


SQL>



Step: 17:


From $ORACLE_HOME/bin


Run


./netca


Create a listener for 11gOracle Home as it does not have any listener configured.


It will automatically start the listener.


And also, create a tnsnames.ora using netca for the instance.


Applications Part:


Copy $APPL_TOP/admin/adgrants.sql from the administration server node to the database server node.


Use SQL*Plus to connect to the database as SYSDBA and run the script using the following command:


$ sqlplus "/ as sysdba" @adgrants.sql APPS


Once finished:


Copy $AD_TOP/patch/115/sql/adctxprv.sql from the administration server node to the database server node.


Use SQL*Plus to connect to the database as APPS and run the script using the following command:


$ sqlplus apps/[APPS password] @adctxprv.sql [SYSTEM password] CTXSYS


$ sqlplus apps/apps @adctxprv.sql MANAGER CTXSYS




Once finished:


Copy the $FND_TOP/patch/115/sql/wfaqupfix.sql script to the database node and run as using the following

command:


$ sqlplus [APPS user]/[APPS password] @wfaqupfix.sql\
  [APPLSYS user] [APPS user]
 
$ sqlplus apps/apps @wfaqupfix.sql APPLSYS APPS
 
 
Once finished:
 
Go to $AD_TOP/bin
Run 
$perl admkappsutil.pl
 

[oracle@prod appl]$ . APPSGENIUS_prod.env

[oracle@prod appl]$ cd $AD_TOP/bin

[oracle@prod bin]$ perl admkappsutil.pl

Starting the generation of appsutil.zip

Log file located at /HDD/GENIUS/inst/apps/GENIUS_prod/admin/log/MakeAppsUtil_06031008.log

output located at /HDD/GENIUS/inst/apps/GENIUS_prod/admin/out/appsutil.zip

MakeAppsUtil completed successfully.


Once completed:

Copy the appsutil.zip to 11g ORACLE_HOME

Unzip the appsutil.zip using

$ unzip –o appsutil.zip
 

It will inflate the contents into appsutil directory
 

Run adbldxml.pl
 


oracle@prod bin]$ perl adbldxml.pl jtop=/HDD/product/11.1.0/db_2/jdk/jre


Starting context file generation for db tier..


Using JVM from /HDD/product/11.1.0/db_2/jdk/jre/bin/java to execute java


programs..


APPS Password: apps


The log file for this adbldxml session is located at:


/HDD/product/11.1.0/db_2/appsutil/log/adbldxml_06031014.log


AC-00013: Error: File: /HDD/product/11.1.0/db_2/network/admin/listener.ora is


not a valid file as database SID could not be found for connect string: GENIUS


Could not Connect to the Database with the above parameters, Please answer the Questions


below


Enter Hostname of Database server: prod.chainsys.com


Enter Port of Database server: 1521


Enter SID of Database server: GENIUS


The context file has been created at:


/HDD/product/11.1.0/db_2/appsutil/GENIUS_prod.xml


[oracle@prod bin]$

 
 

This will create SID_hostname.env in the 11g ORACLE_HOME and will create the context file in the appsutil directory.
 

PREPARE TO RUN AUTOCONFIG on the New Oracle HOME:
 

From appsutil/bin
 

Run:
 

oracle@prod bin$./adconfig.sh contextfile=/HDD/product/11.1.0/db_2/appsutil/GENIUS_prod.xml
 

It will finish the autoconfig on DB Tier.
 
 
 

Gather Statistics for SYS Schema


Copy $APPL_TOP/admin/adstats.sql from the administration server node to the database server node.


Note that adstats.sql has to be run in restricted mode.


Use SQL*Plus to connect to the database as SYSDBA and use the following commands to restart the database

in restricted mode, run adstats.sql, and restart the database in normal mode:


$ sqlplus "/ as sysdba"

SQL> shutdown normal;

SQL> startup restrict;

SQL> @adstats.sql

SQL> shutdown normal;

 

Populate the newly created DB_HOME environment file from 11g ORACLEHOME


Startup the listener as


$lsnrctl start [SID]



Once done,



Populate Application Environment file and then






Using adadmin, recreate grants and synonyms.



Run Autoconfig on Application Server


Navigate to $ADMIN_SCRIPTS_HOME


Run

$adautocfg.sh


Once finished, your database and application node are using the new 11g Database Home.





Startup the application services









To verify the upgrade:

Login to Applications from front end, as a user SYSADMIN


Navigate to OAM, then find out the database version.




Cheers!!!!

Related Posts Plugin for WordPress, Blogger...

Let us be Friends...

Share |

Popular Posts

Recent Comments