Posts

Showing posts from March, 2021

Step by Step process of R12.2.X cloning [application and DB]

 Step by Step R12.2 cloning (Application and DB) 1. Pre-Clone we can take a backup of the files below: EBSapps.env $CONTEXT_FILE $TNS_ADMIN $ORACLE_HOME/dbs ==> Password file and parameter file Create pfile from spfile Create controlfile from trace $<Custom_TOP> 2. Check Disk Space on the Source system and Target 3. Prepare  Source Instance ( Primary DB) Check for in-progress online patching cycle. online patching should be done till cleanup stage and also fs_clone should be run to synchronize with the application file system RUN and PATCH. 4. Source  DB Tier Methods can be followed for refresh - - Cold backup - Hot backup - Rman backup ( But we will prefer rman tool for cloning ) 5. After Rman cloning completed. bringup target database and Run adpreclone.pl script cd $ORACLE_HOME/appsutil/scripts/${CONTEXT_NAME} perl adpreclone.pl dbTier 6. Target Apps Server: Apps Tier Log on to the Application node of the Source System as the ebsamdi user (depends on ur user. lot of people

STEPS TO troubleshoot long running concurrent request in R12.2.x

USUALLY we are getting concurrent program running longer and concurrent request not picking jobs, etc. those are very frequent issue we expected from development team. Collect basis level of information to development team A. Oracle seeded program/Custom program? B. How much time it used earlier? C. Is there any recent code change done in concurrent program? D. Is this program fetching higher data compare to last run? E. Does this job running any specific time/ It can be run any time? F. Does this job fetching data using DB link? G. Does the problem happen on both the test and production instance? Once asked above questions to development team in meanwhile we need to start basic sanity check in our environment. A. Verify the status of the concurrent program select REQUEST_ID,phase_code,status_code,ORACLE_SESSION_ID from apps.fnd_concurrent_requests where request_id=’23432345’; B. Find which concurrent manger ran a specific concurrent request select b.USER_CONCURRENT_QUEUE_NAME from fnd

ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired

Please see from v$lock if the object is being used by other sessions for below query select obect_id1,object_id2 from dba_objects where owner='schemanname' and object_name='table_name'; 1)   select sid from v$lock where id1='id1_obtained from previous query' and id2='obtained from previous query'; 2)select serial# from v$session where sid='sid obtained from previous query'; 3) select lo.session_id,lo.oracle_username,lo.os_user_name, lo.process,do.object_name, decode(lo.locked_mode,0, 'None',1, 'Null',2, 'Row Share (SS)', 3, 'Row Excl (SX)',4, 'Share',5, 'Share Row Excl (SSX)',6, 'Exclusive', to_char(lo.locked_mode)) mode_held from v$locked_object lo, dba_objects do where lo.object_id = do.object_id order by 1,5 / SID    Oracle_User  OS_User    Process          Object_name 442       APPS            applmgr    22539       FND_CONCURRENT_REQUESTS 1199    APPS            applmgr    23004       

Configure Active DataGuard and DG BROKER

  Oracle Active Data Guard allows DBAs and users to run real-time queries on a physical standby system for reporting. Queries and reports can be offloaded from the production system to a synchronized physical standby database – all queries at the standby database return up-to-date results. 1. Make sure archive log enabled in primary database. 1 ARCHIVE LOG LIST 2. Enabled forced logging and try to switch logfile 1 2 ALTER DATABASE FORCE LOGGING ; ALTER SYSTEM SWITCH LOGFILE ; The DB_UNIQUE_NAME values of the primary and standby database should be used in the DG_CONFIG setting of the LOG_ARCHIVE_CONFIG parameter. For this example, the standby database will have the value “TESTDB_DG”. 1 ALTER SYSTEM SET LOG_ARCHIVE_CONFIG = 'DG_CONFIG=(TESTDB,TESTDB_DG)' ; 3. Set suitable remote archive log destinations for both the database 1 2 ALTER SYSTEM SET LOG_ARCHIVE_DEST_2 = 'SERVICE=TESTDB_DG NOAFFIRM ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=TESTDB_DG' ; ALT