Wednesday, December 22, 2010

Opatch failed WITH error code 73

1. Opatch failed WITH error code 73.

You may get below message FOR the above error code
Running prerequisite CHECK..
prerequistie CHECK "CheckActiveFilesandExecutables" failed.
Following executables are active
/u0/abcd/db/tech_st/11.2.0/bin/oracle
UtilSession failed:prerequisite CHECK "CheckActiveFilesandExecutables" failed.
Opatch failed WITH error code 73.

To Fix this Issue:

CHECK
ps -ef | grep oracle
ps -ef | grep tns
oracle process may be running.
KILL the Oracle process.
KILL -9 process-id

2. ORA-12162 : TNS: net service name IS incorrectly specified

Sqlplus '/as sysdba'
The error message ORA-12162 IS very misleading, AS it suggests there IS a problem WITH the tnsnames.ora FILE CONTENTS.

To Fix this Issue:

export ORACLE_HOME=/u01/abcd/db/tech_st/11.1.0
export ORACLE_SID=ABCD (Your SID)

Tuesday, December 21, 2010

CHANGE HOSTNAME OR IP-Address OR DOMAIN NAME ON APPS-TIER OR DB-TIER in R12


Autoconfig Frequently asked Question : 218089.1
For any queries related to below mentioned steps Question Number from 23 onwards will help you.

Steps to change hostname or domain name or port number of Database.
Doc-id : 338003.1

1. Login to DB-Tier as oracle user
2. start the database if not up and running.
3. De-register the current database server.
As the database hostname and/or port will be changed, the current database server node needs to be de-registered
$ perl adgentns.pl appspass=apps contextfile=$ORACLE_HOME/appsutil/Contextfilename.xml -removeserver
4. Take a backup of your context file Edit contextfile i.e SID_hostname.xml file $ORACLE_HOME/appsutil
Replace all old domain entries to newdomain/hostname use vi to edit for e.g changing hostname from abc.com to xyz.com using vi editor
esckey :%s/abc.com/xyz.com/g
Note : Before Running autoconfig Change Hostname or domain name in /etc/hosts and or relevant files.
5. Execute AutoConfig for dbTier
cd $ORACLE_HOME/appsutil/bin
./adconfig.sh contextfile=$ORACLE_HOME/appsutil/SID_hostname.xml

Steps to change hostname or domain name of Application Tier using Auto-config .
Doc-id: 341322.1

1. Login to Apps-Tier  as apps user
2. Stop application services.
3. De-register the current apps server
As the Applications hostname will be changed, the current Applications server node needs to be de-registered.
$ perl $AD_TOP/bin/adgentns.pl appspass=apps contextfile=$ INST_TOP/appl/admin/SID_hostname.xml
–removeserver
4. Take a backup of your context file Edit contextfile i.e SID_hostname.xml
Replace all old domain entries to newdomain/hostname use vi to edit for e.g changing hostname from abc.com to xyz.com using vi editor
esckey :%s/abc.com/xyz.com/g
5. Execute AutoConfig for appTier
cd $AD_TOP/bin
./adconfig.sh contextfile=$INST_TOP/appl/admin/SID_hostname.xml appspass=apps

Finishing Tasks

1. As oracle user, do the following:
$ sqlplus apps/apps
sql> update icx_parameters set session_cookie_domain=' newdomain.com';
sql> conn applsys/apps
sql> select profile_option_value from fnd_profile_option_values where profile_option_value

like '%oldhost%'; if not correct then update it accordinly with the correct one
sql> update fnd_profile_option_values set profile_option_value='newhost' where profile_option_value like '%oldhost%';
sql> exit;

Done. You can startup AppTier now and access E-Business Suite login page at http://newhost.newdomain.com:8000/
 

Monday, December 13, 2010

Find Components version in R12 ?

Apache Version

$cd $IAS_ORACLE_HOME/Apache/Apache/bin
$httpd -version
o/p:
Server version: Oracle-Application-Server-10g/10.1.3.4.0 Oracle-HTTP-Server
Server built:   Jul 16 2008 05:34:34

Forms Version

$ cd $ORACLE_HOME/bin
$ frmcmp_batch |grep Forms| grep Version
O/p:
Forms 10.1 (Form Compiler) Version 10.1.2.3.0

Forms Communication mode

cat $FORMS_WEB_CONFIG_FILE|grep serverURL=echo
If the serverURL parameter has no value then Forms is implemented in socket mode else it is servlet

Report version

$ORACLE_HOME/bin
$rwrun | grep Release
O/p:
Report Builder: Release 10.1.2.3.0

Perl Version

$IAS_ORACLE_HOME/perl/bin/perl -v|grep built

Apps Version

sql> select release_name from apps.fnd_product_groups;

Patch Level Version

sql > select PATCH_LEVEL from fnd_product_installations;

Patch Level Version of AD

sql > select PATCH_LEVEL from fnd_product_installations where PATCH_LEVEL like '%AD%';

o/p:

PATCH_LEVEL
------------------------------
R12.AD.B.1





 

Sunday, December 12, 2010

Autoconfig, Patching , Clone,Install and other logs in R12

Autoconfig, Patching , Clone,Install and other logs in R12

Log files related to cloning in R12:

Preclone (adpreclone.pl) log files in source instance

i) Database Tier-$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/(StageDBTier_<time>.log)
ii) Apps Tier     - $INST_TOP/apps/$CONTEXT_NAME/admin/log/ (StageAppsTier_<time>.log)

 Post-Clone (Adcfgclone.pl) log files in target instance

 i) Database Tier- $ORACLE_HOME/appsutil/log/$CONTEXT_NAME/ApplyDBTier_<time>.log
ii) Apps Tier    - $INST_TOP/apps/$CONTEXT_NAME/admin/log/ApplyAppsTier_<time>.log

Patching related log files in R12  :

i) Application Tier-- adpatch log - $APPL_TOP/admin/<SID>/log/
ii) Developer (Developer/Forms & Reports 10.1.2) Patch   - $ORACLE_HOME/.patch_storage
iii) Web Server (Apache) patch - $IAS_ORACLE_HOME/.patch_storage
iv) Database Tier opatch log - $RDBMS_ORACLE_HOME/.patch_storage

Autoconfig related log files in R12  :

i) Database Tier Autoconfig log :

$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/<MMDDHHMM>/adconfig.log
$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/<MMDDHHMM>/NetServiceHandler.log

ii) Application Tier Autoconfig log -
$INST_TOP/apps/$CONTEXT_NAME/admin/log/<MMDDHHMM>/adconfig.log

R12 Installation Logs  :

Database Tier Installation logs:
$RDBMS_ORACLE_HOME/appsutil/log/$CONTEXT_NAME/<MMDDHHMM>.log $RDBMS_ORACLE_HOME/appsutil/log/$CONTEXT_NAME/ApplyDBTechStack_<MMDDHHMM>.log $RDBMS_ORACLE_HOME/appsutil/log/$CONTEXT_NAME/ohclone.log $RDBMS_ORACLE_HOME/appsutil/log/$CONTEXT_NAME/make_<MMDDHHMM>.log
$RDBMS_ORACLE_HOME/appsutil/log/$CONTEXT_NAME/installdbf.log $RDBMS_ORACLE_HOME/appsutil/log/$CONTEXT_NAME/adcrdb_<SID>.log
$RDBMS_ORACLE_HOME/appsutil/log/$CONTEXT_NAME/ApplyDatabase_<MMDDHHMM>.log $RDBMS_ORACLE_HOME/appsutil/log/$CONTEXT_NAME/<MMDDHHMM>/adconfig.log
$RDBMS_ORACLE_HOME/appsutil/log/$CONTEXT_NAME/<MMDDHHMM>/NetServiceHandler.log

Application Tier Installation logs :
$INST_TOP/logs/<MMDDHHMM>.log
$APPL_TOP/admin/$CONTEXT_NAME/log/ApplyAppsTechStack.log
$INST_TOP/logs/ora/10.1.2/install/make_<MMDDHHMM>.log
$INST_TOP/logs/ora/10.1.3/install/make_<MMDDHHMM>.log
$INST_TOP/admin/log/ApplyAppsTechStack.log
$INST_TOP/admin/log/ohclone.log
$APPL_TOP/admin/$CONTEXT_NAME/log/installAppl.log
$APPL_TOP/admin/$CONTEXT_NAME/log/ApplyAppltop_<MMDDHHMM>.log
$APPL_TOP/admin/$CONTEXT_NAME/log/<MMDDHHMM>/adconfig.log
$APPL_TOP/admin/$CONTEXT_NAME/log/<MMDDHHMM>/NetServiceHandler.log

Inventory Registration logs :
<Global Inventory_location>/logs/cloneActions<timestamp>.log
<Global Inventory_location>/logs/oraInstall<timestamp>.log
<Global Inventory_location>/logs/silentInstall<timestamp>.log

 Other log files in R12:

1) Database Tier
1.1) Relink Log files :
$ORACLE_HOME/appsutil/log/$CONTEXT_NAME /<MMDDHHMM>/ make.log
1.2) Alert Log Files :
$ORACLE_HOME/admin/$CONTEXT_NAME/bdump/alert_$SID.log
1.3) Network Logs :
$ORACLE_HOME/network/admin/$SID.log
1.4) OUI Inventory Logs :
$ORACLE_HOME/admin/oui/$CONTEXT_NAME/oraInventory/logs

Monday, November 29, 2010

Procedure to start and stop ERP OR ORACLE APPS R12

Procedure to start the ERP.

Login as oracle user.

Source the environment.
Start the database sqlplus '/as sysdba'
sql> startup
Come out of sql prompt
start the database listener.
by using command : lsnrctl start Database_SID

Login as apps user

source the enviroment.
got to cd $INST_TOP/admin/scripts.
$./adstrtall.sh apps_uername/apps_password


Procedure to stop ERP

Login as apps user

source the enviroment.
got to cd $INST_TOP/admin/scripts.
$./adstplall.sh apps_uername/apps_password

Login as oracle user

stop database listener
$ lsnrctl stop DB_SID
sqlplus '/as sysdba'
shutdown the database
using shutdown immediate
or Shutdown

Wednesday, November 24, 2010

Apps and Database LOG FILE LOCATION

APPS LOG FILE and File LOCATION

$LOG_HOME= $INST_TOP/logs

Apache Logs in R12

Access Log :  $INST_TOP/logs/ora/10.1.3/Apache/ or $LOG_HOME/ora/10.1.3/Apache
Error Log    :  $INST_TOP/logs/ora/10.1.3/Apache/ or $LOG_HOME/ora/10.1.3/Apache

Concurrent Manager logs and out files in R12

$INST_TOP/logs/appl/conc
OR $LOG_HOME/appl/conc

Forms and Reports related logs (10.1.2 O_H in R12 is equivalent to 806 O_H in 11..5.10.2)

Forms log file    :  $LOG_HOME/ora/10.1.2/forms
Reports Log file :  $LOG_HOME/ora/10.1.2/reports

Startup scripts log file Location

$LOG_HOME/appl/admin

Adpatch Log file / Worker log file / adpatch informative log file i.e adpatch.lgi

$APPL_TOP/admin/SID/log/    e.g SID=PROD

Forms.fmb  Location : $AU_TOP/forms/US/
(All fmb's reside in AU_TOP/forms/US)

Apps Environment file Location : $APPL_TOP
name will be APPSSID_HOSTNAME.env e.g APPSPROD_DEMO.env

Application startup & shutdown scripts Location : $INST_TOP/admin/scripts

Applicaton context file i.e .xml file : $INST_TOP/appl/admin/
e.g SID_HOSTNAME.xml

adpreclone.pl script location     : $INST_TOP/admin/scripts
adcfgclone.pl script location      : $COMMON_TOP/clone/bin


Database log file and File Location

adpreclone.pl script location     : $RDBMS_O_H/appsutil/scripts/SID_HOSTNAME
adcfgclone.pl script location      : $RDBMS_O_H/appsutil/clone/bin

Database listener and database startup and shutdown scripts :

$RDBMS_O_H/appsutil/scripts/SID_HOSTNAME

Database alert.log file location in 11g:

$O_H/admin/SID_HOSTNAME/diag/rdbms/sid/sid/trace
alertlog file format  alter_sid.log

All .sql scripts location :

RDBMSO_H/rdbms/admin

Parameter file location i.e Init.ora or pfile or spfile file :

$RDBMS_O_H/dbs

DBA QUERYING TABLES & VIEWS TIPS

DBA - TIPS (Querying Tables & Views): Every DBA Must Know.


Checking Invalid Objects
SELECT 'alter '||object_type||' '||owner||'.'||object_name||' compile;'
FROM dba_objects
WHERE object_type in ('PROCEDURE','FUNCTION','PACKAGE','TRIGGER','VIEW')
and status = 'INVALID' ORDER BY OBJECT_NAME;


Determine the Usuage of tablespaces
SELECT        *
FROM            dba_tablespace_usage_metrics
ORDER BY   used_percent desc;

Determine if the tablespace containing the object is AUTOEXTENSIBLE and has reached MAXSIZE

For Data Files
SELECT     file_name, bytes, autoextensible, maxbytes
FROM       dba_data_files
WHERE     tablespace_name='<tablespace name> ';

For Temp Files
SELECT     file_name, bytes, autoextensible, maxbytes
FROM       dba_temp_files
WHERE      tablespace_name='<tablespace name>’;

Check How Many Datafiles a Tablespace Has or what all datafiles a tablespace contains
SELECT file_name, tablespace_name
FROM dba_data_files
WHERE tablespace_name =’<tablespace name>’;

Find the TABLESPACE of a table.
SELECT tablespace_name
FROM   all_tables
WHERE  table_name = 'OURTABLENAME';

Find the Min Extent, Max Extent, BLOCKS, OWNER, BYTES, INITIAL_EXTENT of a Table        
SELECT *
FROM   dba_segments
WHERE  SEGMENT_NAME = 'FND_CONCURRENT_REQUESTS';        

Find Size of FND_CONCURRENT_REQUESTS TABLE 
SELECT (bytes/1024)/1024 "Size in KB"
FROM   dba_segments
WHERE  segment_name = 'FND_CONCURRENT_REQUESTS';

Query to find which user has locked the table
Select  *
from    dba_waiters --This will give you the sid of the blocker         
OR
You can run script utllockt.sql which is present in $ORACLE_HOME/rdbms/admin.
Running this gives you a nice tree-like report of who's waiting and who's blocking.
OR
SELECT   s.sid,s.serial#, s.username,l.os_user_name,s.terminal,
                 d.object_id,d.object_name
FROM      v$session s, dba_objects d, v$locked_object l
WHERE    s.sid = l.session_id and d.object_id = l.object_id;

Find total number of records in a table
SELECT  COUNT(*)
FROM     tablename;

What is my current session id ?

The username, program, machine, terminal, session id, serial # and more can be found the v$session   view. This view has a column audsid. When you join this coulum to your userenv('sessionid') value, you get the session information for your current session.
The query could be:

SELECT  username, sid, serial#, program
FROM     V$session
WHERE   audsid = userenv('sessoinid');

How to terminate a session ?
ALTER SYSTEM KILL SESSION 'sid, serial#';

Which database am I connected to? As which user?
SELECT  global_name
FROM      global_name;

To find the user, from SQLPLUS
SHOW USER

What is the SGA size ?
SHOW SGA 
Or
 SELECT  *
FROM      V$sga;

Where are my alert log and dump files written ?
The alert file is written to your BACKGROUND_DUMP_DEST. This variable is set in the config.ora   (init.ora) file. You can find the current values of the dump directories from the database. Invoke svrmgrl and connect. Issue command "SHOW PARAMETER DUMP". The SHOW PARAMETER command can be used to find the value of any database parameter value. For example if you want to find the block size and block buffers, issue command "SHOW PARAMETER BLOCK"

How to increase the size of a TABLESPACE ?
ALTER DATABASE DATAFILE 'filename' RESIZE nn M;
OR
You can add more physical data files to the tablespace by

ALTER TABLESPACE <tablespace-name>
ADD DATAFILE 'filename' SIZE nn M;
Make sure you specify the full path name for the filename

Is my database running in Archive log mode?
Where are the archived files written?
ARCHIVE LOG LIST

Purge Concurrent Request and/or Manager Data

Purge Concurrent Request and/or Manager Data 

One of the important area of Concurrent Manager tuning is monitoring the space usage for the subsets within each concurrent manager. When the space in FND_CONCURRENT_PROCESSES and FND_CONCURRENT_REQUESTS exceed 50K, you can start to experience serious performance problems within your Oracle Applications. When you experience these space problems, a specific request called "Purge Concurrent Requests And/Or Manager Data" should be scheduled to run on a regular basis. This request to purge can be configured  the request data from the FND tables as well as the log files and output files on accumulate on disk.

When the tables FND_CONCURRENT_REQUESTS and FND_CONCURRENT_PROCESSES reaches above 3000-4000 rows, the performance diminishes.You have to run Purge Concurrent Request and/or Manager Data program on a regular basis depending on the amount of request being run.

Find Size in KB for FND_CONCURRENT_REQUESTS

sql> SELECT (BYTES/1024)/1024 "Size in KB" from dba_segments where SEGMENT_NAME='FND_CONCURRENT_REQUESTS';
O/P   Size in KB
          ----------
          3.65

SQL> SELECT (BYTES/1024)/1024 "Size in KB" from dba_segments WHERE SEGMENT_NAME='FND_CONCURRENT_PROCESSES';
O/P :      Size in KB
              ----------
              10.75

The Purge Concurrent Request and/or Manager Data program job can be used to purge Requests,Mgr Logs
and all requests depending on what is choosen.

Use the following options: Enter=ALL, Mode =Age, Mode Value=15 

How to Purge Concurrent Request and/or Manager Data

Loigin to frontend with sysadmin responsibility:
Navigate :
System Administrator -- Concurrent - Requests
Click on Submit a New Request -- Select Single Request click ok
Enter Name as Purge Concurrent Request and/or Manager Data

Entity - ALL / Request / Manager

ALL - Purges records from database tables that record history information for concurrent requests,concurrent managers, and purges request log files, manager log files, and report output files from the operating system.
Request - Purges records from database tables that record history information for concurrent requests, and purges request log files and report output files from the operating system.
Manager - Purges records from database tables that record history information for concurrent managers, and purges manager log files from the operating system. 

Mode - Age / Count

Age - Enter the number of days for which you want to save concurrent request history, log files, and report output files. The purge program deletes all records older (in days) than the number you enter. For example, if you enter "5", then all concurrent request history, log files, and report output files older than five days is purged.
Count - Enter the number of (most recent) records for which you want to save concurrent request history, log file, and report output files. The purge program starts from the most recent records, retains the number you enter, and purges all remaining records. For example, if you enter "5", then the five most recent concurrent request history records, request log files, manager log files, report output files are saved, and all remaining records are purged.

Mode Value - Value

Mode Value - Enter a value to define the number of days for Mode=Age or the number of records for Mode=Count. The valid values are 1 - 9999999

Then Submit.

The database tables that are affected by running the Purge Concurrent Request and/or Manager Data program are:

FND_CONCURRENT_REQUESTSThis 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_ARGUMENTSThis 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_PROCESSESThis 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_SUMMARYThis 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.


Monday, November 22, 2010

Check Version of File in Oracle Application

Check version of the File

Two ways to check version of file.

    1. Adident    2. Strings

 ADIDENT Utility in ORACLE application is used to find version of any file.

 1st Method

   Syntax : adident Header filename.

   e.g If you want to find out the version of appvndrb.pls
        $ cd AP_TOP/patch/115/sql
        $ adident Header appvndrb.pls
        o/p :
         appvndrb.pls:
         $Header appvndrb.pls 120.78.12010000.83 2010/04/27 21:00:55 vinaik ship


2nd Method :

 Using Strings:

  Syntax : strings -a Top_name/location of file/filename | grep '$Header'
   e.g $ strings -a $AP_TOP/patch/115/sql/appvndrb.pls | grep '$Header'
   o/p : /* $Header: appvndrb.pls 120.78.12010000.83 2010/04/27 21:00:55 vinaik ship $ */
                                              OR
      $ cd $AP_TOP/patch/115/sql
      $ strings -a appvndrb.pls | grep '$Header'



Thursday, November 4, 2010

Concurrent Manager cannot find error description for CONC-System Node

Concurrent Manager cannot find error description for CONC-System Node
Name not Registered

Issue : After Installing R12 (12.1.1) On HP-UX 11.31 Itanium .

Error in Concurrent Manager Log file
========================================================================
Starting XXX@XXXInternal Concurrent Manager -- shell process ID 9809
          logfile=/u02/ebiz/inst/apps/MAXDEMO_demoserver/logs/appl/conc/log/MAXDEMO_1013.mgr
          PRINTER=noprint
           mailto=appsvis
          restart=N
             diag=N
            sleep=30
             pmon=4
           quesiz=1
          Reviver is ENABLED

The Internal Concurrent Manager has encountered an error.
Review concurrent manager log file for more detailed information. : 13-OCT-2010 19:42:43 -
Shutting down Internal Concurrent Manager : 13-OCT-2010 19:42:43
List of errors encountered:
.............................................................................
_ 1 _
Concurrent Manager cannot find error description for CONC-System Node
Name not Registered
Contact your support representative.
.............................................................................

List of errors encountered:
.............................................................................
_ 1 _
Routine AFPCAL received failure code while parsing or running your
concurrent program CPMGR
Review your concurrent request log file for more detailed information.
Make sure you are passing arguments in the correct format.
.............................................................................
The XXX@XXX internal concurrent manager has terminated with status 1 - giving up.


Solution :

1st :

1. Verify correct node name is registered.
    - Login with sysadmin  responsibility
    - Navigate to  Install > Nodes
2. Enter correct name and save the change.
3. Restart concurrent managers

2nd  :
If the above solution doesnt work.
(By default HP-UX can have hostname only 8 characters if you have given more than 8 characters then
increase the lenght of hostname)

Check the node name of sever
# uname -n ( should give you nodename)
# hostname
both the above commands should give same result.
if not same then change the nodename by #set_parms commad
and check once again by the above commands.

Restart concurrent managers and check conc are up and running If not.

3rd :

login to apps tier :
sqlplus apps/apps
check entries in FND_NODES
also check entries in FND_CONCURRENT_REQUESTS.
sql> select LOGFILE_NODE_NAME,OUTFILE_NODE_NAME from fnd_concurrent_requests;

check whether logfile and outfile nodename are same if not
first take backup of the fnd_concurrent_requests then update the logfile and outfile node name with correct nodename.
Issue commit;
and come out.
bounce conc managers and check once again.
(if still issue is there)
4th  :
Download cmclean script from metalink.
stop conc managers $INST_TOP/admin/scripts
$./adcmctl.sh stop
copy to the server and sqlplus apps/apps
sql>@cmclean.sql
sql > commit;
come out
start conc managers and check managers are up and running.

if still facing the issue :

5th  :

Check OS Kernel Parameters and keep them to maximum.

Restart the server if asked to kernel parameters are static.
bounce the conc manager and check again.

6th  :

.....IF THE ISSUE IS STILL THERE THEN PLEASE RAISE SR WITH ORACLE.....

Wednesday, November 3, 2010

Compiling forms in R12

Compiling forms in R12

All fmb are present in AU_TOP/forms/US.

Syntax:
frmcmp_batch fmb_name userid=apps/apps output_file='location of fmx file to be created'
module_type=form compile_all=special

E.g frmcmp_batch GMEBDTED.fmb userid=APPS/APPS output_file=/u02/ebiz/apps/apps_st/appl/gme/12.0.0/forms/US/GMEBDTED.fmx module_type=form compile_all=special
                                                   OR
if you are using refleaction s/w such as xmanager .
$export DISPLAY=ipaddress of pc:0.0
$frmcmp

Tuesday, November 2, 2010

Cannot create journal by Mass Allocation Function

Cannot create journal by Mass Allocation Function

Login to apps Tier:
$ cd /u01/oracle/VIS/apps/apps_st/appl/gl/12.0.0/patch/115/xdf/
The odf-files are available in Release 10.7, 11.0.3, 11i and R12. But the odf-files are more and more replaced by the xdf-files, starting with the Release 11i and further implemented in R12.
Create or verify a DatabaseObject using a odf or xdf file
To verify and create Database Objects, defined in a odf-File you are using the Utility adodfcmp, which is located under the $AD_TOP/bin.

To verify and create Database Objects, defined in a xdf-File you are using the Java Utility FndXdfCmp, which is located under the $JAVA_TOP/oracle/apps/fnd/odf2
Usage of the Utility adodfcmp :
Syntax :adodfcmp odffile=<Filename> mode=<Objects to be checked/updated> changedb=NO \
userid=<User>/<Password> touser=<User>/<Password> priv_schema=SYSTEM/<Password>
Usage of the Java Utility FndXdfCmp :
Syntax : adjava -mx512m -nojit oracle.apps.fnd.odf2.FndXdfCmp <Oracle_Schema> <Oracle_Password>
<apps_schema> <apps_password> <jdbc protocol> <JDBC_Connect_String> <Object Type> \
<full path to xdf file> <full path of $FND_TOP/patch/115/xdf/xsl>
Oracle Schema à Username of oracle schema e.g GL,AL,AP,AR and their password
Apps_schemae à Apps username and passworf
$ adjava -mx512m -nojit oracle.apps.fnd.odf2.FndXdfCmp gl gl apps apps thin \
 maxdemo:1521:VISMAX all gl_alloc_int_1.xdf $FND_TOP/patch/115/xdf/xsl
$ adjava -mx512m -nojit oracle.apps.fnd.odf2.FndXdfCmp gl gl apps apps thin \
 maxdemo:1521:VISMAX all gl_alloc_int_2.xdf $FND_TOP/patch/115/xdf/xsl
$ adjava -mx512m -nojit oracle.apps.fnd.odf2.FndXdfCmp gl gl apps apps thin \
 maxdemo:1521:VISMAX all gl_alloc_int_3.xdf $FND_TOP/patch/115/xdf/xsl
Note \ will take you to new line when you  hit enter key

Monday, November 1, 2010

Unable to get the current group while installing 11gR2 on HP-UX 11.31 Itanium

Error: Unable to get the current group while installing 11gR2 (11.2.0.1) on HP-UX 11.31 Itanium or if you getting An internal error occurred within cluster verification framework

Apply OS Patch No : PHCO_40381.

For ref : Metalink-id : 983713.1

Saturday, October 30, 2010

Email Protocols: IMAP, POP3, SMTP and HTTP

Email Protocols: IMAP, POP3, SMTP and HTTP

A protocol is about a standard method used at each end of a communication channel, in order to properly transmit information. In order to deal with your email you must use a mail client to access a mail server. The mail client and mail server can exchange information with each other using a variety of protocols.
IMAP Protocol:
IMAP (Internet Message Access Protocol) – Is a standard protocol for accessing e-mail from your local server. IMAP is a client/server protocol in which e-mail is received and held for you by your Internet server. As this requires only a small data transfer this works well even over a slow connection such as a modem. Only if you request to read a specific email message will it be downloaded from the server. You can also create and manipulate folders or mailboxes on the server, delete messages etc.
SMTP Protocol:
The SMTP (Simple Mail Transfer Protocol) protocol is used by the Mail Transfer Agent (MTA) to deliver your eMail to the recipient's mail server. The SMTP protocol can only be used to send emails, not to receive them. Depending on your network / ISP settings, you may only be able to use the SMTP protocol under certain conditions .
POP3 Protocol:
The POP (Post Office Protocol 3) protocol provides a simple, standardized way for users to access mailboxes and download messages to their computers.

When using the POP protocol all your eMail messages will be downloaded from the mail server to your local computer. You can choose to leave copies of your eMails on the server as well. The advantage is that once your messages are downloaded you can cut the internet connection and read your eMail at your leisure without incuring further communication costs. On the other hand you might have transferred a lot of message (including spam or viruses) in which you are not at all interested at this point.
HTTP Protocol:
The HTTP protocol is not a protocol dedicated for email communications, but it can be used for accessing your mailbox. Also called web based email, this protocol can be used to compose or retrieve emails from an your account. Hotmail is a good example of using HTTP as an email protocol.

Error : Shared Memory realm while opening db

Issue of Shared Memory realm faced while starting the db 11.1.0.7  installed on HP-UX 11.31
I changed the OS kernel parameter as hostname length is =8 characters so I changed the
expanded_node_host_names=1 so that hostname length will be increased from 8 -64 characters.
And did sytem restart. But while opening the database I got Shared memory realm error.
SQL> startup
Assertion failed: uname(&name) >= 0, file snlrn.c, line 395
ORA-03113: end-of-file on communication channel
SQL> shutdown immediate
ORA-01033: ORACLE initialization or shutdown in progress
SQL> startup
ORA-27100: shared memory realm already exists
HPUX-ia64 Error: 17: File exists
The uname_eoverflow kernel parameter is by default set to 1 and when I changed the expanded_node_host_names value to 1 we started facing the above issue.
If anyone takes a first look on this error, it seems that there is still shared memory occupied by previous Oracle Sessions and try to clean it up using ipcs and ipcrm commands.
uname_eoverflow: The setting of this boolean parameter determines what happens when uname gets a long hostname (and it isn't set up for long hostnames). If this kernel tunable is true (1), then generate an error EOVERFLOW; if the tunable is false (0), then silently truncate the host name before returning it in the uname system call.
expanded_node_host_names: The setting of this boolean parameter affects whether long host names (and node names) are supported. If this tunable is set to true (1), then the host and node names can be up to 255 characters (actually, 255 bytes); if set to false (0), then the limits are 8 bytes and 64 bytes for the host and node names respectively. The actual current host name (or node name) is unaffected, no matter the setting.
If both parameter values will be 1 then they will conflict each other and it will create issue to resolve HOSTNAME, which in our case was happening.
So afterwards when we changed the parameter value of uname_eoverflow to 0, above issue resolved and our database and application started smoothly.

Create Tar file and unpacking of Tar File.

Create TAR File

$ tar -cvf archivename.tar name_of_file
     v - provides a descriptuion of archived contents (optional)
     c - to create an archive
     f -  to specify a name for the archive
     archivename.tar -- name given to the archive
     name_of_file    -- name of folder or directory to be archived.
e.g tar -cvf tech_st.tar tech_st

Unpacking the TAR File

 $ tar -xvf archivename.tar
      v - provides the contents of the unpacked files
      x - to extract files
      f - designate the archive containing the files.
      arhivename.tar - the name of the archive to retrieve.

  e.g $ tar -xvf tech_st.tar

Create zipped tar ball

     # tar -cvf temp.tar tmp
     # /usr/contrb/bin/gzip temp.tar
     This creates temp.tar.gz
      You can then copy to any directory you want.

 To Uncompress zipped tar ball
     # cd /directory_you_want
     # /usr/contrib/bin/gunzip temp.tar.gz
     # tar -xvf temp.tar
     # ll tmp

Wednesday, October 27, 2010

Replace the default branding shown as E-Business Suite on homepage in R12 with a custom text

Replace the default branding (E-Business Suite) on homepage in R12 with a custom text
1. Login with system administrator responsibility
2. Navigate: Application ---> Function
3. Query the function FWK_HOMEPAGE_BRAND
4. Replace the User Function Name with the desired text
5. Query the function OAHOMEPAGE
6. Click on tab web_html_call

    It may be set to the following :
OA.jsp?page=/oracle/apps/fnd/framework/navigate/webui/HomePG&homePage=Y
7. Change the value of web_html_call to the following
OA.jsp?page=/oracle/apps/fnd/framework/navigate/webui/HomePG&homePage=Y&OAPB=FWK_HOMEPAGE_BRAND
8. Logout, login and the change should be visible immediate 

Change the Oracle Logo that appears in the isupport Homepage to the Company logo in R12

Changing the oracle Ebusiness Suite homepage logo to company logo
The profile option "Corporate Branding Image for Oracle Applications" controls the corporate
branding image "ORACLE" displayed at the top of all OA Framework pages.
If no value is set for this profile, OA Framework renders the corporate branding image by using
the $OA_MEDIA/FNDSSCORP.gif file.

If you change the value of this profile with the name of your custom image you will see your logo
in all pages except in the login page because the "FNDSSCORP.gif " is hard coded in MainLoginPG.xml.

Hence if you want to change the corporate branding image with your own logo and thus in all pages
including the login page the simplest solution is to:

- rename the FNDSSCORP.gif file for backup
- edit the FNDSSCORP.gif with your preferred graphic software
- log out and log into the Applications
- you should see the new logo at the top of all the page (including the login page)

2nd method:


Login to Applications as System Administrator
  1. Select: System Administrator > Profile - System
  2. Query profile "Corporate Branding Image for Oracle Applications"
  3. Change the SITE level value to the name of the xxx.gif file ( eg  my_company_logo.gif )
  4. Save the change
The second action is performed on the Application server.
  1. Open a telnet/PTTY session to the Application server and source Applications environment
  2. Navigate to the $OA_MEDIA directory
  3. Copy the image file to this directory and make sure permissions are set properly
Now clear your browser cache and access the environment. Now the new logo should be rendered.
Q? The Custom logo is displayed differently on login page and after login. The resolution changes as opposed to the Oracle logo which stays the same size -  please explain why ?
Answer :
The Corporate branding image has a size limit.
This was good for Oracle default image FNDSSCORP.gif. But for custom images this size limit
creats distortion.

In R12 only small size branding is supported

consequently you will need to reduce the size of your logo to avoid the distortion on the login page

Refer to instructions in Framework Development guide for R12 - Note 394780.1

ADD MLOCK privilege to Oracle group:

MLOCK Privilege

To allow Oracle11g to execute asynchronous I/O operations, the group that the Oracle software owner belongs to (dba) must have the MLOCK privilege. To give the dba group the MLOCK privilege:
As the root user, enter the following command:

# setprivgrp dba MLOCK

To retain the MLOCK privilege after rebooting, create the /etc/privgroup file, if it does not exist on your system, and add the following line to it:
dba MLOCK

HP-UX Server & Unix Shutdown Command.

To shut down HP-UX for power-off, you can do any of the following:
# init 0 -- (Unix or Red hat linux )
# shutdown -h -y now
To shut down and reboot HP-UX:
# init 6 -- (Unix or Red hat linux )
# reboot
# shutdown -r -y now
To shut down HP-UX to single-user mode:
# init S
# shutdown -y now
# shutdown 0
The -h option to the shutdown command halts the system completely but
will prompt you for a message to issue users. The -y option completes
the shutdown without asking you any of the questions it would normally ask.

Compile apps schema or invalid objects in database in Oracle applications R12

Check Invalid Objects:
Connect sqlplus apps/***
SQL> select count(*) from dba_objects where status=’INVALID’;
This Query will result in total number of Invalid objects in database
Three ways to compile Invalid Objects  :
1st    From DB Tier
Login to DB Tier  as Oracle user.
Source the environment i.e. SID_hostname.env
$ cd $ORACLE_HOME/rdbms/admin
Now run utlrp.sql script this will compile invalids objects in database
        Sqlplus ‘/as sysdba’
        SQL> @ utlrp.sql   à if you are connecting sqlplus from $ORACLE_HOME/rdbms/admin.
                                       Otherwise specify full path if from another location.
         e.g
         SQL> @$ORACLE_HOME/rdbms/admin/ utlrp.sql  
          The following pl/sql block invokes UTL_RECOMP to recompile invalid objects in Database

        2nd From Apps Tier Using adadmin

Login to apps tier as Appsuser
       $ Source the environment i.e APPSSID_hostname.env
      $ adadmin
       Reply to the prompts.
                                                AD Administration Main Menu
   --------------------------------------------------

   1.    Generate Applications Files menu

   2.    Maintain Applications Files menu

   3.    Compile/Reload Applications Database Entities menu

   4.    Maintain Applications Database Entities menu
   5.    Change Maintenance Mode

                  6.    Exit AD Administration

  Select Option 3 and press enter

Compile/Reload Applications Database Entities
   ---------------------------------------------------

   1.    Compile APPS schema

   2.    Compile menu information

   3.    Compile flexfields

   4.    Reload JAR files to database

   5.    Return to Main Menu

Select option 1. Compile APPS Schema.
Once you select option 1 it will start compiling Invalids.

 3rd. From SQL (Individual objects)

a)      Identity Invalid Object
 “SQL> select object_name, owner, object_type from all_objects where status like ‘INVALID’ ”
b)      SQL> alter [object] [object_name] compile;
E.g select OBJECT_NAME OBJECT_TYPE from user_objects where status 'INVALID';
               compile the objects accordingly....
               ALTER PACKAGE my_package COMPILE;
               ALTER PACKAGE my_package COMPILE BODY;
               ALTER PROCEDURE my_procedure COMPILE;
               ALTER FUNCTION my_function COMPILE;
               ALTER TRIGGER my_trigger COMPILE;
               ALTER VIEW my_view COMPILE;
SQ> show err à will display errors