Monday, January 8, 2018

Completed Red Hat Certified System Administrator 7 (RHCSA) EXAM (EX200)

Hi Friends,

I always believe DBA should have strong knowledge and experience in working on Unix flavor operating system. In this regard Red Hat Linux is always my favourite  operating system and always enjoy working on this Unix flavor operating system.

By Almighty 's and some efforts of mine I completed Red Hat Certified System Administrator 7 (RHCSA) EXAM(EX200) certification.

Link below for the credential validation:

https://www.redhat.com/rhtapps/certification/verify/?certId=170-277-842



Preparation:

Red Hat Enterprise Linux(RHEL) version 7 Training from Reputed training institute or Partner network should help in passing this exam. You can always mail me to rafidba.alvi@gmail.com for any assistance.


Enjoy learning Red Hat Linux.


Thanks,

Rafi

Friday, December 29, 2017

Useful Database Health Check scripts

Hi Friends,

Below are some useful Database Health Check scripts we can use for monitoring purpose.

These SQL scripts assists us to monitor Database and diagnose in case of any issues.

1) fra_space_check.sql( Flash recovery area and DR sync)

set lines 200;
select (SPACE_LIMIT/1024/1024/1024)SPACE_LIMIT_gb,
           (SPACE_USED/1024/1024/1024)SPACE_USED_gb,
           (SPACE_RECLAIMABLE/1024/1024/1024)SPACE_RECLAIMABLE_gb,
           ((SPACE_LIMIT/1024/1024/1024)-(SPACE_USED/1024/1024/1024)+(SPACE_RECLAIMABLE/1024/1024/1024)) AVAILABLE_SPACE,
       ROUND((SPACE_USED-SPACE_RECLAIMABLE)/SPACE_LIMIT*100,1)"PERCENT_FULL_OF_100%"
       FROM V$RECOVERY_FILE_DEST;

select thread#,max(sequence#) from v$archived_log group by thread#;


select thread#,max(sequence#) from v$archived_log where applied='YES' group by thread#;

2)max_tablespace_size.sql(Tablespace space check)

set lines 200 pages 300;
select TABLESPACE_NAME,sum(BYTES)/1024/1024/1024,sum(MAXBYTES)/1024/1024/1024,sum(BYTES)/1024/1024/1024*100/(sum

(MAXBYTES)/1024/1024/1024) "Used%" from dba_data_files where AUTOEXTENSIBLE='YES' group by TABLESPACE_NAME order by 4;

3)longops_session.sql( long running operations in Database)

set linesize 180
col opname for a30
col username for a15
SELECT SID, SERIAL#, username,to_char(start_time, 'dd Mon, yyyy hh24:mi:ss') as start_time, opname, SOFAR, TOTALWORK,

ROUND(SOFAR/TOTALWORK*100,2) COMPLETE FROM  V$SESSION_LONGOPS
 WHERE
TOTALWORK != 0
AND    SOFAR != TOTALWORK
order by 1;

4)temp_space_check.sql(For Temporary tablespace space check)

col name for a20
SELECT d.status "Status", d.tablespace_name "Name", d.contents "Type", d.extent_management
"ExtManag",
TO_CHAR(NVL(a.bytes / 1024 / 1024, 0),'99,999,990.900') "Size (M)", TO_CHAR(NVL(t.bytes,
0)/1024/1024,'99999,999.999') ||'/'||TO_CHAR(NVL(a.bytes/1024/1024, 0),'99999,999.999') "Used (M)",
TO_CHAR(NVL(t.bytes / a.bytes * 100, 0), '990.00') "Used %"
FROM sys.dba_tablespaces d, (select tablespace_name, sum(bytes) bytes from dba_temp_files group by
tablespace_name) a,
(select tablespace_name, sum(bytes_cached) bytes from
v$temp_extent_pool group by tablespace_name) t
WHERE d.tablespace_name = a.tablespace_name(+) AND d.tablespace_name = t.tablespace_name(+)
AND d.extent_management like 'LOCAL' AND d.contents like 'TEMPORARY';


5)events_details.sql(Wait Events monitoring)

set pages 300;
set lines 200;
col event for a50;
col username for a10;
 select s.sid ,username,status ,s.module,s.sql_id,w.event,w.SECONDS_IN_WAIT,w.STATE from v$session_wait w,v$session s

where w.sid=s.sid and w.EVENT <> 'SQL*Net message from client' and username is not null and w.event <> 'Streams AQ:

waiting for messages in the queue';

6)log_switches_info.sql(Log switches in a day)

set lines 250;
set pages 200;
select to_char(first_time,'DD-MON-YYYY') day,
to_char(sum(decode(to_char(first_time,'HH24'),'00',1,0)),'99') "00",
to_char(sum(decode(to_char(first_time,'HH24'),'01',1,0)),'99') "01",
to_char(sum(decode(to_char(first_time,'HH24'),'02',1,0)),'99') "02",
to_char(sum(decode(to_char(first_time,'HH24'),'03',1,0)),'99') "03",
to_char(sum(decode(to_char(first_time,'HH24'),'04',1,0)),'99') "04",
to_char(sum(decode(to_char(first_time,'HH24'),'05',1,0)),'99') "05",
to_char(sum(decode(to_char(first_time,'HH24'),'06',1,0)),'99') "06",
to_char(sum(decode(to_char(first_time,'HH24'),'07',1,0)),'99') "07",
to_char(sum(decode(to_char(first_time,'HH24'),'08',1,0)),'99') "08",
to_char(sum(decode(to_char(first_time,'HH24'),'09',1,0)),'99') "09",
to_char(sum(decode(to_char(first_time,'HH24'),'10',1,0)),'99') "10",
to_char(sum(decode(to_char(first_time,'HH24'),'11',1,0)),'99') "11",
to_char(sum(decode(to_char(first_time,'HH24'),'12',1,0)),'99') "12",
to_char(sum(decode(to_char(first_time,'HH24'),'13',1,0)),'99') "13",
to_char(sum(decode(to_char(first_time,'HH24'),'14',1,0)),'99') "14",
to_char(sum(decode(to_char(first_time,'HH24'),'15',1,0)),'99') "15",
to_char(sum(decode(to_char(first_time,'HH24'),'16',1,0)),'99') "16",
to_char(sum(decode(to_char(first_time,'HH24'),'17',1,0)),'99') "17",
to_char(sum(decode(to_char(first_time,'HH24'),'18',1,0)),'99') "18",
to_char(sum(decode(to_char(first_time,'HH24'),'19',1,0)),'99') "19",
to_char(sum(decode(to_char(first_time,'HH24'),'20',1,0)),'99') "20",
to_char(sum(decode(to_char(first_time,'HH24'),'21',1,0)),'99') "21",
to_char(sum(decode(to_char(first_time,'HH24'),'23',1,0)),'99') "22",
to_char(sum(decode(to_char(first_time,'HH24'),'23',1,0)),'99') "23" from v$log_history group by to_char(first_time,'DD-

MON-YYYY') order by 1;

7)logon_sesion.sql( Logon time for a session in Database)

select sid,serial#,to_char(logon_time,'DD-MON-YYYY:HH24:MI:SS'),program,module from v$session where sid=&1;

8)sessinfo_db.sql( Session information in Database)

select sid,serial#,program from v$session where sid=&1;

9)plan_query.sql( To get execution plan display of a query by providing sql_id from v$sql)

set lines 200;
set pages 1000;
select * from table(dbms_xplan.display_cursor('&1'));

10)sync_prod_db.sql(To check max sequence number in the primary database)

select thread#,max(sequence#) from v$archived_log group by thread#;

11)tablespace_space.sql( To get tablespace details type and space usage in Database)

set linesize 180
set pagesize 100
col "Name" for a30

SELECT d.tablespace_name "Name", d.contents "Type", d.status "Status",TO_CHAR(NVL(a.bytes / 1024 / 1024,

0),'99G999G990D90')
"Total Size (M)", TO_CHAR(NVL(NVL(f.bytes, 0),0)/1024/1024, '99G999G990D90')
"Free (MB)", TO_CHAR(NVL((NVL(f.bytes, 0)) / a.bytes * 100, 0), '990D00')
"Free %" FROM sys.dba_tablespaces d,
(select tablespace_name, sum(bytes) bytes from dba_data_files group by tablespace_name) a,
(select tablespace_name, sum(bytes) bytes from dba_free_space group by tablespace_name) f
WHERE d.tablespace_name = a.tablespace_name(+) AND d.tablespace_name = f.tablespace_name(+) order by "Free %";

12)drsync_check.sql( Check the applied and unapplied archives on the Standby Database side)

select sequence# from v$archived_log where applied='NO';
select max(sequence#) from v$archived_log where applied='YES';
exit;
/


13)invalids.sql( To count the invalids objects in the Database)

select count(*) from dba_objects where status='INVALID';

14) lock_session.sql( To find the locking session details in the Database)

set linesize 180
set pagesize 10000
col sql_fulltext for a100
select s1.username || '@'|| s1.machine
|| ' ( SID=' || s1.sid || ' ) is blocking '
 || s2.username || '@' || s2.machine || ' ( SID=' || s2.sid || ' ) '
AS blocking_status
from v$lock l1, v$session s1, v$lock l2, v$session s2
where s1.sid=l1.sid and s2.sid=l2.sid
 and l1.BLOCK=1 and l2.request > 0
and l1.id1 = l2.id1
and l2.id2 = l2.id2 ;

15) Temp_usage.sql( To find the temporary tablespace usage details)

SELECT A.tablespace_name tablespace,
             D.mb_total,
             SUM(A.used_blocks * D.block_size) / 1024/1024 mb_used,
             D.mb_total - SUM(A.used_blocks * D.block_size) / 1024/1024 mb_free
         FROM v$sort_segment A,
             (SELECT B.name, C.block_size, SUM(C.bytes) / 1024/1024 mb_total
                FROM v$tablespace B, v$tempfile C
               WHERE B.ts# = C.ts#
               GROUP BY B.name, C.block_size) D
         WHERE A.tablespace_name = D.name
        GROUP by A.tablespace_name, D.mb_total;

16) master_db_hc.sql( Master Health check script for Database,creates DBHEALTH.html report)

set feedback off;
set markup html on spool on;
spool DBHEALTH.html;

set termout off;

prompt ************  DAILY HEALTH CHECK SCRIPT DB************
prompt ************  SCRIPT FOR DB: RAFI ALVI   ************

prompt

prompt**---------------Time-----------------------------**
select sysdate from dual;

prompt**---------------Database Details-----------------------------**
prompt
SELECT DBID "DATABASE_ID", NAME "DB_NAME", LOG_MODE, OPEN_MODE, RESETLOGS_TIME  FROM V$DATABASE;
SELECT instance_name, status, to_char(startup_time,'DD-MON-YYYY HH24:MI:SS') "DB Startup Time"
FROM   sys.v_$instance;
column "Host Name" format a15;
column "Host Address" format a15;
SELECT UTL_INADDR.GET_HOST_ADDRESS "Host Address", UTL_INADDR.GET_HOST_NAME "Host Name" FROM DUAL;
SELECT BANNER "VERSION" FROM V$VERSION;
col "Database Size" format a15;
col "Free space" format a15;
select round(sum(used.bytes) / 1024 / 1024/1024 ) || ' GB' "Database Size",
round(free.p / 1024 / 1024/1024) || ' GB' "Free space"
from (select bytes from v$datafile
union all select bytes from v$tempfile
union all select bytes from v$log) used,
(select sum(bytes) as p from dba_free_space) free
group by free.p;

prompt**---------------SGA Component Size------------------------------**
set line 200;
select    pool, m_bytes from ( select     pool, to_char( trunc(sum(bytes)/1024/1024,2), '99999.99' ) as M_bytes
    from     v$sgastat
    where     pool is not null   group     by pool
    union
    select     name as pool, to_char( trunc(bytes/1024/1024,3), '99999.99' ) as M_bytes
    from     v$sgastat
    where    pool is null  order     by 2 desc
    ) UNION ALL
    select    'TOTAL' as pool, to_char( trunc(sum(bytes)/1024/1024,3), '99999.99' ) from v$sgastat;


prompt**---------------ASM SPACE DETAILS------------------------------**


select NAME,TOTAL_MB/1024 "Total",FREE_MB/1024 "Free",REQUIRED_MIRROR_FREE_MB/1024 "REQFORMIRROR",USABLE_FILE_MB/1024

"Usable" from v$asm_diskgroup;


prompt**---------------FRA USAGE and FREE SPACE------------------------------**

select (SPACE_LIMIT/1024/1024/1024)SPACE_LIMIT_gb,
       (SPACE_USED/1024/1024/1024)SPACE_USED_gb,
       (SPACE_RECLAIMABLE/1024/1024/1024)SPACE_RECLAIMABLE_gb,
       ((SPACE_LIMIT/1024/1024/1024)-(SPACE_USED/1024/1024/1024)+(SPACE_RECLAIMABLE/1024/1024/1024)) AVIALABLE_SPACE,
       ROUND((SPACE_USED-SPACE_RECLAIMABLE)/SPACE_LIMIT*100,1)"PERCENT_FULL_OF_100%"
       FROM V$RECOVERY_FILE_DEST;


prompt**--------------Monitoring Objects Created within 2 days---------------------**
select count(1) from user_objects where CREATED >= sysdate - 2;

prompt**--------------Counting Invalid object in Database---------------------------**
Select owner, object_type, count(*) from dba_objects where status='INVALID' group by  owner, object_type;

prompt**---------------Track Redolog Generation-------------------------------------**
select trunc(completion_time) logdate, count(*) logswitch, round((sum(blocks*block_size) / 1024 / 1024)) "REDO PER DAY

(MB)"
from v$archived_log
group by trunc(completion_time)
order by 1;

prompt**--------------Monitor DB Corruption--------------------**
set line 200;
SELECT r.FILE# AS df#, d.NAME AS df_name, t.NAME AS tbsp_name, d.STATUS,
    r.ERROR, r.CHANGE#, r.TIME FROM V$RECOVER_FILE r, V$DATAFILE d, V$TABLESPACE t
    WHERE t.TS# = d.TS# AND d.FILE# = r.FILE#;

prompt**---------------Tablespace Information--------------------------------------**
set pages 200;
select df.tablespace_name "Tablespace",
    totalusedspace "Used MB",
    (df.totalspace - tu.totalusedspace) "Free MB",
    df.totalspace "Total MB",
    round(100 * ( (df.totalspace - tu.totalusedspace)/ df.totalspace))"Pct.Free"
    from
    (select tablespace_name,
    round(sum(bytes) / 1048576) TotalSpace
    from dba_data_files
   group by tablespace_name) df,
   (select round(sum(bytes)/(1024*1024)) totalusedspace, tablespace_name
   from dba_segments
   group by tablespace_name) tu
   where df.tablespace_name = tu.tablespace_name
   order by "Pct.Free";

spool off;
set markup html off;

master_db_check.sh

#!/bin/sh
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export GRID_HOME=/u01/app/11.2.0/grid
export PATH=$PATH:$ORACLE_HOME/bin:.:$ORACLE_HOME/OPatch:$ORACLE_HOME/perl/bin:$GRID_HOME/bin
export TNS_ADMIN=$GRID_HOME/network/admin
export ORA_NLS10=$ORACLE_HOME/nls/data/9idata
export ORACLE_SID=TESTDB1
DBHEALTH="$(date +%d%m%y)"
mkdir /home/oracle/DBA/dailyreports/$DBHEALTH
cd /home/oracle/DBA/dailyreports/$DBHEALTH
sqlplus / as sysdba <<EOF
@/home/oracle/DBA/scripts/dailyhc.sql
exit;
EOF
rm -f $DBHEALTH.html
mv DBHEALTH.html $DBHEALTH.html

18)arch_del.sh( Archive log deletion script)

#!/bin/sh

export ORACLE_BASE=/u01/app/oracle

ORACLE_HOME="/u01/app/oracle/db"
export ORACLE_HOME

export GRID_HOME=/u01/app/11.2.0/grid

ORACLE_SID="TESTDB"
export ORACLE_SID

ORA_NLS10="/u01/app/oracle/db/nls/data/9idata"
export ORA_NLS10

PATH="/u01/app/oracle/db/bin:/usr/ccs/bin:/usr/sbin:/u01/app/oracle/db/jdk/jre/bin:$PATH:."
export PATH

LINK_CNTRL=""
export LINK_CNTRL

TNS_ADMIN="/u01/app/oracle/db/network/admin/TESTDB_host01"
export TNS_ADMIN


cd home/oracle/DBA/logs/archdel
rman target / log="delarch_$(date +%d%m%y_%H%M%S).log" <<HERE
delete noprompt archivelog all completed before 'sysdate - 4';
crosscheck archivelog all;
list expired archivelog all;
HERE


19) locks.sql (locks on objects)

SELECT o.owner, o.object_name, o.object_type, o.last_ddl_time, o.status, l.session_id, l.oracle_username, l.locked_mode
FROM dba_objects o, gv$locked_object l
WHERE o.object_id = l.object_id;


Enjoy Monitoring Databases..

Thanks,

Rafi




Sunday, March 12, 2017

Clonning Oracle EBS Applications and Database

Hi DBAs,

Clonning is one of the regular tasks done by Apps DBA & DBAs. I have done lot of clonning
in various ways,below is one such task.Hope you will like it. Theses steps are applicable for
Oracle EBS Release 12.1.3 and Database version is 11.2.0.4.0

Step 1: Source Environment Preparation Steps:
Run adpreclone.pl on DB and Application Tier
DB Tier:
cd $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME
perl adpreclone.pl dbtier
Application Tier:
cd $ADMIN_SCRIPTS_HOME
perl adpreclone.pl appsTier

Step 2: Take Backup of Database and Applications:
Database:
Use the below script to take full rman backup taken can be used for cloning on source Environment.
run
{
configure device type disk parallelism 6;
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
allocate channel c4 device type disk;
allocate channel c5 device type disk;
allocate channel c6 device type disk;
backup full database format '/backup/rman/EBSTEST/juneDD/EBSTEST_Full%d_%s_%T_%U' database;
backup format '/backup/rman/EBSTEST/juneNN/EBSTEST_ARCH%d_%s_%T_%U' archivelog all;
backup current controlfile format '/backup/rman/EBSTEST/juneNN/control%d%t_control.ctl';
release channel c1;
release channel c2;
release channel c3;
release channel c4;
release channel c5;
release channel c6;
}

Note: Replace DD with the date or any other directory name as required.

Application Tier:
Compress the top directories using the below commands:
tar –cf /backup/PROD/appl/appsst<date>.tar /erpapp/apps/apps_st
tar –cf /backup/PROD/appl/techst<date>.tar /erpapp/apps/tech_st


Step 3:Copy and Extract Files to DEV Node:

Copy the appsst.tar and techst.tar to respective locations in DEV and extract using:
tar –xf appsst.tar
tar –xf techst.tar

Step 4:Preparing DEV for Refresh:

a) Shutdown Applications and Database Services
b) Take DEV backup if required
c) Take a backup of pfile
d) sqlplus ‘/as sysdba’
startup mount
alter system enable restricted session;
drop database;
e) cp initTESTEBS.ora initEBSTEST.ora
vi initEBSTEST.ora
db_name=EBSTEST
control_files='+DATA/TESTEBS/CONTROLFILE/ctr<new1>.dbf','+DATA/TESTEBS/CONTROLFILE/ctr<new2>.dbf ','+DATA/TESTEBS/CONTROLFILE/ctr<new3>.dbf '
export ORACLE_SID=EBSTEST
startup nomount


Step 5: Restore and Recover Database
Restore controlfile from backup of source Database which should be copied using scp to the
target DB server.

rman target /
restore controlfile from ‘<PATH OF CONTROLFILE BACKUP>’
alter database mount;
crosscheck backup;
delete expired backup;
crosscheck backup;
list backup;
Note:Find the latest sequence and thread number and use them in place of “SEQUENCE” and “N” in below script.

run
{
set until sequence <SEQUENCE> thread <N>;
configure device type disk parallelism 6;
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
allocate channel c4 device type disk;
allocate channel c5 device type disk;
allocate channel c6 device type disk;
set newname for database to '+DATA';
restore database;
switch datafile all;
recover database;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
release channel c5;
release channel c6;
}
exit;

This completes the database restore and recovery.

Step 6: Configuring DEV Database

Now the Database is in Mount State with EBSTEST name.
Change the redolog file names of Thread 1 to +RECO
a. alter database rename file ‘+RECO/EBSTEST…’ to ‘NEW PATH’
alter database backup controlfile to trace
shut immediate
b. Rename trace file to ctrl.sql
vi ctrl.sql
Change “REUSE” to “SET”
Change “EBSTEST” to “EBSDEV”
Change “noresetlogs” to “resetlogs”
Change “archivelog” to “noarchivelog”
c. cp initEBSTEST.ora initEBSDEV.ora
Change db_name=AMDEV in initEBSDEV.ora
d. export ORACLE_SID=EBSDEV
e. sqlplus ‘/as sysdba’
@ctrl.sql
alter database open resetlogs;
f. Run Autoconfig

This completes the Database Cloning

Before starting cloning, modify FND Template as below:
cd $FND_TOP/admin/driver/fndtmpl.drv
txkWfClone.sh INSTE8_SETUP to txkWfClone.sh INSTALL_SETUP

Step 7:Clone Application Tier:
cd /erpapp/apps/apps_st/comn/clone/bin
perl adcfgclone.pl appsTier
Answer the prompts and do not start services once apply is complete

Step 8:Take a backup of context file 
vi $CONTEXT_FILE
Change the load balancing related parameters

Step 9:Start the EBS applications
5.11 adstrtal.sh apps/<password>

Post Cloning Steps:

a) Change logo
Upload the below logo to $OA_MEDIA/COMPLOGO_SC.jpg

b) Run the Data masking script:

 c) Cancel the Running/Pending Concurrent Requests
UPDATE fnd_concurrent_requests
SET phase_code = 'C', status_code = 'X'
WHERE status_code IN ('Q','I')
AND requested_start_date > SYSDATE
AND hold_flag = 'N';

UPDATE fnd_concurrent_requests
SET phase_code = 'C', status_code = 'X'
WHERE phase_code IN ('R','P');
Commit;

d) Disable Workflow Notification Mailer. Set the override address from OAM. Purge pending notifications.

UPDATE WF_NOTIFICATIONS
SET MAIL_STATUS = 'SENT', STATUS = 'CLOSED'
where status in ('OPEN', 'CANCELED')
and mail_status in ('MAIL', 'INVALID');

sqlplus apps/appspwd@db @$FND_TOP/patch/115/sql/wfntfqup.sql apps appspwd applsys

update wf_roles set NOTIFICATION_PREFERENCE=’DISABLED’,email_address=null;

e) Update per_all_people_f set email_address=null where email_address is not null;

f) Change the profile options:
Site Name to “DEV Instance”
Java Color Scheme to a color which is not same as PROD

e) Change the system, apps, sysadmin, xxcomp passwords
f) Add tempfile to Temp Tablespace
g) Change the URLs previously in Context File configured for Load Balancing in PROD and run autoconfig.

s_external_url http://testebs.COMPLOGO.ae:8000
s_login_page http://testebs.COMPLOGO.ae:8000/OA_HTML/AppsLogin
s_webentryhost testebs
s_webentrydomain COMPLOGO.ae

h) Update the Node information for all Concurrent Managers from Concurrent Manager Define to current node name and restart concurrent managers using adcmctl.sh
i) DEACTIVATE “Periodic Alert Scheduler”
j) Update Discoverer URL in Context File ( Application Tier - s_disco_url):
http://customsoadev.COMPLOGO.ae:7777
k) erpuat@COMPLOGO.ae shall be used as the Email ID for notifications in case if WF Notification Mailer is being enabled

Hope you followed clonning steps. Enjoy Apps DBA tasks.

Thanks,

Rafi

www.orasols.com


Wednesday, July 6, 2016

Changing Weblogic user password in Oracle EBS Applications 12.2.5

Hi All,

We can change the 'weblogic' user password in EBS Release 12.2.5 using txkUpdateEBSDomain.pl perl script. Before changing the 'weblogic'  user password we need to shutdown all the Middle Tier applications using 'adstpall.sh' script.

Below are the steps involved.

Step 1:Source the run filesystem  in the Oracle EBS Applications 12.2 or higher.

/erpapp/testebs/upgrade
. EBSapps.env run

Step 2:Change the password using txkUpdateEBSDomain.pl  perl script.

applmgr@host1:/erpapp/testebs/upgrade$ perl /erpapp/testebs/upgrade/fs1/EBSapps/appl/fnd/12.0.0/patch/115/bin/txkUpdateEBSDomain.pl -action=updateAdminPassword

Program: txkUpdateEBSDomain.pl started at Wed Mar 23 13:51:40 2016

AdminServer will be re started after changing WebLogic Admin Password
All Mid Tier services should be SHUTDOWN before changing WebLogic Admin Password
Confirm if all Mid Tier services are in SHUTDOWN state. Enter "Yes" to proceed or anything else to exit: yes

Enter the full path of Applications Context File [DEFAULT - /erpapp/testebs/upgrade/fs1/inst/apps/testebs_host1/appl/admin/testebs_host1.xml]:
Enter the WLS Admin Password:
Enter the new WLS Admin Password:
Enter the APPS user password:

Executing: /erpapp/testebs/upgrade/fs1/FMW_Home/webtier/perl/bin/perl /erpapp/testebs/upgrade/fs1/EBSapps/appl/ad/12.0.0/patch/115/bin/adProvisionEBS.pl  ebs-get-serverstatus -contextfile=/erpapp/testebs/upgrade/fs1/inst/apps/testebs_host1/appl/admin/testebs_host1.xml -servername=AdminServer -promptmsg=hide -logfile=/erpapp/testebs/upgrade/fs1/inst/apps/testebs_host1/logs/appl/rgf/TXK/txkUpdateEBSDomain_Wed_Mar_23_13_51_40_2016/EBSProvisioner.log
ERROR : Admin Server is not RUNNING, cannot proceed further.
Exiting..applmgr@host1:/erpapp/testebs/upgrade$ cd $ADMIN_SCRIPTS_HOME
applmgr@host1:/erpapp/testebs/upgrade/fs1/inst/apps/testebs_host1/admin/scripts$ ./adadminsrvctl.sh start

You are running adadminsrvctl.sh version 120.10.12020000.10

Enter the WebLogic Admin password:
Enter the APPS Schema password:
Starting WLS Admin Server...


Domain updated successfully
Restarting AdminServer with new Admin Password.

You are running adadminsrvctl.sh version 120.10.12020000.10

Stopping WLS Admin Server...
Refer /erpapp/testebs/upgrade/fs1/inst/apps/testebs_host1/logs/appl/admin/log/adadminsrvctl.txt for details

AdminServer logs are located at /erpapp/testebs/upgrade/fs1/FMW_Home/user_projects/domains/EBS_domain_testebs/servers/AdminServer/logs

adadminsrvctl.sh: exiting with status 0

adadminsrvctl.sh: check the logfile /erpapp/testebs/upgrade/fs1/inst/apps/testebs_host1/logs/appl/admin/log/adadminsrvctl.txt for more information ...


You are running adnodemgrctl.sh version 120.11.12020000.12


NodeManager log is located at /erpapp/testebs/upgrade/fs1/FMW_Home/wlserver_10.3/common/nodemanager/nmHome1

adnodemgrctl.sh: exiting with status 0

adnodemgrctl.sh: check the logfile /erpapp/testebs/upgrade/fs1/inst/apps/testebs_host1/logs/appl/admin/log/adnodemgrctl.txt for more information ...


You are running adadminsrvctl.sh version 120.10.12020000.10

Starting WLS Admin Server...
Refer /erpapp/testebs/upgrade/fs1/inst/apps/testebs_host1/logs/appl/admin/log/adadminsrvctl.txt for details

AdminServer logs are located at /erpapp/testebs/upgrade/fs1/FMW_Home/user_projects/domains/EBS_domain_testebs/servers/AdminServer/logs

adadminsrvctl.sh: exiting with status 0

adadminsrvctl.sh: check the logfile /erpapp/testebs/upgrade/fs1/inst/apps/testebs_host1/logs/appl/admin/log/adadminsrvctl.txt for more information ...


*************** IMPORTANT ****************
WebLogic Admin Password is changed.
Restart all application tier services using control scripts.
********************************************

Step 3: Start the EBS applications using 'adstral.sh' 
$ADMIN_SCRIPTS_HOME
$./adstral.sh

Step 4:Login to admin console for Oracle EBS environment and verify the 'weblogic' user password.

Verify by login to admin console using the 'weblogic' user and make sure all the managed servers are up & running.


Happy Apps DBA Tasks,....


Thanks,

Rafi

Tuesday, January 12, 2016

Exciting opportunity for oracle dba + siebel admin for UAE based company

Hi All,

Please email your resume @  rafidba.alvi@gmail.com for  exciting opportunity for oracle dba + sieble admin in UAE for reputed company. Looking for 5 yrs + experience.

Note: Siebel administration is mandatory.



Thanks,

Rafi

Saturday, August 29, 2015

Difference in location of Log files in Oracle EBS Release 12.1.3 and Oracle EBS Release 12.2.4

Hi All,

Lot of companies planning to Upgrade from Oracle EBS Release 12.1.3(Rel 12.1.x)  to Oracle EBS Release 12.2.4(Rel 12.2.x). Few of the companies already upgraded.

The Log files locations in Oracle EBS Release 12.1.3 and  Oracle EBS R 12.2.4  are given below:

1.Instance startup and configuration Log files are located for INST_TOP in Oracle Release 12.1.3 are below:

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

2. Log files related to cloning in R12.1.3 are as below:

 Preclone log files in source instance
Database Tier – $ORACLE_HOME/appsutil/log/$CONTEXT_NAME/(StageDBTier_MMDDHHMM.log)
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_.log
Apps Tier – $INST_TOP/admin/log/ApplyAppsTier_.log

3. Patching related log files in R12.1.3 are as below:

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


4. Autoconfig related log files in R12.1.3 are as below:

a) Database Tier Autoconfig log :
$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/MMDDHHMM/adconfig.log
$ORACLE_HOME/appsutil/log/$CONTEXT_NAME/MMDDHHMM/NetServiceHandler.log


b) Application Tier Autoconfig log : 
$INST_TOP/apps/$CONTEXT_NAME/admin/log/$MMDDHHMM/adconfig.log

5.Autoconfig context file location in R12.1.3 :
$INST_TOP/apps/$CONTEXT_NAME/appl/admin/$CONTEXT_NAME.xml


6)R12.1.3 Installation Logs in R12.1.3 are as below:

 Database Tier Installation
RDBMS_ORACLE_HOME/appsutil/log/$CONTEXT_NAME/.log
RDBMS_ORACLE_HOME/appsutil/log/$CONTEXT_NAME/ApplyDBTechStack_.log
RDBMS_ORACLE_HOME/appsutil/log/$CONTEXT_NAME/ohclone.log
RDBMS_ORACLE_HOME/appsutil/log/$CONTEXT_NAME/make_.log
RDBMS_ORACLE_HOME/appsutil/log/$CONTEXT_NAME/installdbf.log
RDBMS_ORACLE_HOME/appsutil/log/$CONTEXT_NAME/adcrdb_.log RDBMS_ORACLE_HOME/appsutil/log/$CONTEXT_NAME/ApplyDatabase_.log
RDBMS_ORACLE_HOME/appsutil/log/$CONTEXT_NAME//adconfig.log
RDBMS_ORACLE_HOME/appsutil/log/$CONTEXT_NAME//NetServiceHandler.log
Application Tier Installation
$INST_TOP/logs/.log
$APPL_TOP/admin/$CONTEXT_NAME/log/ApplyAppsTechStack.log
$INST_TOP/logs/ora/10.1.2/install/make_.log
$INST_TOP/logs/ora/10.1.3/install/make_.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_.log
$APPL_TOP/admin/$CONTEXT_NAME/log//adconfig.log
$APPL_TOP/admin/$CONTEXT_NAME/log//NetServiceHandler.log
Inventory Registration:
$Global Inventory/logs/cloneActions.log
$Global Inventory/logs/oraInstall.log
$Global Inventory/logs/silentInstall.log

7) Log files related with relink,Network,OUT inventory logs for R12.1.3 are as below:
 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


In EBS R12.2.4 the log files locations are as below:

1)Log files file Online patching (adop) in EBS R12.2.4 are in below location:

The adop log files are located on the non-editioned file system (fs_ne), under:

$NE_BASE/EBSapps/log/adop/<adop_session_id>/<phase>_<date>_<time>/<context_name>/log

This log directory will contain patch logs,patch worker logs.

adop(phase=fs_clone) Online pathcing filesystem cloning process related log files are found under:

$INST_TOP/admin/log


2)Log files for Autoconfig process in Oracle EBS R12.2.4 are below:

On Applicaion Tier: $INST_TOP/admin/log/<MMDDhhmm>
On Database Tier: $ORACLE_HOME/appsutil/log/<CONTEXT_NAME>/<MMDDhhmm>

3)Log files for start/stop of services from $ADMIN_SCRIPTS_HOME

In below directory we will find log files related to start/stop process of oacore, forms, apache, opmn,
weblogic admin server/node manager:

$LOG_HOME/appl/admin/log


4)Log/Out files for Concurrent programs/managers in Oracle R12.2.4 are in below location:

Log/Out files for Oracle Release 12.2 are stored in Non-Editioned filesystem(NE).

Log files: $APPLCSF/$APPLLOG (or $NE_BASE/inst/<CONTEXT_NAME>/logs/appl/conc/log)
Out files: $APPLCSF/$APPLOUT (or $NE_BASE/inst/<CONTEXT_NAME>/logs/appl/conc/out)


5)Log files for OPMN and OHS processes in Oracle R12.2.4 are in below location:

Below directory contains log files related OPMN process(opmn.log),
OPMN Debug logs(debug.log), HTTP Transaction logs (access.log),security settings related logs.

$IAS_ORACLE_HOME/instances/<ohs_instance>/diagnostics/logs


6)Log file for Weblogic Node Manager in Oracle R12.2.4 are in below location:

Log file is generated by Node Manager and contains data for all domains that
are controlled by Node Manager on a given physical machine.

$FMW_HOME/wlserver_10.3/common/nodemanager/nmHome1/nodemanager.log


7)Log file for Weblogic  in Oracle R12.2.4 for Oracle Management Service are below

Initial settings for AdminServer and Domain level information is written in this log file

$EBS_DOMAIN_HOME/sysman/log


8)Log files for server processes initiated through Weblogic in Oracle R12.2.4 are in below location:
Stdout and stderr messages generated by the forms, oafm and oacore services are located
at NOTICE severity level or higher are written by Weblogic Node Manager to below directory.

$EBS_DOMAIN_HOME/servers/<server_name>/logs/<server_name>.out


Enjoy Oracle EBS R12.2 learning and Performing tasks.


Thanks,

Rafi.

Saturday, May 30, 2015

Difference between Oracle EBS R12.1.3 and Oracle EBS R12.2.4

Hi,

It's been a long time since I wrote a blog post, I was busy working with Oracle EBS upgrades,content server setup, and Oracle SOA 11g upgrade projects. We have recently upgraded Oracle EBS 12.1.3 to Oracle EBS R12.2.4.

There are lot of difference.Below are the key ones, I will try to extend this post based on difference noticed by me as I work more rigorously.

1)In R12.2 we have two kind of filesystems fs1(run filesystem) and fs2(patch filesystem) where as In R12.1.3 we only deal with one application filesystem.

2)In R12.2 we have the Application servers replaced by Weblogic server to manage the technology statck.
The 10.1.3 Home is replaced by FMW  (Fusion Middleware Home) i.e $FMW_HOME

The major change in R12.2 is involvement of Weblogic server to manager all the forms,oacore servers
where as in R12.1.3 we had the Application server 10.1.3 to manage the web home or Java Home

3)The  adpatch(patching) in R 12.1.3 is replaced by adop(online patching) in R 12.2.4

adop(online patching) utility involves 5 phases to apply a standard patch in Oracle EBS R12.2.
adop involves 5 phases
1)prepare => prepare phase involves synchronization of the filesystems fs1 (run ,filesystem) and fs2(patch filesystem), filesystems are inter changeable.
2)apply=>In this phase we apply all the patches
Note: These patches need to be copied in fs_ne (non editioned filesystems)
3)finalize =>In this phase we are getting ready for cutover phase
4)cutover =>In cutover phase the filesystem switchover takes place. Previously the filesystem which was patch filesystem will now become run filesystem.)
5) cleanup =>In cleanup phase all the obsolute objects gets compiled .

adop online patching utility doesn't require downtime. It involves minimal downtime during cutover phase where switching of filesystems happens. We can apply lot of patches and do cutover any time to minimize downtime

where as in  adpatch we just apply patch most of the times by bringing down applications or in hot patch mode.

4)'Apps' user Password change:
The 'apps' user password change involve 3 steps in R12.2.4
1)Change the password with FNDCPASS
2)Change the password in EBS Datasource from Weblogic admin console
3)Run AutoconfigCheck below link from Bala for detail steps:

http://balaoracledba.com/2014/05/15/r12-2-changing-apps-or-applsys-password-on-r12-2-instance/

Where as in R 12.1.3 It only involves 2 steps:
1)Change the password with FNDCPASS
2)Run Autoconfig
5)Log files locations:
All the oacore,forms log files are placed in $EBS_DOMAIN_HOME in R12.2. I will explain this in details in my upcoming posts.
Where as in R12.1.3 all the logs for oacore,forms are under $LOG_HOME/ora/10.1.3

I will come up with lot of difference in this thread so that we all gets comfortable with Oracle EBS Release 12.2.4
 Happy Oracle Apps DBA reading and learning EBS R12.2.4...

Note:Check www.orasols.com for the services we offer.