Sunday, September 9, 2018

rman_arch_backup.sh

rman_arch_backup.sh

#!/bin/ksh
# Author : Ready
# Description : This script will perform Archive backup
# Date : 30-Aug-2012
# Parameters :
#       1: Backup location
# If no parameters givenn bckup will be taken at
# /backup/rman_9f46//oracle
#############################################################
#set -x

export DB_NAME=`echo ${ORACLE_SID} | cut -c 1-8`
export DATE=`date '+%Y%m%d'`
export TARGET_CONNECT_STR=/
export LOG_DIR=${ORACLE_HOME}/rman_scripts/logs

if [ $# -gt 1 ]; then
   echo " Script Failed: Usage Error!"
   echo " Expected Usage: $0 backup_location "
   echo "                   OR                    "
   echo " Expected Usage: $0 "
   echo " backup_location -- Target location of the backup. "
   echo " If no parameters given, backup will be located at /backup/rman_9f46/${DB_NAME}/oracle "
   exit 1
elif [ $# -eq 1 ]; then
   export BKP_DIR=$1
else
   export BKP_DIR=/backup/rman_9f46/${DB_NAME}/oracle
fi


if [ -d ${LOG_DIR} ]; then
RMAN_ARCH_LOG_FILE=${LOG_DIR}/rman_${DB_NAME}_arch_${DATE}.log
else
mkdir -p ${ORACLE_HOME}/rman_scripts/logs
fi

pmon_count=`ps -ef|grep pmon|grep -c $ORACLE_SID`
if [ $pmon_count -eq 0 ]; then
        echo " Database is down"
        exit;
fi

mkdir -p ${BKP_DIR}/${DATE}/arch
chmod -R  770 ${BKP_DIR}/${DATE}
export bkparchdir=${BKP_DIR}/${DATE}/arch


CMD="
rman msglog ${RMAN_ARCH_LOG_FILE} append <connect target $TARGET_CONNECT_STR
crosscheck archivelog all;
RUN {

ALLOCATE CHANNEL ch00 TYPE DISK;
ALLOCATE CHANNEL ch01 TYPE DISK;
BACKUP
    FORMAT '${bkparchdir}/arch-s%s-p%p-t%t-arch'
    FILESPERSET 40
    TAG '${DB_NAME}'
    ARCHIVELOG
        ALL
        delete input
;

RELEASE CHANNEL ch00;
RELEASE CHANNEL ch01;

}
EOF
"

echo Script $0 > $RMAN_ARCH_LOG_FILE
echo ==== started on `date` ==== >> $RMAN_ARCH_LOG_FILE
echo >> $RMAN_ARCH_LOG_FILE


sh -c "$CMD" >> $RMAN_ARCH_LOG_FILE
RSTAT=$?

if [ "$RSTAT" = "0" ]
then
    LOGMSG="Backup completed successfully"

else
    LOGMSG=" Backup Failed with error."
fi

echo >> $RMAN_ARCH_LOG_FILE
echo Script $0 >> $RMAN_ARCH_LOG_FILE
echo ==== $LOGMSG on `date` ==== >> $RMAN_ARCH_LOG_FILE
echo "RMAN backup logfile $RMAN_ARCH_LOG_FILE"

RMAN FULL BACKUP


rman_db_full_backup.sh

#!/bin/ksh
# Author : DBA
# Description : This script will perform full database backup
#               including Datafiles,cf files and archive files
# Date : 30-Aug-2012
# Parameters :
#       1: Backup location
# If no parameters givenn bckup will be taken at
# /backup/rman_9f46//oracle
#############################################################
#set -x
. /p01/PROD/oracle/product/12.1.0.2/PROD1_HOST01.env
export DB_NAME=`echo ${ORACLE_SID} | cut -c 1-8`
#export DATE=`date '+%Y%m%d'`
export DATE=`date '+%Y%m%d_%H%M%S'`
export TARGET_CONNECT_STR=/
export LOG_DIR=${ORACLE_HOME}/rman_scripts/logs

if [ $# -gt 1 ]; then
   echo " Script Failed: Usage Error!"
   echo " Expected Usage: $0 backup_location "
   echo "                   OR                    "
   echo " Expected Usage: $0 "
   echo " backup_location -- Target location of the backup. "
   echo " If no parameters given, backup will be located at /backup/rman_9f46/${DB_NAME}/oracle "
   exit 1
elif [ $# -eq 1 ]; then
   export BKP_DIR=$1
else
   export BKP_DIR=/backup/rman_9f46/${DB_NAME}/oracle
fi


if [ -d ${LOG_DIR} ]; then
RMAN_LOG_FILE=${LOG_DIR}/rman_${DB_NAME}_${DATE}.log
#snapshot_path=${LOG_DIR}/snapcf_${DB_NAME}_${DATE}.f
else
mkdir -p ${ORACLE_HOME}/rman_scripts/logs
#snapshot_path=${LOG_DIR}/snapcf_${DB_NAME}_${DATE}.f
fi

#snapshot_set=$(echo " set snapshot controlfile name to @" $snapshot_path  "@;" |sed -e s/@\ /\ \'/g -e s/\ \@/\'/)

pmon_count=`ps -ef|grep pmon|grep -c $ORACLE_SID`
if [ $pmon_count -eq 0 ]; then
        echo " Database is down"
        exit;
fi

mkdir -p ${BKP_DIR}/${DATE}/db
chmod -R  770 ${BKP_DIR}/${DATE}
export bkpdbdir=${BKP_DIR}/${DATE}/db


CMD="

rman msglog ${RMAN_LOG_FILE} append <connect target $TARGET_CONNECT_STR

${snapshot_set}

RUN {

sql 'alter system archive log current';
  # Backup Datafiles
  ALLOCATE CHANNEL ch00 TYPE DISK;
  ALLOCATE CHANNEL ch01 TYPE DISK;
  ALLOCATE CHANNEL ch02 TYPE DISK;
  ALLOCATE CHANNEL ch03 TYPE DISK;
  ALLOCATE CHANNEL ch04 TYPE DISK;
  ALLOCATE CHANNEL ch05 TYPE DISK;
  ALLOCATE CHANNEL ch06 TYPE DISK;
  ALLOCATE CHANNEL ch07 TYPE DISK;
BACKUP AS COMPRESSED BACKUPSET DATABASE FILESPERSET 15 FORMAT '$bkpdbdir/%d_db_u%u_s%s_p%p_t%t_db' TAG '$DB_NAME' INCLUDE CURRENT CONTROLFILE;

# Restore Point

sql 'create restore point ${DB_NAME}_${DATE}';
# For an offline backup, remove the following sql statement
sql 'alter system archive log current';

# Backup Archived Logs

BACKUP ARCHIVELOG ALL DELETE INPUT FORMAT '$bkpdbdir/arch-s%s-p%p-t%t-arch';
# Control file backup

BACKUP CURRENT CONTROLFILE FORMAT '$bkpdbdir/bk_u%u_s%s_p%p_t%t_bk' TAG '$DB_NAME';

  RELEASE CHANNEL ch00;
  RELEASE CHANNEL ch01;
  RELEASE CHANNEL ch02;
  RELEASE CHANNEL ch03;
  RELEASE CHANNEL ch04;
  RELEASE CHANNEL ch05;
  RELEASE CHANNEL ch06;
  RELEASE CHANNEL ch07;
}
EOF
"

echo Script $0 > $RMAN_LOG_FILE
echo ==== started on `date` ==== >> $RMAN_LOG_FILE
echo >> $RMAN_LOG_FILE


sh -c "$CMD" >> $RMAN_LOG_FILE
RSTAT=$?

if [ "$RSTAT" = "0" ]
then
LOGMSG="Backup completed successfully"
(echo "${DB_NAME} Backup Sucessful"; uuencode $RMAN_LOG_FILE $RMAN_LOG_FILE)| mailx -s "${DB_NAME} Backup Sucessful" oracle@XX.com
else
 LOGMSG=" Backup Failed with error."
(echo "${DB_NAME} Backup Failed please refer log file"; uuencode $RMAN_LOG_FILE $RMAN_LOG_FILE)| mailx -s "${DB_NAME} Backup Failed" oracle@oracle.com
fi

echo >> $RMAN_LOG_FILE
echo Script $0 >> $RMAN_LOG_FILE
echo ==== $LOGMSG on `date` ==== >> $RMAN_LOG_FILE
echo "RMAN backup logfile $RMAN_LOG_FILE"


EBS Sanity Script


SQL>conn apps/r0ck#5st3er
SQL>spool health_check_apps_db_JT1.txt

set pages 1000
set linesize 135
col PROPERTY_NAME for a25
col PROPERTY_VALUE for a15
col DESCRIPTION for a35
col DIRECTORY_PATH for a70
col directory_name for a25
col OWNER for a10
col DB_LINK for a40
col HOST for a20
col "User_Concurrent_Queue_Name" format a50 heading 'Manager'
col "Running_Processes" for 9999 heading 'Running'
set head off
set feedback off
set echo off

break on utl_file_dir

select '--------------------------------------------------------------------------------' from dual;
select '-----------------------     Database Checks    ---------------------------------' from dual;
select '--------------------------------------------------------------------------------' from dual;
Prompt
select '************************ Getting Database Information  *************' from dual ;

select 'Database Name..................... : '||name from v$database;
select 'Database Status................... : '||open_mode from v$database;
select 'Archiving Status.................. : '||log_mode  from v$database;
select 'Global Name....................... : '||global_name from global_name;
select 'Creation Date..................... : '||to_char(created,'DD-MON-YYYY HH24:MI:SS') from v$database;
select 'Checking For Missing File......... : '||count(*) from v$recover_file;
select 'Checking Missing File Name ....... : '||count(*) from v$datafile where name like '%MISS%';
select 'Total SGA ........................ : '||round(sum(value)/(1024*1024))||' MB' from v$sga ;
select 'Database Version.................. : '||version from v$instance;
select 'Temporary Tablespace.............. : '||property_value from database_properties
                                                where property_name like 'default_temp_tablespace';
select 'Apps Temp Tablespace.............. : '||temporary_tablespace from dba_users where username like '%APPS%';
select 'Temp Tablespace size.............. : '||sum(maxbytes/1024/1024/1024)||' GB' from dba_temp_files group by tablespace_name;
select 'No of Invalid Object ............. : '||count(*) from dba_objects where status = 'INVALID' ;
select 'service Name...................... : '||value from v$parameter2 where name='service_names';
select 'plsql code type................... : '||value from v$parameter2 where name='plsql_code_type';
select 'plsql subdir count................ : '||value from v$parameter2 where name='plsql_native_library_subdir_count';
select 'plsql native library dir.......... : '||value from v$parameter2 where name='plsql_native_library_dir';
select 'Shared Pool Size.........,........ : '||(value/1024/1024) ||' MB' from v$parameter where name='shared_pool_size';
select 'Log Buffer........................ : '||(value/1024/1024) ||' MB' from v$parameter where name='log_buffer';
select 'Buffer Cache...................... : '||(value/1024/1024) ||' MB' from v$parameter where name='db_cache_size';
select 'Large Pool Size................... : '||(value/1024/1024) ||' MB' from v$parameter where name='large_pool_size';
select 'Java Pool Size.................... : '||(value/1024/1024) ||' MB' from v$parameter where name='java_pool_size';
select 'utl_file_dir...................... : '||value from v$parameter2 where name='utl_file_dir';
select directory_name||'.................... : '||directory_path from all_directories where rownum  < 15 ;

select '************************ Getting Apps Information *****************' from dual ;

select 'Home URL.......................... : '||home_url from apps.icx_parameters ;
select 'Session Cookie.................... : '||session_cookie from apps.icx_parameters ;
select 'Applicaiton Database ID........... : '||fnd_profile.value('apps_database_id') from dual;
select 'GSM Enabled....................... : '||fnd_profile.value('conc_gsm_enabled') from dual;
select 'Maintainance Mode................. : '||fnd_profile.value('apps_maintenance_mode') from dual;
select 'Site Name......................... : '||fnd_profile.value('Sitename')from dual;
select 'Bug Number........................ : '||bug_number from ad_bugs where bug_number='2728236';

select '************************ Doing Workflow Checks ********************' from dual ;

select 'No Open Notifications............. : '||count(*) from wf_notifications where mail_status in('MAIL','INVALID','OPEN');
select 'Name(wf_systems).................. : '||name from wf_systems;
select 'Display Name(wf_systems).......... : '||display_name from wf_systems;
select 'Address........................... : '||address from wf_agents;
select 'Workflow Mailer Status............ : '||component_status from applsys.fnd_svc_components
                                                where component_name like 'Workflow Notification Mailer';
select 'Test Address...................... : '||b.parameter_value
                                                from fnd_svc_comp_param_vals_v a, fnd_svc_comp_param_vals b
                                                where a.parameter_id=b.parameter_id
                                                and a.parameter_name in ('TEST_ADDRESS');
select 'From Address...................... : '||b.parameter_value
                                                from fnd_svc_comp_param_vals_v a, fnd_svc_comp_param_vals b
                                                where a.parameter_id=b.parameter_id
                                                and a.parameter_name in ('FROM');
select 'WF Admin Role..................... : '||text from wf_resources where name = 'WF_ADMIN_ROLE' and  rownum =1;


Prompt
Prompt Getting Apps Node Info
Prompt ************************
select Node_Name,'........................ : '||server_id from fnd_nodes;
select server_type||'......................: '||name from fnd_app_servers, fnd_nodes
                                                where fnd_app_servers.node_id =fnd_nodes.node_id;

select '************************ Doing Conc Mgr Checks  ********************' from dual ;

Prompt Getting Con Mgr Status
Prompt ************************
Prompt
Prompt Manager Name                                                 Hostname          No of Proc Running
Prompt ~~~~~~~~~~~~                                                 ~~~~~~~~          ~~~~~~~~~~~~~~~~~~
set lines 145
Column Target_Node   Format A12
select User_Concurrent_Queue_Name,'....... : '||Target_Node||' ...... : '||Running_Processes
                                                from fnd_concurrent_queues_vl
                                                where Running_Processes = Max_Processes
                                                and Running_Processes > 0;

Prompt
Prompt Getting Pending Request
Prompt ***********************
--select user_concurrent_program_name||'........ : '||request_id
--                                                  from fnd_concurrent_requests r, fnd_concurrent_programs_vl p, fnd_lookups s, fnd_lookups ph
--                                                  where r.concurrent_program_id = p.concurrent_program_id
--                                                 and r.phase_code = ph.lookup_code
--                                                and ph.lookup_type = 'CP_PHASE_CODE'
--                                               and r.status_code = s.lookup_code
--                                                  and s.lookup_type = 'CP_STATUS_CODE'
--                                                  and ph.meaning ='Pending'
--                                                  and rownum < 10
--                                                  order by to_date(actual_start_date, 'dd-MON-yy hh24:mi');
--

Prompt
Prompt Getting Workflow Components Status
Prompt **********************************

set pagesize 1000
set linesize 125
col COMPONENT_STATUS for a20
col COMPONENT_NAME for a45
col STARTUP_MODE for a12

select fsc.COMPONENT_NAME,
fsc.STARTUP_MODE,
fsc.COMPONENT_STATUS,
fcq.MAX_PROCESSES TARGET,
fcq.RUNNING_PROCESSES ACTUAL
from APPS.FND_CONCURRENT_QUEUES_VL fcq, APPS.FND_CP_SERVICES fcs,
APPS.FND_CONCURRENT_PROCESSES fcp, fnd_svc_components fsc
where fcq.MANAGER_TYPE = fcs.SERVICE_ID
and fcs.SERVICE_HANDLE = 'FNDCPGSC'
and fsc.concurrent_queue_id = fcq.concurrent_queue_id(+)
and fcq.concurrent_queue_id = fcp.concurrent_queue_id(+)
and fcq.application_id = fcp.queue_application_id(+)
and fcp.process_status_code(+) = 'A'
order by fcp.OS_PROCESS_ID, fsc.STARTUP_MODE;

select '--------------------------------------------------------------------------------' from dual;
select '-----------------------     End Of Database Checks  ----------------------------' from dual;
select '--------------------------------------------------------------------------------' from dual;

SQL>spool off

how to decrypt the weblogic password





HI All,

To decrypt the WebLogic password follow the below steps


1)Take the adminserver boot. Properties details

[applmgr@host1 security]$ cat $EBS_DOMAIN_HOME/servers/AdminServer/security/boot.properties
#Sun May 08 17:51:57 EDT 2016
password={AES}RL4vuk2Y1rreNBi0EmKNt0x8zY10ckmKxmv+j64CGak\=
username={AES}YOyAsoH6TA9BvK2qxjayQh3NvkQ4W3/3pygLNc4vWUM\=
[applmgr@host1 security]$


2)create decrypt.py file in


[applmgr@host1 security]$ cd $EBS_DOMAIN_HOME/security

[applmgr@host1 security]$ cat decrypt.py
from weblogic.security.internal import *
from weblogic.security.internal.encryption import *
encryptionService = SerializedSystemIni.getEncryptionService(".")
clearOrEncryptService = ClearOrEncryptedService(encryptionService)

# Take encrypt password from user
pwd = raw_input("Paste encrypted password ({AES}fk9EK...): ")

# Delete unnecessary escape characters
preppwd = pwd.replace("\\", "")

# Display password
print "Decrypted string is: " + clearOrEncryptService.decrypt(preppwd)
[applmgr@host1 security]$

[applmgr@host1 security]$ pwd
/erppwrc1/erpapp/fs2/FMW_Home/user_projects/domains/EBS_domain_erppwrc1/security

3) source the   setDomainEnv.sh

[applmgr@host1 security]$ cd $EBS_DOMAIN_HOME/bin
[applmgr@host1 bin]$ ls -ltr
total 56
drwxr-x--- 2 applmgr oinstall  4096 May  7 15:29 service_migration
drwxr-x--- 2 applmgr oinstall  4096 May  7 15:29 server_migration
drwxr-x--- 2 applmgr oinstall  4096 May  7 15:29 nodemanager
-rwxr-x--- 1 applmgr oinstall  2010 May  7 15:29 secureWebLogic.sh
-rwxr-x--- 1 applmgr oinstall  2003 May  7 15:29 stopWebLogic.sh
-rwxr-x--- 1 applmgr oinstall  2473 May  7 15:29 stopManagedWebLogic.sh
-rwxr-x--- 1 applmgr oinstall  5704 May  7 15:29 startWebLogic.sh
-rwxr-x--- 1 applmgr oinstall  3251 May  7 15:29 startManagedWebLogic.sh
-rwxr-x--- 1 applmgr oinstall 17349 May  7 15:29 setDomainEnv.sh
[applmgr@host1 bin]$. ./setDomainEnv.sh


4)run the decrypt password script


[applmgr@host1 security]$ cd $EBS_DOMAIN_HOME/security
[applmgr@host1 security]$ ls -ltr
total 40
-rw-r----- 1 applmgr oinstall   486 May  7 15:29 decrypt.py
-rw-r----- 1 applmgr oinstall 22654 May  7 15:29 XACMLRoleMapperInit.ldift
-rw-r----- 1 applmgr oinstall    64 May  7 15:29 SerializedSystemIni.dat
-rw-r----- 1 applmgr oinstall  2398 May  7 15:29 DefaultRoleMapperInit.ldift
-rw-r----- 1 applmgr oinstall  3301 May  8 17:50 DefaultAuthenticatorInit.ldift
[applmgr@host1 security]$

[applmgr@host1 security]$ java weblogic.WLST decrypt.py

Initializing WebLogic Scripting Tool (WLST) ...

Welcome to WebLogic Server Administration Scripting Shell

Type help() for help on available commands

Paste encrypted password ({AES}fk9EK...): {AES}RL4vuk2Y1rreNBi0EmKNt0x8zY10ckmKxmv+j64CGak\=
Decrypted string is: weblogic123