Saturday, June 25, 2011

Locks in Database

Locks in Database

SELECT DECODE(request,0,'Holder: ',' Waiter: ')||sid sess,id1,id2, lmode,inst_id, request, type
FROM GV$LOCK WHERE (id1, id2, type)
IN
(SELECT id1, id2, type FROM GV$LOCK WHERE request>0) ORDER BY id1, request


select sid,serial#,module,status,action,to_char(logon_time,'dd-mon-yyyy hh24:mi:ss') logon_time from v$session where sid=&sid;

Important tables in oracle APPS

Concurrent Manager
FND_CONCURRENT_QUEUES
FND_CONCURRENT_PROGRAMS
FND_CONCURRENT_REQUESTS
FND_CONCURRENT_PROCESSES
FND_CONCURRENT_QUEUE_SIZE
FND
FND_APPL_TOPS
FND_LOGINS
FND_USER
FND_DM_NODES
FND_TNS_ALIASES
FND_NODES
FND_RESPONSIBILITY
FND_DATABASES
FND_UNSUCCESSFUL_LOGINS
FND_LANGUAGES
FND_APPLICATION
FND_PROFILE_OPTION_VALUES
AD / Patches
AD_APPLIED_PATCHES
AD_PATCH_DRIVERS
AD_BUGS
AD_INSTALL_PROCESSES
AD_SESSIONS
AD_APPL_TOPS

finding installed patches in apps

Hi

     If you want to find the installed patch detail in oracle apps then you have to run following queries.

 select DRIVER_FILE_NAME
from AD_PATCH_DRIVERS
where DRIVER_FILE_NAME like '%3258830%';

select BUG_NUMBER,CREATION_DATE,LAST_UPDATE_DATE from ad_bugs where BUG_NUMBER='10052153';

select PATCH_NAME,PATCH_TYPE,CREATION_DATE,LAST_UPDATE_DATE from ad_applied_patches where PATCH_NAME='10052153';

If you know about localization patch detail.

select PATCH_NUMBER,STATUS,LOG_FILE,PATCH_DATE from jai_applied_patches where PATCH_NUMBER='Patch no';











Oracle Application Concurrent Manager

Inside the Oracle Concurrent Manager

by Lokesh Rustagi - Oracle Apps DBA at IBM = Noida


The concurrent managers in the Oracle e-Business suite serve several important administrative functions. Foremost, the concurrent managers ensure that the applications are not overwhelmed with requests, and the second areas of functions are the management of batch processing and report generation.

This article will explore tools that are used by experienced administrators to gain insight and improved control over the concurrent management functions. We will explore how the concurrent managers can be configured via the GUI, and also explore scripts and dictionary queries that are used to improve the functionality of concurrent management.

The Master Concurrent Managers

There is a lot of talk about "the" concurrent manager in Oracle Applications. Actually, there are many Concurrent Managers, each governing flow within each Oracle Apps areas. In addition there are "super" Concurrent Managers whose job is to govern the behavior of the slave Concurrent Managers. The Oracle e-Business suite has three important master Concurrent Managers:

    * Internal Concurrent Manager — The master manager is called the Internal Concurrent Manager (ICM) because it controls the behavior of all of the other managers, and because the ICM is the boss, it must be running before any other managers can be activated. The main functions of the ICM are to start up and shutdown the individual concurrent managers, and reset the other managers after one them has a failure.

    * Standard Manager — Another important master Concurrent Manager is called the Standard Manager (SM). The SM functions to run any reports and batch jobs that have not been defined to run in any specific product manager. Examples of specific concurrent managers include the Inventory Manager, CRP Inquiry Manager, and the Receivables Tax Manager.

    * Conflict Resolution Manager — The Conflict Resolution Manager (CRM) functions to check concurrent program definitions for incompatibility rules. However, the ICM can be configured to take over the CRM's job to resolve incompatibilities.

Now that we understand the functions of the master Concurrent Managers, let's take a quick look at techniques that are used by Oracle Apps DBAs to monitor the tune the behavior of the Concurrent Managers.

Tuning the Concurrent Manager

All successful Oracle Apps DBAs must understand how to monitor and tune each of the Concurrent Managers. This article will explore some of the important techniques for monitoring and tuning the Oracle Apps Concurrent Manager processes. The topics will include:

    * Tuning the Concurrent Manager
          o Tuning the Internal Concurrent Manager
          o Purging Concurrent Requests
          o Troubleshooting Oracle Apps performance problems
          o Adjusting the Concurrent Manager Cache Size
          o Analyzing the Oracle Apps Dictionary Tables
    * Monitoring Pending Requests in the Concurrent Manager
    * Changing the dispatching priority within the Concurrent Manager

Let's start by looking at tuning the ICM, and drill-down into more detail.

Tuning the Internal Concurrent Manager (ICM)

The ICM performance is affected by the three important Oracle parameters PMON cycle, queue size, and sleep time.

    * PMON cycle — This is the number of sleep cycles that the ICM waits between the time it checks for concurrent managers failures, which defaults to 20. You should change the PMON cycle to a number lower than 20 if your concurrent managers are having problems with abnormal terminations.

    * Queue Size — The queue size is the number of PMON cycles that the ICM waits between checking for disabled or new concurrent managers. The default for queue size of 1 PMON cycle should be used.

    * Sleep Time — The sleep time parameter indicates the seconds that the ICM should wait between checking for requests that are waiting to run. The default sleep time is 60, but you can lower this number if you see you have a lot of request waiting (Pending/Normal). However, reducing this number to a very low value many cause excessive cpu utilization.

All of the concurrent managers, with the exception of the ICM and CRM, can be configured to run as many processes as needed, as well as the time and days a manager can process requests. However, the number of processes needed is dependent on each organization's environment. An Applications DBA must monitor the concurrent processing in order to decide how to configure each manager. For a fresh install of the applications, initially configure the standard manager to run with five processes, and all the other managers with two processes. After the applications have been in operation for a while, the concurrent managers should be monitored to determine is more operating system process should be allocated.

Purging Concurrent Requests


One 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 can be configured to purge the request data from the FND tables as well as the log files and output files on accumulate on disk.

Adjusting the Concurrent Manager Cache Size

Concurrent manager performance can also be enhanced by increasing the manager cache size to be at lease twice the number of target processes. The cache size specifies the number of requests that will be cached each time the concurrent manager reads from the FND_CONCURRENT_REQUESTS table. Increasing the cache size will boost the throughput of the managers by attempting to avoid sleep time.

Analyzing Oracle Apps Dictionary Tables for High Performance

It is also very important to run the request Gather Table Statistics on these tables:

    * FND_CONCURRENT_PROCESSES
    * FND_CONCURRENT_PROGRAMS
    * FND_CONCURRENT_REQUESTS
    * FND_CONCURRENT_QUEUES.

Run the request "Analyze All Index Column Statistics" on the indexes of these tables. Since the APPLSYS user is the owner of these tables, so you can also just run the request Analyze Schema Statistics for APPLSYS.

To troubleshoot performance, a DBA can use three types of trace. A module trace, such as PO or AR, can be set by enabling the module's profile option Debug Trace from within the applications. Second, most concurrent requests can be set to generate a trace file by changing the request parameters. To enable trace for a specific request, log in as a user with the System Administrator responsibility. Navigate to Concurrent -> Program -> Define. Query for the request that you want to enable trace. At the bottom right of the screen you can check the box Enable Trace. (Figure 1)

Figure 1: Troubleshooting Concurrent Manager Performance.

Another popular way to troubleshoot the Concurrent Managers is to generate a trace file. This is done by setting the OS environment variable FNDSQLCHK to FULL, and running the request from the command line.

Monitoring Pending Requests in the Concurrent Managers

Occasionally, you may find that requests are stacking up in the concurrent managers with a status of "pending". This can be caused by any of these conditions:

1. The concurrent managers were brought down will a request was running.

2. The database was shutdown before shutting down the concurrent managers.

3. There is a shortage of RAM memory or CPU resources.

When you get a backlog of pending requests, you can first allocate more processes to the manager that is having the problem in order to allow most of the requests to process, and then make a list of the requests that will not complete so they can be resubmitted, and cancel them.

To allocate more processes to a manager, log in as a user with the System Administrator responsibility. Navigate to Concurrent -> Manager -> Define. Increase the number in the Processes column. Also, you may not need all the concurrent managers that Oracle supplies with an Oracle Applications install, so you can save resources by identifying the unneeded managers and disabling them.

Figure 2: Allocating more processes to the Concurrent Manager.

However, you can still have problems. If the request remains in a phase of RUNNING and a status of TERMINATING after allocating more processes to the manager, then shutdown the concurrent managers, kill any processes from the operating system that won't terminate, and execute the following sqlplus statement as the APPLSYS user to reset the managers in the FND_CONCURRENT_REQUESTS table:

update fnd_concurrent_requests
set status_code='X', phase_code='C'
where status_code='T';

Changing Dispatching Priority within the Concurrent Manager

If there are requests that have a higher priority to run over other requests, you can navigate to Concurrent --> Program --> Define to change the priority of a request. If a priority is not set for a request, it will have the same priority as all other requests, or it will be set to the value specified in the user's profile option Concurrent:Priority.

Also, you can specify that a request run using an SQL optimizer mode of FIRST_ROWS, ALL_ROWS, RULE, or CHOOSE, and this can radically effect the performance of the SQL inside the Concurrent request. If several long running requests are submitted together, they can cause fast running requests to have to wait unnecessarily. If this is occurring, try to schedule as many long running requests to run after peak business hours. Additionally, a concurrent manager can be created to run only fast running requests.

Using data Dictionary Scripts with the Concurrent Manager

Few Oracle Applications DBAs understand that sophisticated data dictionary queries can be run to reveal details about the workings within each Concurrent Manager. Oracle provides several internal tables that can be queried from SQL*Plus to see the status of the concurrent requests, and the most important are FND_CONCURRENT_PROGRAMS and FND_CONCURRENT_REQUESTS.

Oracle supplies several useful scripts, (located in $FND_TOP/sql directory), for monitoring the concurrent managers:

afcmstat.sql
   

Displays all the defined managers, their maximum capacity, pids, and their status.

afimchk.sql
   

Displays the status of ICM and PMON method in effect, the ICM's log file, and determines if the concurrent manger monitor is running.

afcmcreq.sql
   

Displays the concurrent manager and the name of its log file that processed a request.

afrqwait.sql
   

Displays the requests that are pending, held, and scheduled.

afrqstat.sql
   

Displays of summary of concurrent request execution time and status since a particular date.

afqpmrid.sql
   

Displays the operating system process id of the FNDLIBR process based on a concurrent request id. The process id can then be used with the ORADEBUG utility.

afimlock.sql
   

Displays the process id, terminal, and process id that may be causing locks that the ICM and CRM are waiting to get. You should run this script if there are long delays when submitting jobs, or if you suspect the ICM is in a gridlock with another oracle process.

In addition to these canned scripts you can skill write custom Concurrent Manager scripts. For example, the following query can be executed to identify requests based on the number of minutes the request ran:

conc_stat.sql

set echo off

set feedback off

set linesize 97

set verify off

col request_id format 9999999999 heading "Request ID"

col exec_time format 999999999 heading "Exec Time|(Minutes)"

col start_date format a10 heading "Start Date"

col conc_prog format a20 heading "Conc Program Name"

col user_conc_prog format a40 trunc heading "User Program Name"

spool long_running_cr.lst

SELECT

fcr.request_id request_id,

TRUNC(((fcr.actual_completion_date-fcr.actual_start_date)/(1/24))*60) exec_time,

fcr.actual_start_date start_date,

fcp.concurrent_program_name conc_prog,

fcpt.user_concurrent_program_name user_conc_prog

FROM

fnd_concurrent_programs fcp,

fnd_concurrent_programs_tl fcpt,

fnd_concurrent_requests fcr

WHERE

TRUNC(((fcr.actual_completion_date-fcr.actual_start_date)/(1/24))*60) > NVL('&min',45)

and

fcr.concurrent_program_id = fcp.concurrent_program_id

and

fcr.program_application_id = fcp.application_id

and

fcr.concurrent_program_id = fcpt.concurrent_program_id

and

fcr.program_application_id = fcpt.application_id

and

fcpt.language = USERENV('Lang')

ORDER BY

TRUNC(((fcr.actual_completion_date-fcr.actual_start_date)/(1/24))*60) desc;

spool off

Note that this script prompts you for the number of minutes. The output from this query with a value of 60 produced the following output on my database. Here we can see important details about currently-running requests, including the request ID, the execution time, the user who submitted the program and the name of the program.

Enter value for min: 60

Exec Time

Request ID (Minutes) Start Date Conc Program Name User Program Name

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

1445627 218 01-SEP-02 MWCRMRGA Margin Analysis Report(COGS Breakups)

444965 211 03-JUL-01 CSTRBICR5G Cost Rollup - No Report GUI

1418262 208 22-AUG-02 MWCRMRGA Margin Analysis Report(COGS Breakups)

439443 205 28-JUN-01 CSTRBICR5G Cost Rollup - No Report GUI

516074 178 10-AUG-01 CSTRBICR6G Cost Rollup - Print Report GUI

1417551 164 22-AUG-02 MWCRMRGA Margin Analysis Report(COGS Breakups)

Important sql in oracle apps

Oracle Applications has useful collection of ready SQL scripts under $AD_TOP/sql. The following list shows the description of each script. For more details like if a specific script is available on a specific Apps version you need to check metalink note 108207.1 you will find the script and its description below.
adcompsc.pls
Compile objects in a given schema

adcpresp.sql
The script duplicates rows in FND_RESPONSIBILITY in the following way: Find data_group_id dg_id for the given data_group_name. For each row with data_group_id 0 in FND_RESPONSIBILITY, look for a corresponding row with data_group_id dg_id, with the same application_id, and responsibility_name that only differs in the given suffix string suffix_string. If such a row does not exist for the data_group_id dg_id, insert it.

aderrch2.sql
Reports all compilation errors for a given schema.

aderrchk.sql
Same as aderrch2.sql plus it fails if there are any errors

adtresp.sql
A fix for customers who have more than one set of books and they installed languages other than AMERICAN English. The symptom of the bug is that responsibility names are not translated properly for non-Standard data groups.

adutcobj.sql
Count objects by object type in schema

adutconf.sql
Utility script to display configuration of Applications

adutfip.sql
Utility script to display worker information

adutfpd.sql
Utility script to display product dependency information

ADXANLYZ.sql
Analyze all tables in an ORACLE ID with estimate sample 20%

ADXCKPIN.sql
Query the shared_pool area to determine space used by PL/SQL objects and whether they have been pinned.

ADXGNPIN.sql
Creates and runs a "pin" script for all packages and functions in a give schema

ADXGNPNS.sql
Creates and runs a "pin" script for all sequences in a give schema

ADXINMAI.sql
Install tables and views used by the Applications*DBA sql scripts.

adxirc.sql
AD - index - report columns

ADXLMCBC.sql
Live Monitor, Categorize Block Contention

ADXLMLSO.sql
Live Monitor, List Session Objects

ADXLMQMS.sql
Live Monitor, Query Monitor Statistics

ADXLPFLS.sql
Lock Problem, Find Lock Source

ADXLPSLU.sql
Lock Problem, Show Lock Users

adxpriv7.sql
grant privileges to a user

ADXRCSDC.sql
Report Configuration, Show Database Configuration formerly, config.sql (rollback, tablespace, data files)

ADXRCSTG.sql
Report Configuration, Select Table Grants

ADXRSEBH.sql
Estimate the effect of a bigger SGA cache on cache hit rate.

ADXRSESH.sql
Estimate the effect of a smaller SGA cache on cache hit rate.

ADXRSFIS.sql
Find the size (blocks, extents, extpct) of the given index.

ADXRSFTS.sql
Find the size (blocks, extents, extpct) of the given table.

ADXRSFUA.sql
Report the number of blocks used and the number of extents used for every table or index in every user in the database.

ADXRSLFS.sql
Report free extents in each tablespace.

ADXRSQDP.sql
Check for cache effectiveness for dc_xxxxx parameters' values.

ADXRSRTS.sql
Produce a brief database used space report.

ADXRSSIE.sql
Generate a list of tables and indexes whose next extent to be grabbed would be too large to be allocated in their corresponding tablespaces.

ADXRSSMF.sql
List tables and indexes with a number of allocated extents close to their max_extents.

ADXRSSMS.sql
Find space used for one's own segments.

ADXRSSRS.sql
Show v$rollstat statistics.

ADXRSSSU.sql
For a username, report the number of blocks used and the number of extents used for every table or index in that username.

ADXRSSTF.sql
Produce a brief report of database fragmentation by tablespace.

ADXRSSUS.sql
Report how much space each user has.

ADXUPLUP.sql
Generate a list of processes which the given user (NOT the database account's username) owns.

ADXUPSRU.sql
Show all users that have active transactions per Rollback Segment that they are writing to.

Wait event session detail

select sid,serial#,module,action,sql_address from v$session where sid in (select sid from v$session_wait
where event like 'db file scattered read')

if you want session information of other wait event then you mention wait event name on replace of db file scattered read.

R12 Log Files locations

A. Startup/Shutdown Log files for Application Tier in R12

Instance Top is new TOP added in R12 (to read more click here)

–Startup/Shutdown error message text files like adapcctl.txt, adcmctl.txt…
$INST_TOP/apps/$CONTEXT_NAME/logs/appl/admin/log

–Startup/Shutdown error message related to tech stack (10.1.2, 10.1.3 forms/reports/web)
$INST_TOP/apps/$CONTEXT_NAME/logs/ora/  (10.1.2 & 10.1.3)
$INST_TOP/apps/$CONTEXT_NAME/logs/ora/10.1.3/Apache/error_log[timestamp]
$INST_TOP/apps/$CONTEXT_NAME/logs/ora/10.1.3/opmn/ (OC4J~…, oa*, opmn.log)$INST_TOP/apps/$CONTEXT_NAME/logs/ora/10.1.2/network/ (listener log)
$INST_TOP/apps/$CONTEXT_NAME/logs/appl/conc/log  (CM log files)

B. Log files related to cloning in R12

Preclone log files in source instance
i) Database Tier - /$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/(StageDBTier_MMDDHHMM.log)

ii) Application Tier - $INST_TOP/apps/$CONTEXT_NAME/admin/log/ (StageAppsTier_MMDDHHMM.log)

Clone log files in target instance

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

—–
If your clone on DB Tier fails while running txkConfigDBOcm.pl  (Check metalink note - 415020.1)
During clone step on DB Tier it prompts for “Target System base directory for source homes” and during this you have to give like /base_install_dir like ../../r12 and not oracle home like ../../r12/db/tech_st_10.2.0
—–

C. 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 - $ORACLE_HOME/.patch_storage

D. 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

Autoconfig context file location in R12 - $INST_TOP/apps/$CONTEXT_NAME/appl/admin/$CONTEXT_NAME.xml

E. R12 Installation Logs

Database Tier Installation

RDBMS $ORACLE_HOME/appsutil/log/$CONTEXT_NAME/<MMDDHHMM>.logRDBMS $ORACLE_HOME/appsutil/log/$CONTEXT_NAME/ApplyDBTechStack_<MMDDHHMM>.logRDBMS
$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/ohclone.logRDBMS $ORACLE_HOME/appsutil/log/$CONTEXT_NAME/make_<MMDDHHMM>.logRDBMS
$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/installdbf.logRDBMS $ORACLE_HOME/appsutil/log/$CONTEXT_NAME/adcrdb_<SID>.log RDBMS
$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/ApplyDatabase_<MMDDHHMM>.logRDBMS $ORACLE_HOME/appsutil/log/$CONTEXT_NAME/<MMDDHHMM>/adconfig.log    RDBMS
$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/<MMDDHHMM>/NetServiceHandler.log

Application Tier Installation

$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:

$Global Inventory/logs/cloneActions<timestamp>.log
$Global Inventory/logs/oraInstall<timestamp>.log
$Global Inventory/logs/silentInstall<timestamp>.log

F. Other log files in R12
1) Database Tier
1.1) Relink Log files :
$ORACLE_HOME/appsutil/log/$CONTEXT_NAME /MMDDHHMM/ make_$MMDDHHMM.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 Logs :
OUI Inventory Logs :
$ORACLE_HOME/admin/oui/$CONTEXT_NAME/oraInventory/logs

2) Application Tier
$ORACLE_HOME/j2ee/DevSuite/log
$ORACLE_HOME/opmn/logs
$ORACLE_HOME/network/logs

Tech Stack Patch 10.1.3 (Web/HTTP Server)
$IAS_ORACLE_HOME/j2ee/forms/logs
$IAS_ORACLE_HOME/j2ee/oafm/logs
$IAS_ORACLE_HOME/j2ee/oacore/logs
$IAS_ORACLE_HOME/opmn/logs
$IAS_ORACLE_HOME/network/log
$INST_TOP/logs/ora/10.1.2
$INST_TOP/logs/ora/10.1.3
$INST_TOP/logs/appl/conc/log
$INST_TOP/logs/appl/admin/log

Servlets and Sockets in oracle APPS

Default Forms connection mode in Oracle Applications R12 is “SERVLET” where as in Oracle Apps 11i default form connect mode is “SOCKET” So

What is difference between socket and servlet mode in Forms ?
What are advantages and disadvantages of each ?
Can we change default R12 forms mode from servlet to Socket ?

Oracle Form Servlet Overview in apps R12
——————————————

i) In this mode, Java servlet handles communication between forms client(java based) and Oracle Forms Service (10g).

ii) All connection is via HTTP Server so there is no need to start form server and no need to open form server port on firewall between client machine and application tier.

iii) More secure as compared to Forms Socket Mode.

iv) Network traffic is more as HTTP protocol is more chatty so little bit network bandwidth hungry when compared with SOCKET mode

v) No additional certificate requirement during SSL implementation for application tier, single certificate will handle both forms & web connection.

How to change from default Servlet mode (in apps R12) to Socket mode ?
———————————————————————

Refer to Oracle Metalink Note # 384241.1 Using Forms Socket Mode with Oracle E-Business Suite Release 12

Are there any network overheads of using Forms in Servlet Mode ?
—————————————————————-

Affected module by a application patch

Query to find out modules which will be affected by a specific patch.

select distinct aprb.application_short_name as "Affected Modules"
from ad_applied_patches aap,
ad_patch_drivers apd,
ad_patch_runs apr,
ad_patch_run_bugs aprb
where aap.applied_patch_id = apd.applied_patch_id
and apd.patch_driver_id = apr.patch_driver_id
and apr.patch_run_id = aprb.patch_run_id
and aprb.applied_flag = 'Y'
and aap.patch_name in ('7654736','9440370','7666111','9466179')

Query to find out patches nodewise.

select aap.patch_name, aat.name, apr.end_date,apr.SUCCESS_FLAG
from ad_applied_patches aap, ad_patch_drivers apd,
ad_patch_runs apr,
ad_appl_tops aat
where aap.applied_patch_id = apd.applied_patch_id
and apd.patch_driver_id = apr.patch_driver_id
and aat.appl_top_id = apr.appl_top_id
and aap.patch_name like '%4562325%'

Missing log records in receiving log queue for subscriber SUB_BILLPLAN_QUEUE errorcode = 416

Solution ( Below scripts needs to be run against each subscriber id having error)

begin
DBMS_MGWADM.CLEANUP_GATEWAY (action => DBMS_MGWADM.RESET_SUB_MISSING_LOG_REC,sarg => '<SUBSCRIBER_ID>');
end;

begin
dbms_mgwadm.reset_subscriber('<SUBSCRIBER_ID>');
end;

Refer mgw_subscibers for subscriber_id