Sunday, April 22, 2012

Steps To Upgrade JRE for Apps Ebs 12

1.       Download the JRE 6u12 :
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html
choose  this  one :
" Windows Offline Installation 15.52 MB            jre-6u12-windows-i586-p.exe "


2.       Rename  the  JRE  Plug-in  and Place the JRE 6 Plug-in on Web Application Tier :
Rename the downloaded JRE Native Plug-in file from jre-6_ux-windows-i586-p.exe to j2se160x.exe
(Where x = the version number. Using jre-6u3 as an example this would be j2se16003.exe).
cp  jre-6u12-windows-i586-p.exe   $COMMON_TOP/webapps/oacore/util/jinitiator/j2se16012.exe


3.       Shutdown apache or complete application tier


4.       Enable maintenance mode


5.         Apply the JRE plug-in Interoperability Patch 4377566


6.       Run the txkSetPlugin.sh Script :
Run the $FND_TOP/bin/txkSetPlugin.sh script against the web node of the application tier.
txkSetPlugin.sh jversion
Where: jversion represents the JRE version you wish to install, without decimal points or underscores. (e.g. 16026).
$FND_TOP/bin/txkSetPlugin.sh 16012


7.       Disable maintenance mode


8.       Start application .


Alef and Lam appear incorrectly at runtime EBS 12 :

upgrade to JRE 1.6.0_12 (6u12) by following Oracle Metalink Note 393931.1

Saturday, March 3, 2012

HOW TO RESET SYSADMIN PASSWORD

How to Reset only the SYSADMIN Password

PROBLEM DESCRIPTION 
------------------- 
You have forgotten the SYSADMIN applications password and cannot login. You know the apps and applsys passwords but does not want to follow the steps to 
reset all passwords since resetting applsys would require re-registering all applications user passwords. 

How can you reset only the SYSADMIN password? 

SOLUTION DESCRIPTION 
-------------------- 
The applsys password provides the basis for all user passwords so resetting applsys will require re-registering all user passwords. 
If there are any other users with System Administrator privileges, then they can reset the SYSADMIN user's password from within applications. 
Otherwise SYSADMIN can be reset without affecting other users as follows: 
1. Log in to SQL*Plus as applsys 
2. Backup FND_USER and FND_ORACLE_USERID tables using 
create table FND_USER_BAK as select * from FND_USER; 
create table FND_ORACLE_USERID_BAK as select * from FND_ORACLE_USERID; 
3. update FND_USER 
set ENCRYPTED_FOUNDATION_PASSWORD ='2DF3E509EB6A33F9607959C0976E25D997166FAB694ACDDAE466414791A44411', 
ENCRYPTED_USER_PASSWORD='D2FCA9810D86BCA9BE944D3E2E7A4A9E6CDF89AAD633179B701774083F907C13' 
where user_name='SYSADMIN'; 
sql>commit; 

The SYSADMIN password is now set to WELCOME.

FRM-41045:CANNOT FIND ITEM. INVALID ID WHEN ALTERING EFFECTIVE DATE


https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&doctype=PROBLEM&id=970799.1

Cause

APPSTAND.fmb latest version 12.0.6.12010000.2 (which supports non-Gregorian calendar) exists in 12.1.1. 
But Alter Effective Date form (DTXCGDAT) got complied with the old version 120.6 and that is causing the issue.

The following bug was logged for the customer

Bug 9080326 - !FRM-41045:CANNOT FIND ITEM. INVALID ID WHEN ALTERING EFFECTIVE DATE

Solution

 Please follow below steps and verify the issue:
 1) Connect to the instance using telnet or putty where the issue is  reproducible.
 .
 2) Take a backup of $DT_TOP/forms/US/DTXCGDAT.fmx and $DT_TOP/forms/AR/DTXCGDAT.fmx
 .
 3) Compile DTXCGDAT.fmb using the latest version of APPSTAND.fmb 
 (12.0.6.12010000.2) and copy this new DTXCGDAT.fmx to  $DT_TOP/forms/US/
 . 
 cd $AU_TOP/forms/AR
   frmcmp_batch.sh userid=apps/apps module=DTXCGDAT.fmb output_file=$DT_TOP/forms/AR/DTXCGDAT.fmx module_type=form batch=no compile_all=yes
cd $AU_TOP/forms/US/
   frmcmp_batch.sh userid=apps/apps module=DTXCGDAT.fmb output_file=$DT_TOP/forms/US/DTXCGDAT.fmx module_type=form batch=no compile_all=yes


 4) Bounce the apache and verify the issue.



Issue : 
when running : 

 frmcmp_batch.sh userid=apps/apps module=$AU_TOP/forms/AR/DTXCGDAT.fmb output_file=$DT_TOP/forms/AR/DTXCGDAT.fmx module_type=form batch=no compile_all=yes

if u get :

ORA-12154 TNS could not resolve the connect identifier specified - while compiling manually forms

sol : 
http://viniciuspapadba.blogspot.com/2012/10/ora-12154-tns-could-not-resolve-connect.html


if u get : 

FRM-18108: Failed to load the following objects.  Source Module:APPSTAND.fmb   Source Object: WHEN-NEW-ITEM-INSTANCE

sol : 

cd $AU_TOP/forms/AR/
and run : 

frmcmp_batch.sh userid=apps/apps module=$AU_TOP/forms/US/DTXCGDAT.fmb output_file=$DT_TOP/forms/US/DTXCGDAT.fmx module_type=form batch=no compile_all=yes

Wednesday, February 22, 2012

How To Download a RPM Package Using yum Command Without Installing On Linux


Iwould like to only download the packages via yum and not install/update them. How do I download a RPM package using yum command under CentOS Enterprise Linux server 5.x or RHEL 5.x systems?
You need to install plugin called yum-downloadonly. This plugin adds a --downloadonly flag to yum so that yum will only download the packages and not install/update them. Following options supported by this plugin:
[a] --downloadonly : don't update, just download a rpm file
[b] --downloaddir=/path/to/dir : specifies an alternate directory to store packages such as /tmp
Please note following instructions are only tested on CentOS server but should work with RHN and RHEL without any problem.

How do I install yum-downloadonly plugin?

Type the following command to install plugin, enter:
# yum install yum-downloadonly
Sample output:
Loading "fastestmirror" plugin
Loading "security" plugin
Loading mirror speeds from cached hostfile
 * base: centos.mirrors.tds.net
 * updates: mirror.myriadnetwork.com
 * addons: mirrors.gigenet.com
 * extras: holmes.umflint.edu
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package yum-downloadonly.noarch 0:1.1.10-9.el5.centos set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 yum-downloadonly        noarch     1.1.10-9.el5.centos  base              9.0 k
Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 9.0 k
Is this ok [y/N]: y
Downloading Packages:
(1/1): yum-downloadonly-1 100% |=========================| 9.0 kB    00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: yum-downloadonly             ######################### [1/1]
Installed: yum-downloadonly.noarch 0:1.1.10-9.el5.centos
Complete!

How do I download a RPM package only from RHN or CentOS mirror, without installing it?

Download httpd package but don't install/update, enter:
# yum update httpd -y --downloadonly
By default package will by downloaded and stored in /var/cache/yum/ directory. But, you can specifies an alternate directory to store packages such as /opt, enter:
# yum update httpd -y --downloadonly --downloaddir=/opt
Sample output:
yum install httpd -y --downloadonly
Loading "downloadonly" plugin
Loading "fastestmirror" plugin
Loading "security" plugin
Loading mirror speeds from cached hostfile
 * base: centos.mirrors.mypsh.com
 * updates: mirror.steadfast.net
 * addons: mirrors.gigenet.com
 * extras: holmes.umflint.edu
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package httpd.i386 0:2.2.3-11.el5_1.centos.3 set to be updated
filelists.xml.gz          100% |=========================| 2.8 MB    00:03
filelists.xml.gz          100% |=========================| 681 kB    00:11
filelists.xml.gz          100% |=========================| 122 kB    00:00
filelists.xml.gz          100% |=========================|  150 B    00:00
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 httpd                   i386       2.2.3-11.el5_1.centos.3  base              1.1 M
Transaction Summary
=============================================================================
Install      1 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 1.1 M
Downloading Packages:
(1/1): httpd-2.2.3-11.el5 100% |=========================| 1.1 MB    00:01
exiting because --downloadonly specified
To see downloaded file, enter:
# ls -l /opt/*.rpm
Sample output:
-rw-r--r-- 1 root root 1116426 Jan 17 03:36 /opt/httpd-2.2.3-11.el5_1.centos.3.i386.rpm
-rw-r--r-- 1 root root   83452 Oct  2  2007 /opt/lighttpd-fastcgi-1.4.18-1.el5.rf.i386.rpm
-rw-r--r-- 1 root root  635045 Oct 20  2007 /opt/psad-2.1-1.i386.rpm

Method # 2: yum-utils.noarch Package

yum-utils is a collection of utilities and examples for the yum package manager. It includes utilities by different authors that make yum easier and more powerful to use. These tools include: debuginfo-install, package-cleanup, repoclosure, repodiff, repo-graph, repomanage, repoquery, repo-rss, reposync, repotrack, verifytree, yum-builddep, yum-complete-transaction, yumdownloader, yum-debug-dump and yum-groups-manager.
# yum -y install yum-utils.noarch
Now use the yumdownloader command which is a program for downloading RPMs from Yum repositories. Type the following command to download httpd rpm file:
# yumdownloader httpd
Sample outputs:
Loaded plugins: rhnplugin
httpd-2.2.3-31.el5_4.2.x86_64.rpm                        | 1.2 MB     00:00

How Do I Extract Downloaded RPM File?

Type the command as follows:
# rpm2cpio httpd-2.2.3-31.el5_4.2.x86_64.rpm | cpio -idmv

Tuesday, February 21, 2012

AppsDba used scripts


1. SQL statements for the current database sessions with PID.

COLUMN username FORMAT A15
COLUMN machine FORMAT A25
COLUMN logon_time FORMAT A20

SELECT NVL(a.username, '(oracle)') AS username,
a.osuser,
a.sid,
a.serial#,
c.value AS &1,
a.lockwait,
a.status,
a.module,
a.machine,
a.program,
TO_CHAR(a.logon_Time,'DD-MON-YYYY HH24:MI:SS') AS logon_time
FROM v$session a,
v$sesstat c,
v$statname d
WHERE a.sid = c.sid
AND c.statistic# = d.statistic#
AND d.name = DECODE(UPPER('&1'), 'READS', 'session logical reads',
'EXECS', 'execute count',
'CPU', 'CPU used by this session',
'CPU used by this session')
ORDER BY c.value DESC;
2 . Memory allocation for the current running sessions.

COLUMN username FORMAT A20
COLUMN module FORMAT A20

SELECT NVL(a.username,'(oracle)') AS username,
a.sid,
a.module,
a.program,
Trunc(b.value/1024) AS memory_kb
FROM v$session a,
v$sesstat b,
v$statname c
WHERE a.sid = b.sid and a.username is not null
AND b.statistic# = c.statistic#
AND c.name = 'session pga memory'
AND a.program IS NOT NULL ORDER BY b.value DESC;

3.
DB Info
column hostname format a13
column stime format a35
column uptime format a35
column instance_name format a10
prompt "DB Info"
select host_name Hostname
,instance_name InstanceName
,'Started At : ' || to_char(startup_time,'DD-MON-YYYY HH24:MI:SS') stime
,'Uptime : ' || floor(sysdate - startup_time) || ' days(s) ' ||
trunc( 24*((sysdate-startup_time) -
trunc(sysdate-startup_time))) || ' hour(s) ' ||
mod(trunc(1440*((sysdate-startup_time) -
trunc(sysdate-startup_time))), 60) ||' minute(s) ' ||
mod(trunc(86400*((sysdate-startup_time) -
trunc(sysdate-startup_time))), 60) ||' seconds' uptime
from sys.v_$instance;

4.
Block Contention

SELECT class,sum(count) total_waits, sum(time) total_time FROM v$waitstat GROUP BY class;

5.
Latch Contention

SELECT a.name,100.*b.sleeps/b.gets ratio1,100.*b.immediate_misses/decode((b.immediate_misses+b.immediate_gets),0,1) ratio2
FROM v$latchname a, v$latch b WHERE
a.latch# = b.latch# AND b.sleeps > 0;

6.
Find Chained rows

select owner, table_name, pct_free, pct_used, avg_row_len, num_rows, chain_cnt,(chain_cnt/num_rows*100) as perc from dba_tables where owner not in ('SYS','SYSTEM') and table_name not in (select table_name from dba_tab_columns
where data_type in ('RAW','LONG RAW') )
and chain_cnt > 0 order by chain_cnt desc;

7.
Locks

select /*+ ordered */ w1.sid waiting_session,
h1.sid holding_session,
w.kgllktype lock_or_pin,
w.kgllkhdl address,
decode(h.kgllkmod, 0, 'None', 1, 'Null', 2, 'Share', 3, 'Exclusive',
'Unknown') mode_held,
decode(w.kgllkreq, 0, 'None', 1, 'Null', 2, 'Share', 3, 'Exclusive',
'Unknown') mode_requested
from dba_kgllock w, dba_kgllock h, v$session w1, v$session h1
where
(((h.kgllkmod != 0) and (h.kgllkmod != 1)
and ((h.kgllkreq = 0) or (h.kgllkreq = 1)))
and
(((w.kgllkmod = 0) or (w.kgllkmod= 1))
and ((w.kgllkreq != 0) and (w.kgllkreq != 1))))
and w.kgllktype = h.kgllktype
and w.kgllkhdl = h.kgllkhdl
and w.kgllkuse = w1.saddr
and h.kgllkuse = h1.saddr
/

8.
Information on top sessions ordered by Reads / executions

COLUMN username FORMAT A15
COLUMN machine FORMAT A25
COLUMN logon_time FORMAT A20

SELECT NVL(a.username, '(oracle)') AS username,
a.osuser,
a.sid,
a.serial#,
c.value AS &1,
a.lockwait,
a.status,
a.module,
a.machine,
a.program,
TO_CHAR(a.logon_Time,'DD-MON-YYYY HH24:MI:SS') AS logon_time
FROM v$session a,
v$sesstat c,
v$statname d
WHERE a.sid = c.sid
AND c.statistic# = d.statistic#
AND d.name = DECODE(UPPER('&1'), 'READS', 'session logical reads',
'EXECS', 'execute count',
'CPU', 'CPU used by this session',
'CPU used by this session')
ORDER BY c.value DESC;


9. Top SQL statements that are using the most resources

SELECT *
FROM (SELECT Substr(a.sql_text,1,50) sql_text,
Trunc(a.disk_reads/Decode(a.executions,0,1,a.executions)) reads_per_execution,
a.buffer_gets,
a.disk_reads,
a.executions,
a.sorts,
a.address
FROM v$sqlarea a
ORDER BY 2 DESC) WHERE rownum <= 10
10. Undo information on relevant database sessions

SELECT s.username,
s.sid,
s.serial#,
t.used_ublk,
t.used_urec,
rs.segment_name,
r.rssize,
r.status
FROM v$transaction t,
v$session s,
v$rollstat r,
dba_rollback_segs rs
WHERE s.saddr = t.ses_addr
AND t.xidusn = r.usn
AND rs.segment_id = t.xidusn
ORDER BY t.used_ublk DESC;
11. I/O information on top Physical reads/ Consistent get sessions
COLUMN username FORMAT A15

SELECT NVL(s.username, '(oracle)') AS username,
s.osuser,
s.sid,
s.serial#,
si.block_gets,
si.consistent_gets,
si.physical_reads,
si.block_changes,
si.consistent_changes
FROM v$session s,
v$sess_io si
WHERE s.sid = si.sid
ORDER BY s.username, s.osuser;

12.
List of Non Indexed Foreign key.

SELECT t.table_name,
c.constraint_name,
c.table_name table2,
acc.column_name
FROM all_constraints t,
all_constraints c,
all_cons_columns acc
WHERE c.r_constraint_name = t.constraint_name
AND c.table_name = acc.table_name
AND c.constraint_name = acc.constraint_name
AND NOT EXISTS (SELECT '1'
FROM all_ind_columns aid
WHERE aid.table_name = acc.table_name
AND aid.column_name = acc.column_name)
ORDER BY c.table_name;


How do I know which version of EBS I have.? 
select release_name from apps.fnd_product_groups;
free/used temporary table space :
 SELECT tablespace_name,SUM(bytes_used),SUM(bytes_free) FROM V$temp_space_header GROUP BY tablespace_name;
free/used  table space :
 select t.tablespace, t.totalspace as " Totalspace(MB)",
 round((t.totalspace-fs.freespace),2) as "Used Space(MB)",
 fs.freespace as "Freespace(MB)", round(((t.totalspace-fs.freespace)/t.totalspace)*100,2) as "% Used",
 round((fs.freespace/t.totalspace)*100,2) as "% Free"
 from (select round(sum(d.bytes)/(1024*1024)) as totalspace, d.tablespace_name tablespace
 from dba_data_files d group by d.tablespace_name) t,
 (select round(sum(f.bytes)/(1024*1024)) as freespace, f.tablespace_name tablespace
 from dba_free_space f group by f.tablespace_name) fs
 where t.tablespace=fs.tablespace order by t.tablespace;


EBS 12 : There are no active responsibilities available for this user


problem:



After changing apps password and sysadmin pwd and run autoconfig , when i connnect with sysadmin user i dont get the menu and respo of sysadmin i get “ There are no active responsibilities available for this user. “ message
solution 1 :
- open the application by sysadmin user - go to personalize bar and  click on it and after u will get all the list of resp go at the right of the top and click show to change status of resp from hidden to show and click on the apply botton -after that return to menu and u will find every thing ok .
solution 2 :
Part 1: Verification
Execute following queries for verification as per metalink note ID 335487.1
1) Please check if table FND_USER_RESP_GROUPS was backed up to table FND_USER_RESP_GROUPS_OLD in the APPLSYS schema, and verify that there is a SYNONYM  FND_USER_RESP_GROUPS_OLD in the APPS schema.
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE
FROM ALL_OBJECTS
WHERE OBJECT_NAME LIKE ’FND_USER_RESP_GROUPS_OLD’
AND OBJECT_TYPE IN (‘VIEW’,’TABLE’, ‘SYNONYM’);
OWNER                          OBJECT_NAME                    OBJECT_TYPE
—————————— —————————— ——————
APPLSYS                        FND_USER_RESP_GROUPS_OLD       TABLE
APPS                           FND_USER_RESP_GROUPS_OLD       SYNONYM
2) Check if object FND_USER_RESP_GROUPS is a view or a table
SQL> SELECT OWNER, OBJECT_NAME, OBJECT_TYPE
FROM ALL_OBJECTS WHERE OBJECT_NAME LIKE ‘FND_USER_RESP_GROUPS’;  2
OWNER                          OBJECT_NAME                    OBJECT_TYPE
—————————— —————————— ——————
APPS                           FND_USER_RESP_GROUPS           VIEW
APPS_MRC                       FND_USER_RESP_GROUPS           SYNONYM
RTREADONLY                     FND_USER_RESP_GROUPS           SYNONYM
FND_USER_RESP_GROUPS should be a view in APPS schema.
If FND_USER_RESP_GROUPS is of type TABLE in the APPLSYS schema  please apply solution from step 3 from metalink note ID 335487.1
Else execute following steps from metalink note ID 316959.1
Part 2: Fix
Run following SQLs
1)
SELECT *
FROM Fnd_Responsibility_vl
WHERE Application_Id = 1
AND Responsibility_Name = ‘System Administrator’
AND Start_Date <= Sysdate
AND ( End_Date is NULL OR End_Date > Sysdate );
2)
SELECT count(*)
FROM Fnd_User_Resp_Groups;
3)
Back up the wf_role_hierarchies table into a new table you create.
CREATE TABLE wf_role_hierarchies_copy AS
SELECT * FROM wf_role_hierarchies;
Delete the entries in that table (2 rows exist)
TRUNCATE TABLE applsys.wf_role_hierarchies;
Run affurgol.sql FORCE
SQL> @$FND_TOP/patch/115/sql/affurgol.sql FORCE
Then replace those entries back into wf_role_hierarchies table
SQL> INSERT INTO wf_role_hierarchies
SELECT * FROM wf_role_hierarchies_copy;
Bounce Apache and try to login as sysadmin. You should be able to see the correct responsibilities.
Hope this helps !!

Upgrade Oracle E-Business suite 12.1.1 to 12.1.3


1. Shutdown the database and apps tier and take a cold backup of both filesystems.

2. Change at initSID.ora the database parameters
_disable_fast_validate=TRUE
recyclebin=off

3. Start the database and listener.
4.

 - create the out put directory of this sql and give 777 permission  on this directory  :
SELECT SUBSTR(value,1,DECODE(INSTR(value,','),0,LENGTH(value),INSTR(value,',')-1) )
FROM v$parameter WHERE name = 'utl_file_dir';
 

( to not get the below error :

ATTENTION: All workers either have failed or are waiting:
          FAILED: file ce8509466.sql on worker  1.
ATTENTION: Please fix the above failed worker(s) so the manager can continue.)





 - to not get the error :Relink of module "MSCCPP" failed, "FEMCCE","MSCNEW","MSCMON" etc . etc. - 12.1.3  when running the patch 9239090
- Please downgrade The  binutils  From "binutils-2.17.50.0.6-9.el5'" to" binutils-2.17.50.0.6-6.0.1.el5"  as given in The Note 781553.1.
rpm -U binutils-2.17.50.0.6-6.0.1.el5.x86_64.rpm
or
rpm -U binutils-2.17.50.0.6-6.0.1.el5.i386.rpm

If a higher version of the binutils has already been installed, downgrade using the following command:

rpm -Uvh --oldpackage binutils-2.17.50.0.6-6.0.1.el5.i386.rpm
or
rpm -Uvh --oldpackage binutils-2.17.50.0.6-6.0.1.el5.x86_64.rpm

The below screenshot show that I have to downgrade binutils to get to the required version:



  

You can download the correct version required - here



Downgrade using the '--oldpackage' rom flag, and relink again. Should be OK now:






- Increase the size of tablespace APPS_TS_SEED ,APPS_TS_TX_DATA ,SYSAUX and enable autoextend to the new datafile added .

select file_name,tablespace_name from dba_data_files where tablespace_name='APPS_TS_TX_DATA' order by file_name;

ALTER TABLESPACE APPS_TS_TX_DATA add datafile '/u01/oracle/TESTEBS/db/apps_st/data/a_txn_data_05.dbf' size 3G autoextend on;

5. Upgrade Applications to 12.1.3. You have to download patches 9239089, 9239090, 9239095. Don't expect to find specific patches for x86-64bit linux. The standard x86 Linux patch works for both 32-bit and 64-bit Linux.

6. Apply R12.AD.B.DELTA.3 - Patch 9239089

a. Create $ORACLE_HOME/appsutil/admin on the database server.
 b. Copy adgrants.sql (UNIX) from this patch directory 9239089 to $ORACLE_HOME/appsutil/admin.
 c. Set the environment to point to ORACLE_HOME on the database server.
 d. Use SQL*Plus to run the script:
    $ sqlplus "/ as sysdba"
    SQL> @$ORACLE_HOME/appsutil/admin/adgrants.sql APPS
 e. Enable maintenance mode with adadmin, and set the environment to correct apps environment.
    Check that $>echo $ORACLE_HOME returns /apps/tech_st/
10.1.2 and not 10.1.3
    In case you have the
Errors While Applying Patch: adogjf() Unable to copy Registry.Dat
    check Oracle Support Doc 551841.1
 f. Apply u9239089.drv of the patch using adpatch

7. Apply Oracle E-Business Suite Release 12.1.3 with patch 9239090. Bear in mind that it will take hours to copy all the new forms, reports, pl/sql and to compile all the invalid objects at last! You don't have to run autoconfig on the apps tier, since the patch runs it at the end.

8. Apply the latest consolidated online help patch 9239095.

9- shutdown the database
remove the 2 parameters added in the begun of upgrade in initSID.ora ( _disable_fast_validate=TRUE and recyclebin=off )