Quantcast
Channel: Doyensys Allappsdba Blog..
Viewing all 1640 articles
Browse latest View live

AutoConfig Encounters ORA- errors in a fresh physical standby database for EBS 12.2.7

$
0
0
           For the past few days, i was making my hands dirty on setting up a physical standby database for EBS 12.2.7. Once i had created the context file in the physical standby database and cleaned up the FND nodes, it was time for me to run autoconfig for the first time.
The first error encountered was
Encounters A ORA-1804 Error: Failure To Initialize Timezone Information.
This issue was caused by the current AutoConfig template file that points to the wrong file. Issue was resolved by editing the template ad8idbux.env in location .../oracle/db/tech_st/11.2.0/appsutil/template changing:

From:
set ORA_TZFILE=%s_db_oh%\oracore\zoneinfo\timezlrg.dat
To:
set ORA_TZFILE=%s_db_oh%\oracore\zoneinfo\timezlrg_18.dat

Again i ran autoconfig and encountered the next error which was ORA-12705: Cannot Access NLS Data Files Or Invalid Environment Specified.
The solution is to run perl $ORACLE_HOME/nls/data/old/cr9idata.pl
So at the end of the day, we should always stick on following the Oracle supported docs line by line. Hope this will help someone.

How To Purge FND_AQ Tables

$
0
0
Symptoms(Doc ID 1156523.1)

1. The Internal standard manager take a long time to startup

2. The table AQ$_FND_CP_GSM_OPP_AQTBL table grow up enormously and has a lot of records

3. The following message is shown for a concurrent request of a bi publisher report:
    Post-processing of request xxx failed with the error message:
    ORA-04021: timeout occurred while waiting to lock object

Changes
Improper shutdown of the concurrent managers especially the OPP manager.
Cause
AQs tables are used to look for "subscriptions" by FNDSMs. That is, when ICM calls for FNDSM to start, they "subscribe" to this queue to identify its status. The time taken for the process cleanup prior to the internal manager start up with the regular CMs is correlated to the number of processes that were not stopped cleanly. In case of un-clean shutdown, the process to restart will be longer as manager spends extra cycles to perform housekeeping tasks.

Solution
1. It is highly recommended to always ensure the clean shutdown of the concurrent managers.
2. The Purge Concurrent Request and/or Manager Data Program request should run periodically. Purge concurrent request does not Purges AQ Tables. For maintaining a healthy level of records in fnd_concurrent_requests instead of running 'Purge Concurrent Program' with same parameters for all the applications you can choose to run it differently for different application where you can decide for which application you needs records to be kept for certain days and for which application you only need to keep for 1 day or so.
It is recommended to schedule a cron job or something which queries records in APPLSYS.FND_CP_GSM_OPP_AQTBL to monitor it and use DBMS_AQADM.PURGE_QUEUE_TABLE to purge the table as needed.
3. This is how to purge the FND_CP_GSM_OPP_AQTBL manually to clean up the table:
3.1. Check the number of records in the table :
SQL> select count(*) from applsys.FND_CP_GSM_OPP_AQTBL ;

 COUNT(*)
 ----------
 31759
3.2. Run the following as SYS:
DECLARE
po dbms_aqadm.aq$_purge_options_t;
BEGIN
po.block := FALSE;
DBMS_AQADM.PURGE_QUEUE_TABLE(
queue_table => 'APPLSYS.FND_CP_GSM_OPP_AQTBL',
purge_condition => NULL,
purge_options => po);
END;
/
3.3. Re-check again the number of records in the table
SQL> select count(*) from applsys.FND_CP_GSM_OPP_AQTBL ;

 COUNT(*)
 ----------
 0
In case the purge did not complete successfully after the second time, or did not purge all the queues, then you would have to recreate the queue. Recreate the queue using  $FND_TOP/patch/115/sql/afopp002.sql file as 'APPLSYS' user.  On running the script you will be prompted for username and password. Please note that this may take a longer length of time to complete.
3.4. Please run the Concurrent Manager Recovery feature to address any Concurrent Manager / Concurrent Processing issues within the Oracle Application Manager.
3.5. Start up the application services and retest.

Note: The following applsys.AQ$_FND_CP_GSM_OPP_AQTBL_x objects are also cleaned as part of the above purge.
applsys.AQ$_FND_CP_GSM_OPP_AQTBL_S
applsys.AQ$_FND_CP_GSM_OPP_AQTBL_T
applsys.AQ$_FND_CP_GSM_OPP_AQTBL_H
applsys.AQ$_FND_CP_GSM_OPP_AQTBL_I
applsys.AQ$_FND_CP_GSM_OPP_AQTBL_G
applsys.AQ$_FND_CP_GSM_OPP_AQTBL_L

No Write Permission on ACFS Mount Point

$
0
0
We managed to create the ACFS Mount Point after resolving the issue "ACFS-9459: ASVM/ACFS is not supported on this os version". But, after creating the ACFS Mount Point, I'm unable to create or touch any files under this ACFS Mount Point.
Though, I tried to touch a file to create files under this ACFS Mount Point using OS User Oracle and Root, it's failing with the following error:
"touch: cannot touch `x': Permission denied"
Here are the steps I tried and got the error:
The ACFS Mount Point "/oracle/prd"  has been created on Linux 6.5 server using Oracle ASMCA tool, and this "/oracle/prd" mount point has 775 permission.
As Oracle User:
[oracle@Linux01 ~]# df -m|grep -i asm
/dev/asm/oracle_prd-77   35840    148     35693   1% /oracle/prd
[oracle@Linux01 ~]# cd /oracle/prd
[oracle@Linux01 prd]# pwd
/oracle/prd
[oracle@Linux01 prd]# ls -ld /oracle/prd
drwxrwxr-x. 4 oracle dba 4096 Sep 15 19:29 /oracle/prd
[oracle@Linux01 prd]# ls
lost+found
[oracle@Linux01 prd]# touch abc
touch: cannot touch `abc': Permission denied
[oracle@Linux01 prd]#

As Root user:

[root@Linux01 ~]# df -m|grep -i asm
/dev/asm/oracle_prd-77   35840    148     35693   1% /oracle/prd
[root@Linux01 ~]# cd /oracle/prd
[root@Linux01 prd]# pwd
/oracle/prd
[root@Linux01 prd]# ls -ld /oracle/prd
drwxrwxr-x. 4 oracle dba 4096 Sep 15 19:29 /oracle/prd
[root@Linux01 prd]# ls
lost+found
[root@Linux01 prd]# touch abc
touch: cannot touch `abc': Permission denied
[root@Linux01 prd]#

The problem was the SELinux is enabled on the Linux System.

To check, if SELinux is enable/disable on the system, cat the file "/etc/selinux/config"
Note: Used the root login to do the following steps:

[root@Linux01]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

Or use the sestatus command to check the status.

[root@geprdb850 prd]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   enforcing
Mode from config file:          disabled
Policy version:                 28
Policy from config file:        targeted

Here is how to disable SElinux:

Method 1- Edit "/etc/selinux/config" and set the SELINUX variable to 'disabled'
Method 2- Use the setenforce command to disable on-the-fly

If you go with Method 1, then your changes are permanent but only effective if you reboot the machine.

If you go with Method 2, then your changes are NOT permanent but effective immediately.

Method 1: (Permanent Change)

Take the backup of "/etc/selinux/config" file.

[root@Linux01]# cp /etc/selinux/config /etc/selinux/config.bkp

Then edit "/etc/selinux/config" the file and set the SELinux variable to 'disabled'

[root@Linux01]# cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted
Then reboot the server!!
Method 2: (On-the-fly)
[root@Linux01]# getenforce
Enforcing
[root@Linux01]# setenforce
usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]
[root@Linux01 prd]# setenforce 0
[root@Linux01 prd]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   permissive
Mode from config file:          disabled
Policy version:                 28
Policy from config file:        targeted
[root@Linux01]# getenforce
Disabled
After the SELinux is disabled, then creating the files under ACFS Mount Point is succeeded.
Note: The above commands have to be completed by root user and do this under system admin supervision

Using sql_profile to force a execution plan

$
0
0
Often, we face an issue where developers shout on us that their query was performing good and now it is behaving bad. There can be many cause for this lag but in this we will see how we can force a query to follow the good execution plan using sql_profile.
get the sql_id first for the problematic statement
Now use the below query to know the details for the sql_id
select  PARSING_SCHEMA_NAME, inst_id, sql_id, child_number, plan_hash_value plan_hash, executions execs,
(elapsed_time/1000000)/decode(nvl(executions,0),0,1,executions) avg_etime_secs,
buffer_gets/decode(nvl(executions,0),0,1,executions) avg_lio,
last_active_time,
SQL_PROFILE,
 is_shareable, is_bind_sensitive, is_bind_aware,
sql_text,
decode(IO_CELL_OFFLOAD_ELIGIBLE_BYTES,0,'No','Yes') Offload,
decode(IO_CELL_OFFLOAD_ELIGIBLE_BYTES,0,0,100*(IO_CELL_OFFLOAD_ELIGIBLE_BYTES-IO_INTERCONNECT_BYTES)
/decode(IO_CELL_OFFLOAD_ELIGIBLE_BYTES,0,1,IO_CELL_OFFLOAD_ELIGIBLE_BYTES)) "IO_SAVED_%"
from gv$sql s
where sql_id like nvl(trim('&sql_id'),sql_id)
order by 1, 2, 3
Now lets assume that this is the bad plan. So if want to know the good plan for this sql_id, we have a great chance that Oracle has stored the execution history of our sql id in AWR and expose it via the DBA_HIST_SQLSTAT view. o the only thing we have to do is to query this view. Note that AWR stores hourly snapshots and therefore in order to get the rough time that the execution took place you must join to DBA_HIST_SNAPSHOT.
It is important to understand that when you review the history of executions of a specific sql id and you see the list of various execution plans that were used, you must be sure which one of these is the "good" one. The simplest way to verify this is from your ETL execution history (e.g. from your ETL tool metadata), or directly from the user experience saying when did this report run fast etc. Once you know which  plan is the good one, and you see that currently you are using a different plan, plus you are experiencing a performance issue, then you know that the change of plan is the one to blame.

Use the below query to know the history of specific sql_id in AWR
select    a.INSTANCE_NUMBER, snap_id, BEGIN_INTERVAL_TIME, END_INTERVAL_TIME,
        PARSING_SCHEMA_NAME,
        sql_id, PLAN_HASH_VALUE,
                aa.name command_type_desc,
        SQL_PROFILE,
        executions_total,
        OPTIMIZER_COST,
        (ELAPSED_TIME_TOTAL/1e6)/decode(nvl(EXECUTIONS_TOTAL,0),0,1,EXECUTIONS_TOTAL)/
                        decode(PX_SERVERS_EXECS_TOTAL,0,1,PX_SERVERS_EXECS_TOTAL)/decode(nvl(EXECUTIONS_TOTAL,0),0,1,EXECUTIONS_TOTAL) avg_etime,
        decode(PX_SERVERS_EXECS_TOTAL,0,1,PX_SERVERS_EXECS_TOTAL)/decode(nvl(EXECUTIONS_TOTAL,0),0,1,EXECUTIONS_TOTAL) avg_px,
        BUFFER_GETS_TOTAL/decode(nvl(EXECUTIONS_TOTAL,0),0,1,EXECUTIONS_TOTAL) avg_lio,
        VERSION_COUNT nochild_cursors,
        decode(IO_OFFLOAD_ELIG_BYTES_TOTAL,0,'No','Yes') Offload,
        decode(IO_OFFLOAD_ELIG_BYTES_TOTAL,0,0,100*(IO_OFFLOAD_ELIG_BYTES_TOTAL-IO_INTERCONNECT_BYTES_TOTAL))
        /decode(IO_OFFLOAD_ELIG_BYTES_TOTAL,0,1,IO_OFFLOAD_ELIG_BYTES_TOTAL) "IO_SAVED_%",
                c.sql_text
from DBA_HIST_SQLSTAT a  left outer join
     DBA_HIST_SNAPSHOT b using (SNAP_ID) left outer join
     DBA_HIST_SQLTEXT c using (SQL_ID) left outer join
     audit_actions aa on (COMMAND_TYPE = aa.ACTION)
where sql_id = nvl(trim('&sql_id'),sql_id)
        and b.begin_interval_time > sysdate - &days_back
order by 2 desc,3 desc;



Next section is, how to force a specific execution plan using sql_profiles

1. First find the problematic sql_id and find a way to get it from the views V$SQLSTATS or awr view DBA_HIST_SQLSTAT

2. search for the execution plans for the specific sql id

****************************

prompt
prompt ********************************************************
prompt Find the available execution plans for a specific SQL_ID
prompt ********************************************************
prompt

set linesize 999
col avg_et_secs justify right format 9999999.99
col cost justify right format 9999999999
col timestamp justify center format a25
col parsing_schema_name justify center format a30
col inst_id format 999999999
col executions_total format 99999999999999999
col executions format 99999999999999

alter session set nls_date_format='dd-mm-yyyy hh24:mi:ss';

select 'gv$sqlarea_plan_hash' source, INST_ID,
  SQL_ID, PLAN_HASH_VALUE,
  executions,
  round(elapsed_time/decode(nvl(executions,0),0,1,executions)/1e6/
   decode(px_servers_executions,0,1,px_servers_executions)/decode(nvl(executions,0),0,1,executions),2) avg_et_secs,
  px_servers_executions/decode(nvl(executions,0),0,1,executions) avg_px, 
  optimizer_cost cost,
  LAST_LOAD_TIME timestamp,
  parsing_schema_name --FIRST_LOAD_TIME, LAST_LOAD_TIME, LAST_ACTIVE_TIME, SQL_PROFILE
from gv$sqlarea_plan_hash
where sql_id = nvl(trim('&&sql_id'),sql_id)
UNION
SELECT  'dba_hist_sql_plan' source, null INST_ID,
  t1.sql_id sql_id, t1.plan_hash_value plan_hash_value,
  t2.executions_total,
  t2.avg_et_secs avg_et_secs,
  t2.avg_px,
  t1.cost cost,
  t1.timestamp timestamp,
  NULL parsing_schema_name
FROM dba_hist_sql_plan t1,
 (
  SELECT sql_id, plan_hash_value,
    max(executions_total) executions_total, --round(SUM(elapsed_time_total)/decode(SUM(executions_total),0,1,SUM(executions_total))/1e6,2) avg_et_secs
    round(SUM(elapsed_time_total)/decode(SUM(executions_total),0,1,SUM(executions_total))/1e6/ 
     decode(SUM(px_servers_execs_total),0,1,SUM(px_servers_execs_total))/decode(SUM(executions_total),0,1,SUM(executions_total)),2) avg_et_secs,
    SUM(px_servers_execs_total)/decode(SUM(executions_total),0,1,SUM(executions_total)) avg_px 
  FROM dba_hist_sqlstat
  WHERE
   executions_total > 0
  GROUP BY sql_id, plan_hash_value
 ) t2
WHERE
 t1.sql_id = nvl(TRIM('&sql_id.'), t1.sql_id)
 AND t1.depth = 0
 AND t1.sql_id = t2.sql_id(+)
 AND t1.plan_hash_value = t2.plan_hash_value(+)
order by avg_et_secs, cost --timestamp desc
/
undef sql_id

*****************************************************************************

based upon the average elapsed type column(AVG_ET_SECS), we can atleast pin point which can be the good plan.

Next using the metalink note:using the script coe_xfr_sql_profile.sql provided with the tool Sqltxplain (Refer to SQLT (SQLTXPLAIN) - Tool that helps to diagnose a SQL statement performing poorly (Metalink Note: 215187.1 and 1487302.1)).


The script will ask for the sql_id and plan_hash value

Now once it is executed, check the explain plan using the sql id and verify if it is using the correct hash value or not.

*********************************

set linesize 9999
set pagesize 999
--set serveroutput off

select * from table( dbms_xplan.display_cursor('&sql_id', '&child_number', 'ALL ALLSTATS LAST -PROJECTION'));

--'ALLSTATS LAST alias partition cost'));

--'ALLSTATS LAST alias'));

--'ALL ALLSTATS LAST'));

--'TYPICAL LAST'));

--'ADVANCED +PEEKED_BINDS +ALLSTATS LAST +MEMSTATS LAST') );

**************************************************************************************************

Please note this is just temporary fix and the actual root has to be investigated in details.////

R12 E-Business Suite Output Post Processor (OPP) Fails To Pick Up Concurrent Requests With Error 'Unable to find an Output Post Processor service to post-process request nnnnn'

$
0
0
Requests fail during Post Processing with the following errors:

'Unable to find an Output Post Processor service to post-process request xxxxx.

Check that the Output Post Processor service is running'

Cause
Incorrect data is present in the OPP queue table AQ$FND_CP_GSM_OPP_AQTBL_S, which occurs when the concurrent managers are not shutdown correctly.
A quick sql query shows orphaned OPP subscribers in APPLSYS.AQ$FND_CP_GSM_OPP_AQTBL_S, causing the select_random_subscriber routine to pick a non-running process.
Solution
To resolve the issue test the following steps in a development instance and then migrate accordingly:
1. Find the active processes for OPP:
SELECT fcp.concurrent_process_id
FROM fnd_concurrent_queues fcq, fnd_concurrent_processes fcp
WHERE concurrent_queue_name = 'FNDCPOPP'
AND fcq.concurrent_queue_id = fcp.concurrent_queue_id
AND fcq.application_id = fcp.queue_application_id
AND fcp.process_status_code = 'A';
Output example:
CONCURRENT_PROCESS_ID
---------------------
93557
93558
2. Find the OPP subscribers:
select name from APPLSYS.AQ$FND_CP_GSM_OPP_AQTBL_S;
The name in the table is the concurrent_process_id prefixed with 'OPP'.
The output should normally correspond to the output of first query: have the same number of records and have as name the concurrent_process_id of the running OPP processes prefixed by OPP
Output example:
NAME
------------------------------
OPP93558
OPP93557
OPP88933
OPP92625
3. If there are extra subscribers which are left from previous runs of OPP processes, unsubscribe them via the following command:
  exec fnd_cp_opp_ipc.unsubscribe('<concurrent_process_id>');
 Example:
  exec fnd_cp_opp_ipc.unsubscribe('88933');
  exec fnd_cp_opp_ipc.unsubscribe('92625');
4. Bounce the concurrent managers.
5. Retest some concurrent requests and confirm the post processing actions now complete successfully.

Calculation program is failing with dead lock error very frequently in R12.2

$
0
0

Cause:

The deadlocks appear to have been caused by the database table storage parameter initrans being set too low.  The default value for initrans is 10 for cn_commission_headers_all and cn_commission_lines_all.

Solution:


(1) You can check the current value of the initrans table storage parameter with the following SQL queries:

select ini_trans from all_tables where table_name = 'CN_COMMISSION_HEADERS_ALL';

select ini_trans from all_tables where table_name = 'CN_COMMISSION_LINES_ALL';


(2) Increase the initrans table storage parameter from the default value to 50 with the following SQL statements:

alter table CN.CN_COMMISSION_HEADERS_ALL INITRANS 50;

alter table CN.CN_COMMISSION_LINES_ALL INITRANS 50;


(3) Check to see if the calculation is still having deadlocks.

E-Business Suite 12.2 Forms Error 'FRM-92101' Connection from new browser window not supported if using custom jars not added in user jarfile

$
0
0
When accessing the forms with using IE8 and higher, opening 2nd forms applet fails with the following error:

ERROR

FRM-92101: There was a failure in the Forms Server during startup.
This could happen due to invalid configuration.
Please look into the web-server log file for details.
Details.
oracle.forms.net.ConnectionException: Connection from new browser window not supported
at oracle.forms.net.HTTPNStream.getInfoFromServlet(Unknown Source)
at oracle.forms.net.HTTPNStream.<init>(Unknown Source)
at oracle.forms.net.HTTPConnection.connect(Unknown Source)
at oracle.forms.engine.FormsDispatcher.initConnection(Unknown Source)
at oracle.forms.engine.FormsDispatcher.init(Unknown Source)
at oracle.forms.engine.Runform.initConnection(Unknown Source)
at oracle.forms.engine.Runform.startRunform(Unknown Source)
at oracle.forms.engine.Main.createRunform(Unknown Source)
at oracle.forms.engine.Main.start(Unknown Source)
at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.start(UnknownSource)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

STEPS

1. Open a IE browser window
2. Login to EBS 12.2 environment
3. Open a Form - opens successfully
4. Without closing first forms session click another forms based function or any forms link from workflow notification from Self Service Web Access page.
5. The previous forms applet closes abruptly and new applet session is opened which shows FRM-92101 with exception stack as provided above. In some cases new applet will launch fine but would have closed previous applet, which is not desired way.

Cause:

Passing custom jars from other than parameter "userjarfile" inside $FORMS_WEB_CONFIG_FILE, will break forms launching mechanism on E-Business Suite. Form launching mechanism is part of Application Object Library where any second and beyond forms requests from Self Service Web Access(SSWA) Page gets opened in already open forms applet session(if that was open). If no previous forms session was opened, the new forms applet will be opened. Another forms request could either be another forms based function clicked on SSWA page under some responsibility or it could be under some forms link in a workflow notification.

Solution:

Pass the custom jars only via "userjarfile" in $FORMS_WEB_CONFIG_FILE. For e.g. the entry for the custom jar will become as below

userjarfile=/OA_JAVA/oracle/apps/fnd/jar/custom1.jar,/OA_JAVA/oracle/apps/fnd/jar/custom2.jar

List of Bugs, Issues and Solutions Fixed in 12.2.7 & 12.2.8 Release

$
0
0
1.1 Fixed in 12.2.7 Release
These issues have been fixed in 12.2.7 RUP, 12.2.0 CUP8 or associated patches.
Bug No
Upgrade Stage
Upgrade Script

Other References

Issue
Solution
Fixed In
12.2.0 CUP
Both
aprevupd.sql


Long running
In particular SQLs:
axtd94rppwqyd insert into AP_UPG_ DISTRIBUTIONS_BACKUP ...
br1hq563h9gfu update ap_inv_dists_source set reversal_flag = null, parent_reversal_id = null where invoice_distribution_id in ...
(this is the last update ap_inv_dists_source SQL in the script).
Also any of other update ap_inv_dists_source statements (except 1st, 9th and 12th)
Modified one off script was provided in Bug 22264629.
But, as more customers were reporting issue, the Bug 23210291 was opened to provide a fix in standard code.
SQL to "insert into AP_UPG_ DISTRIBUTIONS_BACKUP" has been restructured and split up with more specific hints.
More specific hints added to most SQLs "update ap_inv_dists_source ..."
Patch 23210291:R12.AP.C Included in 12.2.0 CUP8
11.5.10 to 12.2.0 CUP
asoatoci.sql



File was being run although it has been replaced by ASOUTOCI.SQL.
Stubbed out.
Patch 25063540:R12.ASO.C is included in 12.2.0 CUP8.
11.5.10 to 12.2.0 CUP
oklbpapu.sql



Long running. SQLs :
a3a31vj108dy4 SELECT ... FROM OKL_CNSLD_AP_INVS_ALL CIN ,AP_INVOICES_ALL APINV
2w73jxazgpdn9 UPDATE /*+ index(APINV, AP_INVOICES_N6)*/ AP_INVOICES_ALL APINV
The script was using AD parallel incorrectly.
Changed structure of script so that selection by rowid is in the main c_apinv_csr loop rather than enclosed SQL. Also added hints to this cursor and changed bulkcollect cursor limit so that it includes all data in enclosed SQL (limit = 500000) rather than batch size.
Patch 24416066R12.OKL.C. Included in 12.2.0 CUP8.
11.5.10 to 12.2.0 CUP
oklbpdis.sql



Long running SQLs
SELECT tap.id tap_id ,tap.khr_id khr_id, tpl.id FROM okl_trx_ap_invs_all_b tap , okl_txl_ap_inv_lns_all_b tpl
UPDATE okl_txl_ap_inv_lns_all_b tpl
Script was not using AD parallel correctly.
Changed structure of script to selection by rowid is in main c_tap_sel loop rather than enclosed SQL.
Changed bulkcollect cursor limit so that it includes all data in enclosed SQL (limit = 500000) rather than batch size.
Patch 23854627:R12.OKL.C.
Included in 12.2.0 CUP8
11.5.10 to 12.2.0 CUP
oklbpdis3.sql



Long running SQLs
Cursor c_cin_csr
SELECT .... FROM okl_trx_ap_invs_all_b tap, okl_ext_pay_invs_all_b xpi, okl_xtl_pay_invs_all_b xlp, AP_INVOICES_ALL apinv ...
INSERT INTO okl_cnsld_ap_invs_all ...
Changed bulkcollect cursor limit so that it includes all data in enclosed SQL (limit = 500000) rather than batch size.
Changed structure of SQL in cursor c_cin_csr to use WITH clause for repeated SQL.
Patch 24363789:R12.OKL.C
Included in 12.2.0 CUP8
11.5.10 to 12.2.0 CUP
oklfkeyseq.sql
oklupgaccs.sql


Long running SQL:
UPDATE (SELECT /*+ LEADING(ASR) */ .... FROM OKL_ACCT_SOURCES_ALL ASR, ...
Originally reported on 12.1.3 in Bug 24316903 
In Bug 24784652 the equivalent SQL (in OKLUPGACCS.sql) was long running. The leading and rowid hints had been put on the wrong table (asr).
Patch 24433010: Comment out this SQL in OKLFKEYSEQ.SQL.
Create new file (OKLUPGACCS.sql) using AD Parallel to run this SQL.

Patch 24784652: corrected hints (put on table upg).
Patch 24433010:R12.OKL.C
Included in 12.2.0 CUP8

Patch 24784652:R12.OKL.C,
Included in 12.2.0 CUP8
11.5.10 to 12.2.0 CUP
oklslaupg.sql



Long running due to SQL
b6ufpfddh652h INSERT INTO OKL_XLA_ACC_DATA_GT ....
Added leading(tcn) and cardinality(tcn,1) hints to encourage CBO to lead from table with rowid range scan and favour index/nested loop access.
Patch 24448683:R12.OKL.C
Included in 12.2.0 CUP8
11.5.10 to 12.2.0 CUP
okltxupg.sql



Long running SQLs.
Also a SQL Trace call.
Added rowid hint to SELECT part of INSERT SQLs (where rowid hint was not present previously).
Removed SQL Trace call.
Patch 24655291:R12.OKL.C.
Included in 12.2.0 CUP8
11.5.10 to 12.2.0 CUP
okssrepv1.sql



Long running due to SQL
Update /*+ rowid(lines) */ Okc_k_lines_b lines ....
Added hints:
nl_sj index(REL OKC_CONTRACT_REL_OBJS_N2)
to exists sub-query.
Patch 24570119:R12.OKS.C.
Included in 12.2.0 CUP8
12.2.n RUP
pat148.odf
pat149.odf


Long running:
Creating indexes, that should not be created at 12.2.n RUP level (but at 12.2.0 CUP level)
Patch 25658515:R12.PA.C includes the stubbed out replacements for xdfs (pa_cost_distribution_lines_n18.xdf, pa_cost_distribution_lines_n20.xdf, pa_expenditure_items_n35.xdf,
pa_expenditure_items_n36.xdf, pa_expenditure_items_n37.xdf, pa_expenditure_items_n38.xdf)
Patch 21523445:R12.PA.C contains full definitions in above files.
Patch 21523445:R12.PA.C Included in 12.2.0 CUP8
Patch 25658515:R12.PA.C Included in 12.2.7 RUP
12.2.0 CUP
pybthcon.sql


Long running due to SQL: cursor csr_input_values
SELECT .... FROM pay_element_types_f pet, pay_input_values_f piv WHERE ....
Altered so that uses simpler and more efficient SQL (in cursor csr_input_values0) when element_type_id is not null.
Bug 23586928 suggests purging old batches before upgrade :
1)delete from pay_batch_lines where batch_id in (select batch_id from
pay_batch_headers where BATCH_STATUS='T')
2)delete from pay_batch_headers where BATCH_STATUS='T'
Patch 24293108:R12.PAY.C.
Included in 12.2.0 CUP8
12.2.0 CUP both
xlaaxuar_rcpt.sql



Long running SQLS:
1kw0fth2xjhyd MERGE ... INTO XLA_AE_LINES XAL ...
789t5a9f8vmx8 INSERT INTO XLA_DISTRIBUTION_LINKS ...
Added hints.
Patch 25459089:R12.XLA.C
Included in 12.2.0 CUP8
12.2.0 CUP and 12.2.n RUP
cstpost importaad.sql other xxxpost importaad.sql scripts, where xxx is the application short name.
xlainaad.pkb



Long running cstpostimportaad.sql (and other xxxpostimportaad.sql scripts) due to SQLs:
UPDATE xla_product_rules_b prd SET compile_status_code = 'R' ....
UPDATE xla_product_rules_b prd SET compile_status_code = 'N' ....
Add leading hints to sub query in each SQL to ensure correct table order.
Patch 23540832:R12.XLA.C
Included in 12.2.7 RUP
Included in 12.2.0 CUP8 via Patch 23753553:R12.XLA.C

1.2 Fixed in 12.2.8 Release

Bug No
Upgrade Stage
Upgrade Script

Other References

Issue
Solution
Fixed In
12.2.0 CUP
adgrants.sql



Long running SQL
SELECT count(1) from dba_tab_privs where .....
Due to changes in view definition for dba_tab_privs in 12c
Added predicate for owner.
Change also made to adgrants_nt.sql
Fix in Patch 26612557:R12.AD.C.
Fix is also in Patch 27098139:R12.AD.C
Patch 27098139:R12.AD.C
Included in "ORACLE APPLICATIONS RELEASE 12.2: CPU PATCH FOR OCT 2017 Patch 26574498:12.2.0)" and later.
Also included in CONSOLIDATED PATCH ON TOP OF AD DELTA 10 Patch 27254132:R12.AD.C
12.2.n RUP
Online Patching
adzdmvb.pls



Downtime patching should use build deferred for MVs.
Changed to do this.
Included in CONSOLIDATED PATCH ON TOP OF AD DELTA 10 Patch 27254132:R12.AD.C
OPE
adzdprep.sql
adzdprpb.pls



Long running SQL (cursor C_COLUMNS in procedure ad_zd_prep.fix_columns)
fqwkb7v0xbwrf SELECT ... FROM DBA_TABLES ATAB, DBA_TAB_COLUMNS ACOL WHERE ATAB.OWNER IN (SELECT ... FROM SYSTEM. FND_ORACLE_USERID WHERE READ_ONLY_FLAG IN ('A', 'B', 'E', 'U', 'C')) ...
Due to Cartesian join on X$KSPPCV which is referred in the dba_tables view.
Execute query for one owner at a time in loop to avoid Cartesian join.
Included in ORACLE APPLICATIONS DBA CONSOLIDATED UPGRADE PATCH 9 (CUP9) FOR R12.2.0 Patch 26924705:R12.AD.C
1220 CUP
afatch.odf
affdlredef.sql



afatch.odf was running long. It was using ALTER TABLE to convert long to clob.
Replaced with affdlredef.sql, which uses dbms_redefinition package (and forcing parallel execution at session level) to convert long to clob.
There is a further change to add alter session commands to disable parallel, otherwise SQLs in subsequent scripts (e.g. hrdrptrg.sql) get executed in parallel and can cause contention.
Patch 19504977:R12.FND.C
Included in 12.2.0 CUP9
12.2.0 CUP
asocolmg.sql



File was executing unnecessarily
This was because of file.sql.6 fix (remove hardcoded schema) (Patch 23019551:R12.ASO.C)
Added Checkfile equivalence tuple to restrict execution in 12.1.3 to 12.2 upgrade.
Patch 26304638:R12.ASO.C
Included in 12.2.0 CUP9
Included in "R12.1 and 12.2 Oracle E-Business Suite Preinstall Patches Report [Video] (Document 1448102.2)"
12.2.n RUP
b16312259.sql



File should be stubbed out for 12.2.n as indexes are now obsolete.
Stubbed out.
The script could be skipped as well.
Patch 26361142:R12.ICX.D
Included in 12.2.0 CUP9 and 12.2.8 RUP
Included in "R12.1 and 12.2 Oracle E-Business Suite Preinstall Patches Report [Video] (Document 1448102.2)"
12.2.n RUP
mtl_system _items_b _apply.sql


mtl_system_items_b_apply.sql was updating table in serial.
Stubbed out MTL_SYSTEM_ITEMS _B_APPLY.sql
Changed trigger definition in MTL_SYSTEM_ITEMS_B_X1.sql to specify dbdrv: sql ad patch/115/sql AD_ZD_TABLE_APPLY.sql (rather than MTL_SYSTEM_ ITEMS_B_APPLY.sql) so that gets processed by main 4CET (acet) code.
Patch 26362144:R12.ITM.D
Included in 12.2.8 RUP
12.2.n RUP
oe_int_ items_mv.xdf


oe_int_items_mv.xdf conatined long running creation of MV.
Serial. Not parallelized.

Parallel hints and clause added.
Patch 26746269 is correction to this and includes fixes to OEITORDB.pls to enable parallel DML.
Patch 26746269:R12.ONT.C
Included in 12.2.8 RUP
12.2.0 CUP Both
ont00068.sql



See bug. File was executing unnecessarily
This was because of file.sql.6 fix (remove hardcoded schema) (Patch 25821025:R12.ONT.C).
Added Checkfile equivalence tuple to restrict execution in 12.1.3 to 12.2 upgrade.
The CFE tuple fix in Patch 26304545 was not sufficient, so superceded with Patch 26861982.
Patch 26861982:R12.ONT.C
Included in 12.2.0 CUP9
11.5.10 to 12.2.0 CUP
ozfupter.sql



Long running due to SQL:
Cursor c_get_terr_name
SELECT ... FROM jtf_terr_all JT, ozf_terr_levels_all JTT ...
Join between tables JT and JTT is missing.
Added join.
Patch 26147440:R12.OZF.C
Included in 12.2.0 CUP9
Included in "R12.1 and 12.2 Oracle E-Business Suite Preinstall Patches Report [Video] (Document 1448102.2)"
12.2.n RUP
ozfuptrxtype .sql


ozfuptrxtype.sql long running due to SQL
SELECT ... FROM ozf_claims_all cla, ozf_settlement_docs_all csd ...
Not using any parallel method (e.g. AD Parallel or Parallel SQL).
Split the SQL cursor that drives the update (in loop) into 6 different cursors. Made the SQLs parallel and added leading and use_hash hints as well. Changed the loop to bulk collect and forall.
Patch 27159910:R12.OZF.C
Included in 12.2.0 CUP9
Included in "R12.1 and 12.2 Oracle E-Business Suite Preinstall Patches Report [Video] (Document 1448102.2)"
12.2.n RUP
Online Patching Validate
phase.pm



ADOP -validate is consuming large amount of memory due to infinite loop.
See Bug 24591000
AD Critical Patch 24591000:R12.AD.C
Included in CONSOLIDATED PATCH ON TOP OF AD DELTA 10 Patch 27254132:R12.AD.C
12.2.0 CUP both
qprunbld.sql
qpxpsrcb.pls


Long running SQL:
SELECT 'Y' FROM QP_LIST_LINES WHERE ((BREAK_UOM_CONTEXT = :B2 AND BREAK_UOM_ATTRIBUTE = :B1 ) OR (ACCUM_CONTEXT = :B2 AND ACCUM_ATTRIBUTE = :B1)) AND ROWNUM < 2
Inefficient execution plan (FTS), due to OR statement being evaluated on filter and separate conditions not using an index.
Added hint /*+ use_concat */
Included in 12.2.0 CUP9
12.2.0 CUP both
xlaaxuar.sql



Long running. Serial execution of one SQL (sub query)
Note that
1. There was a restructure of the code in Bug 22489152
2. Several bugs previously corrected code / added hints Bug 19191011, Bug 21128151, Bug 22842858.
These are still relevant and have been carried forward into Patch 27019025 (and 12.2.0 CUP8).
Add full hint to parallel hint
Patch 27019025:R12.XLA.C
Included in 12.2.0 CUP9
Included in "R12.1 and 12.2 Oracle E-Business Suite Preinstall Patches Report [Video] (Document 1448102.2)"


12.2.0 CUP both
wfdspifx.sql


Long running SQL:
update WF_USER_ ROLE_ASSIGNMENTS ... where wura.ROLE_ORIG_SYSTEM_ID between :start_id AND :end_id
Inefficient execution plan (includes a FTS scan on WF_USER_ ROLE_ASSIGNMENTS).
There could also be contention.
This will be an issue for any customer with large number of rows on WF_USER_ ROLE_ASSIGNMENTS
Note that there were previous fixes in 12.2.0 CUP6 :
Patch 20655260:R12.OWF.C (Bug 19515151) use DBMS_PARALLEL_EXECUTE. run_task to execute chunks.
Patch 20894328:R12.OWF.C to enable parallelism (it was defaulting to 0 and running in serial).
Create index on WF_USER_ ROLE_ASSIGNMENTS( ROLE_ORIG_SYSTEM_ID)
Note that it should be local (as table is partitioned and SQL explicitly specifies the partition (UMX)).
Additionally, the number of rows in table WF_USER_ ROLE_ASSIGNMENTS can be reduced by purging adhoc roles.
It can also be purged with the "Purge Obsolete Workflow Runtime Data" concurrent program.
See "How To Reduce The Size Of Tables WF_LOCAL_ROLES, WF_LOCAL_USER_ROLES, And WF_USER_ ROLE_ASSIGNMENTS ? (Document 1454205.1)"
See Oracle Workflow Administrator's Guide and Oracle Workflow API Reference.
Workaround.

11.5.10 to 12.2.0 CUP
wmsoptup.sql



Long running SQL:
UPDATE wms_op_plan_instances_arch wopia ...
Due to unnecessary FTS on wms_op_plan_instances_arch.
Will be an issue for customer with high volume on this table.
Create an index on WMS_OP_OPERTN _INSTANCES_ARCH( OP_PLAN_INSTANCE_ID)
Possibly append OPERATION_SEQUENCE to make even more efficient.
and maybe SOURCE_TASK_ID, OPERATION_TYPE_ID to avoid visit to the table.
Workaround
11.5.10 to 12.2.0 CUP
xlabalupg.sql



Long running.
Runs serial in phase upg+99, alongside a handful of other jobs, and not fully parallelized (parallel DML/SQL).
Will be an issue if customer has high volume on XLA, especially balances.
Can be skipped and run post upgrade.
Can be skipped and run post upgrade.

 



Login Page Error in R12.2 The system has encountered an error while processing the request

$
0
0
On 12.2.x version, Post cloning
When attempting to login to oracle applications the following error occurs:

The system has encountered an error while processing the request

The issue can be reproduced at will with the following steps:
Whenever E-Business suite home page is accessed.

The issue has the following business impact:
Due to this issue, users cannot login to the Oracle application

Cause:


Login to E-business suite weblogic console

Click on services>EBSDataSource

Verify the targets

EBS Datasource  does not have oafm_server1 /oacore_server1 configured

Solution:


Perform below steps to recreate the EBS domain:

1. Source the file system environment.

2. Stop all middle tier services using $ADMIN_SCRIPTS_HOME/adstpall.sh

3. Ensure that no process is running on the file system.

4. cd $FND_TOP/patch/115/bin

5. Run below command to recreate the  Web Logic Server domain for Oracle E-Business Suite (EBS)

perl txkEBSDomainConfig.pl

The below prompts are shown by the script:

Enter the full path of Applications Context File [DEFAULT - ]: Complete path of the context file
Enter the server start mode for the domain [DEFAULT - SID]:
Enter the APPS schema password :
Enter weblogic admin server password :

6. Run autoconfig

7. Start all middle tier services using $ADMIN_SCRIPTS_HOME/adstrtal.sh

Login to E-business suite weblogic console.

Click on services>EBSDataSource.

Verify the targets should include  oacore_cluster1.

Microsoft Projects Configuration Requirements for WebADI Integration

$
0
0
To integrate Microsoft Projects with WebADI, make sure the following settings are enabled in Microsoft Projects and Internet Explorer on the users desktop.

Step 1. Microsoft Projects Required Settings for Oracle Projects Interface

Enable (check) the following option in Microsoft Projects:
'Tools' -> 'Macro' -> 'Security' -> 'Trusted Publishers' -> 'Trust all installed add-ins and templates' 
Note: The Oracle Projects interface link will be available under:
Projects 2007
· The Microsoft Projects toolbar.
Projects 2010 and Later
· 'Add-ins (tab) -> Oracle'.

Step 2. Internet Explorer Required Settings for Projects Interface

ActiveX Controls and plug-ins Settings
1. Select 'Tools' -> 'Internet Options -> 'Security' (Tab) from the browser menu.
2. Select the appropriate zone you are using i.e. 'Trusted Sites' -> 'Custom Level' (button)
3. Set 'Allow Scriptlets' to 'Enable'.
4. Set 'Automatic prompting for ActiveX controls' to 'Enable'
5. Set 'Initialize and script ActiveX controls not marked as safe' to 'Enable'

Web Applications Desktop Integrator (Web ADI)

$
0
0

Step 1.1. Microsoft Excel and Word Configuration Requirements for WebADI Integration
The following settings must be enabled to integrate with WebADI.

Step 1.1.1. Macro Settings
Set the Macro security setting to an approprate level within Excel and Word depending on whether you are using digitally signed macros or not.
a. Digitally Signed Macros
Implementing digitally signed macros can require additional patches to implement the WebADI SHA-256 Digital Signing Certificate. The "BNE Enable Digital Signature" profile option within EBS to must also be set to "Yes".
If using digitally signed Macro's set "Disable all macros except digitally signed macros" in Excel and Word:
Options -> Trust Center -> Trust Center Settings... -> Macro Settings -> Disable all macros except digitally signed macros 
b. Unsigned Macros
If not using digitally signed macros, select "Disable all macros with notification" in Excel and Word:
Options -> Trust Center -> Trust Center Settings... -> Macro Settings -> Disable all macros with notification 

Step 1.1.2. Developer Macro Settings
EBS 12.2.5 and later users now have the option to create Oracle Web Applications Desktop Integrator pages using the Microsoft "Office Open XML" (OOXML) standard. Using OOXML means the spreadsheet is created on the server rather than on the desktop as it has been historically. This can be enabled for WebADI (bne) and/or Report Manager (frm) by setting the following profile options in EBS to "Yes":
BNE: Enable OOXML Standard
FRM: Enable OOXML Standard
The developer macro settings will depend on whether or not you are using OOXML standard to create your worksheets. If you are using OOXML there is no requirement to select the "Trust Access to the VBA project object model" setting.
Non OOXML Standard
If you are not using OOXML standard select the "Trust Access to the VBA project object model" value in Excel and Word:
Options -> Trust Center -> Trust Center Settings... -> Macro Settings -> Trust Access to the VBA project object model
If you are not using the OOXML standard and 'Trust Access to the VBA project object model' is not checked you will see the following error when trying to open any content.in Excel or Word:
Microsoft Excel
Microsoft Visual Basic
Run-time error'1004':
Method 'VBProject' of object'_Workbook' failed. 
Microsoft Word
Microsoft Visual Basic
Run-time error '6068':
Programmatic access to Visual Basic Projectis not trusted.
Note: Once integrated successfully the Oracle interface link should display within Excel and Word under:
· Add-ins (tab) -> Oracle

Step 1.1.3. Protected View
If the WebADI spreadsheet is being saved to and opened from a potentially unsafe location on the desktop, users may see the following message in Excel:
This message may be suppressed by either, adding the download directory as an exception (recommended option), or by disabling 'Protected View' for desktop locations by using one of the following options:
Trusting a Download Directory (Recommended)
You can add the download directory on the desktop as trusted through the following Excel option:
'Options' -> 'Trust Center' -> 'Trust Center Settings' -> 'Trusted Locations' 
Disabling 'Protected View'
To turn off Protected View on the desktop to prevent this message appearing 'uncheck' the following Excel option:
'Options' -> 'Trust Center' -> 'Trust Center Settings' -> 'Protected View' -> 'Enable Protected View for files located in potentially unsafe locations' 
Note: In certain circumstances having this option checked may cause Excel to hang when trying to create a WebADI document.

Step 1.1.4. Internet Explorer Configuration Requirements
Ensure the following values are set within Internet Explorer.

Step 1.1.4.1. File Download Setting
To allow the workbook to be downloaded ensure 'File download' is enabled in Internet Explorer:
Select 'Tools' -> 'Internet Options -> 'Security' (Tab) from the browser menu.
Select the appropriate zone e.g. 'Trusted Sites' -> 'Custom Level' (button)
Under the 'Downloads' section set 'File download' to Enable 
If this value is not set the following security alert will display:
Your current settings do not allow this file to be downloaded. 

Step 1.1.4.2. Scripting Setting
The following scriplet setting is required for the template to open in the workbook:
Select 'Tools' -> 'Internet Options -> 'Security' (Tab) from the browser menu.
Select the appropriate zone you are using e.g. 'Trusted Sites' -> 'Custom Level' (button)
Under the 'Scripting' section set 'Allow Status bar updates via script' to 'Enable' 
If this value is not set the following Visual Basic error will display:
Run-time error '1004'
method 'VBProject' of object '_workbook' failed 
Step 1.1.4.3. ActiveX Controls and plug-ins Setting (EBS 11i Users Only)

Note: If you are running Web ADI version '11i.BNE.D' (Patch 3218526) or later, you do not need to perform this step and can leave the value set to 'disable'
Select 'Tools' -> 'Internet Options -> 'Security' (Tab) from the browser menu.
Select the appropriate zone you are using e.g. 'Trusted Sites' -> 'Custom Level' (button)
Set the option 'Initialize and script Active X controls not marked as safe' to 'Prompt' or 'Enable' 

Oracle EBS R12 Notification Mailer Does Not Start, Remains In Status Starting

$
0
0
Issue : Notification Mailer Does Not Start, Remains In Status Starting


Cause :

The problem is very likely to occur after a clone process is performed, therefore the target instance is the one pron to have this problem.

Analysis :

Check the following SQL results to make sure the values are correct for the instance:

1. SQL> select name
from v$database;

2. SQL> select name, status, type
from wf_agents;

3. SQL> select name from wf_systems
where guid = wf_core.translate('WF_SYSTEM_GUID');

4. SQL> select queue_name from wf_agents a
where a.SYSTEM_GUID = wf_core.translate ('WF_SYSTEM_GUID')
and name = 'WF_CONTROL';

5. SQL> select a.name, s.name
from wf_agents a, wf_systems s
where a.SYSTEM_GUID = s.GUID;

6. SQL> select guid
from wf_systems
where name = '<supply name_1 that is returned in #5>'

7. SQL> select name,text
from WF_RESOURCES
where name = 'WF_SYSTEM_GUID';

8. SQL> select system_guid, name
from wf_agents
where name in ('WF_ERROR','WF_DEFERRED','WF_IN','WF_OUT');

9. SQL> select name
from wf_systems;

> This should only contain 1 <SID> name

10. SQL> select name, status from wf_events
where guid in (select event_filter_guid from wf_event_subscriptions where
system_guid <> wf_core.translate('WF_SYSTEM_GUID'));

> This should not return any rows, if it does, it means that there are incorrect event subscriptions


Solution :

To implement this fix, please proceed as follows:

All the above sql results should be verified to make sure they correspond to the current instance.

If the results in 1-9 above all look correct, then proceed with the solution for step 10. If they are not correct then fix the other problems first, then proceed to the fix in step 10.


1. Back up the wf_event_subscriptions table:

create table wf_event_subscriptions_bkup
as select * from wf_event_subscriptions;



2. Update the table to have the right system guid:



update wf_event_subscriptions set system_guid =
wf_core.translate('WF_SYSTEM_GUID')
where system_guid <> wf_core.translate('WF_SYSTEM_GUID')



Commit;



3. The mailer should now start up.

RMAN Backup Error ORA-19588: Archived Log Recid Stamp Is No Longer Valid

$
0
0
Issue : RMAN Backup Error ORA-19588: Archived Log Recid <n> Stamp <nn> Is No Longer Valid 


Cause :

1. Invalid records in the controlfile
2. The rman backup job had been started TWICE.
3. Incorrect syntax

Solution :


1. Invalid records in the controlfile
RMAN> crosscheck archivelog all;

2. Make sure that concurrent backups of the archivelogs of the SAME database are not run.

3.  Correct the syntax

Correct the RMAN backup command 'logically' by removing the repeated 'archivelog' keyword:

RMAN> backup archivelog until time 'sysdate -1' delete input ;

If we wish to take backup of all archivelogs, then:

RMAN> backup archivelog all delete input ;

Backups Have Failed For OIC-C - ORA-19554: error allocating device

$
0
0
Issue : Backups Have Failed For OIC-C - ORA-19554: error allocating device

Cause :

Certificate validation error during backup

Solution :


Please set the following parameter in opcsid.ora file and then rerun the backup.

_OPC_VALIDATE_CERT=TRUE


For getting the location of opcsid.ora please perform the following steps.


Rman target /

rman>show all;

RMAN Backup to Oracle Database Backup Cloud Service fails with KBHS-00715 ORA-29024

$
0
0
Issue : RMAN Backup to Oracle Database Backup Cloud Service fails with KBHS-00715 ORA-29024

Cause :


ORA-29024 is raised due to incorrect certificate chain.

Solution :


The below solution is a workaround for this problem.

1. Set below parameter in the config file (opcPROD.ora) and retry backup:

_OPC_VALIDATE_CERT=TRUE

2. If above does not help, re-install the cloud backup module with -trustedCerts option and provide opc.cert file attached in this document i.e.

$ java -jar opc_install.jar -host https://XXXX.eu.storage.oraclecloud.com/v1/Storage-XXXX -opcId XXXX -opcPass XXXX -walletDir /d01/oracle/PROD/db/tech_st/11.1.0/dbs/wallet -configFile /d01/oracle/PROD/db/tech_st/11.1.0/dbs/opcPROD.ora -libDir /d01/oracle/PROD/db/tech_st/11.1.0/lib -libPlatform linux64 -trustedCerts /location/opc.cert


ORA-00600: internal error code, arguments: [kzckmumkm: input mkm size] TDE keystore backup 12.2

$
0
0
Issue : ORA-00600: internal error code, arguments: [kzckmumkm: input mkm size] TDE keystore backup 12.2 


Cause :

The issue happens where there is an Incorrect AUTO_LOGIN wallet already present there, thus the Backup of the current keystore fails.

Solution :


Recreating the AUTO_LOGIN keystore again and backing up the keystore then.



SQL> ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE USING 'ORACDB4' FORCE KEYSTORE IDENTIFIED BY EXTERNAL STORE TO '+RECOC1/ORACDB4/KEYSTORE/';

Keystore Altered.

RMAN Backup of SPFILE Returns Error ORA-17507: I/O request size 512 is not a multiple of logical block size

$
0
0
 Issue : RMAN Backup of SPFILE Returns Error ORA-17507: I/O request size 512 is not a multiple of logical block size


Cause :

Snapshot controlfile is configured with the same name as the spfile within ASM. 

Solution :


Reconfigure the snapshot controlfile so it has a unique name:


RMAN>  CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+<diskgroup>/<db_unique_name>/snapcf_<db_name>.f';

Any name which does not conflict with the spfile.  

R12.2: Workflow Java Deferred Listener Goes Down with java.sql.SQLException: ORA-01000 ,WF_EVENT_OJMSTEXT_QH.ENQUEUE on Maximum Open Cursor

$
0
0
Issue : 

R12.2: Workflow Java Deferred Listener Goes Down with java.sql.SQLException: ORA-01000 ,WF_EVENT_OJMSTEXT_QH.ENQUEUE on Maximum Open Cursor 




Solution :


To implement the solution, please execute the following steps:

1. Download and Review the Patch 19634693 readme for its application instructions.

2. For E-Business Suite (EBS) patches, use ADADMIN to enable Maintenance Mode and then Shut down the EBS application service or middle tier.

3. Ensure that you have taken a backup of your system before applying the recommended patch on test environment.

4. Unzip the patch and go to the unzipped directory.

5. Using ADADMIN,Apply Patch 19634693 , You need to applied u19634693.drv (This is the unified driver) on the Middle Tier.

6. Once applied ,Use ADADMIN to Disable the Maintenance.

Confirm the following file versions are delivered :

fnd  java/wf/bes  WebServiceInvokerSubscription.java 120.20.12020000.6

You can use the commands like the following:
$ strings -a $<PROD>_TOP/filename |grep '$Header'

7. Restart the EBS Application Services to retest the issue.

8. Migrate the solution as appropriate to other environments.

oracleasm module not loaded or /dev/oracleasm not mounted

$
0
0
Tried to create disk using 


# oracleasm createdisk  DATA1 /dev/xvdc11
oracleasm module not loaded or /dev/oracleasm not mounted.


SOLUTION:

# oracleasm status
Checking if ASM is loaded: no
Checking if /dev/oracleasm is mounted: no


Load the oracleasm module

# oracleasm init
Creating /dev/oracleasm mount point: /dev/oracleasm
Loading module "oracleasm": oracleasm
Configuring "oracleasm" to use device physical block size
Mounting ASMlib driver filesystem: /dev/oracleasm


Verify the oracleasm configuration


# df -ha |grep -i oracleasm
oracleasmfs                     0     0     0    - /dev/oracleasm

# lsmod | grep oracleasm
oracleasm              61440  1


Initialize the disks using oracleasm 


# oracleasm createdisk DATA1 /dev/xvdc11
Writing disk header: done




error: package cvuqdisk is not installed - grid installation

$
0
0




 While installing ORACLE GRID INFRASTRUCTURE the below issue is faced.

I managed to install the RMP from the grid software itself.

Work Around:


Locate the cvuqdisk RPM package, which is in the directory rpm on the Oracle Database installation media. 

Log in as root. 

Use the following command to find if you have an existing version of the cvuqdisk package 

# rpm -qi cvuqdisk 

If you have an existing version, then enter the following command to deinstall the existing version: 

# rpm -e cvuqdisk 

Set the environment variable CVUQDISK_GRP to point to the group that owns cvuqdisk, typically oinstall


for example.

 # CVUQDISK_GRP=oinstall; export CVUQDISK_GRP 

In the directory where you have saved the cvuqdisk RPM, use the following command to install the cvuqdisk package

 rpm -iv package 

For example: 

# rpm -iv cvuqdisk-1.0.9-1.rpm



So I have found the mentioned package in the following directory and installed it.
cd $GRID_HOME/cv/rpm
          yum install cvuqdisk-1.0.9-1.rpm
Viewing all 1640 articles
Browse latest View live