Tuesday, March 26, 2013

Standby fail with ORA-16191

Ref: Oracle support

Whenever SYS password is changed in Primary DB, you need to copy password file from primary to Standby databases . Otherwise, the log shipping will fail with ora-16191.

To make log shipping to continue work without copying password file from primary to physical standby when changing sys password on primary -> use "REDO_TRANSPORT_USER" ( new initilization parameter introduced in 11g)

To deregister OID from EBS (11i/R12)

*Stop application services

*Run txkrun.pl script stored in FND_TOP to deregister OID and remove references to OID from EBS.
      txkrun.pl -script=SetSSOReg -deregister=Yes
      txkrun.pl -script=SetSSOReg –removereferences=Yes

*Start application services
*Set the following profile option at Site level
       Application SSO Type  --> SSWA
      Application SSO Login Type --> Local

Note: Check fnd_user.encyrpted_user_password and using FNDCPASS, reset passwords of the users(if any) whose encyrpted_user_password is set to external.

Monday, March 25, 2013

Oracle RCU for AIX

Repository creation utility is only available for Linux and Windows. So this utility should be run remotely from a windows or linux machine to create schemas in the database running on AIX platform.

About Exadata nodes Raid Controller Battery replacement

Exadata Raid controller batteries can run down after 18 months (ref: Oracle-Ninja). This can affect performance..

Reasons for Battery Replacement: (Ref: Support Doc : 1274318.1)

1)Full Charge Capacity <=800 mAh and Max Error<=%10
2)Max Error >=%10
3)Full Charge Capacity <647 mAh

These can be controlled by executing following commands;

For checking Cache policy:

/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -LALL -aALL | grep "Cache Policy"
(Note that , Write Back should be displayed.. If Write Through will be displayed here, then battery should be replaced..)

For checking Charge capacity and errors:

/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -a0 | grep "Full Charge" -A5 | sort | grep Full -A1

Friday, March 22, 2013

After upgrading EBS from 12.0.6 to 12.1.3 event based alerts no longer triggering

The root cause here is that the event based alert triggers cant get org_id using mo_global.get_current_org_id. So they get org_id as null and return without executing further.
Verified with mo_global.get_current_org_id returning null.


This problem can be solved by doing one of the following.

1) set "MO: Security Profile" for responsibilities null
2)Set MO: Default Operating Unit to one of the OU's listed under Alert Definition.

R12 problem responsibility not displayed

In R12 , newly assigned responsibilities are not displayed. User cant see newly assigned responsibilities.. Relogin or Restarting Apache do not solve the problem.


"Workflow Directory Services User/Role Validation" concurrent program should be run with the following arguments..

Add missing user/role assignments=Yes
Update WHO columns in WF tables=No
"Workflow Directory Services User/Role Validation" concurrent programs syncs all the related WF tables with the latest information .

Tuesday, March 19, 2013

Invalid Materialized View due to Dml On Master Table

Materialized views can become invalid after a dml executed on the base table.(For example a local materialized view, its master tables is on the same database.. In this situation, dba_objects.status will show invalid, and also dba_mviews.compile_state will show Needs Compile.. (except refresh on commit materialized views -- because they are refreshed on commit..)

This invalid state will not prevent the MV to be queried, but the MV should be refreshed in order to make it return the latest data. And also, on this refresh the status of the MV will be valid again..

execute dbms_mview.refresh('MV_NAME');

Saturday, March 16, 2013

Migration to new disks (cold-- direct copy)

Here is the method I used for migrating a production database to new , fast disks.. The operations was an offline operation and  last 1 hour (db size = 65gb )

Gather the list of datafile, controlfiles and redologs
backup controlfile to trace..
Stop Listener
Stop database
copy datafiles, controlfiles and redolog file to new location
copy oracle home to new location
change ownerships
change environment variables (if necessary)
change init.ora
relink oracle home ( before running change the oraInst.loc to point the relevant oraInventory)
startup nomount database
recreate controlfile ( from the trace of the controlfile -- modified to reflect new filename paths )
mount and open the database
open the listener
register database to listener (alter system register)
Control datafiles, controlfiles, redologfiles, alert log , listener log, list of open files (for linux use lsof)

Friday, March 15, 2013

Low Performance of DBWR can slow down everything..

Reason: If a foreground process cant find a free buffer to store its read content , it will signal DBWR to write the dirty buffers to disk. DBWR will write dirty buffers and make their buffers overwritable, so foreground process can proceed.
If DBWR is slow, foreground process will wait, foreground process will not able to read. So, associated client will wait for the DBWR in fact.

Oracle Apps Day 2013- Partnera Consulting Services

Partnera Danışmanlık will have stands and going to give a presentation on Oracle Apps Day 2013, İstanbul.

A good and easy-to-understand Linux Kernel Tutorial

Buffer cache management tip:

New buffer gets are assigned to the head of the LRU (MRU).
But Blocks coming from Full Table Scans are placed to the end of the LRU, and there is a limit for them = db_block_multi_read_count
This method prevents hot blocks to be flushed out from the buffer cache.
This can be thought as default behaviour and can be altered using CACHE clause on table creation or altering. Using Cache clause, blocks coming from an FTS can be placed at the MRU.

Click for details.. 

Thursday, March 14, 2013