Monday 4 December 2017

How to move RAC Database ORACLE_HOME from one location to another location

Below are the steps to move the RAC database ORACLE_HOME from one location(filesystem) to another location.

This post for database home only and does not apply to CRS or GI home.

Execute all the following as database user:

Solution 1:

1. Install a new set of RAC binaries with OUI into a new home.
2. Apply all patches that have been installed in the old home, use "opatch lsinventory" to compare the old and new home once all patches are applied.
3. Copy over init{ORACLE_SID}.ora in dbs directory from the old home to the new home on all nodes.
4. Copy over network files (listener.ora, tnsnames.ora, and sqlnet.ora) in network/admin directory from the old home to the new home on all nodes.
5. Shutdown the database with srvctl from the old database home: srvctl stop database -d <dbname>
6. Modify the database resource as with srvctl from the old database home: srvctl modify database -d -o <new-database-home>
7. Start the database with srvctl from the new database home: srvctl start database -d <dbname>


Solution 2: (Clone)

1. Copy existing RAC binaries to a new location and keep the same ownership/permission on any node: cp -rp <old-database-home> <new-database-home>
2. Execute:
$ export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_2

$ perl $ORACLE_HOME/clone/bin/clone.pl '-O"CLUSTER_NODES={<comma separated listed of hostnames>}"' '-O"LOCAL_NODE=<this host’s hostname>"' ORACLE_BASE=<your ORACLE_BASE> ORACLE_HOME=$ORACLE_HOME ORACLE_HOME_NAME=<your inventory name> '-O-noConfig' "

Refer to: https://docs.oracle.com/cd/E11882_01/rac.112/e41960/clonerac.htm

3. Extend the new home to other nodes: <new-database-home>/oui/bin/addNode.sh
4. Go to Step3 of "Solution 1"


Monday 16 October 2017

ORA-00304: requested INSTANCE_NUMBER is busy

ORA-00304: requested INSTANCE_NUMBER is busy

On starting upon instance  in 2 Node RAC Database,We got the below error message.

SQL> startup;
ORA-00304: requested INSTANCE_NUMBER is busy

We have identified the background sessions are still hanging at the OS level.

Solution:

Solution is to Kill the hanging sessions at the os level and restart the instance.

ps -ef | grep -i DATABASE_SID

kill -9 pid1 pid2

after killing the hanging session , we are able to startup the instance without any issues.

Monday 4 September 2017

How to find the Weblogic Admin Console URL Location in Oracle OEM?

 We can find the details from setupinfo.txt file. This file is created during the installation time.

 Location: $ORACLE_HOME/oms/install/setupinfo.txt 

 Output: 

Use the following URL to access:

        1. Enterprise Manager Cloud Controls URL: https://test.oracle.com:7802/em
        2. Admin Server URL: https://test.oracle.com:7102/console

The following details need to be provided during the additional OMS install:

        1. Admin Server Hostname: test.oracle.com

        2. Admin Server Port: 7102

Tuesday 1 August 2017

How to find the OPP log file location in oracle application 11i/R12.1 and R12.2

Below script to find the OPP log file location in oracle E-Business Suite.

Script:

SELECT fcpp.concurrent_request_id req_id, fcp.node_name, fcp.logfile_name
FROM fnd_conc_pp_actions fcpp, fnd_concurrent_processes fcp
WHERE fcpp.processor_id = fcp.concurrent_process_id
AND fcpp.action_type = 6
AND fcpp.concurrent_request_id = &&request_id;

Wednesday 26 July 2017

Growth of oracle database size in day, week and month wise

Below query to get the database size growth in day, week and month wise.

Query:

set linesize 210
set linesize 210
COL "Database Size" FORMAT a13
COL "Used Space" FORMAT a11
COL "Used in %" FORMAT a11
COL "Free in %" FORMAT a11
COL "Database Name" FORMAT a13
COL "Free Space" FORMAT a12
COL "Growth DAY" FORMAT a11
COL "Growth WEEK" FORMAT a12
COL "Growth DAY in %" FORMAT a16
COL "Growth WEEK in %" FORMAT a16
SELECT
(select min(creation_time) from v$datafile) "Create Time",
(select name from v$database) "Database Name",
ROUND((SUM(USED.BYTES) / 1024 / 1024 ),2) || ' MB' "Database Size",
ROUND((SUM(USED.BYTES) / 1024 / 1024 ) - ROUND(FREE.K / 1024 / 1024 ),2) || ' MB' "Used Space",
ROUND(((SUM(USED.BYTES) / 1024 / 1024 ) - (FREE.K / 1024 / 1024 )) / ROUND(SUM(USED.BYTES) / 1024 / 1024 ,2)*100,2) || '% MB' "Used in %",
ROUND((FREE.K / 1024 / 1024 ),2) || ' MB' "Free Space",
ROUND(((SUM(USED.BYTES) / 1024 / 1024 ) - ((SUM(USED.BYTES) / 1024 / 1024 ) - ROUND(FREE.K / 1024 / 1024 )))/ROUND(SUM(USED.BYTES) / 1024 / 1024,2 )*100,2) || '% MB' "Free in %",
ROUND(((SUM(USED.BYTES) / 1024 / 1024 ) - (FREE.K / 1024 / 1024 ))/(select sysdate-min(creation_time) from v$datafile),2) || ' MB' "Growth DAY",
ROUND(((SUM(USED.BYTES) / 1024 / 1024 ) - (FREE.K / 1024 / 1024 ))/(select sysdate-min(creation_time) from v$datafile)/ROUND((SUM(USED.BYTES) / 1024 / 1024 ),2)*100,3) || '% MB' "Growth DAY in %",
ROUND(((SUM(USED.BYTES) / 1024 / 1024 ) - (FREE.K / 1024 / 1024 ))/(select sysdate-min(creation_time) from v$datafile)*7,2) || ' MB' "Growth WEEK",
ROUND((((SUM(USED.BYTES) / 1024 / 1024 ) - (FREE.K / 1024 / 1024 ))/(select sysdate-min(creation_time) from v$datafile)/ROUND((SUM(USED.BYTES) / 1024 / 1024 ),2)*100)*7,3) || '% MB' "Growth WEEK in %",
ROUND(((SUM(USED.BYTES) / 1024 / 1024 ) - (FREE.K / 1024 / 1024 ))/(select sysdate-min(creation_time) from v$datafile)*30,2) || ' MB' "Growth MONTH",
ROUND((((SUM(USED.BYTES) / 1024 / 1024 ) - (FREE.K / 1024 / 1024 ))/(select sysdate-min(creation_time) from v$datafile)/ROUND((SUM(USED.BYTES) / 1024 / 1024 ),2)*100)*30,3) || '% MB' "Growth MONTH in %"
FROM (SELECT BYTES FROM V$DATAFILE
UNION ALL
SELECT BYTES FROM V$TEMPFILE
UNION ALL
SELECT BYTES FROM V$LOG) USED,
(SELECT SUM(BYTES) AS K FROM dba_free_space) FREE
GROUP BY FREE.K;

Query to get the Custom Tables List in oracle application

Below query to get the list of custom tables in oracle application.

Query:

select object_name,
   object_type
from all_objects
where 1=1
and object_type='TABLE'
and status='VALID'
and object_name like 'XXCUST%';

Query to get list of Custom Form List in oracle application

Below query to get the list of Custom Form List in oracle application.

Query:

SELECT  DISTINCT forms.form_name,
         formstl.user_form_name,
         func.function_name,
         func.user_function_name,
         fm.menu_name,
         menu.prompt menu_prompt,
         menu.description,
         restl.responsibility_name
        -- FORMSTL.language
  FROM   fnd_form FORMS,
         fnd_form_tl FORMSTL,
         fnd_form_functions_VL FUNC,
         fnd_menu_entries_VL MENU,
         FND_MENUS FM,
         fnd_responsibility RES,
         fnd_responsibility_tl RESTL
 WHERE     1=1
         and forms.form_id = formstl.form_id
         and func.form_id = forms.form_id
         and menu.function_id = func.function_id
         and menu.menu_id=fm.menu_id
         and res.menu_id = menu.menu_id
         and res.responsibility_id = restl.responsibility_id
         and UPPER(forms.form_name) like 'XXCUST%'      
         order by 1;

Query to get list of Custom Concurrent Programs in oracle applications

Below query to get the list of Custom Concurrent Programs in oracle applications.

Query:

SELECT   DISTINCT fcp.user_concurrent_program_name "Concurrent Program Name",
fa.application_name,
fcp.concurrent_program_name conc_short_name,
decode( fef.execution_method_code, 'H','Host',
'I', 'PLSQL Stored Procedure',
'P', 'Report',
'L', 'SQL Loader',
'Q','SQL*Plus',
'A','Spawned',
'K','Java Concurrent Program',
'B','Request Set Stage Function',
'S','Immediate',
'J','Java Stored Procedure',
'M','Multi-Language Function',
fef.execution_method_code) "execution method",
fef.executable_name,
fcp.description "Concurrent Program Description",
fef.executable_name"Executable Name",
fef.description "Executable Description",
fef.execution_file_name ,
fcp.enabled_flag
,FCP.CREATION_DATE
FROM fnd_executables_form_v fef,
                fnd_concurrent_programs_VL fcp,
                fnd_application_tl fa
WHERE fcp.application_id=fef.application_id
and fa.application_id=fcp.application_id
AND fef.executable_id=fcp.executable_id
AND UPPER(fcp.user_concurrent_program_name) like 'XXCUST%'
ORDER BY 4;

Thursday 8 June 2017

Primary database error ORA-07217: sltln: environment variable cannot be evaluated

Error:

Primary database throw below error while trying to transport archive log to standby database

ALTER SYSTEM SET log_archive_dest_state_2='enable' SCOPE=BOTH;
Errors in file /oracle/diag/rdbms/<oracle_sid>/trace/<oracle_sid>arc2_2894.trc:
ORA-07217: sltln: environment variable cannot be evaluated.
ARC2: FAL archive failed with error 7217. See trace for details
Errors in file /oracle/diag/rdbms/mdmprd/mdmprd/trace/<oracle_sid>_arc2_2894.trc:
ORA-16055: FAL request rejected
ARCH: FAL archive failed. Archiver continuing

Fix:

$ORACLE_SID needs to be replaced by proper value

Modify log_archive_format to correct value and restart the redo transport.

ORA-04024: self-deadlock detected while trying to mutex pin cursor

Error:

Database errors when trying to open with the following:

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00604: error occurred at recursive SQL level 4
ORA-04024: self-deadlock detected while trying to mutex pin cursor 0x2CD828600

Fix:

Apply the below patch to resolve this issue.

Patch 21372829.

Thursday 27 April 2017

fs_clone Error 1 occurred while Executing txkADOPValidation script

Error:

Lines #(73-77):
    [PROCEDURE] Calling: /u01/app/applmgr/TEST/fs1/EBSapps/appl/ad/12.0.0/patch/115/bin/txkADOPValidations.pl
    [EVENT]     Log: /u01/app/applmgr/TEST/fs_ne/EBSapps/log/adop/4/fs_clone_20170427_171727/TEST_test
    [UNEXPECTED]Error occurred running "perl /u01/app/applmgr/TEST/fs1/EBSapps/appl/ad/12.0.0/patch/115/bin/txkADOPValidations.pl  -contextfile=/u01/app/applmgr/TEST/fs1/inst/apps/TEST_test/appl/admin/TEST_test.xml -patchctxfile=/u01/app/applmgr/TEST/fs2/inst/apps/TEST_test/appl/admin/TEST_test.xml -phase=fs_clone -logloc=/u01/app/applmgr/TEST/fs_ne/EBSapps/log/adop/4/fs_clone_20170427_171727/TEST_test -promptmsg=hide"
    [UNEXPECTED]Error 1 occurred while Executing txkADOPValidation script on test
[PROCEDURE] [START 2017/04/27 17:18:23] Unlocking sessions table

Lines #(74-78):
    [EVENT]     Log: /u01/app/applmgr/TEST/fs_ne/EBSapps/log/adop/4/fs_clone_20170427_171727/TEST_test
    [UNEXPECTED]Error occurred running "perl /u01/app/applmgr/TEST/fs1/EBSapps/appl/ad/12.0.0/patch/115/bin/txkADOPValidations.pl  -contextfile=/u01/app/applmgr/TEST/fs1/inst/apps/TEST_test/appl/admin/TEST_test.xml -patchctxfile=/u01/app/applmgr/TEST/fs2/inst/apps/TEST_test/appl/admin/TEST_test.xml -phase=fs_clone -logloc=/u01/app/applmgr/TEST/fs_ne/EBSapps/log/adop/4/fs_clone_20170427_171727/TEST_test -promptmsg=hide"
    [UNEXPECTED]Error 1 occurred while Executing txkADOPValidation script on test
[PROCEDURE] [START 2017/04/27 17:18:23] Unlocking sessions table
[STATEMENT] Unlocking ad_adop_sessions table for test with wait interval of 60 seconds and number of tries 2

Fix:
To fix this issue test the following to upload the missing PATCH context file to the database:

1. Get the value of your patch context file.

    1.1. Source your PATCH file system

    1.2. Echo the value of $CONTEXT_FILE and take note of it. You will use this value in step #3.

2. Source the RUN filesystem

3. Execute the following command on the run filesystem to upload the patch context file to the database.

$ADJVAPRG oracle.apps.ad.autoconfig.oam.CtxSynchronizer \
action=upload \
contextfile=/u01/app/applmgr/TEST/fs2/inst/apps/TEST_test/appl/admin/TEST_test.xml \
logfile=/tmp/patchctxupload.log

Note: the context file parameter should point to the physical location of the patch context file in your system

4. Run the following query and it should return one entry for the recently uploaded context file.

select distinct(PATH) from FND_OAM_CONTEXT_FILES where NAME not in ('TEMPLATE','METADATA','config.txt') and CTX_TYPE='A' and (status is null or upper(status) in ('S','F')) and EXTRACTVALUE(XMLType(TEXT),'//file_edition_type') = 'patch';

Wednesday 26 April 2017

Oracle Application R12 forms not opening in Linux

When we are trying to access forms in Oracle apps R12.1 in Linux got the below error.

Error:










Fix:

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 : 
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) http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html#jre-6u33-oth-JPR

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

Since my operating ssystem 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 /home/oracle/jre1.6.0_33/lib/amd64/libnpjp2.so . 

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

Now you  can able to access the forms in Linux.

error while loading shared libraries: libXtst.so.6: cannot open shared object file: No such file or directory

Error:

Concurrent program error with the following message.

error while loading shared libraries: libXtst.so.6: cannot open shared object file: No such file or directory.

Fix:

Install the following RPM's to resolve the issue.

yum install libXext.x86_64
yum install libXrender.x86_64
yum install libXtst.x86_64

GConf Error: Failed to contact configuration server; some possible causes are that you need to enable TCP/IP networking for ORBi

Error:

GConf Error: Failed to contact configuration server; some possible causes are that you need to enable TCP/IP networking for ORBit, or you have stale NFS locks due to a system crash. See http://projects.gnome.org/gconf/ for information. (Details - 1: Failed to get connection to session: Failed to connect to socket /tmp/dbus-QS6NzEDBEh: Connection refused)
















In the /var/log/messages


gconfd (root-21343): Bad permissions 777 on directory /tmp/gconfd-root
gconfd (root-21343): Failed to get lock for daemon, exiting: Directory /tmp/gconfd-root has a problem, gconfd can't use it

Fix:

1.Change permissions to 700  on directory /tmp/gconfd-root
2. Restart the VNC server.

Sunday 23 April 2017

RC-50004: Fatal: Error occurred in ApplyDatabase:

While installing application R12.1.1, we got the below error.

Error:

RC-50004: Fatal: Error occurred in ApplyDatabase:

Control file creation failed

Cannot execute configure of database using RapidClone

RW-50010: Error: - script has returned an error:   1
RW-50004: Error code received when running external process.  Check log file for details.
Running Database Install Driver for TEST instance

Additional errors recorded in the "addlnctl.txt"

lsnrctl: error while loading shared libraries: /u01/DEV/db/tech_st/11.1.0/lib/libnnz11.so: cannot restore segment prot after reloc: Permission denied

Fix:

Following steps should be followed:

a) Switch SELinux from the default "Enforcing" mode that it is running in, to the "Permissive" mode. Contact Unix/Linux Admin for the same.

b) Clean up the File System (DB Tier, Application Tier & Inventory). Review the Note: How To Locate the Log Files and Troubleshoot Rapid Install for Release 12.0.x and 12.1.x (Doc ID 452120.1) for Cleanup instructions.

c) Run Rapidwiz.

Friday 21 April 2017

IO Error: Got minus one from a read call vendor code 17002

When we are trying to connect database by using Sql developer, we got below error.

Error:

IO Error: Got minus one from a read call vendor code 17002





















Fix:

You can follow these steps to avoid the error:

  1. Go to directory $ORACLE_HOME/network/admin
  2. Make sure you have backup of sqlnet.ora
  3. Modify sqlnet.ora file with the parameter: (tcp.validnode_checking = no)
  4. If you don't want to disable this, you can put the machine names as follows:  tcp.invited_nodes=(machine1, machine2)
  5. Bounce the listener or reload the listner (lsnrctl reload)

Tuesday 4 April 2017

License Manager Showing Asia/Pacific Localizations (JA) as 'Not Licensed'?

License Manager Showing Asia/Pacific Localizations (JA) as 'Not Licensed'.

How to get it Licensed ?

Please do the following:
  • Go to SYSADMIN responsibility / Oracle Application manager / License Manager / Country Specific Localization.
  • Select Singapore
  • Retest your issue.
Below link to know Licensed enable or not.

How to find Asia/Pacific Localizations (JA) Installed or not in Oracle E-Business Suite (R12.1 / R12.2)

Below script to find the Asia/Pacific Localizations (JA) Installed or not in Oracle E-Business Suite instance.

Script:

SELECT SUBSTR(a.application_name, 1,40) product_name
, a.application_id
, SUBSTR(application_short_name, 1,4) short_name,
DECODE(b.status,'I','INSTALLED',
DECODE(b.status,'S','SHARED',
DECODE(b.status,'N','NOTINSTALLED',b.status))) status
FROM fnd_application_vl a, fnd_product_installations b
WHERE a.application_id = b.application_id
and a.application_short_name like Upper('ja')
and upper(a.application_name) like upper('%asia%')
ORDER BY 1;

Output:


Thursday 23 March 2017

adop fs_clone phase fails after upgrading FMW to 11.1.1.7

The adop fs_clone phase fails after upgrading FMW to 11.1.1.7 with the following error:

Error:

Log file located at /u01/ebs/apps/fs1/inst/apps/ebs/admin/log/clone/FSCloneStageAppsTier_11270942.log
Exception in thread "main" java.lang.NoSuchMethodError: oracle.jdbc.driver.PhysicalConnection.getDefaultAutoRefetch()Z
at oracle.jdbc.driver.OracleStatement.(OracleStatement.java:762)
at oracle.jdbc.driver.T4CStatement.(T4CStatement.java:1255)
at oracle.jdbc.driver.T4CDriverExtension.allocateStatement(T4CDriverExtension.java:48)
at oracle.jdbc.driver.PhysicalConnection.createStatement(PhysicalConnection.java:3460)
at oracle.jdbc.driver.PhysicalConnection.createStatement(PhysicalConnection.java:3425)
at oracle.apps.ad.clone.util.CloneUtil.getServerNamesFromDB(CloneUtil.java:950)
at oracle.apps.ad.clone.util.CloneUtil.getAllServerNamesFromDB(CloneUtil.java:903)
at oracle.apps.ad.clone.FSCloneStageAppsTier.doStage(FSCloneStageAppsTier.java:362)
at oracle.apps.ad.clone.FSCloneStageAppsTier.(FSCloneStageAppsTier.java:149)
at oracle.apps.ad.clone.FSCloneStageAppsTier.main(FSCloneStageAppsTier.java:667)

Fix:

To resolve the issue test the following steps in a development instance and the migrate accordingly:

1. Take a backup of any involved files.

2. Download clean version of the file ojdbc6.jar via the following link:

https://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html

3. Replace the corrupted ojdbc6.jar jdbc driver file.

4. Confirm the file is correct via the following commands:

  •    java -jar ojdbc6.jar -getversion
  •    md5sum ojdbc6.jar

5. Retest adop fs_clone and confirm it now progresses successfully.

URL validation failed. The error could have been caused through the use of the browser's navigation buttons ( the browser Back button or refresh, for example). If the error persists, Please contact system administrator.

When we are trying to access the Oracle E-Business Suite R12.2.5 forms in Internet Explorer 10, we are getting below error.

Error:

'URL validation failed. The error could have been caused through the use of the browser's navigation buttons ( the browser Back button or refresh, for example). If the error persists, Please contact system administrator.'

Fix:

There could be multiple reasons for the issue, but in our scenario adding this Login URL into trusted sites can resolved my issue. 

Navigation:

  • Goto Internet Options
  • Security
  • Trusted sites
  • Sites
  • Add this website to the zone.

Wednesday 22 March 2017

ORA-06512: at "APPS.HR_API_USER_HOOKS_UTILITY", line 891

When attempting to apply 12.2.6 patch: 21900901:oracle e-business suite 12.2.6 release update pack
the following error occurs.

ERROR:
(XX_HR_USER_HOOK_PKG.POSITION_BEFORE_UPDATE_BK2) The call_package does not ex
ist in the database. Code to carry out this hook call has not been created.

DELETE_POSITION(Business Process API) successful.
BEGIN hr_api_user_hooks_utility.clear_hook_report; END;

*
ERROR at line 1:
ORA-06501: PL/SQL: program error
ORA-06512: at "APPS.HR_API_USER_HOOKS_UTILITY", line 891
ORA-06512: at line 1

To implement the solution, please execute the following steps:

1. Run the following sql.

SQL> select CALL_PACKAGE, CALL_PROCEDURE, ENABLED_FLAG from HR_API_HOOK_CALLS;

This will provide you a list of the user hooks, procedures and enabled_flag values
From this table, update the user hook in question and set it to 'N.'

2. Run the following in sql:

cd $PER_TOP/admin/sql
Log into SQLPLUS as the APPS user
SQL> @hrahkall.sql

This will clear up the child process that are still enabled.

3. Restart the failed worker and allow the patch to complete.

4. Properly create your user hook

Sunday 19 March 2017

Oracle E-Business Suite R12.2 major technology components

Oracle E-Business Suite uses the following major technology components in Release 12.2:



































Oracle E-Business Suite R12.2.6 New and Changed Features

Oracle E-Business Suite Technology Stack and Oracle E-Business Suite Applications DBA contain the following new or changed features in Release 12.2.6.


Reorganized Patch Log File Directory Structure
Category
Description
Parameters
New feature
The adop log files, located on the non-editioned file system (fs_ne), are now organized in a logical hierarchical structure, where you drill down to the subdirectory that corresponds to the the action for which you wish to see the activities.
Not applicable.

Enhanced Seed Data Management
Category
Description
Parameters
New feature
A new architecture greatly increases the speed and efficiency with which seed data is synchronized as part of an online patching cycle. No additional storage is required, and seed data tables are upgraded on demand to the new architecture.
Not applicable.

Longer Custom Application Short Names
Category
Description
Parameters
New feature
If you deploy custom applications in Release 12.2, you must run AD Splicer to ensure they are registered correctly. This utility now supports application short names of up to sixteen (16) characters. For more information, refer to My Oracle Support Knowledge Document 1577707.1, Creating a Custom Application in Oracle E-Business Suite Release 12.2.
Not applicable.

Warning for Missing Application Tier Patches
Category
Description
Parameters
New feature
The adop utility now displays a warning message when a required application tier patch is identified as not having been applied. As this is a warning rather than an error, the utility does not exit as a result.
Not applicable.

Java Mission Control and Java Flight Recorder
Category
Description
Parameters
New feature
Java Mission Control and Java Flight Recorder can be now enabled for use with many Oracle E-Business Suite processes. For more information, refer to Java Mission Control and Java Flight Recorder in Chapter 13, Running Diagnostics, of Oracle E-Business Suite Maintenance Guide.
Not applicable.

Support for Platform Migration
Category
Description
Parameters
New feature
Platform migration is now certified with Oracle E-Business Suite Release 12.2. For more information, refer to My Oracle Support Knowledge Document 2048954.1, Application Tier Platform Migration with Oracle E-Business Suite Release 12.2.
Not applicable.

Enhanced Pairsfile Support
Category
Description
Parameters
New feature
Pairsfile support has been now extended to include the Windows platform as well as UNIX platforms.
In addition, the pairsfile for the 'dualfs' option of adcfgclone.pl has been enhanced to support entries for the patch file system context variables. The context variable names for the patch file system should be prefixed with 'patch_'. For example, to customize the value of the context variable s_wls_oacoreport for the patch file system to 7235, the entry patch_s_wls_oacoreport=7235 should be used.
Not applicable.

Support for Longer Node Names in Rapid Clone
Category
Description
Parameters
New feature
The Rapid Clone utility now supports node names of up to sixty-three (63) characters. For more information about Rapid Clone, refer to My Oracle Support Knowledge Document 1383621.1, Cloning Oracle E-Business Suite Release 12.2 with Rapid Clone.
Not applicable.

Delta Synchronization of File Systems
Category
Description
Parameters
New feature
The fastest way to synchronize the two application tier file systems, the new option of delta synchronization uses your choice of third-party utility to synchronize the file systems by copying files as applicable from the source directory to the destination directory, optionally ignoring any files and directories you may decide to specify in an exclusion file.
$ adop phase=prepare sync_mode=delta


Wednesday 15 March 2017

Applications DBA Online Patching Tool (adop)

Oracle E-Business Suite Maintenance Guide for a full description of adop features, operation, and usage.

The phase parameter specifies the parts (phases) of the online patching cycle to be executed. The five standard phases are executed in the order shown below.

Standard phases:
prepare      - Prepare the instance for patch application.
apply        - Apply patches (to the patch edition).
finalize     - Ready the instance for cutover.
cutover     - Make the patch edition the new run edition.
cleanup     - Drop obsolete objects and data from old editions.

There are also three special phases, for use when needed.

Special phases:
abort             - Abort the current online patching cycle.
actualize_all - Create actual copies of all code objects in the patch edition.
fs_clone        - Copy the run file system to the patch file system.

General parameters applicable to all phases:

workers=<number> [default: computed]
Number of parallel workers used to execute tasks.  Default value is computed principally according to number of available CPU cores.

input_file=<file_name>
As well as being entered directly on the command line, adop parameters can be specified in a text file, with one <parameter>=<value> on each line of the file.  Command line parameters override input file parameters.

loglevel=(statement|procedure|event|warning|error|unexpected)
[default: event]
Controls the level of diagnostic log detail displayed on the console.

prompt=(yes|no)  [default: yes]
Specifies whether adop should prompt for user input on warnings. By default adop will ask user whether to continue or exit on some warning messages.  If this parameter is set to "no" adop will remain fully non-interactive, and will continue past any warning messages without user confirmation.

Phase-specific parameters control operation of a particular phase:

Apply parameters:
patches=<patch#>[,<patch#>...]
patches=<patch_directory>:<driver>[,<patch_directory>:<driver>...]
This parameter specifies a comma-separated list of patches to be applied.  Patches can be specified either as the patch number or by the patch directory and driver file.  All patches are expected to be in the $PATCH_TOP directory on all tiers.  Patches are applied serially unless the merge=yes parameter is specified.

restart=(yes|no)  [default: no]
Use restart=yes to resume the previous failed apply command from where processing terminated.

abandon=(yes|no)  [default: no]
Use abandon=yes to abandon the previous failed apply command and start a new apply command.

apply_mode=(online|downtime|hotpatch)  [default: online]
Use online mode to apply a patch to the patch edition during an online patching cycle; downtime mode to apply a patch to the run edition when application services are down; and hotpatch mode to apply a patch to the run edition when application services are up. Only use hotpatch mode when explicitly directed by documentation.

apply=(yes|no)  [default: yes]
To run adop in test mode (without applying any patches), use apply=no

 options=<patch_option>[,<patch_option>...]
 Advanced options to control patching behavior.
       
See adop -examples for details.
flags=<patch_flag>[,<patch_flag>...]
 Advanced flags to control patching behavior.
 See adop -examples for details.

Finalize parameters:

finalize_mode=(full|quick)  [default: quick]
Quick mode will provide the shortest execution time, by skipping non-essential actions. Full mode performs additional actions such as gathering statistics that may improve performance after cutover.

Cutover parameters:

mtrestart=(yes|no)  [default: yes].
Specifies whether to restart application tier servers after cutover. Leave at default unless you need to perform manual steps during the cutover downtime.

cm_wait=<minutes>  [default: forever]
Specifies the number of minutes to wait for Concurrent Manager shutdown.  Adop cutover starts by requesting a concurrent manager shutdown and then waits for in-progress requests to complete.
If Concurrent Manager does not shutdown within the specified time limit, remaining concurrent requests will be killed and cutover will proceed.

Cleanup parameters:

cleanup_mode=(full|standard|quick)  [default: standard]
Quick mode provides the shortest execution time, by skipping non-essential actions. Standard mode performs additional processing to drop obsolete code objects from old editions.
Full mode performs additional processing to drop empty database editions and unused table columns.

Fs_clone parameters:

force=yes/no [default: no]
Use force=yes to restart a previous failed fs_clone command from the beginning.  By default fs_clone will restart where it left off.

Command flags:

-status [<session_id>]
Display status of the latest adop session, or a specified session.

-validate
Runs ADOP validations for verifying the current system state.

-examples
Display extended help information with common usage examples.

-help
This help screen.

How to check the adgrants version in oracle database

Below script to check the adgrants version in oracle database.

Script:

SELECT DISTINCT RPAD(h.filename,15) ,
  RPAD(g.version,20) ,
  RPAD(TRUNC(c.end_date),12) ,
  RPAD(a.bug_number,10) ,
  RPAD(e.patch_name,10) ,
  RPAD(b.applied_flag,4) "File:vers:Date:Bug:Patch:Apply"
FROM ad_bugs a,
  ad_patch_run_bugs b,
  ad_patch_runs c,
  ad_patch_drivers d ,
  ad_applied_patches e,
  ad_patch_run_bug_actions f ,
  ad_file_versions g,
  ad_files h
WHERE a.bug_id              = b.bug_id
AND b.patch_run_id          = c.patch_run_id
AND c.patch_driver_id       = d.patch_driver_id
AND d.applied_patch_id      = e.applied_patch_id
AND b.patch_run_bug_id      = f.patch_run_bug_id
AND f.patch_file_version_id = g.file_version_id
AND g.file_id               = h.file_id
AND h.filename LIKE 'adgrants.sql'
ORDER BY 1 DESC;

Output:










Tuesday 14 March 2017

How to check Oracle Application Modules Licensed or Not.

Below script to find Oracle Application Modules are Licensed or Not.

Script:

SELECT fat.application_name
      ,fa.application_id
      ,fpi.patch_level
      ,decode(fpi.STATUS,'I','Licensed', 'N','Not Licensed','S','Shared','Undetermined') STATUS
      ,fpi.*
FROM fnd_product_installations fpi
      ,fnd_application fa
      ,fnd_application_tl fat
WHERE fpi.application_id = fa.application_id
AND fat.application_id = fa.application_id
AND fat.LANGUAGE = 'US';

Output:


How to verify the Nodemanager password is working or not?

We can verify the Nodemanager password by using below steps:

$ cd /u01/app/fmw/oracle_common/common/bin
$ wlst.sh
wls:/offline> nmConnect(domainName='test_domain', username='NMUser', password='NMPasswd')
Connecting to Node Manager ...
Successfully Connected to Node Manager.
wls:/nm/test_domain> nmDisconnect()
Successfully disconnected from Node Manager.
wls:/offline> exit()

How to change the Nodemanager Password in Oracle Apps R12.2

There are two ways to change the Nodemanger password in Oracle apps R12.2 (or) Weblogic.

Weblogic Console:
  1. Log in to Admin Console (http://hostname:7001/console).
  2. Goto DomainName
  3. Security tab
  4. General subtab
  5. Advanced Options
  6. Then change the property Credentials with the new password.

















Select Domain














































Change password from backend:

  1. Go to directory: domain_directory/config/nodemanager
  2. Open the file: nm_password.properties
  3. Find an entry looking like hashed=abgJGH\= and remove it
  4. Fill the following properties with real values as simple text:
  • password=
  • username=
When you finish your changes remember to restart AdminServer and NodeManager.

If the Admin Password of an EBS WebLogic Domain is lost or forgotten

As noted earlier, the EBS WebLogic domain uses Node Manager to control startup of the AdminServer and Managed Servers. For the EBS WebLogic domain, the Node Manager and WebLogic AdminServer passwords must be same. If the passwords are different, the AD control scripts will not work properly.

If the AdminServer password has been lost or forgotten, it can be reset by carrying out the following steps on the run file system. As described in the final step, an fs_clone operation should then be performed to synchronize the run and patch file systems.

Shut down all running services. Since the AdminServer password is not known, the servers cannot be stopped from the console and so must be killed as follows.

Connect to the Oracle E-Business Suite instance and source the application tier environment file.

Identify the PIDs of Node Manager, AdminServer, and all running Managed Servers:

$ ps -ef | grep "NodeManager"
$ ps -ef | grep "weblogic.Name=AdminServer"
$ ps -ef | grep "weblogic.Name=forms-c4ws_server"
$ ps -ef | grep "weblogic.Name=forms_server"
$ ps -ef | grep "weblogic.Name=oafm_server"
$ ps -ef | grep "weblogic.Name=oacore_server"
Kill all these processes, starting with Node Manager and followed by the Managed Servers.

Back up these folders, and then delete them:

<EBS_DOMAIN_HOME>/security/ DefaultAuthenticatorInit.ldift
<EBS_DOMAIN_HOME>/servers/<server_name>/data/ldap
<EBS_DOMAIN_HOME>/servers/<server_name>/security/boot.properties
<EBS_DOMAIN_HOME>/servers/<server_name>/data/nodemanager/boot.properties

Where:

<EBS_DOMAIN_HOME> is the absolute path of the EBS WebLogic domain

<server_name> is the name of the server directory under <EBS_DOMAIN_HOME>.

If the password is not reset correctly, the backed up files and folders can be restored.

Note: For certain servers, the boot.properties file may be present in only one location of the two specified above. In such a case, back it up and then delete it.

Set up a new environment to change the WLS AdminServer password.

Start a new session and connect to the Oracle E-Business Suite instance.

Do not source the application tier environment file.

Run the following command to source the WebLogic Server domain environment:

$ cd <EBS_DOMAIN_HOME>/bin
$ source setDomainEnv.sh
Run the following commands:

$ cd <EBS_DOMAIN_HOME>/security
$ java weblogic.security.utils.AdminAccount <wls_adminuser> <wls_admin_new_password> .
Where:

<wls_adminuser> is the same as the value of context variable s_wls_admin_user

<wls_admin_new_password> is the new WLS AdminServer password you wish to set.

Note: Do not omit the trailing period ('.') in the above command: it is needed to specify the current domain directory.

Start AdminServer from the command line. You will be prompted for the WebLogic Server username and password, so that the AdminServer boot.properties file can be generated.

Go to the EBS Domain Home:

$ cd <EBS_DOMAIN_HOME>
Start AdminServer:

$ java <s_nm_jvm_startup_properties> -Dweblogic.system.StoreBootIdentity=true -Dweblogic.Name=AdminServer weblogic.Server
Where:

<s_nm_jvm_startup_properties> is the same as the value of context variable ss_nm_jvm_startup_properties

The above command prompts for the WebLogic Server username and password:

Enter username to boot WebLogic server:
Enter password to boot WebLogic server:
Provide the same credentials as you provided in Step 3.

Change Node Manager password

Log in to the WebLogic Administration console.

Click the 'Lock & Edit' button.

In the left panel, click on the EBS Domain link.

Select the 'Security' tab.

Click on the 'Advanced' link.

Edit the 'Node Manager password' field and set it to the new WebLogic Server password. The password should be same as set in Step 3.

Edit the 'Confirm Node Manager Password' field and set it to the new WebLogic Server password. The password should be same as set in Step 3.

Save and activate the changes.

The first time, AdminServer has to be stopped from the Admin console. Follow these steps:

Log in to the WebLogic Administration console.

Shut down AdminServer.

Set up your environment to start AdminServer again. AdminServer should now be started using the normal AD script, which will also start Node Manager using the new password.

Launch a new session and connect to the Oracle E-Business Suite instance.

Source the application tier environment file.

Start AdminServer with the following command:

$ $ADMIN_SCRIPTS_HOME/adadminsrvctl.sh start
Start the Managed Servers. For the first time, all Managed Servers should be started from the WebLogic Server Admin console. This step will create boot.properties files for the respective Managed Servers. Follow these steps:

Log in to the WebLogic Server Administration Console

Start all Managed Servers, one at a time

Shut down all the Managed Servers. This is so the new credentials will be picked up at the next startup. Follow these steps:

Log in to the WebLogic AdminServer console.

Shut down all Managed Servers.

Shut down AdminServer.

Shut down Node Manager using the normal AD script.

$ $ADMIN_SCRIPTS_HOME/adnodemgrctl.sh stop

Copy the boot.properties file for each Managed Server.

WebLogic Server native scripts use the boot.properties file. The above steps have created the boot.properties file under <EBS_DOMAIN_HOME>/servers/<Managed Server name>/data/nodemanager, which is used by Node Manager. For each Managed Server, copy the newly-generated boot.properties file from<EBS_DOMAIN_HOME>/servers/<Managed Server name>/data/nodemanager to <EBS_DOMAIN_HOME>/servers/<Managed Server name>/security.

The EBS WebLogic Server domain password has now been changed, and all servers can now be started using the normal AD scripts.

To start AdminServer:

$ADMIN_SCRIPTS_HOME/adadminsrvctl.sh start

To start the Managed Servers:

$ $ADMIN_SCRIPTS_HOME/admanagedsrvctl.sh start <managed_server_name>

The above steps have changed the Oracle WebLogic AdminServer password on the run file system. You now need to perform an fs_clone operation, to change the WebLogic EBS Domain password on the patch file system:

Launch a new session and connect to the Oracle E-Business Suite instance.

Source the application tier environment file.

Run the command:

$ adop phase=fs_clone

How to change the Oracle WebLogic Server Administration User Password

The option to set the Oracle WebLogic Server Administration User password to a non-default value is available during Oracle E-Business Suite installation. This section describes the procedure to use (on the run file system) if you need to change the password at a later time.

The EBS WebLogic Domain uses Node Manager to control the Administration Server and the managed servers. For the EBS WebLogic Domain, the Node Manager and WebLogic Server Administration User passwords must be same, otherwise the AD control scripts will not work properly.

Tip: If you need to change the Administration User password, you must change the Node Manager password first. If you do not do this, the WebLogic Server configuration change will not be detected and the next online patching cycle may fail.

The instructions that follow should be performed on the run file system. The password change will be automatically propagated to the patch file system during the next adop prepare phase or fs_clone operation..

Shut down all application tier services except the Admin Server.

On the primary node, run the command:
 $ <ADMIN_SCRIPTS_HOME>/adstpall.sh -skipNM -skipAdmin

On all secondary nodes, run the command:
 $ <ADMIN_SCRIPTS_HOME>/adstpall.sh

Note: The above examples are for UNIX. If you are using Windows, employ the appropriate equivalent syntax.

Change the Oracle WebLogic Server Administration User password by performing the following steps on the run file system of the primary node.

Source the environment on the run file system.

Run the commands appropriate for your platform:

On UNIX, run the command:

$ perl $FND_TOP/patch/115/bin/txkUpdateEBSDomain.pl -action=updateAdminPassword

Start Node Manager.

When prompted, enter the new password you just set.

Start all services on all nodes, using the command:

 $ <ADMIN_SCRIPTS_HOME>/adstrtal.sh

Tuesday 7 March 2017

FRM-92095: Oracle JInitiator version too low.

Getting below error while trying to access the oracle forms.












Cause:

Latest version of Java installed and forms version is not compatible with currently installed JAVA.

Fix:

  1. Check and validate the version of java installed in your system.
  2. If you already installed latest version of JAVA, Please go and uninstall(via Control Panel > Add/Remove Software)
  3. Download the latest version of 1.8 (like 1.8.0_25 to 1.8.0_29) and install.
  4. Then try open the application again with same browser.
Navigation:

  • Goto Control Panel.
  • Search Java
  • Click on Java
  • Goto Java --> User
  • And add runtime parameters.




















  • We need to set -Djava.vendor="Sun Microsystems Inc." under Run-time Parameters.
  • Click ok and click Apply.
  • And clear the java cache.
  • Try to open the forms.