Gather Schema Statistics or Gather Table Statistics or running FND_STATS fails with "ORA-20005: object statistics are locked". Example: ERROR: While GATHER_TABLE_STATS: object_name=AR.AR_REV_REC_QT***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 gets 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; SOLUTION: Unlock gather stats running on those queues : exec dbms_stats.unlock_schema_stats('schema_owner'); exec dbms_stats.unlock_table_stats('table_owner','table_name'); Example: SQL> exec dbms_stats.unlock_schema_stats ('AR'); SQL> exec dbms_stats.unlock_table_stats('AR', 'AR_REV_REC_QT');
How to resolve cloning issue: BEGIN failed--compilation aborted at adcfgclone.pl line 26.
While running adcfgclone.pl as a part of database Tier clone, the below mentioned error occurs: -bash-3.00$ perl adcfgclone.pl dbTechStack Can't locate strict.pm in @INC (@INC contains: /ade/smayer_perl58_main_linux/perl58/bin/Linux/Opt/lib/5.8.3/i686-linux-thread-multi /ade/smayer_perl58_main_linux/perl58/bin/Linux/Opt/lib/5.8.3 /ade/smayer_perl58_main_linux/perl58/bin/Linux/Opt/lib/site_perl/5.8.3/i686-linux-thread-multi /ade/smayer_perl58_main_linux/perl58/bin/Linux/Opt/lib/site_perl/5.8.3 /ade/smayer_perl58_main_linux/perl58/bin/Linux/Opt/lib/site_perl .) at adcfgclone.pl line 26. BEGIN failed--compilation aborted at adcfgclone.pl line 26. As indicated in the above error message, this is due to the PERL setting. We dint have the PERL5LIB set : -bash-3.00$ echo $PERL5LIB -bash-3.00$ which perl /d02/oradev/devdb/10.2.0/perl/bin/perl Resolution: $PERL5LIB was set to resolve the issue: Contents under $ORACLE_HOME/perl : -bash-3.00$ ls -ltr /d02/oradev/devdb/10.2.0/perl total 16 drwxr-x--drwxr-x--drwxr-x--drwxr-x---
2 oradev dba 4096 Feb 2 oradev dba 4096 Feb 4 oradev dba 4096 Feb 4 oradev dba 4096 Feb
Contents under $ORACLE_HOME/perl/lib: -bash-3.00$ ls -ltr /d02/oradev/devdb/10.2.0/perl/lib total 8 drwxr-x--- 3 oradev dba 4096 Feb 9 04:33 site_perl drwxr-x--- 44 oradev dba 4096 Feb 9 04:33 5.8.3 -bash-3.00$ PERL5LIB=/d02/oradev/devdb/10.2.0/perl/lib/5.8.3 -bash-3.00$ export PERL5LIB
Here in the above example, a single oracle process holds 789785472 bytes of shared memory, even after shutdown. If the database instance is started, then we would expect abnormal behaviors on the database side, like the login issue that we are discussing now. This can cleaned as mentioned below:
ipcrm -m < shmid> eg: ipcrm -m 884763 This would free up the memory held. This resolved the issue.
Error:
Ping URL for proc: 887947305 failed while pinging url:/reports/rwservlet/pingserver?start=auto 12/11/01 08:18:46 [4] [libopmnoc4j] Process Ping Failed: OC4J~OC4J_BI_Forms~default_island~1 (887947305:8511) 12/11/01 08:19:10 [2] [libopmnoc4j] AJP13: Receiving response code: 500 while configured success code is: 200 12/11/01 08:19:10 [2] [libopmnoc4j] Ping URL for proc: 887947305 failed while pingingurl:/reports/rwservlet/pingserver?start=auto
Search String:
REP-56105
tail f OC4J~OC4J_BI_Forms~default_island~1
SOLUTION:
Work Around:
Disable pingserver command in $ORACLE_HOME/opmn/conf/opmn.xml - Take the backup of opmn.xml file @ cd $ORACLE_HOME/opmn/conf @ cp opmn.xml opmn.xml.PINGAUTO @ - Open file opmn.xml @ - Take out the following lines from opmn.xml @ < category id="urlping-parameters"> @ < data id="/reports/rwservlet/pingserver?start=auto" value="200"/>
@ < /category> @ - Bounce the opmn @ cd $ORACLE_HOME/opmn/bin @ ./opmnctl stopall ; ./opmnctl startall
SOLUTION:
Also Check for the domain name in /u01/oracle/product/ais10g/webcache Webcache.xml ----change the domain name.
update applsys.fnd_concurrent_requests set phase_code = 'P', status_code = 'I', actual_start_date = null, crm_release_date = null, controlling_manager=null, logfile_name = null, logfile_node_name = null, outfile_name = null, outfile_node_name = null, crm_tstmp = null where request_id in ('request-id'); alter system kill session 'sid, serial#, @instance-id'; Hence a new database session will get created as soon as the old one is killed and the request starts running. Since the server on which the request is supposed to get processed also had no issues now, the request went through very fast without any issues ;)
12/04/26 03:15:13 Exception in thread "Timer-1" java.lang.OutOfMemoryError: Java heap space oracle.jbo.DMLException: JBO-26066: Error during rollback Solution: We would need to do changes to -Xms ( for start heap memory ) and -Xmx ( for maximum heap memory ) of the opmn.xml. Changing the Xmx to 512 MB and Xms to 128 MB will help. >>>> Increase Java Heap Size for the OC4J instance as per the available memory (RAM) & restart the instance. You can do it with AS Control -> OC4J Instance -> Administration Tab -> Server Properties -> Java options. Update -Xms -Xmx java options. Once updated, stop and start the OC4J instance to pick up the changes.
ORA-01110: data file 98: '/disk09_250/oradata/mine/a_txn_data14.dbf' ORA-26040: Data block was loaded using the NOLOGGING option
SOLUTION:
3. Run the request: "Synchronize WF LOCAL tables" - Parameters: ALL "Synchronize WF LOCAL tables" - Parameters: FND_USER
OACORE fails to start after increasing the JVM processes in Oracle R12
Issue: OACORE processes are not starting. Recent changes: Increased the JVM processes in the context file. Error:
adoacorectl.sh: exiting with status 206
Solution: 1) Stop the middle tier processes: adopmnctl.sh stop 2) Kill any runaway/zombie processes. 3) Remove the following jms lock files: $ORA_CONFIG_HOME/10.1.3/j2ee/forms/persistence/forms_default_group_1/jms.state.lock, $ORA_CONFIG_HOME/10.1.3/j2ee/oacore/persistence/oacore_default_group_1/jms.state.lock $ORA_CONFIG_HOME/10.1.3/j2ee/oafm/persistence/oafm_default_group_1jms.state.lock 4) Restart middle tier: adopmnctl.sh start
5. When prompted for Generate specific executable for each selected product [No] ? YES select YES & from list of executable select FNDLIBR. This will create new FNDLIBR executable.
Move Concurrent Processing Server from one node to another in Oracle Apps 11i
Example: Oracle E-Business Suite (11.5.10.2) with 2 nodes: Node 1: Database and the Concurrent Processing Node 2: Forms, Reports and Web Server.
Requirement: Shared appl_top / Shared application tier file system. If not follow the Step 2 below. How to perform: 1. This is recommended to be performed on a NON-PRODUCTION system first with necessary backups. 2. Create a shared APPL_TOP by following Metalink Note 233428.1 for sharing the application tier files system and allow the node 2 to share for concurrent manager node ( Node 1). 3. Edit context file on the Forms and Web node2 and change following context variables: s_isConc from "NO" to " YES " s_concstatus from "disabled" to " enabled " On Node1: make the below changes s_isConc from "YES" to "NO" s_concstatus from "enabled" to "disabled" 4. Run autoconfig on all the APPS nodes.
Concurrent managers are down with status: System Hold, Fix Manager
Issue: All the concurrent managers are down with a status message: system hold, fix manager. The administer Concurrent manager screen has Actual: 0 and Target: 1 for all managers.
Solution:
-
Please check the system profile: Concurrent: GSM Enabled. This should be set to Y Execute: afdcm037.sql Path : $FND_TOP/patch/115/sql Description of the script: PL/SQL script to create libraries for FNDSM and FNDSVC and create Managers for Preexisting Nodes. Future nodes will be handled by db trigger. - Relink the below mentioned executables: adrelink.sh force=y fnd FNDLIBR adrelink.sh force=y fnd FNDSM adrelink.sh force=y fnd FNDFS adrelink.sh force=y fnd FNDCRM
- Execute cmclean.sql to clean out the concurrent manager tables. - Start all the application services and restest the issue.
ORA-00257: archiver error. Connect internal only, until freed. Cause: The error is caused by the fact that the database archiver process is unable to archive the current online redolog due to lack of space in the destination for the archivelogs. The flash_recovery_area is full. Applicable to 9i, 10g and 11g database versions. Solution: The basic idea is to free space so as to make room for new archiving to happen. This can be addressed in multiple ways. Allow more space in the DB_RECOVERY_FILE_DEST with the DB_RECOVERY_FILE_DEST_SIZE parameter : alter system set db_recovery_file_dest_size=5G ; Imagine a situation where the space increased in step 1 gets filled, ie, 5 GB. Set an alternative archiving destination, so that when the primary destination is full, archiving is automatically performed to the alternate destination: Following changes in parameter file can enable the same: log_archive_dest_1='LOCATION=use_db_recovery_file_dest NOREOPEN ALTERNATE=LOG_ARCHIVE_DEST_2' log_archive_dest_2='LOCATION=/other_dest_for_archiving' log_archive_dest_state_1='enable' log_archive_dest_state_2='alternate' db_recovery_file_dest='/db01/mine/oracle/product/10.1.0/db_1/flash_recovery_area' db_recovery_file_dest_size=5G
Check the archive_log_dest and verify if the path mentioned exists and is valid. Take a backup of the existing archive files (recommended) OR it can be deleted to make more free archiving space. This can be done at the server level where files can be manually deleted. However incase of ASM storage with rman, below mentioned way is recommended (which would perform backup and then deleting):
Example : rman target sys/sys RMAN> backup archive log all ; RMAN> delete archive until time 'trunc(sysdate)';
Oracle error -1654: ORA-01654: unable to extend index APPLSYS.FND_LOGINS_N2 by 16 in tablespace APPS_TS_ARCHIVE has been detected in FND_SIGNON.AUDIT_USER. Check if the APPS_TS_ARCHIVE Tablespace is full. Increase the size of tablespace APPS_TS_ARCHIVE / add a datafile to the tablespace. This will resolve the issue.
Unable to apply RDBMS patch (Opatch) on 10G ENV after postclone and upgrade from 9i.
UNABLE TO APPLY RDBMS PATCH (Opatch) ON 10G ENV after postclone and upgrade from 9i. SOLUTION: Some options of opatch: Opatch apply invPtrLoc Opatch apply no_inventory Which opatch
~/Oraclemine/10.2.0/OPatch/opatch (Oracle06) 5005469 - -bash $ opatch apply -invPtrLoc $ORACLE_HOME/oraInst.loc Invoking OPatch 10.2.0.2.0 . Oracle interim Patch Installer version 10.2.0.2.0 @ Copyright (c) 2005, Oracle Corporation. All rights reserved.. . Oracle Home: /mine/oracle/oraclemine/10.2.0 Central Inventory: /mine/oracle/oraclemine/10.2.0/oraInventory from : /mine/oracle/oraclemine/10.2.0/oraInst.loc OPatch version: 10.2.0.2.0 OUI version: 10.2.0.2.0 OUI location: /mine/oracle/oraclemine/10.2.0/oui Log file location: /mine/oracle/oraclemine/10.2.0/cfgtoollogs/opatch/opatch-2006_Apr_25_21-58-34-PDT_Tue.log . ApplySession applying interim patch '5005469' to OH/mine/oracle/oraclemine/10.2.0' List of Homes on this system: OPatchSession cannot load inventory for the given Oracle Home /mine/oracle/oraclemine/10.2.0. Possible causes are: No read or write permission to ORACLE_HOME/.patch_storage Central Inventory is locked by another OUI instance No read permission to Central Inventory The lock file exists in ORACLE_HOME/.patch_storage The Oracle Home does not exist in Central Inventory . Apply Session failed: ApplySession failed to prepare the system. No detail available. System intact, OPatch will not attempt to restore the system . OPatch failed with error code 73 =========================================================================== I have checked that patch_lock file is not available on $ORACLE_HOME/.patch_storage and no lock on Inventory. Also required permissions are exisitng for .patch_storage and oraInventory. . lsinventory gives the following info =========================================================================== (oracle06) 5005469 - -bash $ opatch lsinventory -invPtrLoc $ORACLE_HOME/oraInst.loc Invoking OPatch 10.2.0.2.0 . Oracle interim Patch Installer version 10.2.0.2.0 @ Copyright (c) 2005, Oracle Corporation. All rights reserved.. .Oracle Home : /mine/oracle/oraclemine/10.2.0 Central Inventory : / mine /oracle/ oraclemine /10.2.0/oraInventory from : / mine /oracle/ oraclemine /10.2.0/oraInst.loc OPatch version : 10.2.0.2.0 OUI version : 10.2.0.2.0 OUI location : / mine /oracle/ oraclemine /10.2.0/oui Log file location : / mine /oracle/ oraclemine /10.2.0/cfgtoollogs/opatch/opatch-2006_Apr_25_22-00-16-PDT_Tue.log . List of Homes on this system: Inventory load failed... OPatch cannot load inventory for the given Oracle Home. Possible causes are:
Oracle Home dir. path does not exist in Central Inventory Oracle Home is a symbolic link Oracle Home inventory is corrupted LsInventory Session failed: OracleHomeInventory::load() gets null oracleHomeInfo .OPatch failed with error code 72 =========================================================================== Looks like $ORACLE_HOME is not attached to the local inventory. Attaching the ORACLE_HOME to the inventory. Run runClone.sh as mentioned under "Run 10g Cloning" step . This will resolve the issue
oracle@mine01$ sqlplus "/as sysdba" SQL*Plus: Release 9.2.0.7.0 - Production on Sat Apr 21 03:26:33 2007 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Connected to: Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.7.0 Production
SQL> alter session set tracefile_identifier=mine; ( this would set the trace file name as mine) Session altered. SQL> alter database backup controlfile to trace; Database altered. oracle@mine01$ ls -ltr *MINE* -rw-rw-r-- 1 oracle dba 67001 Apr 21 03:28 prod_ora_23305_MINE.trc
uuencode prod_ora_23305_MINE.trc prod_ora_23305_MINE.trc|mailxsandesh.achar@mine.com ( This would send an email to your mailbox with the trace file attached) Get this controlfile to target instance.
Target Instance: oradev@ mine02# ls -ltr *MINE* -rwxrwxrwx 1 oradev dba 67001 Apr 21 03:29 prod_ora_23305_MINE.trc
oradev@mdsuaor09# cp prod_ora_23305_MINE.trc mine.sql This would copy the trace file to a new file named mine.sql and all the required changes can be done to mine.sql as mentioned below: vi mine.sql esc:se nu check where the create controlfile line starts ( double copy of create control file line)and delete till there. esc:1,60d esc shift+g -------will take to last line esc:?CREATE --------press n and check if there are 2 sets of create controlfile if yes then bring the cursor to the last line of the wanted set escd shift+g change like this : CREATE CONTROLFILE SET DATABASE "DEV" RESETLOGS NOARCHIVELOG Now change the path of data files and save the file .
esc:%s,oracle/proddata,oradev/devdata,g
The entire practice above is to create a new set of controlfile and below mentioned steps would check if all datafiles have been copied properly:
oradev@ mine02# grep / mine.sql > mine.sh vi mine.sh esc:%s,',,g esc:%s/,//g esc:%s,^,ls -ltr ,g save the file . chmod +x mine.sh ./mine.sh 2> mine.log check the log file and see if there any data file missing.( mine.log file size shud be zero ) At this point we are ready with the control file and we are also sure that all data files have been copied to the target instance. oradev@ mine02# sqlplus "/as sysdba" SQL*Plus: Release 9.2.0.7.0 - Production on Sat Apr 21 03:59:48 2007 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Connected to an idle instance. SQL> startup nomount;
Now open another session and keep monitoring the alert log file.
SQL> @mine.sql
Control file created. SQL>recover database using backup controlfile; Meanwhile go to the source instance and go to alert log file and do a tail -500 and check for the path of the log file using the sequence number asked for recovery. Change the path accordingly and give it for the recovery. SQL> recover database using backup controlfile; ORA-00279: change 7254772161098 generated at 04/20/2007 14:08:25 needed for thread 1 ORA-00289: suggestion : /d02/oradev/devdb/9.2.0/dbs/arch1_88922.dbf ORA-00280: change 7254772161098 for thread 1 is in sequence #88922
Specify log: {<RET>=suggested | filename | AUTO | CANCEL} /d04/oradev/devdata/log4a.dbf Log applied. Media recovery complete. ( In this case the sequence number is 88922, hence check in source instance for the log file path for this sequence number . This will be there in alertlog file. Then change the path of log file according to the target instance and give it. Sometimes this will ask for multiple files with different sequence number)
SQL> select * from v$recover_file; no rows selected SQL> alter database open resetlogs; Database altered. SQL> select * from v$tempfile; no rows selected Check the alert log file while performing the below task. There should be no errors.
Database dismounted. ORACLE instance shut down. SQL> exit Disconnected from Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.7.0 - Production oradev@ mine02# sqlplus "/as sysdba" SQL*Plus: Release 9.2.0.7.0 - Production on Sat Apr 21 04:26:54 2007 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. Connected to an idle instance. SQL> startup; ORACLE instance started. Total System Global Area 1487899976 bytes Fixed Size 732488 bytes Variable Size 973078528 bytes Database Buffers 503316480 bytes Redo Buffers 10772480 bytes Database mounted. Database opened. SQL> exit At this point there shouldn't be any errors in the alertlog. Start the listener: oradev@ mine02# lsnrctl start DEV Then Drop temp tablespace and create new temp tablespace. Then add temp files into it. Change sys and system passwords if required.
OPMN and process monitoring Oracle Process Manager (PM) is the centralized process management mechanism in Oracle Application Server and is used to manage Oracle AS processes. It starts, stops, restarts and detects death of these processes. The Oracle AS processes that PM is configured to manage are specified in the opmn.xml file. The start and stop functions are executed by the OPMN as per the user commands. OPMN (Oracle Process monitoring and Notification services ) are a set of processes that manage mid-tier Application Server components like Oracle HTTP Server (Apache) and OC4J containers. OPMN consists of the Process Manager and the Notification Server. Oracle Notification Server (ONS) is the transport mechanism for failure, recovery, startup and other related notifications between components in Oracle Application Server. It operates according to a publish-subscribe model: an Oracle AS component receives a notification of a certain type as per its subscription to ONS. When such a notification is published, ONS sends it to the appropriate subscribers. Four parameters determine the behavior of the Oracle Process Manager and Notification services process in managing the iAS middle tier comprising of OC4J instances and the Apache HTTP server. They are a) restart-on-death b) ping timeout c) ping interval d) reverse-ping timeout The settings for these parameters need to be governed by the heap sizing of the OC4J container JVMs, the latencies involved with garbage collection algorithms and the response times of the HTTP server. The way in which the parameters affect the functioning of OPMN is as follows: - OPMN pings the process managed by it,ie, OC4J instances and http server periodically and expects a response within a certain time out period. OPMN would try this 3 times before it declares the process as dead (due to no response) and then it would kill and restart the particular process. OPMN manages the failover and availability of the processes it manages. Reasons for Oracle HTTP Server not responding to OPMN ping could be: - due to a high load of concurrent requests which requires many http server attention. - because of timeouts between the various modules of Apache and the servers servicing client requests - bulk data received from any of the modules. - all new connections are not getting processed due to the server being fully occupied. - it can spawn, with many connections remaining in the CLOSE_WAIT state - due to thrashing when NFS hiccups cause files that need to be served to be unavailable to it - because of synchronization issues with the various mutexes that it needs to support for the proper functioning of its modules.
Reasons for OC4J containers not responding to OPMN ping could be: While the container is processing servlet or EJB logic within the JVM within which it runs, new objects get created in its heap memory area all the while. When the garbage collection thread starts to run, it looks for objects that it can release to the heap memory pool based upon several algorithms that depend upon the kind of references the objects have to themselves. Since the collection is "generational", i.e., objects having references are promoted to an older generation and presumed to have a longer lifetime, objects with weak references are candidates for "cleaning" up, and their occupied memory gets released to the global heap of the JVM. In this way, memory is reclaimed back into the the heap memory pool and made available for use in the creation of newer objects. The forays made by the garbage collector to reclaim memory in the heap are governed by several algorithms and every such collection takes a finite amount of time during which no other work of application processing is possible. And when the collection is over the entire heap, the full GC consists of a mark/sweep/compact cycles that "mark" the memory to be reclaimed, "sweep" the memory into the corresponding generations and "compact" the holes created when the memory is reclaimed, in order as to create contiguous memory for future object creation. These strategies consume more time, as to be expected, and can result in a delay in the container responding to an OPMN ping cycle. During such full GC scans, OPMN can and will kill and restart the container, causing it to lose the state of the application or request it was processing at that time. Since full GC scans (referred to to as stop-the-world scans) can happen at any time during the lifetime of a request or an application, there is always the danger of OPMN killing a perfectly functioning container on the assumption that it was "hung" since it was "unresponsive". Heap memory settings for OC4J containers Changes are made in the opmn.xml file in the <java-option> sections for each OC4J instance: -Xms ( for start heap memory ) and -Xmx ( for maximum heap memory ). The recommended settings for the -Xmx value are 512MB as typical applications need that much of memory to avoid java.lang.OutOfMemoryError exceptions as seen from experience. Start with an -Xms value of 128MB to prevent side effects of "Too many files open" errors when this setting is higher, as garbage collection kicks in only later for higher -Xms values, resulting in open file handles not getting released by the GC.
<java-option>-server -Xms128M -Xmx512M
Thread pool sizing In the server.xml file, set the thread-pool sizes as follows for optimum operation of the thread pool:
<global-thread-pool min="40" max="40" queue="80" keepAlive="-1"/>
This sets the min and max thread-pool sizes to the same value and the keepAlive parameter to "-1" recommended for production environments, this will ensure that idle threads are never destroyed to allow for
thread reuse without the overhead for new thread creation. The min, max and queue values can be left at the default as specified here.
Redundancy and load balancing More than one OC4J instance can be started to accommodate the higher volume of concurrent requests that the container may need to handle. This is set through the "numProcs" parameter in the opmn.xml file and this parameter takes the value of 1 by default, to start a single OC4J instance. For multiple instances, the "numProcs" parameter can be adjusted to different values ( 2 for two instances, and so on ) and PM needs to be restarted with this value for the modules under its control. Very often, the applications that are being run may be process or memory intensive and may require one to adjust the value of the "numProcs" parameter to effect load-balancing via multiple instances.
Machine: Database/Conc/Admin Node: minez Internal web/Form Node: minej External Web Node: mine8
Pre-Clone Steps on Internal Server Run adpreclone.pl on MINEJand MINEZ with applcrp3 and oracrp3 users. As oracrp3 user: cd $ORACLE_HOME/appsutil/scripts/CRP3_MINEZ perl adpreclone.pl dbTier As applcrp3 user: cd $ADMIN_SCRIPTS_HOME perl adpreclone.pl appsTier
Take a backup of /d21/applcrp/CRP3 folder on MINEJ Restore the Backup into MINE8 server under /d21 mount point.
Setup Host File: Put the following entries in the Hosts File (/etc/hosts) 10.218.17.36 10.221.15.167 minez.sonapglobal.com minez minej.bn.sonap.net minej.bn
Change the owner Ship of /d21/oracrp3 folder and the file under it to applcrp3 cd /d21 chown R oracrp3:dba oracrp3
Creating External Web Tier Note: Your steps should be more specific than the examples shown.
Create XML file for External Server: su applcrp3 cd /d21/applcrp3/CRP3/apps/apps_st/comn/clone/bin perl adclonectx.pl contextfile=/d21/applcrp3/CRP3/inst/apps/CRP3_minej/appl/admin/CRP3_minej.xml
Enter the APPS password: sonapcrp3 Target System Hostname (virtual or normal) [mine8]: Do you want the inputs to be validated (y/n) [n]? : Target System Database SID: CRP3 Target System Database Server Node [mine8]: minez Target System Base Directory: /d21/oracrp3/CRP3 Target System Forms ORACLE_HOME Directory [/d21/oracrp3/CRP3/apps/tech_st/10.1.2]: Target System Web ORACLE_HOME Directory [/d21/oracrp3/CRP3/apps/tech_st/10.1.3]: Target System APPL_TOP Mountpoint [/d21/oracrp3/CRP3/apps/apps_st/appl]: Target System COMMON_TOP Directory [/d21/oracrp3/CRP3/apps/apps_st/comn]: Target System Instance Home Directory [/d21/oracrp3/CRP3/inst]:
Username for the Applications File System Owner [applcrp3]: Group for the Applications File System Owner [dba]: Target System Root Service [enabled]: Target System Web Entry Point Services [enabled]: Target System Web Application Services [enabled]: Target System Batch Processing Services [disabled]: Target System Other Services [enabled]: Do you want to preserve the Display [minej:0.0] (y/n)? : n Target System Display [mine8:0.0]: Do you want the the target system to have the same port values as the source system (y/n) [y]? : n Target System Port Pool [0-99]: 1 Choose a value which will be set as APPLPTMP value on the target node [1]: 2 New context path and file name [/d21/oracrp3/CRP3/inst/apps/CRP3_mine8/appl/admin/CRP3_mine8.xml]: Cross Check if the Context File generated is correct or not, check with following command if the respective components are enabled on MINE8: grep i status $CONTEXT_FILE
Run adpreclone.pl to add the MINE8 server as a node to CRP3: su - applcrp3 cd /d21/applcrp3/CRP3/apps/apps_st/comn/clone/bin perl adcfgclone.pl appsTier /d21/applcrp3/CRP3/inst/apps/CRP3_mine8/appl/admin/CRP3_mine8.xml Enter the APPS password: Check the logfile for any error.
CONTEXT_FILE configuration: Modify the following CONTEXT_FILE parameters: Context Existing Value File Variabl New Value
e s_applc sf s_applt mp s_appl ptmp s_forms host s_chron osURL s_exter nal_url s_webe ntryhost /d21/applcrp3/CRP3/inst/apps/CRP3_mine8/l ogs/appl/conc /d21/applcrp3/CRP3/inst/apps/CRP3_mine8/t emp /d21/applcrp3/CRP3/inst/apps/CRP3_mine8/p temp mine8 http://mine8.sonapglobal.com:8001/oracle_s mp_chronos/oracle_smp_chronos_sdk.gif http://mine8.sonapglobal.com:8001 mine8 /d21/applcrp3/CRP3/conc /crp3_appltmp /crp3_applptmp crp3ext http://crp3ext.sonapglobal.com:8001/oracle_s mp_chronos/oracle_smp_chronos_sdk.gif http://crp3ext.sonapglobal.com:8001 crp3ext http://crp3ext.sonapglobal.com:8001/OA_HTM L/AppsLogin
Run the script txkChangeProfH.sql for the Profile option setup: # sonapssh minez $ su applcrp3 $ sqlplus appUpdate Hierarchy Types/sonapcrp3 @$FND_TOP/patch/115/sql/txkChangeProfH.sql SERVRESP Run AutoConfig on all nodes.
To change the value of the Node Trust Level profile option value to External for a particular node, perform the following steps: 1. Login to Oracle E-Bsonapness Suite as sysadmin user sonapng the internal URL 2. Select the System Administrator Responsibility 3. Select Profile / System 4. From the 'Find system profile option Values' window, select the server and get the valie MINE8 into it. 5. Query for %NODE%TRUST%. You will see a profile option named 'Node Trust Level'. The value for this profile option at the site level will be Normal. Leave this setting unchanged. 6. Set the value of this profile option to External at the server level. The site level value should remain set to Normal
Update List of Responsibility To change the value of the Responsibility Trust Level profile option at the responsibility level for a particular responsibility, perform the following steps:
7. Login to Oracle E-Bsonapness Suite as sysadmin user sonapng the internal URL 8. Select System Administrator Responsibility 9. Select Profile / System 10. From the 'Find system profile option Values' window, select the responsibility that you want to make available to users logging in via the external web tier 11. Query for %RESP%TRUST%. You will see a profile option named 'Responsibility trust level'. The value for this profile option at site level will be Normal. Leave this setting unchanged. 12. Set the value of this profile option for the chosen responsibility to External at the responsibility level. The site-level value should remain Normal. 13. Repeat for all responsibilities that you want to make available from the external web tier.
Plan to Pay Supplier View Plan, Source, Pay Supplier View Source to Pay Supplier View Supplier Profile Manager Procure to Pay Supplier View Oracle Sourcing Sourcing Supplier PON: External Applications Framework Agent PON: External login URL Oracle iProcurement Self Registered Employee Default Responsibility Self Registered New User Default Responsibility
1. Set the value of Application Server Security Authentication (s_appserverid_authentication) to SECURE, in the CONTEXT_FILE on all the nodes. 2. Run AutoConfig on each Applications middle tier to complete the configuration. 3. After AutoConfig completes successfully, restart Oracle HTTP Server and OC4J processe
Increase JVM Size Change the following JVM parameter in the CONTEXT_FILE as mentioned in the below table: Note: Take a backup of Context File before Changing.
Variable s_oacore_jvm_start_options
Run Autoconfig
Enable SSL Login Note:Include a subset of test steps that will confirm that the customization has been installed properly. REFERENCE
Metalink Document: Oracle E-Bsonapness Suite R12 Configuration in a DMZ Document ID: 380490.1
In servlet mode
In Socket mode
serverURL=/forms/lservlet connectMode=servlet
This can also be verified in the context file in 11i and R12:
value for Servlet 11i: /forms/formservlet r12: /forms/lservlet (no value, blank) r12: servlet
We can change the forms servlet mode to socket and how we do it is: 1. 2. 3. Source the environment on the application tier. Stop all the application tier services. Execute :
Note: context file is the full path of the context file of the instance. Mode is the mode to which the form has to be changed. Port number used to run Forms in socket mode. The default port number is 9095.A port number is not needed if servlet mode is used. Recommended value for autoconfig is NO.
4. 5.
Run autoconfig on apps tier. Start all the application tier services. 6. Check whether Forms Server is running: $INST_TOP/admin/scripts/adformsrvctl.sh status 7. Log in to Oracle Applications and launch a Forms-based application. 8. Open the Sun Java Console (from Tools Menu in Internet Explorer). 9. Check whether the "mode" directive displayed in Sun Java Console when launching formsbased applications is set to socket. 10. The direct launch URL for Forms Socket Mode is: <web_protocol>://<web_host>.<web_domain>:<web_port>/OA_HTML/frmservlet Note: If we need to change the forms mode from socket to servlet mode then all steps remain same except for the script which we run and the verification step:
1.
2.
No Port number is required as it would use the http port. Verification of servlet mode should reflect:
The "mode" directive displayed in Sun Java Console when launching forms- based applications, is set to http,native Direct Forms Servlet Launch is: web_protocol>://<web_host>.<web_domain>:<web_port>/forms/frmservlet
4. Forms & Report version in R12/12i >> Log in as Application user, set environment variable and run below query: $ORACLE_HOME/bin/rwrun | grep Release Output should be like: Report Builder: Release 10.1.2.2.0 You can safely ignore warnings 5. Oracle Jinitiator in 11i/R12/12i >> Log in as Application user, set environment variable and run below query: grep jinit_ver_comma $CONTEXT_FILE (Default is Java Plug-In for R12/12i ) 6. Oracle Java Plug-in in 11i/R12/12i >>Log in as Application user, set environment variable and run below query: grep plugin $CONTEXT_FILE 7. File Version on file system >>adident Header <filename> Or strings <file_name> | grep Header Here adident is AD Utility (Oracle Apps) and strings is Unix utility 8. Version of pld file >> *.pld are source code of *.pll which are inturn source of *.plx. *.pll is in $AU_TOP/resource and to find its version check adident Header $AU_TOP/resource/<filename>.pll IGSAU012.pll: $Header IGSAU012.pld 115.1.115100.1 2004/04/01 05:40:18 appldev ship $ Or strings $AU_TOP/resource/<filename>.pll | grep -i header
FDRCSID($Header: IGSAU012.pld 115.1.115100.1 2004/04/01 05:40:18 appldev ship $); 9. OA Framework Version >> http:// hostname.domainName:port/OA_HTML/OAInfo.jsp (Only for 11i); Log in as Application user, set environment variable and run below query: adident Header $FND_TOP/html/OA.jsp adident Header $OA_HTML/OA.jsp output for both should look like $Header OA.jsp 115.60 2006/03/31 00:47:28 atgops1 noship $ 120.21 means OA Framework Version (coming soon..) 115.60 means OA Framework Version (coming soon..) 115.56 means OA Framework Version (coming soon..) 115.36 means OA Framework Version 5.7 115.27 means OA Framework Version 5.6E 115.26 means OA Framework Version 5.5.2E 10. Discoverer Version for 11i (3i or 4i) >> Log in as Application user, set environment variable and run below query: $ORACLE_HOME/bin/disc4ws | grep -i Version Discoverer Version for 11i or R12 (10g AS) >> Check under Application Server Section as 10g AS Discoverer is on standalone. 11. Workflow Version with Apps >> Connect to Database as apps user SQL> select TEXT Version from WF_RESOURCES where NAME = WF_VERSION; Output like 2.6.0 means workflow version 2.6.0 12. Oracle Single Sign On >> Connect to database which holds SSO repository: SQL>select version from orasso.wwc_version$; 13. Oracle Internet Directory >> There are two components in OID (Software/binaries & Schema/database) >>> To find software/binary version
$ORACLE_HOME/bin/oidldapd version output should look like oidldapd: Release 10.1.4.0.1 - Production on thu sep 11 11:08:12 2008 Copyright (c) 1982, 2006 Oracle. All rights reserved. >>> To find Schema Version/ database use ldapsearch -h <hostname> -p <port> -D cn=orcladmin -w <password> -b \ -s base objectclass=* orcldirectoryversion and output should be like version: 1 dn: orcldirectoryversion: OID 10.1.4.0.1 or Run following query in database SQL> select attrval from ods.ds_attrstore where entryid = 1 and attrname = orcldirectoryversion; Output should be like OID 10.1.4.0.1 14. Application Server >> Oracle Application Server (Prior to Oracle WebLogic Server) If application server is registered in database (Portal, Discoverer) check from database: SQL> select * from ias_versions; Or SQL>select * from INTERNET_APPSERVER_REGISTRY.SCHEMA_VERSIONS; AOC4J (Oracle Container for J2EE) Set ORACLE_HOME cd $ORACLE_HOME/j2ee/home java -jar oc4j.jar -version 15. Oracle Portal >> SQL> select version from portal.wwc_version$; 16. Database Component
I) Oracle Database To find database version: SQL> select * from v$version; Or All component version in database: $ORACLE_HOME/OPatch/opatch lsinventory -detail 17. Oracle Enterprise Manager >> Metalink Note 605398.1: How to find the version of the main EM components 18. Unix Operating System Solaris -> cat /etc/release Red Hat Linux -> cat /etc/redhat-release