Monday, December 28, 2009

How do you manually regenerate a form in Release 12?

1. Check the FORMS_PATH env variable. Assuming these are US forms the FORMS_PATH should include
$AU_TOP/resource and $AU_TOP/forms/US.

2. To compile a form manually from the command line try either of these two command line arguments (replace FNDFBMAS.fmb with the form of your choice.):

frmcmp.sh module=FNDFBMAS.fmb userid=apps/ module_type=form batch=yes compile_all=yes

frmcmp_batch module=FNDFBMAS.fmb userid=apps/ module_type=form batch=yes compile_all=yes

Tuesday, December 22, 2009

The Function Is Not Available Under The Responsibility

After applying the ATG RUP 7 When attempting to navigate to a function which has been newly added to a menu the following error occurs:

ERROR
The Function Is Not Available Under The Responsibility

STEPS
The issue can be reproduced at will with the following steps:
1. Query menu:

2. Add function: and Save.
3. Verify that the menu compilation request (FNDSCMPI module: Compile Security) completed successfully.
4. Log into e-Business Suite and try to navigate to function: .
5. The error occurs.

This issue is caused by launching the menu item before the Compile Security has completed.

When a function is added to a menu , a concurrent program 'Compile Security' is submitted which loads the data in Fnd_Compiled_Menu_Functions table.

Whenever a function is accessed, security code checks Fnd_Compiled_Menu_Functions table to determine whether that function is accessible under the given security context or not. So if this function is accessed before the 'Compile Security' program is finished, the function cache gets loaded with stale data and the reported error message is thrown.

So after modifying the 2 menu definitions associated with 'System Administrator' and 'Application Developer' make sure that 2 concurrent requests submitted for the above 2 modifications completed normally and then try to access the functions.

Further once this error occurs, it will be cached which means that even after the menu item has been flagged as available, it the error will be returned from the cache.

Solution
-- To implement the solution, please execute the following steps::
1) Manually run the 'Compile Security' concurrent program, set the parameter to YES.
2) Shut down Middle Tier (Apache)
3) Delete the contents of $OA_HTML/_pages directory (11.5.10 only).
4) Restart Middle tier
5) Test the menu item


Wednesday, December 16, 2009

How to recover from a corruption of an object in system tablespace

Table IDL_UB2$ who's owner is SYS got corrupted. This was noticed while trying to compile a package EAM_PROCESS_WO_PVT.

=================================================
SQL> alter package EAM_PROCESS_WO_PVT compile package;
Warning: Package altered with compilation errors.
SQL> show errors;
No errors.
SQL> alter package EAM_PROCESS_WO_PVT compile body;

Warning: Package Body altered with compilation errors.
SQL> show errors;
Errors for PACKAGE BODY EAM_PROCESS_WO_PVT:
LINE/COL ERROR
-------- -----------------------------------------------------------------
0/0 PLS-00801: internal error [phdite:node kind]
9361/5 PL/SQL: SQL Statement ignored
9362/32 PL/SQL: ORA-00604: error occurred at recursive SQL level 1
ORA-01578: ORACLE data block corrupted (file # 2, block # 40099)
ORA-01110: data file 2:
'/u01/oracle/PROD/db/apps_st/data/system02.dbf'
9366/46 PL/SQL: Statement ignored

=================================================

As a first step. we found the object that was in question and its type.

=================================================
SQL> SELECT OWNER, SEGMENT_NAME, SEGMENT_TYPE FROM DBA_EXTENTS
WHERE FILE_ID = 2
AND 40099 BETWEEN BLOCK_ID AND (BLOCK_ID + BLOCKS -1); 2 3
OWNER
------------------------------
SEGMENT_NAME
-------------------------
SEGMENT_TYPE
------------------
SYS
IDL_UB2$
TABLE

=================================================

then performed the following steps:

=================================================
SQL> shutdown immediate
SQL> startup upgrade
SQL> truncate table idl_ub1$;
SQL> truncate table idl_char$;
SQL> truncate table idl_ub2$;
SQL> truncate table idl_sb4$;
SQL> @?/rdbms/admin/utlirp
SQL> shutdown immediate
SQL> startup upgrade
processes to connect to dbs
SQL> @?/javavm/install/rmjvm
SQL> shutdown immediate
SQL> exit <-- important!<<<<<<<<<<<<<<<<SQL> startup upgrade
processes to connect to dbs
SQL> alter system set "_system_trig_enabled"=false scope=memory;
SQL> @?/javavm/install/initjvm.sql
SQL> shutdown immediate
SQL> exit <-- important! <-- important!<<<<<<<<<<<<<<<<SQL> startup upgrade
processes to connect to dbs
SQL> @?/rdbms/admin/utlrp
SQL> shutdown immediate
SQL> startup

=============================================

The corruption was fixed.

Tuesday, December 15, 2009

RMAN cloning using duplicate command

1) Make a copy of the following TARGET directories under
DB Tier:
Archive log backup
Control file backuup
Database full backup
Apps Tier:Apps tech


2) Configure the Oracle Home
Target – Apps/DB

Overwrite the dbs, appsutil, network/admin directories with the previously copied directories.
Rename the $ORACLE_HOME/admin/ PROD_perp to DBA_mperp.


3) Copy the Apps file system to target.
Target-Apps
This can be done along with copying the database Oracle Home files.

4) Edit the init_SID.ora
Add a parameter remote_login_passwordfile=EXCLUSIVE
Add following parameters:db_file_name_convert=('/u02/oracle/PROD/db/apps_st/data','/u02/oracle/DBA/db/apps_st/data') log_file_name_convert=('/u02/oracle/PROD/db/apps_st/data','/u02/oracle/DBA/db/apps_st/data')


5) Create the password file
Target –DB
orapwd file=orapwPROD password=oracle entries=3

6) Target –DB
cd $ORACLE_HOME/appsutil/clone/binperl adcfgclone.pl dbTechStack

7) Startup the target instance in NOMOUNT state.
Target –DB
Startup nomount.

8) Connect to source database in target machine
Source-DB
rman tee restore.log
CONNECT TARGET
rman/****@PROD;

9) Connect to RMAN in the target machine
Target-DB
CONNECT AUXILIARY /;

10) Run the duplicate command
Note: If we don’t use set until then we need to make sure PROD doesn’t generate any archive logs after the restore if it’s generated then it’ll look for it also which is not available with us.

Target-DB
run {
duplicate target database to “DBA”;
}


11) Update the libraries (for both)
Target-DB
cd $ORACLE_HOME/appsutil/install/Context_namesqlplus / as sysdba @adupdlib.sql so

12) Configure the database
Target-DB
cd ora_home/appsutil/clone/binperl adcfgclone.pl dbconfig

13) Once the db tiers are up, clone the apps tier
Target-Apps
cd common_top/clone/binperl adcfgclone appsTier

14) Remove the old $COMMON_TOP/admin/log and out directories to clear out space.
Truncate fnd_concurrent_requests tables

Target-Apps

Is DBVERIFY Detects Corrupt Blocks With Redolog Files or Control Files ?

1)You ran DBVIERY utility on the redo log files or control files
2) DBVERITY is reporting every page as corrupt

Example :
You ran
dbv file=/usr/oracle/redo/logfile1.dbf log blocksize=512
and got following error message

DBVERIFY: Release 9.2.0.3.0 - Production on Thu Jun 10 21:24:25 2004Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
DBVERIFY - Verification starting :
FILE = /usr/oracle/redo/logfile1.dbf
Page 1 is marked corrupt
***
Corrupt block relative dba: 0x00000001 (file 0, block 1)
Bad header found during dbv:
Data in bad block -
type: 0 format: 0 rdba: 0x00000001
last change scn: 0x0000.1f7fda67 seq: 0x22 flg: 0xcc
consistency value in tail: 0x00000000
check value in block header: 0x920, computed block checksum: 0x0
spare1: 0x2f, spare2: 0x11, spare3: 0x0

DBVERIFY checks are limited to cache-managed blocks (that is, data blocks). Because DBVERIFY is ONLY for use with datafiles, it will NOT work against control files or redo logs

No fix. It is expected behavior with redo log and control files.


How To Run Dbv In Parallel On A Single data file.

To run dbv in parallel on a single datafile. Steps -----
1) Identify the file# and name of the datafile.
2) Identify the number of blocks in the datafile.

3) Determine how many parallel sessions has to be used.
4) Start Parallel dbv sessions.

1) I dentify the file# and name of the datafile.
select * from v$dbfile where name like '%datafile_name%'; (OR) select * from v$dbfile ;
2) Identify the number of blocks in the datafile.

1.A Find Data Block Size
eg: SQL>show parameter db_block_size
NAME TYPE VALUE
----------------------------------- ------- ------
db_block_size integer 8192
1.B Calculate the the number of blocks.
SQL> select BYTES/8192 from v$datafile where FILE#=5;
BYTES/8192
----------
5120
So the file# 5 contains 5120 blocks

3) Determine how many parallel sessions has to be used.
This example shows three parallel sessions.
4) Start Parallel dbv sessions.
$dbv FILE=filename START=1 END=2000
$dbv FILE=filename START=2001 END=3500 $dbv FILE=filename START=3501 (Note:-END defaults to the last block of the file)

How to check to see if a specific Forms patch is applied to your Oracle Applications?

For Oracle Applications 11i forms version 6.0.8.xCheck the readme of the patch. The patch readme will have instructions similar to the following: Backup the Forms class files, %cp -r $ORACLE_HOME/forms60/java/oracle/forms/handler/UICommon.class $ORACLE_HOME/forms60/java/oracle/forms/handler/UICommon.class.PRE_BUG6643292

Look in the directory for something like : PRE_BUG##### to determine if the forms patch has been applied.

For Oracle Applications R12 forms version 10g
Look in the opatch inventory for the patch number. cd $ORACLE_HOME/OPatch export $PATH=`pwd`:${PATH} opatch lsinventory -detail > 1012_inventory.txt check if patch ###### is listed Or you can review the patch readme for similar information as documented above for the 6.0.8.x forms patchsets.

R12: Patch(es) , conflict with the patch currently being installed (PATCH)

You are applying a technologies patch to the R12 Ebusiness Suite 10.1.2.X.X or 10.1.3.X.X home and receive the following message during opatch application. These steps are also relevant for non Ebusiness suite technologies patches as the theory is the same. Conflicting patches: ,
Patch(es) , conflict with the patch currently being installed (PATCH BEING APPLIED).
If you continue, patch(es) , will be rolled back and the new patch (PATCH BEING APPLIED) will be installed.
Note: If the patch currently being installed (PATCH BEING APPLIED) is rolled back, it is recommended that the fixes being rolled back here (, ) are reinstalled.
If a merge of the new patch (PATCH BEING APPLIED) and the conflicting patch(es) , is required, contact Oracle Support Services and request

You are unsure on whether to proceed or quit the patch.
How does one determine if the patch being applied can safely override the existing patch?

When there is such a conflict between and existing patch and the patch being applied you should compare the bugs fixed in both the patches. The conflict arises when a patch being applied contains a file that is also included in another patch manually applied on top of the current installed patchset. As there is no version information the conflicting patch message appears.
Obtain a copy of each patch and compare the 'inventory' file or the 'readme' file. These files contain a list of bugs fixed by each patch. These files exist within the patch zip file. Extract the patch zip to view either of these files
Compare the bugs listed. What you are looking for is to make sure that the patch being applied has all the bugs mentioned that are fixed in the existing patch. In other words, before rolling back the existing patch you want to make sure the bugs it fixes are included in the new patch being applied.
If all the patches listed in the existing patch are included in the patch being applied you can safely continue the patch.
In some cases the patch being applied may not contain all the bug fixes that are included with the existing patch. If you do not require the missing patches you can safely continue patch application.
If you do require the patches then you should stop the patch application and log a service request with Oracle Support requesting a "Merge Label Request, MLR" of the existing patch and the patch being applied.

Where To Download The BI Publisher Desktop for Windows? (Template Builder)

The latest version of BI Publisher Desktop for Windowsis available here: http://www.oracle.com/technology/software/products/publishing/index.html

How to start the Output Post Processor (OPP)?

The OPP is not started by default.It needs to be activated when BI Publisher is setup.

To activate the OPP please do this:
The Profile Option "Concurrent: GSM Enabled" must be set to Y
Then:
1. Login to Apps with sysadmin responsibility
2. Navigate to: Concurrent -> Managers -> Define
3. Query for Manager = 'Output Post Processor'or Short Name = FNDCPOPP
4. Check the checkbox "Enable" .
5. Click on 'Work Shifts button
6. see Work Shift of the OPP and
Set
Processes = 1
and
Parameters = oracle.apps.fnd.cp.opp.OPPServiceThread:2:0:max_threads=5
and
Sleep Second = 30
7. Save
8. Navigate to:_ Concurrent -> Managers -> Administer
9. Make sure the Output Post Processor Status is not 'Deactivate'Set Status to 'Activate' if necessary.
10. Stop and Start the Concurrent Managers using
adcmctl.sh

Friday, December 11, 2009

Gather Schema errors out with ORA-20005:

When running gather schema statistics, the following error occurs.
Error #1: ERROR: While GATHER_TABLE_STATS: object_name=APPLSYS.AQ$_WF_CONTROL_P***ORA-20005: object statistics are locked (stattype = ALL)***
Error #2: ERROR: While GATHER_TABLE_STATS: object_name=APPLSYS.FND_CP_GSM_IPC_AQTBL***ORA-20005: object statistics are locked (stattype = ALL)***
Error #3: ERROR: While GATHER_TABLE_STATS: object_name=APPLSYS.FND_CP_GSM_OPP_AQTBL***ORA-20005: object statistics are locked (stattype = ALL)***
Error #4: ERROR: While GATHER_TABLE_STATS: object_name=APPLSYS.FND_CP_TM_AQTBL***ORA-20005: object statistics are locked (stattype = ALL)***
Error #5: ERROR: While GATHER_TABLE_STATS: object_name=APPLSYS.FND_CP_TM_RET_AQTBL***ORA-20005: object statistics are locked (stattype = ALL)***
Error #6: ERROR: While GATHER_TABLE_STATS: object_name=APPLSYS.WF_SMTP_O_1_TABLE***ORA-20005: object statistics are locked (stattype = ALL)***

This can happen with Advance Queue tables.
In 10g, if a queue is created or recreated during the upgrade, automatic statistics gather is locked (disabled) on these queue.


The following statement can be used to check the tables which have statistics locked:

select owner, table_name, stattype_locked from dba_tab_statistics where stattype_locked is not null;

Unlock statistics gathering on those queues running the commands below.
- To unlock all the tables in a schema at once:

exec dbms_stats.unlock_schema_stats('schema_owner');
OR
To unlock individual tables (need to run for all tables individually):
exec dbms_stats.unlock_table_stats('table_owner','table_name');

Examples:
SQL> exec dbms_stats.unlock_schema_stats ('AR');

SQL> exec dbms_stats.unlock_table_stats('AR', 'AR_REV_REC_QT');

Friday, November 6, 2009

How to relink all binaries after a OS Upgrade to ensure that everything is working as expected on a Release 11i or a Release 12 Installation on Unix ?

To get everything relinked and to ensure that the adadmin Utility was relinked before it is used, follow these steps :

Release 11i (Autoconfig enabled) :

Technology Stack Binaries inclusive Database :

Source the RDBMS ORACLE_HOME Environment
Execute the script $ORACLE_HOME/appsutil/install/adlnkoh.sh
Source the iAS ORACLE_HOME Envrionment
Execute the script $ORACLE_HOME/bin/adlnkiAS.sh
Source the APPS Environment
Execute the script $ORACLE_HOME/bin/adlnk806.sh


Oracle E-Business-Suite Binaries :
1. Source the APPS Environment

2. Execute following command :
adrelink.sh force=y "ad adadmin"
If you are using the command
adrelink.sh force=y "ad all"you are relinking all binaries under the $AD_TOP/bin - otherwise the AD Utilities are relinked via the adadmin Utility.


3. Execute adadmin
select --> '2. Maintain Applications Files menu'

select --> '1. Relink Applications programs'
--> select all modules to relink

Before starting the Instance, please open a new shell and source the Environment.
Release 12 :


Technology Stack Binaries inclusive Database :

Source the RDBMS ORACLE_HOME Environment
Execute the script $ORACLE_HOME/appsutil/clone/adlnkoh.sh
Source the APPS Envrionment
Execute the script $IAS_ORACLE_HOME/appsutil/clone/adlnkweboh.sh
Source the APPS Environment
Execute the script $ORACLE_HOME/appsutil/clone/adlnktools.sh


Oracle E-Business-Suite Binaries :

1. Source the APPS Environment

2. Execute following command
adrelink.sh force=y "ad adadmin"


If you are using the command
adrelink.sh force=y "ad all"


you are relinking all binaries under the $AD_TOP/bin - otherwise the AD Utilities are relinked via the adadmin Utility.

3. Execute adadmin
select --> '2. Maintain Applications Files menu'

select --> '1. Relink Applications programs'
--> select all modules to relink

Before starting the Instance, please open a new shell and source the Environment.

Tuesday, October 27, 2009

Requests Stuck with Inactive No Manager - Routine AFPESA Cannot Construct the Name of an Executable File

All the Concurrent Requests are showing up with Phase Inactive and Status No Manager.
The Standard Manager is not able to process any request because each manager process dies immediately after starting up. The log file of the manager process shows the following error:

List of errors encountered:
.............................................................................
_ 1 _Routine AFPESA cannot construct the name of an executable file foryour concurrent request 2181143.

Check that the file name components are correct and valid on yoursystem. Check that the environment for the person who started the conc
.............................................................................

The problem typically occurs on a cloned environment that has been created.

Cause

The problem is due to an incorrect environment setup. The custom PROD_TOP is not defined in the environment files.
Solution

Any custom product_top needs to be defined correctly in the Context File. The following extract describes how to add a custom product_top to the Context File by using Oracle Applications Manager:

Creating a customer owned AutoConfig template file
You can create an AutoConfig template file of your own. This will enable you to develop custom applications that AutoConfig configures and maintains.
Perform the following tasks in the order listed:

Define a product_top

Use the Oracle Applications Manager Context Editor to add your custom product_top to the context file. Refer to the Help pages available on your Oracle Applications Manager site. The relevant information for adding custom context variables is located in the "System Configuration" -> "AutoConfig" -> "Custom Parameters" section. Choose the variable type "PRODUCT_TOP" when adding the product_top variable.

For example, define "MY_TOP" as your product_top as follows:

OA_VAR = MY_TOP
Default Value = %s_at%/my/11.5.0
Title = My Product top
Description = This is my product top
OA_TYPE = PROD_TOP

Note: You must have Oracle Applications Manager (OAM) H or higher installed to manage custom variables. Refer to Oracle Applications Manager 11i Availability for instructions on installing OAM.
AutoConfig needs be run after adding the custom product_top to the Context File.
Alternatively, a product_top can added manually to the environment file instead of defining it in the Context File.

Wednesday, October 21, 2009

RMAN does not display the output

If you specify the LOG option at the command line, then RMAN displays command input but does not display the RMAN output.
The easiest way to send RMAN output both to a log file and to standard output is to use the UNIX tee command or its equivalent on another operating system.
For example:
% rman tee rman.log
RMAN>


SQL> select * from dual where 1=0;
no rows selected
SQL>

I found a good one by using NOT EXISTS clause

SQL> select * from dual where 1=0
UNION
select 'no data found' from dual where not exists (select * from dual where 1=0);
DUMMY
no data found
1 row selected.
SQL>


In this way, both input and output are visible within the RMAN command-line interface.

Tuesday, October 6, 2009

Quick Pay Fails With Error Assertion failure detected at location py3vntsetup:1a

The Quick Pay process errors with 'Assertion failure detected at location py3vntsetup:1a'. Additional errors in the log file show "Library error: libqutil.so: cannot open shared object file: No such file or directory".

cause:
The parameter LD_LIBRARY_PATH is not setup correctly.

-- To implement the solution, please execute the following steps::

1.Modify the file $APPL_TOP/admin/adovars.env to include the complete pathof $PAY_TOP/vendor/quantum/lib as the first entry for LD_LIBRARY_PATH.If PY_LIB_PATH is set in the adovars.env file, Payroll application will no longer use LD_LIBRARY_PATH if PY_LIB_PATH is defined in the instance. Therefore, ensure that the PY_LIB_PATH path should always have the LD_LIBRARY_PATH included in it.

2. Bounce the concurrent managers.

3. Test Quick Pay.

Thursday, September 24, 2009

Configuring smtp in Linux

Configuring smtp in Linux

1. Ask mail administrator to add the linux server from which we need to send mail to mail server

2. comment out following line in /etc/mail/sendmail.mc

dnl This changes sendmail to only listen on the loopback device 127.0.0.1
dnl and not on any other network devices. Comment this out if you want
dnl to accept email over the network.

dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')

3. Compile the changes we made,

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

4. Start the sendmail service

service sendmail start

5. Test the mail using the following,

echo "Hello World" mail -s "Test from NG Monitor"
jayakumar@newgenusa.com

6. The mail status can be checked through the following command
mail queue

Tuesday, September 22, 2009

Concurrent Requests Remain in Pending/Standby Status

Concurrent Requests Remain in Pending/Standby Status.

fact: Oracle Application Object Library
symptom: Concurrent requests remain in pending standby status
symptom: Conflict resolution manager will not manage concurrent requests
symptom: Conflict resolution manager hangs
symptom: FND_CONFLICTS_DOMAIN table locked

cause:
A concurrent request errored out just prior to first lockup and a user terminated another job prior to the second lockup. In the first case, the FNDLIBR did not exit properly and had to be killed. In the second case, the terminated concurrent request did not exit properly and had to be killed (but its status was set to "Completed Terminated" by the standard manager which processed it).

Fix:
1. Kill the problem requests at the OS level with kill -9 command.
2. Restart the concurrent manager

How to rejoin new ORACLE_HOME with an installed EBS Instance?

If the database is currently running, do the following :

Remove ORACLE_HOME info from NetServices Toplogy model :

1. Set env from old $ORACLE_HOME
2. Start Listener and database
3. cd $ORACLE_HOME/appsutil/bin
Execute following command :
perl adgentns.pl contextfile=old $ORACLE_HOME/appsutil/_.xml -removesystem

4. Shutdown Database and listener

Update new ORACLE_HOME :
5. Copy OLD $ORACLE_HOME/appsutil directory to new $ORACLE_HOME

6. Copy OLD $TNS_ADMIN directory to new $ORACLE_HOME
7. Edit new $TNS_ADMIN/*.ora files and update ORACLE_HOME path in following files :
tnsnames.ora
sqlnet.ora
listener.ora
8. Copy OLD $ORACLE_HOME/*.env to new $ORACLE_HOME
9. Edit /*.env files and update paths within10. Run /_.env
11. Rename any existing /dbs/initSID.ora or spfile
12. cd $ORACLE_HOME/appsutil/bin


Build a new context file via following command :

./adclonectx.pl contextfile=/appsutil/_.xml validate=no

Enter the values to reflect new ORACLE_HOME

13. Run AutoConfig via following commands :

a) cd $ORACLE_HOME/appsutil/bin

b) ./adconfig.sh contextfile=/appsutil/SID_hostname.xml

NOTE: It will fail because database is down, but we want it to create configuration files

15. Start listener
16. Start Database

How to Run the Purge Concurrent Request and/or Manager Data Program and Which Tables Does it Purge?

To run the Purge Concurrent Request and/or Manager Data program:

1. Log in to Application as System Administrator responsibility.
2. Navigate to Request> Run> Single Request
3. Query up Purge Concurrent Requests.
4. For values to be entered in the parameter screen refer to the Oracle
Administration System Administration Guide
.
The following tables will be purged:
.
FND_CONCURRENT_REQUESTS
This table contains a complete history of all concurrent requests.
.
FND_RUN_REQUESTS
When a user submits a report set, this table stores information about the
reports in the report set and the parameter values for each report.
.
FND_CONC_REQUEST_ARGUMENTS
This table records arguments passed by the concurrent manager to each program
it starts running.
.
FND_DUAL
This table records when requests do not update database tables.
.
FND_CONCURRENT_PROCESSES
This table records information about Oracle Applications and operating system
processes.
.
FND_CONC_STAT_LIST
This table collects runtime performance statistics for concurrent requests.
.
FND_CONC_STAT_SUMMARY
This table contains the concurrent program performance statistics generated by
the Purge Concurrent Request and/or Manager Data program. The Purge Concurrent
Request and/or Manager Data program uses the data in FND_CONC_STAT_LIST to
compute these statistics.
FND_CONC_PP_ACTIONS
Stores the post request processing actions(e.g., print, notify) for each
submitted request. There's a concurrent_request_id here for each request_id
in the FND_CONCURRENT_REQUESTS.


FND_RUN_REQ_PP_ACTIONS
Stores the post request processing actions(e.g., print, notify) for
submitted request set programs that are stored in FND_RUN_REQUESTS


FND_ENV_CONTEXT
This table stores information about environment name and value for each of the
concurrent process

Is There a Method to Block Concurrent Requests From Running?

Yes. From the manager work shift, by making the processes=0 for that work shift at specific time and date.


Something to remember when creating manager work shifts that:

A. Date-specific work shifts override work shifts that do not specify a specific date.
B. Overlapping Work Shifts - Priority Levels:

1. The work shift with the more specific time period takes effect for the overlapping time period.

2. Overlapping work shifts with the same priority:

The work shift with the largest target processes takes effect.

Is Thers a Document That Defines All System Administrator Concurrent Requests?

No document exists that list all the concurrent programs definitions and descriptions.There are many programs and are handled by many different teams, there is documentation for eachindividual program, but nothing that summarizes all together.A search through My Oracle Support application with the concurrent program executable name will return references that contain details of the particular program..The following is a query that summarizes all the concurrent programs and a brief description ofthem plus their respective executable file. This is the same information that you can be obtained throughapplications if you navigate programs one by one.


SQL> select cp.concurrent_program_name, cpt.user_concurrent_program_name, cpt.description,ex.executable_name, ext.user_executable_name, ext.descriptionfrom fnd_concurrent_programs cp, fnd_concurrent_programs_tl cpt,fnd_executables ex, fnd_executables_tl extwhere cp.concurrent_program_id = cpt.concurrent_program_idand ex.executable_id = ext.executable_idand cp.executable_id = ex.executable_id;

The System Administrator’s Guide does summarize some of the common programs utilized andtheir description, for example:

- Function Security Reports

- Active Responsibilities Report

- Active Users Report

- Signon Audit Concurrent Requests Report

- Signon Audit Responsibilities Report

- Report Group Responsibilities Reportand so on.

You may use Concurrent Program Details Report, which will list every concurrent report, to find out more details on a specfic report.The "Concurrent Program Details Report" provides details on how the program is registered and the"description" abstract of the registered program.For usage, you need to reference applications manuals.

How To Ensure Load Balancing Of Concurrent Manager Processes In PCP-RAC Configuration

There are 2 types of resources in use for PCP/RAC:

1.O/S processes for manager and requests

2.Shadow processes for database connection for managers and requests.

O/S processes for managers (e.g. FNDLIBR, etc.) and request processes (ar60run, sqlplus, etc.)will run on primary node defined for manager.Shadow processes for database connection use load balanced alias (s_cp_twotask) and the load isdistributed between database nodes by sqlnet. This is controlled by sqlnet and CP code is notinvolved. This should mimic what happens to sqlplus connections using load balanced alias forRAC. The following sql can be used to check how manager connections are spread:


select inst_id, count(*) from gv$session where process in (select os_process_id from fnd_concurrent_processes where process_status_code = 'A') group by inst_id;


Now to loadbalance the shadow concurrent manager processes please set the below :

1.Set the profile option "Concurrent: PCP Instance Check" to "OFF"
2.Set the context variable s_cp_twotask to '_806_BALANCE' (This entry can be found in the tnsnames.ora file). You have to set this in both RAC nodes.


3.Run autoconfig and after that you can check for the loadbalancing aspects

How To Enable Debugging For Concurrent Managers?

1. Enable DIAG for the ICM, by modifying script
$COMMON_TOP/admin/scripts/SID_hostname/adcmctl.sh as follows :
Replace line : CONTEXT_PARAMS="diag=N wait=N" With : CONTEXT_PARAMS="diag=Y wait=N"
Save file.

2. Enable the Debug Service if not yet enabled :
- Login with System Administrator responsibility
- Navigate to Concurrent / Manager /Define
- Query manager with name "Debug Service"
- tick the "Enabled" checkbox if not yet ticked
- save

3. Stop and restart the concurrent managers
Don't forget to switch it off after the debug information has been generated.

Browser Window Is Always Minimized When Viewing Concurrent Log/Out Files

This issue is caused by a new 'feature' in Java 1.6.0_10 and aboveMore details of the feature can be found at:
http://www.java.com/en/download/help/new_plugin.xml?jre=6.0

To implement the solution, please execute the following steps:

Note - this is a client machine specific solution:
1. Click Start.
2. Click Control Panel.
3. Double click on Java Control Panel.
4. Click Advance tab in Java Control Panel.
5. Scroll to Java Plug-in entry.
6. Uncheck the check box for Enable next-generation Java Plug-in.
7. Click Ok and restart the system.
8. Retest for the issue.

Monday, September 21, 2009

How to Display Time/Date During RMAN Operations

To display time / date during RMAN operations, follow the procedure:

TIMESTAMP FOR NT
------------------
To get time / date displayed during an RMAN operation the OS command (time and
date) should be
used with the option /T ( to stop the OS requiring user interaction)

To display a timestamp in the RMAN log, run something similar to the following -

RMAN >run{
allocate channel a1 type disk
.
.
.
HOST 'time /T';
HOST 'date /T';
release channel a1;
}

Output looks like -

04:09 PM
host command complete

24/07/2002
host command complete

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

If you want the Time or Date to be recorded in a file you can use the following
-

RMAN> run{
host 'echo Backup stored in logfile (logrman.txt) taken on ->d:
\oracle\ora81\rmanbkp\rmandate.log';
host 'time /T>>d:\oracle\ora81\rmanbkp\rmandate.log';
host 'date /T>>d:\oracle\ora81\rmanbkp\rmandate.log';
}

This will produce a file that has -

Backup stored in logfile (logrman.txt) taken on -
16:57
05-Sep-2002


TIMESTAMP FOR UNIX
--------------------
To get time / date displayed during an RMAN operation the OS command (date)
should be used.

To display a timestamp in the RMAN log, run something similar to the following -

RMAN >run{
allocate channel a1 type disk
.
.
.
HOST 'date';
release channel a1;
}
Output looks like -

RMAN-03022: compiling command: host
Wed Jul 24 16:31:06 BST 2002
RMAN-06134: host command complete

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

If you want the Time or Date to be recorded in a file you can use the following
-

RMAN> run{
host 'echo Backup stored in logfile (logrman.txt) taken on ->/tmp/rmandate.
log';
host 'date>>/tmp/rmandate.log';
}

This will produce a file that has -

Backup stored in logfile (logrman.txt) taken on -
Thu Sep 5 16:49:51 BST 2002

Wednesday, September 9, 2009

How to Check the Environment Variables for an Oracle Process

1. Determine the pid of the process at OS level, eg for the smon process:
ps -ef grep smon
2. Get the environment of the process:
SOLARIS:
pargs -e grep ORACLE
LINUX:
cat /proc//environ
AIX:
ps eauwww
HP-UX:
On this Unix flavor there is no command to grasp the process environment directly. This can only be
extracted using a debugger from the _environ structure. This procedure can be used on the other
Unix flavors, as follows:
gdb smon
This attaches gdb to the pid mentioned above. The smon name is just an indication that the process
we attach to is smon, but the only parameter that matters is the pid.
After attaching to the process, the following command extracts the information from the _environ
list:
p ((char**)_environ)[0]@30
which would list the first 30 environment variables. If more are defined, just increase the parameter after @.
As well, the list can be extracted one item from the list at a time, using an iterator like:p ((char**)_environ)[i]
which would extract element #i+1.Windows:
To get the information on Windows, 2 things are needed:
1. check the registry for the ORACLE_* keys used to start the Oracle process. These keys are in:
HKEY_LOCAL_MACHINE/Software/Oracle/HOME
(before 10g)
HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/KEY_
from 10g on.
2. check the environment variables that were used by the oracle process at startup.
For this, one would need the process explorer utility from sysinternals, which can be found at:
www.sysinternals.com
(http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx)
After starting the procexp utility, find the oracle process you want to check in the process list, right
click on it, then select Properties. The Environment tab should indicate all the environment variables
used when the process was started (even if dynamically in command line).
The utility also displays the key values from registry, but being so many it's difficult to look for them.

Monday, August 31, 2009

Cannot Open Report or Form Within Reports or Forms Builder 10.1.2.3 (MS Windows Vista)

Developer Suite has been installed successfully on a MS Windows Vista system.To meet the MS Windows Vista certification this instructions were followed. On trying to open or to compile a reports module file (RDF) in Reports Builder, the Builder crashes.Opening a Forms module file (FMB) in the Forms Builder crashes the Builder.Error(s)Windows Vista complains there has been a problem in Reports Builder and is trying to work it out.But eventually, it states that Reports Builder is going to be closed.

This is because despite applying patchset 10.1.2.3 there are still issues in the 10.1.0.5 DB client causing the crashes.
Apply
Patch 7047034 ORACLE 10G 10.1.0.5 Patch 26 BUG FOR WINDOWS 32 BIT
to the ORACLE_HOME of the Developer Suite installation.


The patch can be downloaded from Metalink's PATCHES section doing a SIMPLE SEARCH for patch number 7047034 and platform MS Windows (32-bit).
Follow the instructions of the patch readme carefully.


Standard manager fails to start

A concurrent program that had its basepath defined wrong when it was registered was submitted. which caused the standard manager to crash. and since the concurrent program was in the standard manager queue, the manager would crash as soon as the concurrent managers are restarted since the program is executed as soon as the concurrent managers are online. None of the log files reported any error except in the manager log of the deactivated processes ( of the standard manager) in the front end. all of the deactivated processes log's contained the request ID of the concurrent program.

The solution was to remove the concurrent program from the queue and correct the basepath of the concurrent program under the system administrator -> applications -> register to the correct custom top path as in the OS level and restart the concurrent managers.

RMAN Restore and recovery scenarios


Test Case1:
1. Startup the database in nomount mode
sql> startup nomount
2. Restore the control file from the backup you want to restore
RMAN> set DBID=XXXXXXXXXX
RMAN> restore controlfile from '/backups/rman/ctlback'
3. Mount the database
SQL> startup mount;
4. Find out the max sequence of the archive file and restore max+1 as its an incomplete recovery,
You can find it either using RMAN or through SQL,
RMAN> list backup of archivelog all;
SQL> set serverout on;
SQL> set num 50;
SQL> select sequence#,NEXT_CHANGE# from v$archived_log order by next_change# desc;
5. Restore and recover the database upto the archive log we have,
RMAN>
run
{
set until sequence 2337;
restore database;
recover database;
sql 'alter database open resetlogs';
}


Test Case 2:
Move the datafile tx_data7.dbf to another name after shutting down the database
2. startup the database, you will get the following error
ORA-01113: file 33 needs media recovery
ORA-01110: data file 33: '/u01/oracle/visndata/tx_data7.dbf'
3. Offline the datafile and open the database
4. Restore it using RMAN as follows,
RMAN> restore datafile 44;
or
SQL> alter database datafile '/u01/oracle/visndata/tx_data7.dbf' online;
alter database datafile '/u01/oracle/visndata/tx_data7.dbf' online
*
ERROR at line 1:
ORA-01113: file 33 needs media recovery
ORA-01110: data file 33: '/u01/oracle/visndata/tx_data7.dbf'
SQL>
SQL> recover datafile '/u01/oracle/visndata/tx_data7.dbf';
Media recovery complete.
SQL> alter database datafile '/u01/oracle/visndata/tx_data7.dbf' online;
Database altered.

Test Case: 3
Restore of datafiles from a full hot backup and complete recovery
RMAN offline or online database backup
Target database mode: Archivelog

Loss: All current datafiles have been lost. Current controlfiles and redo logs are still available.
Requirement: Restore and complete recovery
This example simulates the loss of the current database datafiles.
The current controlfile and redo logs are still intact.
Target database mode: Database mounted
RMAN> run {
restore database;
recover database;
sql "alter database open";
}

Notes:
Archived logs will be restored automatically as required.It is possible, but not necessary, to manually restore from an archivelog backupset


Test Case: 4
Restore of datafiles from a full hot backup and complete recovery
RMAN offline or online database backup
Target database mode: Archivelog
Loss: All current datafiles have been lost, current and inactive redolog groups member has been lost, controlfiles are also lost
Requirement: Restore and complete recovery of control files and open the database with resetlogs
select FIRST_CHANGE#,sequence# from v$archived_log order by FIRST_CHANGE# desc;
In our example we restored the control file from an incremental backup, but the latest archive log sequence is 70 and which is available on the disk, so in order for a complete recovery we need
RMAN> catalog archivelog '/u01/arch/NGIND_arch_70_1_672703990.arc';
cataloged archive log
archive log filename=/u01/arch/NGIND_arch_70_1_672703990.arc recid=4 stamp=678426497
Target database mode: Database mounted
RMAN> list archivelog all;
RMAN> run {
restore database;
recover database;
sql "alter database open resetlogs";
}

Notes:
Archived logs will be restored automatically as required if they are cataloged.It is possible, but not necessary, to manually restore from an archivelog backupset

Test Case: 5
Restore of datafiles from a full hot backup and complete recovery
RMAN offline or online database backup
Target database mode: Archivelog
Loss: All current datafiles have been lost, inactive and one current redo log is lost, current file is still available
Requirement: Restore and complete recovery of control files and open the database with resetlogs
RMAN> run {
restore database;
recover database;
sql "alter database open resetlogs";
}
Notes:
Archived logs will be restored automatically as required if they are cataloged.It is possible, but not necessary, to manually restore from an archivelog backupset

How To Relink A Single Executable Via ADADMIN

How to regenerate a single executable using ADADMIN utility?

1. Run adadmin and answer the standard startup questions; see Oracle Applications Maintenance Utilities Release 11i 11.5.10 (Part No. B13586-01): "Running AD Utilities". At the AD Administration Main Menu select the option: Maintain Applications Files menu

2. At the Maintain Applications Files menu select the option: Relink Applications programs

3. At the prompt "Do you wish to proceed with the relink [Yes] ?" Hit return for the default option.

4. At the prompt "Enter the name of your Oracle Applications environment file below. File name [*.env] : " Hit return for the default option or correct the file if necessary.

5. At the prompt "Enter list of products to link ('all' for all products) [all] :" enter the product's short name associated with the target executable, such as "fnd".

6. At the prompt "Generate specific executables for each selected product [No] ?" enter Yes

7. At the prompt "Relink with debug information [No] ?" Hit return for the default option.

8. At the prompt "Enter executables to relink, or enter 'all' [all] :" the exact name of the executable to be relinked.

How to uninstall backout rollback an Oracle Applications 11i Patch

How to backout rollback an Oracle Applications 11i Patch

There is no automated method of backing out patches.
This can be a really complex operation which depends on the patch complexity and sometime the mostreasonable suggestion is to restore from a backup.

Main Advices :
- In all cases before applying a large number of patches, a series of mini-packs, family packs, ora maintenance pack, back up the Oracle Applications file system and database.

- You should always test the application of a patch several times on a test system, particularlyif the patch is a mini-pack, family pack, or maintenance pack. Once the test application issuccessful, apply the patch on the production system.

- Determine the cause of the failure.In many cases, the issue can be resolved and the patching process restarted at the point of failure.

If you are not able to solve the issue for the patch application, you have to consider 2 cases :
- Backing out the files from the APPL_TOP
- Backing out the Database actions

How to Remove an Oracle Applications 11i node

How to remove an Oracle E-Business suite Apps tier node.

T0 remove a node requires the node is deregistered from the Net Services Topology Data Model in one of the following cases:

* To delete an application tier
* The Database is upgraded/migrated resulting in a change in one of the following parameters:
o Database Host
o Database Port
o Database Name
o Database SID

The tier should be deregistered before the tier is decommissioned.

How to deregister an application tier from the Net Services Topology Data Model?
To deregister the current application tier from the Net Sevices Topology Data Model, invoke the following command:

perl /bin/adgentns.pl appspass= contextfile= -removeserver

How To Quick Solve This Post Clone Error : RC-50004, AC-00005: No write permissions for creating the Context file - /tmp/temp.xml ?


On R12 (or 11i) , while executing 'perl adcfgclone.pl', we are facing the error as following:

Target System Display [testerp:0.0] : RC-50004: Error occurred in CloneContext: AC-00005: No write permissions for creating the Context file - /tmp/temp.xml Raised by oracle.apps.ad.context.AppsContext Check Clone Context logfile /oracle/Test/Application/apps/apps_st/comn/clone/bin /CloneContext_06151127.log for details.

ERROR: Context creation not completed successfully. For additional details review the file /tmp/adcfgclone_4796.err if present.

Apps user does not have write permissions on /tmp directory.
1- Give write permission to apps user on "/tmp" directory.
Example :
As root:
# chmod 777 /tmp
# ls -al grep tmp
drwxrwxrwx 11 root root 4096 Jun 15 04:02 tmp
2- Re-run the Postclone.
perl adcfgclone.pl

Nb:
We could hit this Error too:
Following stacktrace produced when running adcfgclone.pl StackTrace: java.lang.Exception: AC-00005: No write permissions for creating the Context file - /u01/PROD/oracle/920/appsutil/temp.xml Raised by oracle.apps.ad.context.AppsContext at oracle.apps.ad.context.AppsContext. getOaEnabledValues(AppsContext.java:733) at oracle.apps.ad.context.CloneContext.doClone(CloneContext.java: 657) at oracle.apps.ad.context.CloneContext.main(CloneContext.java:6033) RC-50004: Error occurred in CloneContext: AC-00005: No write permissions for creating the Context file - /u01/PROD/oracle/920/appsutil/temp.xml Raised by oracle.apps.ad.context.AppsContext Context file creation not succesful


Analysis:

The error above is a bit misleading. adcfgclone.pl should not be creating a "temp.xml" file under appsutil, The context file created under "/u01/PROD/oracle/920/appsutil" should be _.xml.
Normally adcfgclone.pl is trying to do is, create files under /usr/tmp and/or /tmp.
Check if you have a temp.xml file or other RapidClone files under either of those directories owned by a different user? If so please delete them and retry adcfgclone.pl.

FNDLOAD Commands to Download Different Seed Data Types.

How to download different seed data types?

The Generic Loader (FNDLOAD) is a concurrent program that can transfer Oracle Application entity data between database and text file.The loader reads a configuration file to determine which entity to access.


1 - Printer Styles FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afcppstl.lct file_name.ldt STYLE PRINTER_STYLE_NAME="printer style name"


2 - Lookups FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct file_name.ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME="FND" LOOKUP_TYPE="lookup name"


3 - Descriptive Flexfield with all of specific Contexts FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt DESC_FLEX P_LEVEL=’COL_ALL:REF_ALL:CTX_ONE:SEG_ALL’ APPLICATION_SHORT_NAME="FND" DESCRIPTIVE_FLEXFIELD_NAME="desc flex name" P_CONTEXT_CODE="context name"

4 - Key Flexfield Structures FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt KEY_FLEX P_LEVEL=’COL_ALL:FQL_ALL:SQL_ALL:STR_ONE:WFP_ALL:SHA_ALL:CVR_ALL:SEG_ALL’ APPLICATION_SHORT_NAME="FND" ID_FLEX_CODE="key flex code" P_STRUCTURE_CODE="structure name"


5 - Concurrent Programs FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct file_name.ldt PROGRAM APPLICATION_SHORT_NAME="FND" CONCURRENT_PROGRAM_NAME="concurrent name"


6 - Value Sets FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt VALUE_SET_VALUE FLEX_VALUE_SET_NAME="value set name"


7 - Value Sets with values FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt VALUE_SET FLEX_VALUE_SET_NAME="value set name"


8 - Profile Options FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afscprof.lct file_name.ldt PROFILE PROFILE_NAME="profile option" APPLICATION_SHORT_NAME="FND"


9 - Request Groups FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct file_name.ldt REQUEST_GROUP REQUEST_GROUP_NAME="request group" APPLICATION_SHORT_NAME="FND"


10 - Request Sets FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct file_name.ldt REQ_SETAPPLICATION_SHORT_NAME="FND" REQUEST_SET_NAME="request set"

11 - Responsibilities FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct file_name.ldt FND_RESPONSIBILITY RESP_KEY="responsibility"


12 - MenusFNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct file_name.ldt MENU MENU_NAME="menu_name"


: Oracle Application System Administrator's Guide Appendix C has detail description on the usage of loaders.

Thursday, August 27, 2009

Default temproary tablespace in Oracle

Use this query to find the default temproary tablespace in an Oracle database.

SELECT * FROM DATABASE_PROPERTIES where PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE';

Wednesday, August 26, 2009

Oracle instant client install procedure

1. Download the appropriate Instant Client packages for your platform. All installations REQUIRE the Basic or Basic Lite package.

2. Unzip the packages into a single directory such as "instantclient".


3. Set the library loading path in your environment to the directory in Step 2 ("instantclient"). On many UNIX platforms, LD_LIBRARY_PATH is the appropriate environment variable. On Windows, PATH should be used.

4. Copy a tnsnames.ora file and set the location of TNS_ADMIN.

5. Add the folder under which sqlplus executable is present to PATH variable.

6. Execute sqlplus from command prompt

Unbreakable Linux Enviroment check before R12 install

This script collects and shows the data that is required by the R12 Release Notes in 'Oracle Applications Installation and Upgrade Notes Release 12 (12.0) for Linux (32-bit)' without having to run RapidWizard.

#!/bin/bash
clear
echo "============================================"
echo "Script to check Unbreakable Linux enviroment"
echo "============================================"
echo
echo "---------------------------------------------------"
echo "From /etc/redhat-release:-"
echo "---------------------------------------------------"
cat /etc/redhat-release 2>&1
echo "---------------------------------------------------"
echo
echo "---------------------------------------------------"
echo "From /etc/hosts"
echo "---------------------------------------------------"
cat /etc/hosts 2>&1
echo "---------------------------------------------------"
echo
echo "From /etc/sysconfig/network"
echo "---------------------------------------------------"
cat /etc/sysconfig/network 2>&1
echo "---------------------------------------------------"
echo
echo "---------------------------------------------------"
echo "/etc/sysconfig/networking/profiles/default/network"
echo "THIS FILE SHOULD NOT EXIST"
echo "---------------------------------------------------"
cat /etc/sysconfig/networking/profiles/default/network 2>&1
echo "---------------------------------------------------"
echo
echo "---------------------------------------------------"
echo "uname -r"
echo "This must be greater than 2.6.9-42.0.0.0.1.EL"
echo "---------------------------------------------------"
uname -r
echo
echo "---------------------------------------------------"
echo "Check tools exist"
echo "---------------------------------------------------"
echo
which ar
which gcc
which g++
which ld
which ksh
which make
echo
echo "---------------------------------------------------"
echo "Query package version"
echo "---------------------------------------------------"
rpm -qa grep glibc
rpm -qa grep binutils
rpm -qa grep gcc
rpm -qa grep libgcc
rpm -qa grep libstdc
rpm -qa grep pdksh
rpm -qa grep make
rpm -qa grep gnome-libs
rpm -qa grep sysstat
rpm -qa grep compat-db
rpm -qa grep openmotif
rpm -qa grep setarch
rpm -qa grep control-center
rpm -qa grep xscreensaver
rpm -qa grep libaio
echo
echo "---------------------------------------------------"
echo " From /etc/sysctl.conf:- "
echo "---------------------------------------------------"
cat /etc/sysctl.conf 2>&1
echo
echo "---------------------------------------------------"
echo " From /etc/security/limits.conf"
echo "---------------------------------------------------"
echo
cat /etc/security/limits.conf 2>&1
echo
echo "---------------------------------------------------"
echo
echo "---------------------------------------------------"
echo "From /etc/resolv.conf"
echo "---------------------------------------------------"
cat /etc/resolv.conf 2>&1
echo
echo "---------------------------------------------------"
echo " THE END"
echo "---------------------------------------------------"

Friday, August 21, 2009

R12/11i Getting Aferror.log File Created On Client PC Desktop

A file named "aferror.log" appearing on their client pc desktops. The file has a size of 'zero bytes'.

Steps to reproduce:

1. Login to the 11i/R12 homepage
2. Launch a form
3. Press the x button in your browser on the page that states "Important: do not close this window"... this will kill the forms session
4. Select logout on the homepage
5. Login again to the 11i/R12 homepage
6. Launch a form the aferror.log will appear on your desktop

This is a known issue and is described in Bug 6825183 "R12 GETTING AFERROR FILE CREATED ON DESKTOP"

Solution:

To resolve the problem on Release 12 apply Patch 6866258

For 11i customers the fix will be included in 11.5.10.2 RUP7

Monday, August 17, 2009

500 Internal Server Error

In R12, when attempting to log in to EBS using HTTP://HOST.DOMAIN:PORT/
,the following error occurs.

ERROR500 Internal Server Errorjava.lang.NoClassDefFoundError atoracle.apps.fnd.sso.AppsLoginRedirect.AppsSetting(AppsLoginRedirect.java:126) atoracle.apps.fnd.sso.AppsLoginRedirect.init(AppsLoginRedirect.java:170) at com.evermind[OracleContainers for J2EE 10g (10.1.3.0.0)

The issue is caused by the following setup: Incorrect set-up of the Distributed Caching, port:12377 is not available.

To implement the solution, please execute the following steps:


Solution 1:
1. You can disable the use of "Distributed JVM cache" by disabling LONG_RUNNING_JVM- set oc4j.properties: ==> LONG_RUNNING_JVM= to "false"

Note: not usually recommended

Solution 2:

1. Assign an available port for "Distributed JVM cache" by using the following steps
a) Set the correct port in your Context File -> parameter "s_java_object_cache_port"
2. Run Autoconfig on all Middle Tiers
3. Make sure your System Profile "JTF_DIST_CACHE_PORT" has the same port specified
4. Retest the issue.

Thursday, August 13, 2009

How to find the process using a specific port

1) use the following command on the linux shell:

netstat -lntp grep port_number

its output will be like:

tcp 0 0 :::8080 :::* LISTEN 4950/java

note the process id number given in bold and execute the following command

ps -ef | grep process_id

the output will be similar to

aacguser 4950 1 0 06:32 ? 00:00:09 /u01/jdk/jdk1.6.0_14/bin/java -Djava.util.logging.config.file=/u01/tomcat/apache-tomcat-5.5.27/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.security.auth.login.config=/u01/tomcat/apache-tomcat-5.5.27/webapps/ags/WEB-INF/jaas.config -Xss512k -Xms256M -Xmx2048M -XX:

This is the process that is using the port

Wednesday, August 12, 2009

Common reasons for OUI failures on the MS Windows platforms

Here are the most common reasons why the OUI will fail to run, on any Microsoft Windows Operating System:

1. Operating System Permissions: Oracle recommends running the OUI as an Administrator. However, sometimes using an account that belongs to the Administrator group is not enough. Thus, whenever there is a problem running the OUI, we will recommend using the Local Administrator account. There is a difference between the Local Administrator account and a user account that has Administrator privledges. To determine if the failure is related to OS Permissions, we always recommend you login as the Local Administrator of the machine. Then run the OUI. If the OUI runs correctly, then the problem is with your OS account.

2. Remote Connection Utilities: Trying to run the OUI over a remote connection (such as Terminal Services, Remote Desktop, etc..) can cause the OUI to not run. While it may work for some customers, if there is a problem when using any of these remote connection utilities, we will ask that you login to the server console directly, and try the install. If the install works on the server console, and not over your remote connection, then the problem is with the remote connection utility. A lot of times, the problem is due to the way the remote connection utility is setup / configured.

3. Software conflicts: There is a possibility of the OUI failing, due to conflicts with other software. Some things to check: Make sure there is not a newer version of Java installed. For example, the 10g OUI uses the JDK 1.4.2 (installed when Oracle is installed). If there is a newer version of the JDk installed on the system (for example, the 1.5 version), it can cause a problem with the OUI. Check your PATH. If you find a newer (or older) version of the JDK installed, remove it from the PATH (you do not have to remove the software, just from the PATH). NOTE: It is ok to have other JDKs installed from other Oracle Products. These normally do not cause a problem.

4. Services Running: There have been a few cases where having some services running (even if they are not being used) can cause a problem. For example, the Terminal Services service was running (the customer was not connected over a Terminal Services Session), and it caused a problem. Once the Service was stopped, the OUI ran fine. You can look at what services are running, and try stopping any service that is not needed by Windows.

5. Spaces in the directory names: Make sure you do not have any spaces in the directory name, where you are installing the software from. This includes new installs and patches. If a space exists in the directory name, you will need to remove it.Another place to check for spaces is in the TEMP and TMP variables. These are used for the initial installation, for a temporay location for the OUI. However, if a space exists in the TEMP and TMP variables, the OUI will fail. By Default, Windows sets the TEMP and TMP locations for a user, to: C:\Documents and Settings\%UserProfile%\Local Settings\Temp.Notice the spaces in the directory names.This should be changed to something like: C:\TEMP (NOTE: Make sure the directory exists).

Some other Metalink Notes that might be helpful are mentioned in the reference section below.

How to identify correct Oracle Database software to install on Linux platform

If you are planning to install Oracle Database on Linux platform, then you have to ensure that you are downloading/installing the correct software installation kit. Incorrect software installation for your linux platform will cause errors at relink phase of the installation. Correct Oracle Database Software installation kit can be identified based on Linux OS kernel architecture type (from OS command 'uname -a' output). Following are the different linux architectures along with examples that help to identify correct oracle database software.

Linux x86: (32-bit OS)

$ uname -a Linux celnx4 2.6.9-34.0.2.ELsmp #1 SMP Fri Jun 30 10:33:58 EDT 2006 i686 i686 i386 GNU/Linux

If Linux kernel architecture contains "i386 or i686 or x86", then this platform will be referred as "Linux x86". Please ensure that you are downloading/installing the Oracle Database software installation kit that is released for "Linux x86".

Linux x86_64: (64-bit OS)
$ uname -a Linux celnx7 2.6.9-55.ELsmp #1 SMP Fri Apr 20 16:36:54 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux


If linux kernel architecture is "x86_64", then your platform will be referred as "Linux x86_64" (or Linux AMD64 or Linux EM64T or Linux AMD64/EM64T or Linux x86_64(AMD64/EM64T) ). Please ensure that you are downloading/installing the Oracle Database software installation kit that is released for "Linux x86_64".

Linux Itanium: (64-bit OS)

$ uname -a Linux celia4 2.6.9-42.EL #1 SMP Wed Jul 12 23:25:09 EDT 2006 ia64 ia64 ia64 GNU/Linux

If linux kernel architecture is "ia64", then your platform will be referred as "Linux Itanium". Please ensure that you are downloading/installing the Oracle Database software installation kit that is released for "Linux Itanium".IBM Power Based Linux: (64-bit OS)

$ uname -a Linux stuze22 2.6.9-34.0.1.0.11.EL #1 SMP Mon Dec 4 16:10:42 PST 2006 ppc64 ppc64 ppc64 GNU/Linux

If linux kernel architecture is "ppc64", then your platform will be referred as " 'IBM Power Based Linux' or 'Linux on Power' ". Please ensure that you are downloading/installing the Oracle Database software installation kit that is released for "IBM Power Based Linux" or "Linux on Power".IBM zSeries Based Linux: (64-bit OS)

$ uname -a
Linux pazxxt12 2.6.16.46-0.12-default #1 SMP Thu May 17 14:00:09 UTC 2007 s390x s390x s390x GNU/Linux

If Linux kernel architecture is "s390x", then your platform will be referred as "IBM zSeries based Linux" or "zLinux". Please ensure that you are downloading/installing the Oracle Database software installation kit that is released for "IBM zSeries based Linux" or "zLinux".

IBM S/390 Based Linux (31-bit): (31-bit OS)

$ uname -a Linux pazxxt10 2.4.21-50.EL #1 SMP Tue May 8 17:10:38 EDT 2007 s390 s390 s390 GNU/Linux

If Linux kernel architecture is "s390" (but not s390x) , then your platform will be referred as "IBM S/390 based Linux (31-bit)". Please ensure that you are downloading/installing the Oracle Database software installation kit that is released for "IBM S/390 based Linux (31-bit)". 10gR1 (10.1.0.x) is the last/terminal Oracle Database release for this platform.

Thursday, August 6, 2009

Is It Required to Recompile Forms/Reports When Connecting to a New Database Instance?

It is recommended to recompile all forms and reports when connecting to a new RDBMS.

1) This will act as a health-check to confirm that all dependent RDBMS objects are present andvalid. (Review the compile output for any errors)

2) Timestamps of RDBMS objects may be newer than the depending forms/reports objects.

3) If the new RDBMS uses a different schema to house database objects, the reference in thecompiled forms/reports will no longer be valid, and problems will occur.

4) The recompilation can be done using a batch script, so it is not required to spend timerecompiling each form/report manually

Unable to compile the forms.

While running the frmcmp_batch.sh shows the below error message.
FRM-91500:
Unable to start/complete the build when running ./frmcmp_batch.sh from 11g
Problem occurs when using VNC, putty, or ssh..
/u14/ora11g/middleware/asinst_1/bin/frmcmp_batch.sh,

Add the following to the actual frmcmp_batch.sh script to resolve this issue
TERM=vt220 export TERM
ORACLE_TERM=vt220 export ORACLE_TERM


You can add these after the portion of the script that says ->

#ORACLE_SID=<>; export ORACLE_SID

It is applicable for both 10g and 11g.

Wednesday, August 5, 2009

Moving Forms Applications From One Platform To Another

For this example the assumption is that the "development" machine is a MS Windows platform and the "deployment" machine is a Unix platform.
IMPORTANT: FMX, MMX, and PLX files are NOT portable between platforms. They are also not portable between major versions. For example, you cannot run a 9.0.4 FMX in a 10.1.2 environment. Source code (FMB, MMB, PLL) must be recompiled when moving from one platform and/or major version to another. This includes moving from one Unix platform to another (i.e. Sun Solaris to Linux) or one Windows platform version to another.
( FRM-40031: File xxxxx.fmx is not a Forms Runtime File.)
Failure to correctly compile source files on the machine where they are being deployed will cause instability or prevent the application from running or may cause trigger code to not fire.
Requirements for "deployment" machine:
Log-in access as the "oracle" user
X-session (GUI)
It is NOT supported to perform the following via a remote session.


1. Verify that the deployment environment has been correctly installed and configured as documented in the product Installation Guide.

2. Create a staging directory where the application source files (FMB, MMB, PLL, OLB) can be stored permanently or temporarily. This directory will also be where the compiled executables (FMX, MMX, PLX) will be created. For example:
mkdir /u02/oracle/ias904_mid/forms90/myApplication


3. Copy/transfer all of the Forms components which make up the application to the directory created in step 2. These will include FMB, MMB, PLL and OLB files.
IMPORTANT: Unix is a case sensitive operating system. Be sure that any references to files within your application have been corrected to match files on the new file system. This will usually impact references to image (icon) files, other forms, menus, and libraries.


4. Copy/transfer all other application files as needed. These files may include custom resource (.res), image or custom JARs files. These files will need to be placed in specific locations based on how you developed the application. Refer to the product documentation for more details.
IMPORTANT: If transferring using FTP, all files must be transferred in binary mode.
The following steps must be performed from the local "deployment" machine. Performing these steps remotely is not supported.


5. Open a shell session.

6. Set the ORACLE_HOME variable and point it to the Application Server installation. Be sure to use the appropriate syntax for the particular shell you are using. For example in csh the command would look something like this:
export ORACLE_HOME=/u02/oracle/ias904_mid


7. Set the FORMS90_PATH variable to the directory which was created in step 2. For example:
export FORMS90_PATH=/u02/oracle/ias904_mid/forms90/myApplication
Additional variables may be necessary or desired based on your needs and system configuration. Here are a few examples:
TNS_ADMIN
NLS_LANG
CLASSPATH
TERM
DISPLAY
In most cases, setting these will not be necessary if you use the provided script (.sh file) noted in the next step.
When compiling a Forms application it is important to understand the application. Most important is to understand the dependencies which may exist between components. In other words, for example you will not be able to compile an FMB if it has a dependant PLL which has not yet been compiled. In most cases the order in which compiling should occur is as follows:
1. PLL
2. MMB
3. FMB
There are exceptions, but this will work in most cases.


8. Using the compiler, generate "X" files for all of the application's binaries (PLL, MMB, FMB). The command will be something like the following:
f90genm.sh module=myForm module_type=form compile_all=yes userid=scott/tiger@orcl
Other possible module_type values:
library
menu
form
Addition compiler options can be found in the Forms Builder online help. For Forms 9.0.4, the Builder help is also available online at:
http://www.oracle.com/forms/10g/help/
Click on Reference then Form Compiler Options
NOTE: In Forms 10.1.2.0.2 and newer, the script names have changed. f90genm.sh is now frmcmp.sh and f90gen.sh is now frmcmp_batch.sh. Also, FORMS90_PATH is now FORMS_PATH. Please refer to the product documentation for more details.


9. Once all of the executables have been generated, the path to these files will need to be included in the Forms deployment environment. In most cases this will be the FORMS90_PATH value in the Forms env file, "default.env"