Notes on upgrading 11i E-Business Suite database from 10.2.0.4 to 11.2.0.3 on Linux
Apply 11gR2 interoperability patches using adpatch on Admin Tier
8815204INTEROPERABILITY PATCH FOR R11I ON 11.2 RDBMS
5644137PLM_PF.C: USE OF LITERAL CAUSING PERFORMANCE ISSUE WHEN INSERTING DATA INTO USER DEFINED ATTRIBUTES TABLES
7456837ONE -OFF - 11I AOL/J CODE BASE AND 11G JDBC DRIVER COMPLIANCE
9535311TXK AUTOCONFIG AND TEMPLATES ROLLUP PATCH Update
9835302TCH11201: ADBLDXML AND AUTOCONFIG COMPLETES WITH JAVA.LANG.UNSATISFIEDLINKERROR
Reference Metalink Notes:
881505.1
165195.1
Setup the 11.2.0.3 environment
[oracle@kens-orasql-002-uat script]$ export ORACLE_HOME=/hds001/oracle/product/11.2.0.3/dbhome_1
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/perl/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PERL5LIB=/hds001/oracle/product/11.2.0.3/dbhome_1/perl/lib/5.10.0:/hds001/oracle/product/11.2.0.3/dbhome_1/perl/lib/site_perl/5.10.0
[oracle@kens-orasql-002-uat script]$ cd /hds001/oracle/product/11.2.0.3/dbhome_1/nls/data/old/
[oracle@kens-orasql-002-uat old]$ whichperl
/hds001/oracle/product/11.2.0.3/dbhome_1/perl/bin/perl
[oracle@kens-orasql-002-uat old]$ perl cr9idata.pl
Creating directory /hds001/oracle/product/11.2.0.3/dbhome_1/nls/data/9idata ...
Copying files to /hds001/oracle/product/11.2.0.3/dbhome_1/nls/data/9idata...
Copy finished.
Please reset environment variable ORA_NLS10 to /hds001/oracle/product/11.2.0.3/dbhome_1/nls/data/9idata!
Edit .bash_profile
ORA_NLS10=/hds001/oracle/product/11.2.0.3/dbhome_1/nls/data/9idata
export ORA_NLS10
Install opatch for 11.2.0.3
[oracle@kens-orasql-002-uat stage]$ mv /hds001/oracle/product/11.2.0.3/dbhome_1/OPatch /hds001/oracle/product/11.2.0.3/dbhome_1/OPatch.old
[oracle@kens-orasql-002-uat stage]$ cp p6880880_112000_Linux-x86-64.zip $ORACLE_HOME
[oracle@kens-orasql-002-uat stage]$ cd $ORACLE_HOME/
[oracle@kens-orasql-002-uat dbhome_1]$ unzip p6880880_112000_Linux-x86-64.zip
Archive: /hds001/oracle/product/11.2.0.3/dbhome_1/p6880880_112000_Linux-x86-64.zip
creating: OPatch/
creating: OPatch/oplan/
inflating: OPatch/oplan/README.html
….
….
[oracle@kens-orasql-002-uat dbhome_1]$ cdOPatch
[oracle@kens-orasql-002-uat OPatch]$ ./opatch version
OPatch Version: 11.2.0.3.0
OPatch succeeded.
export PATH=/hds001/oracle/product/11.2.0.3/dbhome_1/OPatch:$PATH
[oracle@kens-orasql-002-uat OPatch]$ whichopatch
/hds001/oracle/product/11.2.0.3/dbhome_1/OPatch/opatch
Apply additional 11.2.0.3 RDBMS patches
Apply the following patches using opatch
- 9858539
- 12942119
- 12960302
- 12985184
- 13001379
- 13004894
- 13258936
- 13366268
Prepare the database for the 11.2.0.3 Upgrade
As SYS as SYSDBA
SQL> purge dba_recyclebin;
DBA Recyclebin purged.
SQL> exec dbms_stats.gather_dictionary_stats;
PL/SQL procedure successfully completed.
SQL> Drop index system.repcat$_audit_column_idx1 ;
Drop index system.repcat$_audit_column_idx1
*
ERROR at line 1:
ORA-01418: specified index does not exist
Remove all hidden database parametersand events from pfile (or spfile)and restart the database:
_b_tree_bitmap_plans_fast_full_scan_enabled
_gby_hash_aggregation_enabled
_like_with_bind_as_equality
_optimizer_push_pred_cost_based
_sort_elimination_cost_ratio
_sqlexec_progression_cost
_trace_files_public
Get a list of pre-upgrade INVALID objects
SQL> setpagesize 5000
SQL> spool invalid_objects.lst
SQL> select owner,count(*) from dba_objects where status='INVALID' group by cube(owner);
SQL> select owner,object_type,object_name from dba_objects where status=’INVALID’order by owner,object_type, object_name;
SQL> spool off
Disable Archive logging and restart the database
Set Up the 11.2.0.3 environment to launch the Database Upgrade Assistant(dbua)
If you see a screen like this ….
This can happen if the environment variable ORA_TZFILE is set and is pointing to the Oracle 10g Home – unset the variable and launch dbua once again.
POST UPGRADE
After the upgrade check DBA_REGISTRY
SQL> set linesize 120
SQL> col comp_name format a50
SQL> select comp_name,status,version from dba_registry;
COMP_NAME STATUS VERSION
------
Oracle Text VALID 11.2.0.3.0
Oracle Data Mining VALID 11.2.0.3.0
OLAP Catalog VALID 11.2.0.3.0
Spatial VALID 11.2.0.3.0
Oracle Multimedia VALID 11.2.0.3.0
Oracle XML Database VALID 11.2.0.3.0
Oracle Expression Filter VALID 11.2.0.3.0
Oracle Database Catalog Views VALID 11.2.0.3.0
Oracle Database Packages and Types VALID 11.2.0.3.0
Oracle Real Application Clusters INVALID 11.2.0.3.0
JServer JAVA Virtual Machine VALID 11.2.0.3.0
COMP_NAME STATUS VERSION
------
Oracle XDK VALID 11.2.0.3.0
Oracle Database Java Packages VALID 11.2.0.3.0
OLAP Analytic Workspace VALID 11.2.0.3.0
Oracle OLAP API VALID 11.2.0.3.0
15 rows selected.
Upgrade the statistics table
SQL> exec dbms_stats.upgrade_stat_table('applfnd','fnd_stattab');
PL/SQL procedure successfully completed.
Create the updated 11.2.0.3 pfile
[oracle@kens-orasql-002-uat ~]$ cd $ORACLE_HOME/dbs
[oracle@kens-orasql-002-uat dbs]$ ls –lrtspfile*
-rw-r----- 1 oracle oinstall 4608 Sep 18 12:29 spfileCLMTS10G.ora
SQL> create pfile from spfile;
File created.
Update the following database parameters after the RDBMS 11gR2 upgrade
_b_tree_bitmap_plansFALSE
_fast_full_scan_enabledFALSE
_like_with_bind_as_equalityTRUE
_optimizer_autostats_jobfalse
_sort_elimination_cost_ratio5
_system_trig_enabledtrue
_trace_files_publicTRUE
compatible11.2.0
utl_file_dir'/usr/tmp', '/oracle/CLMTS10G/db/tech_st/11.2.0.2/appsutil/outbound/CLMTS10G_KENs-ORASQL-001'
Note – check the utl_file_dir parameter as paths may change after the upgrade
Remove the following database parameters:
core_dump_dest
nls_language
plsql_optimize_level
timed_statistics
Set up the 11.2.0.3 Listener
Kill the 10g listener
oracle 377 1 0 Aug16 ? 00:01:24 /hds001/oracle/product/10.2.0/dbhome_1/bin/tnslsnr CLMTS10G -inherit
oracle 18909 18287 0 09:49 pts/3 00:00:00 greptns
[oracle@kens-orasql-002-uat script]$ kill -9 377
Create the 11gR2 listener using netca – retain the same port as the 10g listener
Copy adgrants.sql,adctxprv.sql and adstats.sql from the Admin Tier across to the 11gR2 Oracle home
APPL_TOP/admin/adgrants.sql
APPL_TOP/admin/adstats.sql
AD_TOP/patch/115/sql/adctxprv.sql
As SYSDBA:
SQL> @adgrants.sql<APPS USER>
As APPS:
SQL> @adctxprv.sql<SYSTEM password CTXSYS
Update the CTXSYS file_access_role parameter.
SQL> exec ctxsys.ctx_adm.set_parameter( 'file_access_role', 'public' );
PL/SQL procedure successfully completed.
AutoConfig Setup
Deregister the current database server (conditional)
If you plan to change the database port, host, SID, or database name parameter on the database server, you must also update AutoConfig on the database tier and deregister the current database server node.
Use SQL*Plus to connect to the database as APPS and run the following command:
$ sqlplus apps/[APPS password]
SQL> exec fnd_conc_clone.setup_clean;
Copy appsutil directory from 10GR2 home to 11gR2 home
[oracle@kens-orasql-002-uat dbhome_1]$ cp -fRappsutil /hds001/oracle/product/11.2.0.3/dbhome_1/
[oracle@kens-orasql-002-uat dbhome_1]$
Downloadjre-6u29-linux-x64.bin
run
./jre-6u29-linux-x64.bin
mv jre1.6.0_29 jre
[oracle@kens-orasql-002-uat bin]$ perl adbldxml.pl tier=dbappsuser=apps_applfnd jtop=/hds001/oracle/product/11.2.0.3/dbhome_1/appsutil/jre
Run AutoConfig on Database Tierusing adconfig
We were getting error in autoconfig while it was running afdbprf.sh and adcrobj.sh sscripts
SP2-1503: Unable to initialize Oracle call interface
SP2-0152: ORACLE may not be functioning properly
adcrobj.sh exiting with status 1
ERRORCODE = 1 ERRORCODE_END
Fixed by:
cd /hds001/oracle/product/11.2.0.3/dbhome_1/appsutil/template
vi ad8idbux.env
added lines :
if test "%s_database%" = "db112" ; then
ORA_TZFILE=""
else
ORA_TZFILE="$ORACLE_HOME/oracore/zoneinfo/timezlrg.dat"
fi
export ORA_TZFILE
[oracle@kens-orasql-002-uat bin]$ ./adconfig.sh
Enter the full path to the Context file: /hds001/oracle/product/11.2.0.3/dbhome_1/appsutil/CLMTS10G_kens-orasql-002-uat.xml
Enter the APPS user password:
The log file for this session is located at: /hds001/oracle/product/11.2.0.3/dbhome_1/appsutil/log/CLMTS10G_kens-orasql-002-uat/09191047/adconfig.log
AutoConfig is configuring the Database environment...
AutoConfig will consider the custom templates if present.
Using ORACLE_HOME location : /hds001/oracle/product/11.2.0.3/dbhome_1
Classpath : /hds001/oracle/product/11.2.0.3/dbhome_1/appsutil/jre/lib/rt.jar:/hds001/oracle/product/11.2.0.3/dbhome_1/jdbc/lib/ojdbc6.jar:/hds001/oracle/product/11.2.0.3/dbhome_1/appsutil/java/xmlparserv2.zip:/hds001/oracle/product/11.2.0.3/dbhome_1/appsutil/java:/hds001/oracle/product/11.2.0.3/dbhome_1/jlib/netcfg.jar
Using Context file : /hds001/oracle/product/11.2.0.3/dbhome_1/appsutil/CLMTS10G_kens-orasql-002-uat.xml
Context Value Management will now update the Context file
Updating Context file...COMPLETED
Attempting upload of Context file and templates to database...COMPLETED
Updating rdbms version in Context file to db112
Updating rdbms type in Context file to 64 bits
Configuring templates from ORACLE_HOME ...
AutoConfig completed successfully.
Run adstats.sql
As SYSDBA :
SQL> shutdown immediate;
SQL> startup restrict
SQL> @adstats
SQL> shutdown immediate;
SQL> startup
Note: If host, listener port , database name etc changes then have to run autoconfig on the apps tiers as well
On Admin tier via adadmin
Recreate grants and synonyms
Update bash profile of database user to point to new environment file