Search This Blog

Wednesday, May 10, 2017

Oracle EBS login page is not working

Error :

The system has encountered an error when servicing the request, Please try again. If the error persists, please contact the system administrator.

Just i wanted to share the issue i encountered today. We are unable to login to application due to the error above. We got the error instead of login page.

What i did?

- As soon as i get the error in login page, i checked the apache logs. I can see some chain failed error but it was tripping all the time (Not only today), So i decided it should nt be cause of the today error. 
- I logged into admin console and checked all managed servers since we are in 12.2 (Everything was runnig fine). 
-I bounced apache once but no use
- I went to db tier and connected to sqlplus where i found the actual issue. When i connected to sqlplus i got the error below :

ERROR:

ORA-00020: maximum number of processes (200) exceeded

I found the cause of the issue. Application was unable to create db connection since limit is overloaded. 

How i narrowed down the issue?

I did how many processed connected to db.

ps -ef|grep oratest (Make sure you have only one instance running under OS user, I had only one instance running under oratest)

I checked how many connections coming from outside,

ps -ef|grep -i local=no|grep oratest

I found out totally 170 sessions were created from outside. 

How i fixed?

I decided to kill all local=no processes to reduce number of processes.  My environment was test and i knew the impact. 

****Please double check and check with your manager or your peers before you kill any such process in your environment.****

ps -ef|grep -i local=no|grep -i oratest|grep -v grep|awk '{print $2}'|xargs kill -9

Above command will get all the process id's of local=no processes and kill them. 

Within a minute, limit is freed up and i was able to connect to sqlplus. As soon as application were able to connect to db, we got the login page.

Thanks!
Sikky


Sunday, May 7, 2017

11.2.0.3 to 12.1.0.2 upgrade for E-biz R12.2

Hello Friends,

I have  tested the below in my environment and i was able to upgrade the database to 12.1.0.2. This upgrade done for oracle E-biz R12.2 so it covers lot additional steps for application tier as well. Please refer these steps only if you are upgrading for E-business suite database.

a) Take a backup using RMAN
             (or)
b)  Perform Cold Backup  ( if  your database is in NOARCHIVELOG mode)

--> db_backup_directory >> Location of the Database backup.
--> controlfile_backup_directory >> Location of the Controlfile backup.

Ensure that all database components/objects provided by Oracle are VALID in the source database prior to starting the upgrade.
Ensure that you do not have duplicate objects in the SYS and SYSTEM schema.

SQL> SELECT dbms_stats.get_prefs('CONCURRENT') from dual;
When 'concurrent statistics gathering' is not not set to 'FALSE', change the value to 'FALSE before the upgrade.
BEGIN
DBMS_STATS.SET_GLOBAL_PREFS('CONCURRENT','FALSE');
END;
/


Scripts placed at /a02/upgrade_files_12c
cd <location of the script>
$ sqlplus / as sysdba
sql> alter session set nls_language='American';
sql> @dbupgdiag.sql
sql> exit

Review the report
$ORACLE_HOME/rdbms/admin/utlrp.sql

Please run health check scripts as recommended by oracle. Note 136697.1 hcheck.sql" script to check for known problems in Oracle8i, Oracle9i, Oracle10g and Oracle 11g

Script - /a02/upgrade_files_12c

Note 884522.1 How to Download and Run Oracle's Database Pre-Upgrade Utility
@$ORACLE_HOME/rdbms/admin/preupgrd.sql
Review the report and fix the errors.

Take a backup of db links. Copy the output and keep it safer.

SQL> SELECT 'CREATE '||DECODE(U.NAME,'PUBLIC','public ')||'DATABASE LINK '||CHR(10)
||DECODE(U.NAME,'PUBLIC',Null, 'SYS','',U.NAME||'.')|| L.NAME||chr(10)
  2    3  ||'CONNECT TO ' || L.USERID || ' IDENTIFIED BY "'||L.PASSWORD||'" USING
'''||L.HOST||''''
  4    5  ||chr(10)||';' TEXT
  6  FROM SYS.LINK$ L, SYS.USER$ U
  7  WHERE L.OWNER# = U.USER#;



TIMESTAMP WITH TIME ZONE Data Type –Conditional

DST 18 upgrade. This Can be done as part of post upgrade.

Ref : 1665676.1

Optimizer Statistics
EXEC DBMS_STATS.GATHER_DICTIONARY_STATS;

Before upgrading Oracle Database, you must wait until all materialized views have completed refreshing.

Run the following query to determine if there are any materialized view refreshes still in progress:

SQL> select s.obj#,o.obj#,s.containerobj#,lastrefreshdate,pflags,xpflags,o.name,o.owner#, bitand(s.mflags, 8) from obj$ o, sum$ s
where o.obj# = s.obj# and o.type# = 42 AND bitand(s.mflags, 8) = 8;

Ensure That No Files Need Media Recovery Before Upgrading

SELECT * FROM v$recover_file;

Ensure That No Files Are in Backup Mode Before Upgrading, make sure no files are in backup mode.

SQL> SELECT * FROM v$backup WHERE status != 'NOT ACTIVE';


Purge the Database Recycle Bin Before Upgrading :

SQL> PURGE DBA_RECYCLEBIN

NOTE : The database recycle bin must be empty during the upgrade process to avoid possible ORA-00600 errors and to minimize the upgrade time.

Verify SYS and SYSTEM Default tablespace
Ensure the users SYS and SYSTEM have 'SYSTEM' as their default tablespace.
You must have sufficient space in the 'SYSTEM' tablespace or set extents to unlimited.
SQL> SELECT username, default_tablespace
     FROM dba_users
     WHERE username in ('SYS','SYSTEM');


Check whether database has any externally authenticated SSL users

select name from sys.user$ where ext_username is not null and password='GLOBAL';

Location of datafiles, redo logs and control files
Note the location of datafiles, redo logs and control files. Also take a backup of all configuration files like listener.ora, tnsnames.ora, etc. from $ORACLE_HOME.

SQL> SELECT name FROM v$controlfile;
SQL> SELECT file_name FROM dba_data_files;
SQL> SELECT group#, member FROM v$logfile;

Review and Remove any unnecessary hidden/underscore parameters

SQL> SELECT name, value from SYS.V$PARAMETER WHERE name LIKE '\_%' ESCAPE '\' order by name;

Check the XDB ACLs has start_date and end_date ACE attributes
Before upgrading the database to 12c, please run the below query as SYS:

SQL> select aclid, start_date, end_date from xds_ace where start_date is not null;

Download and Install Oracle 12c Release 1 in a new Oracle Home and make sure there are no relinking errors.
Install database examples which is mandatory step for ebs. You wont have oracle database examples with 12c stage, you need to download examples through patch p21419221_121020_platform_9of10.zip.
Install the latest available Patchset from My Oracle Support (if available).
Install the latest opatch available for your platform and database version (if available).
Install the latest available Critical Patch Update (if available).

Copy following  configuration files from the $ORACLE_HOME of the database being upgraded to the new Oracle Home for Oracle Database 12c
          - Parameter file (spfile or pfile)
          - Password file  (orapwsid)

Remove or comment out obsolete and deprecated initialization parameters.

 Stop the listener for the database.

$ lsnrctl stop

After 12c oracle home installation

Execute the below in source:
@?/rdbms/admin/utluppkg.sql
    SET SERVEROUTPUT ON;
    exec dbms_preup.run_fixup_and_report('INVALID_SYS_TABLEDATA')
    SET SERVEROUTPUT OFF;
Save Database Control Files and Data with the emdwgrd Utility
$ emdwgrd -save -sid old_SID -path save_directory


if upgrading database from 11.2.0.3
It is recommended to apply the patch 21550777 on 12.1.0.2 ORACLE_HOME before starting the upgrade to Materialized views related issues.
/d02/DEV/oratest/12.1.0/OPatch/opatch apply

21550777
18966843
19291380
19393542
19472320
19627012
19649152
19779059
19835133
19896336
20093776
20181016
20204035
20294666
20798891
20830911
20887355
21153266
22223463
18793246
19591608
25643931 (19908836)
20766180
21321429
21864513
21904072
21967332
Footnote 2 - If a conflict is reported with Patch 18893947 roll back the conflicting patch before applying Patch 21967332.
22098146
22338374
Footnote 3 - If a conflict is reported with Patch 21188532 roll back the conflicting patch before applying Patch 22338374.
22496904
22731026
23089357
23595848
24481723
24560906
FOotnote 4 - If a conflict is reported with Patch 21286665 roll back the conflicting patch before applying Patch 24560906.
24911308
Footnote 5 - If a conflict is reported with Patch 23745950 roll back the conflicting patch before applying Patch 24911308.
20369415
20880215

Apply Jan cpu 2015

Rollback the patches below

20369415
20766180
21321429
21967332
22731026 (Not in oh)
24684434 (not in oh)
25154882 (Not in oh)
24326444 (Not in oh)
25203714 (Not in oh)
23595848
24481723
24732088
24911308
25643931

Applied Jan 2017 cpu

24732088
cd /a02/patches/12c_upg_files/24917987/24968615/24732088
opatch apply

25101514
24917972 JVM

Applied rolled back patches


20369415
20766180
21321429
21967332
22731026
24684434
25154882
24326444
25203714

$ perl $ORACLE_HOME/nls/data/old/cr9idata.pl


Install JRE 6 or 7 (Copy appsutil directory from source to target oracle home)
Ensure Applications patching cycle is complete
Shut down Applications server processes and database listener
Drop SYS.ENABLED$INDEXES (conditional)
Remove the MGDSYS schema (conditional)

Create a new listener for Oracle Database 12c Release 1 (12.1) database
Shutdown the database.

$ sqlplus "/as sysdba"
SQL> shutdown immediate;

bash-3.2$ export ORACLE_HOME=/d02/DEV/oratest/12.1.0/
bash-3.2$ export PATH=$ORACLE_HOME/bin:$PATH
bash-3.2$ export ORACLE_BASE=/d02/DEV/oratest

Update the oratab entry to set the new ORACLE_HOME pointing to ORCL and disable automatic startup.

Sample : cat /etc/oratab

            #orcl:/opt/oracle/product/11.2/db_1:N
            orcl:/opt/oracle/product/12.2/db_1:N


$ cd $ORACLE_HOME/rdbms/admin
$ sqlplus "/ as sysdba"
SQL> startup UPGRADE
SQL> exit

Run the catctl.pl script from the new Oracle home.
In this release, the new Upgrade Utility, catctl.pl, replaces catupgrd.sql.
To run catctl.pl on Linux:
Example: Where parallelism is 6 ( n=6)

cd $ORACLE_HOME/rdbms/admin
$ORACLE_HOME/perl/bin/perl catctl.pl -n  6 -l $ORACLE_HOME/diagnostics catupgrd.sql



SQL> select count(*) from dba_objects where status='INVALID';

  COUNT(*)
----------
    103861


Post upgrade


Please create stats on fixed objects two weeks after the upgrade using the command:
   EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;


 You should follow that with the execution of rdbms/admin/utlrp.sql, and a
 comparison of invalid objects before and after the upgrade using
 rdbms/admin/utluiobj.sql



DST 18 upgrade

After the upgrade to 12.1.0.2 you can:
* (recommended) update the 12.1.0.2 database(s) to DSTv18 (standard DST version of 12.1.0.2) by :
or using the upg_tzv_check.sql and upg_tzv_apply.sql scripts in note 1585343.1 Scripts to automatically update the RDBMS DST (timezone) version in an 11gR2 or 12cR1 database .
or following note 1509653.1 Updating the RDBMS DST version in 12c Release 1 (12.1.0.1 and up) using DBMS_DST from step 3a) using "18" as (<the new DST version number>) in that note.
* (optional) update to a higher DST than 18 version if this is needed.
The latest DST patch and related note on how to apply this is found in Note 412160.1 Updated Time Zones in Oracle Time Zone File patches under "C) Notes covering the current DST available updates".
Simply follow the note for the latest DST update


Conn / as sysdba
-- this gives the current RDBMS DST version
SELECT version FROM v$timezone_file;
-- check also
SELECT PROPERTY_NAME, SUBSTR(property_value, 1, 30) value
FROM DATABASE_PROPERTIES
WHERE PROPERTY_NAME LIKE 'DST_%'
ORDER BY PROPERTY_NAME;

Conn / as sysdba
spool countstatsTSTZ.log
@countstatsTSTZ.sql
spool off
For most databases the biggest amount of data that is affected by DST updates will be in DBMS_SCHEDULER tables.
Conn / as sysdba
exec dbms_scheduler.purge_log;
Conn / as sysdba
-- check current nr of rows in HISTHEAD / HISTGRM
select count(*) from SYS.WRI$_OPTSTAT_HISTGRM_HISTORY;
select count(*) from SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY;
-- check the current retention of stats
-- the default value is 31
select systimestamp - dbms_stats.get_stats_history_availability from dual;
-- now disable stats retention
exec dbms_stats.alter_stats_history_retention(0);
-- remove all stats
exec DBMS_STATS.PURGE_STATS(systimestamp);
-- check result of purge
select count(*) from SYS.WRI$_OPTSTAT_HISTGRM_HISTORY;
select count(*) from SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY;
-- AFTER the DST update you can set the retention back to the or
Conn / as sysdba
spool upg_tzv_check.log
@upg_tzv_check.sql
spool off
A succesfull run will show at the end:
 INFO: A newer RDBMS DST version than the one currently used is found.
 INFO: Note that NO DST update was yet done.
 INFO: Now run upg_tzv_apply.sql to do the actual RDBMS DST update.
 INFO: Note that the upg_tzv_apply.sql script will
 INFO: restart the database 2 times WITHOUT any confirmation or prompt.

Conn / as sysdba
spool upg_tzv_apply.log
@upg_tzv_apply.sql
spool off
A succesfull run will show at the end:
 INFO: The RDBMS DST update is successfully finished.
 INFO: Make sure to exit this sqlplus session.
 INFO: Do not use it for timezone related selects.
To see what's happening during upg_tzv_check.sql or upg_tzv_apply.sql one can use:
CONN / as sysdba

set PAGES 1000
select TARGET, TO_CHAR(START_TIME,'HH24:MI:SS - DD-MM-YY'), TIME_REMAINING, SOFAR,
TOTALWORK, SID, SERIAL#, OPNAME from V$SESSION_LONGOPS
where sid in
(select SID from V$SESSION where CLIENT_INFO = 'upg_tzv')
and SOFAR < TOTALWORK
order by START_TIME;

select S.SID, S.SERIAL#, S.SQL_ID, S.PREV_SQL_ID,
S.EVENT#, S.EVENT, S.P1TEXT, S.P1, S.P2TEXT, S.P2, S.P3TEXT, S.P3, S.TIME_REMAINING_MICRO,
S.SEQ#, S.BLOCKING_SESSION, BS.PROGRAM "Blocking Program",
Q1.SQL_TEXT "Current SQL", Q2.SQL_TEXT "Previous SQL"
from V$SESSION S, V$SQLAREA Q1, V$SQLAREA Q2, V$SESSION BS
where S.SQL_ID = Q1.SQL_ID(+)
and S.PREV_SQL_ID = Q2.SQL_ID(+)
and S.BLOCKING_SESSION = BS.SID(+)
and S.CLIENT_INFO = 'upg_tzv';


Fix for ORA-01804: failure to initialize timezone information:

This is resolved by editing the template ad8idbux.env in location .../oracle/db/tech_st/11.2.0/appsutil/template changing:

From:
set ORA_TZFILE=%s_db_oh%\oracore\zoneinfo\timezlrg.dat

To:
set ORA_TZFILE=%s_db_oh%\oracore\zoneinfo\timezlrg_17.dat



exec dbms_stats.alter_stats_history_retention(31);
After the upgrade, run utluiobj.sql from $ORACLE_HOME/rdbms/admin/ to identify/compare any new invalid objects due to the upgrade.
@$ORACLE_HOME/rdbms/admin/utluiobj.sql

20880215
AND perform one of the following as the table is already logically corrupted
a. Reinitialize the columns in the table:
alter table <owner>.<table_name> modify ( <column_name> null);
alter table <owner>.<table_name> modify ( <column_name> not null);
OR
b. Drop and recreate the affected table(s) ("schema"."table")

JAN CPU 2017 - Patch post installation instructions.

Is it enough if you run datapatch once for all patches. Though catctl.pl will cover this step. We can execute datapatch once if needed.

% ./datapatch –verbose


1. If the OJVM PSU is also installed, you may see invalid objects after execution of datapatch in the previous step. If this is the case, run utlrp.sql to revalidate these objects.
cd $ORACLE_HOME/rdbms/admin
    sqlplus /nolog
2. SQL> CONNECT / AS SYSDBA
3. SQL> @utlrp.sql
4. This patch now includes the OJVM Mitigation patch (Patch:19721304). If an OJVM PSU is installed or planned to be installed, no further actions are necessary. Otherwise, the workaround of using the OJVM Mitigation patch can be activated. As SYSDBA do the following from the admin directory:
5. SQL > @dbmsjdev.sql
6. SQL > exec dbms_java_dev.disable
For more information on the OJVM mitigation patch, see Document 1929745.1 Oracle Recommended Patches -- "Oracle JavaVM Component Database PSU" (OJVM PSU) Patches.

2.6.3 Upgrade Oracle Recovery Manager Catalog
If you are using the Oracle Recovery Manager, the catalog needs to be upgraded. Enter the following command to upgrade it:
$ rman catalog username/password@alias
RMAN> UPGRADE CATALOG;
RMAN> UPGRADE CATALOG;

SELECT TO_CHAR(action_time, 'DD-MON-YYYY HH24:MI:SS') AS action_time,
       action,
             version,
status,
      bundle_series from sys.dba_registry_sqlpatch order by action_time;

Copy $APPL_TOP/admin/adgrants.sql (adgrants_nt.sql for Windows) from the administration server node to the database server node.

sqlplus "/ as sysdba" @adgrants.sql (or adgrants_nt.sql)
    [APPS schema name]


SQL> conn / as sysdba
Connected.
SQL> @?/rdbms/admin/adgrants.sql APPS
Connected.

Set CTXSYS parameter

$ sqlplus "/ as sysdba"
SQL> exec ctxsys.ctx_adm.set_parameter('file_access_role', 'public');

Validate Workflow ruleset
On the administration server node, use SQL*Plus to connect to the database as APPS and run the $FND_TOP/patch/115/sql/wfaqupfix.sql script using the following command:
$ sqlplus [APPS user]/[APPS password] @wfaqupfix.sql\
  [APPLSYS user] [APPS user]

Deregister the current database server (conditional)
If you plan to change the database port, host, or database name parameter on the database server, you must also update AutoConfig on the database tier and deregister the current database server node.

$ sqlplus apps/[APPS password]
SQL> exec fnd_conc_clone.setup_clean;

Implement and run AutoConfig
Enabling AutoConfig on a New Oracle Home

 Install Java Runtime Environment (JRE) on the Database tier
** copy entire appsutil directory from source to target oracle home
The JRE resides in the <ORACLE_HOME>/appsutil/jre directory on the database
tier.

3. Generate the Database Context File
$ perl <RDBMS_ORACLE_HOME>/appsutil/bin/adbldxml.pl

4. Run AutoConfig on the Database tier
Run AutoConfig on the database tier by executing one of the following commands:
On UNIX:
$ <RDBMS_ORACLE_HOME>/appsutil/bin/adconfig.sh \
contextfile=<context_file>


References :
Complete Checklist for Manual Upgrades to Oracle Database 12c Release 1 (12.1) (Doc ID 1503653.1)
Interoperability Notes Oracle EBS 12.2 with Oracle Database 12c Release 1 (Doc ID 1926201.1)

Saturday, May 6, 2017

ORA-01804: failure to initialize timezone information

This error encountered during 12c upgrade. My source database was running in 11.2.0.3 with DSTv17 and i was upgrading database to 12.1.0.2. I had to updgrade DST to v18 as part of the upgrade. AFter DST upgrade i was getting the error below while connecting to sqlplus and while running autoconfig as well.

Error :

ORA-01804: failure to initialize timezone information

SP2-0152: ORACLE may not be functioning properly

The first thing to do when you hit ORA-1804 is to check which timezone file Oracle attempts to use:
If the ORA_TZFILE environment variable is set then that points to the file that will be used.
If ORA_TZFILE is not set then until Oracle 9.2.0.5 $ORACLE_HOME/oracore/zoneinfo/timezone.dat is the default file that is used, since the 9.2.0.5 patchset (and all higher versions up to 11.1.0.7) the default file is $ORACLE_HOME/oracore/zoneinfo/timezlrg.dat
Since 11.2 the .dat files have a prefix indicating the DST version. Hence there are NO timezone.dat or timezlrg.dat in 11.2 and higher . 

For example timezlrg_4.dat is the DSTv4 "large" file, timezlrg_11.dat is the DSTv11 "large" file.
The first thing to do is to check if ORA_TZFILE is set and if it is, remove it and restart the database and listener. Oracle will then try to load $ORACLE_HOME/oracore/zoneinfo/timezlrg.dat or, from 11.2 onwards, the $ORACLE_HOME/oracore/zoneinfo/timezlrg_XX.dat file with XX being the higher number available in the $ORACLE_HOME/oracore/zoneinfo/ directory.

If for some reason the file that Oracle wants to use is not available then this is the cause of the problem.
If the file is present then an alternative reason for the error could be that Oracle cannot load the file because of permission problems.

If all above is correct then it might be a .dat file that is corrupt.

In my scenario, timezlrg.dat file which is set to ORA_TZFILE was not present. From 11g onwards we have version introduced in file name. So i updated the file name as below in ad8idbux.env as mentioned below :

bash-3.2$ echo $ORA_TZFILE
/d02/DEV/oratest/12.1.0/oracore/zoneinfo/timezlrg.dat
bash-3.2$ ls -ltr /d02/DEV/oratest/12.1.0/oracore/zoneinfo/timezlrg.dat
/d02/DEV/oratest/12.1.0/oracore/zoneinfo/timezlrg.dat: No such file or directory

You can find timezone files present under the location /d02/DEV/oratest/12.1.0/oracore/zoneinfo. Update the highest version available. I updated timezlrg_17.dat

---------------------In ad8idbux.env file---------------------

if test "%s_database%" = "db112" -o "%s_database%" = "db121" ; then
     ORA_TZFILE=""
else
     ORA_TZFILE="$ORACLE_HOME/oracore/zoneinfo/timezlrg.dat"
fi
export ORA_TZFILE


1. This is resolved by editing the template ad8idbux.env in location .../oracle/db/tech_st/11.2.0/appsutil/template changing:

From:
set ORA_TZFILE=%s_db_oh%\oracore\zoneinfo\timezlrg.dat

To:
set ORA_TZFILE=%s_db_oh%\oracore\zoneinfo\timezlrg_17.dat

2. Running AutoConfig after this change means the environment file is created with the ORA_TZFILE value as timezlrg_14.dat and AutoConfig completes successfully


References :
Autoconfig Failed On 12c Database With "ORA-01804: failure to initialize timezone information" (Doc ID 1908836.1)
AutoConfig Encounters A ORA-1804 Error: Failure To Initialize Timezone Information (Doc ID 1917923.1)
AutoConfig Encounters A ORA-1804 Error: Failure To Initialize Timezone Information (Doc ID 1917923.1)




Note : these .dat files are only read by Oracle, never written to, so if these files become corrupt then the reason for they becoming corrupt is at OS level or I/O subsystem.
So while copying / reinstalling those files might solve the symptom (the ORA-1804) , the root cause is non-Oracle and a deep diagnostic of the filesystem/ I/O subsystem is strongly advised.
Also there is a big chance these .dat files are not the only files who became corrupt.

Because these timezone files are static and can only be updated by Oracle development the solution is the same in both cases:
Find a different database (same RDBMS and (!) DST version & platform) that does not have these problems (check for example by selecting from V$TIMEZONE_NAMES)
Copy the *.dat files from that system over to the failing system
Restart all Oracle processes
or Reinstall the Oracle software.

Tuesday, May 2, 2017

Steps to setup forms in linux

EBS r12 Forms are not opening in linux?

Below issue can be easily resolve in windows just by installing jre but in linux it is not an easier one.

If you get this error in linux :

In order to access this application, you must install the J2SE Plugin version 1.6.0_07 on your client and NPX_PLUGIN_PATH environment variable is set before starting Netscape. To install this plugin, click here to download the oaj2se.exe executable. Once the download is complete, double-click the oaj2se.exe file to install the plugin. You will be prompted to restart your browser when the installation is complete.

First do the below :

http://onlineappsdba.com/index.php/2007/10/12/access-oracle-apps-r12-11i-from-linux-client-mozilla-firefox/

But the above one dint work out for me. My mozilla and oel were 64-bit so i did the below :

When you done with the plugin installation, issue about:plugins and check whether your installed jre plugin is showing in mozilla. if it does you can access the forms.


To know the recommended jre plugin version issue the below :

[oracle@dev186 scripts]$ grep plugin $CONTEXT_FILE
         <!-- JDK plugins -->
         <sun_plugin_ver oa_var="s_sun_plugin_ver">1.6.0_07</sun_plugin_ver>
         <sun_plugin_type oa_var="s_sun_plugin_type">jdk</sun_plugin_type>


Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.18) Gecko/20110621 Oracle/3.6-1.0.1.el5_6 Firefox/3.6.18

Download and install the below : (Make sure you os bit version when you download)

install ---> jre-6u33-linux-x64.bin

Since my os were 64 bit we must create soft link to /usr/lib64 folder instead of /usr/lib
go to /usr/lib64/mozilla/plugins

Create softlink as below :
ln -s /oracle/jre1.6.0_33/lib/amd64/libnpjp2.so  .

libnpjp2.so -> /oracle/jre1.6.0_33/lib/amd64/libnpjp2.so

Once you are done, make sure you see your installed plugin in mozilla. to check issue about:plugins in mozilla URL.

If you see it you should be able to access forms now.

Enjoy EBS :)

How to start or stop ebs R12 services?

How to start or stop ebs R12 services?


This exercise will be really helpful for beginners who start their career into oracle APPS. I have just explained on how to start and stop oracle apps R12.. R12 has come up with lot of automation scripts and it reduces human intervention a lot. Before we start services, we must understand in which order they should be started..


Starting services :


1) Source your db environment file

2)Start the DB and DB listener

3)Start the applications with adstrtal script. 


(Note : Nothing can be done from application tier when your db or db listener is down)


Stopping services :


1) Source apps environment file

2) Stop applications with adstpall script

3) shutdown the db


Starting the application services :


Source db env file




Connecting through SQL* plus utility in order to start db


To start db


To source env file :

Go to $ORACLE_HOME 

[oracle@dev186 ~]$ cd /oracle/PROD/db/tech_st/11.1.0/ 
[oracle@dev186 11.1.0]$ . PROD_dev186.env 
[oracle@dev186 11.1.0]$ echo $ORACLE_HOME 
/oracle/PROD/db/tech_st/11.1.0

To make sure you have source correct db, issue the below :

[oracle@dev186 11.1.0]$ echo $ORACLE_SID
PROD


[oracle@dev186 11.1.0]$ sqlplus / as sysdba

SQL*Plus: Release 11.1.0.7.0 - Production on Mon Jun 23 09:21:48 2014

Copyright (c) 1982, 2008, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size                  2166536 bytes
Variable Size             427819256 bytes
Database Buffers          624951296 bytes
Redo Buffers               14000128 bytes
Database mounted.
Database opened.
SQL> exit

Its a best practice for a DBA to read logs.. In order to check db alert log go to the directory below and open alert log using tail command.

Alert log --> /oracle/PROD/db/tech_st/11.1.0/admin/PROD_dev186/diag/rdbms/prod/PROD/trace

Starting the DB Listener 

[oracle@dev186 11.1.0]$ lsnrctl start PROD

LSNRCTL for Linux: Version 11.1.0.7.0 - Production on 23-JUN-2014 09:24:39

Copyright (c) 1991, 2008, Oracle.  All rights reserved.

Starting /oracle/PROD/db/tech_st/11.1.0/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 11.1.0.7.0 - Production
System parameter file is /oracle/PROD/db/tech_st/11.1.0/network/admin/PROD_dev186/listener.ora
Log messages written to /oracle/PROD/db/tech_st/11.1.0/log/diag/tnslsnr/dev186/prod/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dev186.chainsys.com)(PORT=1523)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dev186.chainsys.com)(PORT=1523)))
STATUS of the LISTENER
------------------------
Alias                     PROD
Version                   TNSLSNR for Linux: Version 11.1.0.7.0 - Production
Start Date                23-JUN-2014 09:24:40
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /oracle/PROD/db/tech_st/11.1.0/network/admin/PROD_dev186/listener.ora
Listener Log File         /oracle/PROD/db/tech_st/11.1.0/log/diag/tnslsnr/dev186/prod/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dev186.chainsys.com)(PORT=1523)))
Services Summary...
Service "PROD" has 1 instance(s).
  Instance "PROD", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
[oracle@dev186 11.1.0]$


So DB part is done, next we need to start the applications. Open an another terminal and go to $APPL_TOP to source apps env file. 

[oracle@dev186 ~]$ cd /oracle/PROD/apps/apps_st/appl/
[oracle@dev186 appl]$ . APPSPROD_dev186.env


Go to $ADMIN_SCRIPTS_HOME directory where you see lot scripts we use in day to day activities.

[oracle@dev186 appl]$ cd $ADMIN_SCRIPTS_HOME
[oracle@dev186 scripts]$ pwd
/oracle/PROD/inst/apps/PROD_dev186/admin/scripts
[oracle@dev186 scripts]$ ls
adalnctl.sh   adexecsql.pl     adoafmctl.sh   adstrtal.sh  ieo          L383162.log  L383167.log    sqlnet.log
adapcctl.sh   adformsctl.sh    adopmnctl.sh   afiedt.buf   java.sh      L383163.log  msc
adautocfg.sh  adformsrvctl.sh  adpreclone.pl  cmclean.sql  jtffmctl.sh  L383165.log  mwactl.sh
adcmctl.sh    adoacorectl.sh   adstpall.sh    gsmstart.sh  L383161.log  L383166.log  mwactlwrpr.sh



adalnctl.sh --> TO start apps listener alone

adoafmctl.sh --> To start oafm services alone

adapcctl.sh--> To start apache web services alone

adformsctl.sh --> To start forms services alone

adopmnctl.sh--> TO start opmn services altogether... (Apache, oacore, opmn and forms)

adcmctl.sh --> to start concurrent services alone

All these services can be started alone or can be started in a single script adstrtal.sh script.

if you execute it it will execute all the scripts above.




[oracle@dev186 scripts]$ ./adstrtal.sh apps/apps

You are running adstrtal.sh version 120.15

The logfile for this session is located at /oracle/PROD/inst/apps/PROD_dev186/logs/appl/admin/log/adstrtal.log
Executing service control script:
/oracle/PROD/inst/apps/PROD_dev186/admin/scripts/adopmnctl.sh start
script returned:
****************************************************

You are running adopmnctl.sh version 120.6

Starting Oracle Process Manager (OPMN) ...
opmnctl: opmn started.

adopmnctl.sh: exiting with status 0

adopmnctl.sh: check the logfile /oracle/PROD/inst/apps/PROD_dev186/logs/appl/admin/log/adopmnctl.txt for more information ...  


.end std out.

.end err out.

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


Executing service control script:
/oracle/PROD/inst/apps/PROD_dev186/admin/scripts/adalnctl.sh start
script returned:
****************************************************

adalnctl.sh version 120.3

Checking for FNDFS executable.
Starting listener process APPS_PROD.

adalnctl.sh: exiting with status 0


adalnctl.sh: check the logfile /oracle/PROD/inst/apps/PROD_dev186/logs/appl/admin/log/adalnctl.txt for more information ...  


.end std out.

.end err out.

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


Executing service control script:
/oracle/PROD/inst/apps/PROD_dev186/admin/scripts/adapcctl.sh start
script returned:
****************************************************

You are running adapcctl.sh version 120.7.12010000.2

Starting OPMN managed Oracle HTTP Server (OHS) instance ...
opmnctl: opmn is already running.
opmnctl: starting opmn managed processes...

adapcctl.sh: exiting with status 0

adapcctl.sh: check the logfile /oracle/PROD/inst/apps/PROD_dev186/logs/appl/admin/log/adapcctl.txt for more information ...  


.end std out.

.end err out.

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


Executing service control script:
/oracle/PROD/inst/apps/PROD_dev186/admin/scripts/adoacorectl.sh start
script returned:
****************************************************

You are running adoacorectl.sh version 120.13

Starting OPMN managed OACORE OC4J instance  ...

adoacorectl.sh: exiting with status 0

adoacorectl.sh: check the logfile /oracle/PROD/inst/apps/PROD_dev186/logs/appl/admin/log/adoacorectl.txt for more information ...  


.end std out.

.end err out.

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


Executing service control script:
/oracle/PROD/inst/apps/PROD_dev186/admin/scripts/adformsctl.sh start
script returned:
****************************************************

You are running adformsctl.sh  version 120.16

Starting OPMN managed FORMS OC4J instance  ...

adformsctl.sh: exiting with status 0

adformsctl.sh: check the logfile /oracle/PROD/inst/apps/PROD_dev186/logs/appl/admin/log/adformsctl.txt for more information ...  


.end std out.

.end err out.

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


Executing service control script:
/oracle/PROD/inst/apps/PROD_dev186/admin/scripts/adoafmctl.sh start
script returned:
****************************************************

You are running adoafmctl.sh version 120.8

Starting OPMN managed OAFM OC4J instance  ...

adoafmctl.sh: exiting with status 0

adoafmctl.sh: check the logfile /oracle/PROD/inst/apps/PROD_dev186/logs/appl/admin/log/adoafmctl.txt for more information ...  


.end std out.

.end err out.

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


Executing service control script:
/oracle/PROD/inst/apps/PROD_dev186/admin/scripts/adcmctl.sh start
script returned:
****************************************************

You are running adcmctl.sh version 120.17.12010000.3

Starting concurrent manager for PROD ...
Starting PROD_0623@PROD Internal Concurrent Manager
Default printer is noprint

adcmctl.sh: exiting with status 0


adcmctl.sh: check the logfile /oracle/PROD/inst/apps/PROD_dev186/logs/appl/admin/log/adcmctl.txt for more information ...  


.end std out.

.end err out.

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


Executing service control script:
/oracle/PROD/inst/apps/PROD_dev186/admin/scripts/jtffmctl.sh start
script returned:
****************************************************

You are running jtffmctl.sh version 120.3

Validating Fulfillment patch level via /oracle/PROD/apps/apps_st/comn/java/classes
Fulfillment patch level validated.
Starting Fulfillment Server for PROD on port 9302 ...

jtffmctl.sh: exiting with status 0


.end std out.

.end err out.

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


All enabled services for this node are started.

adstrtal.sh: Exiting with status 0

adstrtal.sh: check the logfile /oracle/PROD/inst/apps/PROD_dev186/logs/appl/admin/log/adstrtal.log for more information ...  

Note :  MAke sure all the services are exiting with status 0 which means there are no issues. If any of the services are ending with numbers we need to investigate depends on the issue.

To Make sure opmn is up and running issue the below,

[oracle@dev186 scripts]$ ./adopmnctl.sh status

You are running adopmnctl.sh version 120.6

Checking status of OPMN managed processes...

Processes in Instance: PROD_dev186.dev186.chainsys.com
---------------------------------+--------------------+---------+---------
ias-component                    | process-type       |     pid | status  
---------------------------------+--------------------+---------+---------
OC4JGroup:default_group          | OC4J:oafm          |   16277 | Alive   
OC4JGroup:default_group          | OC4J:forms         |   16203 | Alive   
OC4JGroup:default_group          | OC4J:oacore        |   16117 | Alive   
HTTP_Server                      | HTTP_Server        |   16060 | Alive   


adopmnctl.sh: exiting with status 0

adopmnctl.sh: check the logfile /oracle/PROD/inst/apps/PROD_dev186/logs/appl/admin/log/adopmnctl.txt for more information ...  

You have new mail in /var/spool/mail/oracle


All the four services should be in Alive status after you execute adstral.sh. if they are in down or init status there are some issues.. Users will be able to open forms only when all these services are alive.

To MAke sure listener is up and running :

[oracle@dev186 scripts]$ ps -ef|grep tns 
root        21     2  0 09:13 ?        00:00:00 [netns] 
oracle    5403     1  0 09:24 ?        00:00:00 /oracle/PROD/db/tech_st/11.1.0/bin/tnslsnr PROD -inherit 
oracle   16022     1  0 09:43 ?        00:00:00 /oracle/PROD/apps/tech_st/10.1.2/bin/tnslsnr APPS_PROD -inherit 
oracle   16782  4537  0 09:45 pts/1    00:00:00 grep tns 

DB listener should be up and running in order to function application...

LEts see how to stop the application now :


Go to $ADMIN_SCRIPTS_HOME and execute adstpall.sh script to stop all the applications. You can stop all the applications in a single script or one by one with the each script. For ex: if there is any issue with concurrent and you need to down concurrent manager is it enough if you just issue

[oracle@dev186 scripts]$ ./adcmctl.sh stop apps/apps

Note : Among all the scripts concurrent service is the only script which will you ask apps user password.

To start again,

[oracle@dev186 scripts]$ ./adcmctl.sh start apps/apps

To down all the services in a single script,

[oracle@dev186 scripts]$ ./adstpall.sh apps/apps 

You are running adstpall.sh version 120.10 

The logfile for this session is located at /oracle/PROD/inst/apps/PROD_dev186/logs/appl/admin/log/adstpall.log 
Executing service control script: 
/oracle/PROD/inst/apps/PROD_dev186/admin/scripts/jtffmctl.sh stop 
script returned: 
**************************************************** 

You are running jtffmctl.sh version 120.3 

Shutting down Fulfillment Server for PROD on port 9302 ... 

jtffmctl.sh: exiting with status 0 


.end std out. 

.end err out. 

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


Executing service control script: 
/oracle/PROD/inst/apps/PROD_dev186/admin/scripts/adcmctl.sh stop 
script returned: 
**************************************************** 

You are running adcmctl.sh version 120.17.12010000.3 

Shutting down concurrent managers for PROD ... 
ORACLE Password: 
Submitted request 390585 for CONCURRENT FND SHUTDOWN 


adcmctl.sh: exiting with status 0 


adcmctl.sh: check the logfile /oracle/PROD/inst/apps/PROD_dev186/logs/appl/admin/log/adcmctl.txt for more information ...   


.end std out. 

.end err out. 

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


Executing service control script: 
/oracle/PROD/inst/apps/PROD_dev186/admin/scripts/adoafmctl.sh stop 
script returned: 
**************************************************** 

You are running adoafmctl.sh version 120.8 

Stopping OPMN managed OAFM OC4J instance ... 

adoafmctl.sh: exiting with status 0 

adoafmctl.sh: check the logfile /oracle/PROD/inst/apps/PROD_dev186/logs/appl/admin/log/adoafmctl.txt for more information ...   


.end std out. 

.end err out. 

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


Executing service control script: 
/oracle/PROD/inst/apps/PROD_dev186/admin/scripts/adformsctl.sh stop 
script returned: 
**************************************************** 

You are running adformsctl.sh  version 120.16 

Stopping OPMN managed FORMS OC4J instance  ... 

adformsctl.sh: exiting with status 0 

adformsctl.sh: check the logfile /oracle/PROD/inst/apps/PROD_dev186/logs/appl/admin/log/adformsctl.txt for more information ...   


.end std out. 

.end err out. 

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


Executing service control script: 
/oracle/PROD/inst/apps/PROD_dev186/admin/scripts/adoacorectl.sh stop 
script returned: 
**************************************************** 

You are running adoacorectl.sh version 120.13 

Stopping OPMN managed OACORE OC4J instance ... 

adoacorectl.sh: exiting with status 0 

adoacorectl.sh: check the logfile /oracle/PROD/inst/apps/PROD_dev186/logs/appl/admin/log/adoacorectl.txt for more information ...   


.end std out. 

.end err out. 

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


Executing service control script: 
/oracle/PROD/inst/apps/PROD_dev186/admin/scripts/adapcctl.sh stop 
script returned: 
**************************************************** 

You are running adapcctl.sh version 120.7.12010000.2 

Stopping OPMN managed Oracle HTTP Server (OHS) instance ... 
opmnctl: stopping opmn managed processes... 

adapcctl.sh: exiting with status 0 

adapcctl.sh: check the logfile /oracle/PROD/inst/apps/PROD_dev186/logs/appl/admin/log/adapcctl.txt for more information ...   


.end std out. 

.end err out. 

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


Executing service control script: 
/oracle/PROD/inst/apps/PROD_dev186/admin/scripts/adalnctl.sh stop 
script returned: 
**************************************************** 

adalnctl.sh version 120.3 

Shutting down listener process APPS_PROD. 

adalnctl.sh: exiting with status 0 


adalnctl.sh: check the logfile /oracle/PROD/inst/apps/PROD_dev186/logs/appl/admin/log/adalnctl.txt for more information ...   


.end std out. 

.end err out. 

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


Executing service control script: 
/oracle/PROD/inst/apps/PROD_dev186/admin/scripts/adopmnctl.sh stop 
script returned: 
**************************************************** 

You are running adopmnctl.sh version 120.6 

Stopping Oracle Process Manager (OPMN)  and the managed processes ... 
opmnctl: stopping opmn and all managed processes... 

adopmnctl.sh: exiting with status 0 

adopmnctl.sh: check the logfile /oracle/PROD/inst/apps/PROD_dev186/logs/appl/admin/log/adopmnctl.txt for more information ...   


.end std out. 

.end err out. 

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


All enabled services on this node are stopped. 

adstpall.sh:Exiting with status 0 

adstpall.sh: check the logfile /oracle/PROD/inst/apps/PROD_dev186/logs/appl/admin/log/adstpall.log for more information ...   

Make sure opmn is down with the below ,

oracle@dev186 scripts]$ ./adopmnctl.sh status

It should show all the services are down.. also issue 

ps -ef|grep FNDLIBR --> to check conc manager is down
ps -ef|grep tns --> listener is down

Once everything down in apps side, go to db side and shut down the db and listener.

Happy learning.. I hope this blog is helpful for beginners..



You cannot complete this task because one of the following events caused a loss of page data: A system failure has occurred "Front end is locked after 12.2 upgrade"

  If you have upgraded to Oracle E-Business Suite 12.2.10 Release Update Pack from Oracle E-Business Suite 12.2.6 Release Update Pack (or ea...