MY NOTEPAD
set lines 200 pages 200; col END_TIME for a20; col ELAPSED_TIME for a25; col START_TIME for a20 SELECT T.SESSION_KEY, T.INPUT_TYPE, T.STATUS, T.SUM_BACKUP_PIECES_IN_GB, T.START_TIME, T.END_TIME, T.SECONDS ELAPSED_TIME FROM ( SELECT SESSION_KEY, INPUT_TYPE, STATUS, OUTPUT_BYTES/1024/1024/1024 SUM_BACKUP_PIECES_IN_GB, TO_CHAR (START_TIME, 'dd/mm/yyyy hh24:mi') START_TIME, TO_CHAR (END_TIME, 'dd/mm/yyyy hh24:mi') END_TIME, TIME_TAKEN_DISPLAY SECONDS FROM V$RMAN_BACKUP_JOB_DETAILS WHERE INPUT_TYPE='ARCHIVELOG' ORDER BY SESSION_KEY DESC) T WHERE ROWNUM <= 1; ================ ASM disk group free space ============== set sqlblanklines on set lines 180 set pages 999le col "Group Name" form a25 col "Disk Name" form a30 col "State" form a15 col "Type" form a7 col "gbtotal_Gross" form 9999999999 col gbtotal_Free_Gross form 9999999999 col "Free GB" form 9999999999 col FreePerc form 999.99 select group_number , name "Group Name", state , type , total_mb/1024 gbtotal_Gross,free_mb/1024 gbtotal_Free_Gross, (total_mb-REQUIRED_MIRROR_FREE_MB)/decode(type,'EXTERN',1,'NORMAL',2,'HIGH',3)/1024 "Total GB", (USABLE_FILE_MB/1024) "Free GB", (USABLE_FILE_MB/1024)/((total_mb-REQUIRED_MIRROR_FREE_MB)/decode(type,'EXTERN',1,'NORMAL',2,'HIGH',3)/1024)*100 FreePerc from v$asm_diskgroup; ================== Full backup status =================== col END_TIME for a20; col ELAPSED_TIME for a25; SELECT T.SESSION_KEY, T.INPUT_TYPE, T.STATUS, T.SUM_BACKUP_PIECES_IN_GB, T.START_TIME, T.END_TIME, T.SECONDS ELAPSED_TIME FROM ( SELECT SESSION_KEY, INPUT_TYPE, STATUS, OUTPUT_BYTES/1024/1024/1024 SUM_BACKUP_PIECES_IN_GB, TO_CHAR (START_TIME, 'dd/mm/yyyy hh24:mi') START_TIME, TO_CHAR (END_TIME, 'dd/mm/yyyy hh24:mi') END_TIME, TIME_TAKEN_DISPLAY SECONDS FROM V$RMAN_BACKUP_JOB_DETAILS WHERE INPUT_TYPE='DB FULL' ORDER BY SESSION_KEY DESC) T WHERE ROWNUM <= 1; =============Percentage completion ================ col dbsize_mbytes for 99,999,990.00 justify right head "DBSIZE_MB" col input_mbytes for 99,999,990.00 justify right head "READ_MB" col output_mbytes for 99,999,990.00 justify right head "WRITTEN_MB" col output_device_type for a10 justify left head "DEVICE" col complete for 990.00 justify right head "COMPLETE %" col compression for 990.00 justify right head "COMPRESS|% ORIG" col est_complete for a20 head "ESTIMATED COMPLETION" col recid for 9999999 head "ID" select recid , output_device_type , dbsize_mbytes , input_bytes/1024/1024 input_mbytes , output_bytes/1024/1024 output_mbytes , (output_bytes/input_bytes*100) compression , (mbytes_processed/dbsize_mbytes*100) complete , to_char(start_time + (sysdate-start_time)/(mbytes_processed/dbsize_mbytes),'DD-MON-YYYY HH24:mi:SS') est_complete from v$rman_status rs , (select sum(bytes)/1024/1024 dbsize_mbytes from v$datafile) where status='RUNNING' and output_device_type is not null / =============== No of archives generated and deleted ================= SELECT SUM_ARCH.DAY, SUM_ARCH.GENERATED_GB, SUM_ARCH_DEL.DELETED_GB, SUM_ARCH.GENERATED_GB - SUM_ARCH_DEL.DELETED_GB "REMAINING_GB" FROM ( SELECT TO_CHAR (COMPLETION_TIME, 'DD/MM/YYYY') DAY, SUM (ROUND ( (blocks * block_size) / (1024 * 1024 * 1024), 2)) GENERATED_GB FROM V$ARCHIVED_LOG WHERE ARCHIVED = 'YES' GROUP BY TO_CHAR (COMPLETION_TIME, 'DD/MM/YYYY')) SUM_ARCH, ( SELECT TO_CHAR (COMPLETION_TIME, 'DD/MM/YYYY') DAY, SUM (ROUND ( (blocks * block_size) / (1024 * 1024 * 1024), 2)) DELETED_GB FROM V$ARCHIVED_LOG WHERE ARCHIVED = 'YES' AND DELETED = 'YES' GROUP BY TO_CHAR (COMPLETION_TIME, 'DD/MM/YYYY')) SUM_ARCH_DEL WHERE SUM_ARCH.DAY = SUM_ARCH_DEL.DAY(+) ORDER BY TO_DATE (DAY, 'DD/MM/YYYY'); ======when the database sloness or issue will come ========= 1 - No any blocking session found. 2 - CPU is normal. 3- No any wait events. 4- Tablespace is in normal state. 5, check ongoing transvation ad load on the database .. 6. check the stats gatherd date on database. 5 - Indexes are in usable state.Query to check schema owner size in Oracle: ========================================================== SELECT sum(bytes)/1024/1024/1024 as "Size in GB" from dba_segments WHERE owner = UPPER('&schema_name'); select owner,sum(bytes)/1024/1024/1024 as "Size in GB" from dba_segments group by owner; ls -ltr *MISC02P* | grep head -10
===========Startup time =============
select to_char(startup_time, 'HH24:MI DD-MON-YY') "Startup time" from v$instance;
select name,instance_name,open_mode,version,startup_time,status from v$database,v$instance;
select count(*) from v$session where status='ACTIVE';
select count(*) from v$session where status='INACTIVE';
select count(*) from v$session where status='INACTIVE' and username='EDW';
lsnrctl status
tnsping name
check the db size.
========================================================================
SQL> select sum(bytes/1024/1024/1024) from dba_data_files;
============================================================================
Check the used size
==================================================================================
SQL> select sum(bytes/1024/1024/1024) from dba_segments;
====================================================================
Tablespace free spaces:
========================================================================================================
SQL> select tablespace_name, sum(bytes/1024/1024/1024) from dba_free_space group by tablespace_name;
======================================================================================================================
set pages 9999 lines 300
col OPEN_MODE for a10
col HOST_NAME for a15
col Instance_start_time for a20
col CURRENT_TIME for a20
col DATABASE_STATUS for a15
col DB_VERSION for a10
col logins for a10
col DATABASE_ROLE for a10
col INSTANCE_NAME for a10
select inst_id, name DB_NAME,INSTANCE_NAME,HOST_NAME,OPEN_MODE,version DB_VERSION,DATABASE_STATUS,DATABASE_ROLE,LOGINS,log_mode,to_char(STARTUP_TIME,'DD-MON-YYYY HH24:mi:SS') "Instance_start_time", to_char(sysdate,'DD-MON-YYYY HH24:mi:SS') "CURRENT_TIME" from v$database,gv$instance;
RMAN backup status script
========================================================================================================================
set lines 200
column ELAPSED_TIME format a20
SELECT T.SESSION_KEY,
T.INPUT_TYPE,
T.STATUS,
T.SUM_BACKUP_PIECES_IN_GB,
T.START_TIME,
T.END_TIME,
T.SECONDS ELAPSED_TIME
FROM ( SELECT SESSION_KEY,
INPUT_TYPE,
STATUS,
OUTPUT_BYTES/1024/1024/1024 SUM_BACKUP_PIECES_IN_GB,
TO_CHAR (START_TIME, 'dd/mm/yyyy hh24:mi') START_TIME,
TO_CHAR (END_TIME, 'dd/mm/yyyy hh24:mi') END_TIME,
TIME_TAKEN_DISPLAY SECONDS
FROM V$RMAN_BACKUP_JOB_DETAILS
WHERE INPUT_TYPE='DB FULL'
ORDER BY SESSION_KEY DESC) T
WHERE ROWNUM <= 10
UNION
SELECT T.SESSION_KEY,
T.INPUT_TYPE,
T.STATUS,
T.SUM_BACKUP_PIECES_IN_GB,
T.START_TIME,
T.END_TIME,
T.SECONDS ELAPSED_TIME
FROM ( SELECT SESSION_KEY,
INPUT_TYPE,
STATUS,
OUTPUT_BYTES/1024/1024/1024 SUM_BACKUP_PIECES_IN_GB,
TO_CHAR (START_TIME, 'dd/mm/yyyy hh24:mi') START_TIME,
TO_CHAR (END_TIME, 'dd/mm/yyyy hh24:mi') END_TIME,
TIME_TAKEN_DISPLAY SECONDS
FROM V$RMAN_BACKUP_JOB_DETAILS
WHERE INPUT_TYPE='ARCHIVELOG'
ORDER BY SESSION_KEY DESC) T
WHERE ROWNUM <= 3;
==================Location where rman logs will be generated =====
/ibmtsm/hst
ps -ef|grep dsm --To check the tape relared services
ps -ef|grep rman-- Find the rman related services
ps -ef|grep smon-- find the instances related process.
=================================================================================================
SELECT SID, SERIAL#, CONTEXT, SOFAR, TOTALWORK,
ROUND(SOFAR/TOTALWORK*100,2) "%_COMPLETE"
FROM V$SESSION_LONGOPS
WHERE OPNAME LIKE 'RMAN%'
AND OPNAME NOT LIKE '%aggregate%'
AND TOTALWORK != 0
AND SOFAR <> TOTALWORK;
===========================================
SELECT a.username,
b.sql_text,
a.status
FROM v$session a
INNER JOIN v$sqlarea b
ON a.sql_id = b.sql_id;
==================================================================
check the number of process by instance level
!ps -eaf | grep -c PCRSL_1
nmon
press t
nmon
m for memory usage
SQL> SELECT name, free_mb, total_mb, free_mb/total_mb*100 as percentage FROM v$asm_diskgroup;
NAME FREE_MB TOTAL_MB PERCENTAGE
------------------------------ ---------- ---------- ----------
DATA002 127425 409600 31.1096191
DATA 76431 204800 37.3198242
FRA 36074 40960 88.0712891
SQL> !date;hostname
Wed Nov 25 12:55:11 PET 2020
TPLMCT2BD1
===============================================================================
SELECT name, free_mb, total_mb, free_mb/total_mb*100 as percentage FROM v$asm_diskgroup;
select GROUP_NUMBER,DISK_NUMBER,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,STATE,VOTING_FILE,name,path from v$asm_disk;
===============standby database monitoring ===============================
SET LINESIZE 150
cOL HOST_NAME FOR A25
col STARTUP_TIME FOR A30
col STARTUP_TIME FOR A30
select INSTANCE_NAME,HOST_NAME,VERSION,LOGINS,STATUS,to_char(STARTUP_TIME,'DD-MON-YYYY DAY HH24:MI:SS')
"STARTUP_TIME" FROM gv$instance;
select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') WHEN,': standby is ' || trim(to_char(1440 * (sysdate - max (next_time)),99999.99) ||' minutes behind') LAG from v$archived_log where applied ='YES';
select distinct error from v$datafile_header;
SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
v$managed_standby
v$archived_standby
v$archive_dest_status
v$log_history
To find the overall progress of the recovery process on the standby database, v$archive_dest_status on the standby site can be queried to find the last archived log received and applied on this site. The following query, when executed on standby database, will provide this information:
Select
ARCHIVED_THREAD#,
ARCHIVED_SEQ#,
APPLIED_THREAD#,
APPLIED_SEQ#
From
V$ARCHIVE_DEST_STATUS;
==========================================================
Dataguard sync check
SELECT ARCH.THREAD# "Thread", ARCH.SEQUENCE# "Last Sequence Received", APPL.SEQUENCE# "Last Sequence Applied", (ARCH.SEQUENCE# - APPL.SEQUENCE#) "Difference"
FROM (SELECT THREAD# ,SEQUENCE# FROM V$ARCHIVED_LOG WHERE (THREAD#,FIRST_TIME ) IN (SELECT THREAD#,MAX(FIRST_TIME) FROM V$ARCHIVED_LOG GROUP BY THREAD#)) ARCH, (SELECT THREAD# ,SEQUENCE# FROM V$LOG_HISTORY WHERE (THREAD#,FIRST_TIME ) IN (SELECT THREAD#,MAX(FIRST_TIME) FROM V$LOG_HISTORY GROUP BY THREAD#)) APPL
WHERE ARCH.THREAD# = APPL.THREAD# ;
SELECT A.THREAD#,
B.LAST_SEQ,
A.APPLIED_SEQ,
A.LAST_APP_TIMESTAMP,
B.LAST_SEQ - A.APPLIED_SEQ ARC_DIFF
FROM ( SELECT THREAD#,
MAX (SEQUENCE#) APPLIED_SEQ,
MAX (NEXT_TIME) LAST_APP_TIMESTAMP
FROM GV$ARCHIVED_LOG
WHERE APPLIED = 'YES'
GROUP BY THREAD#) A,
( SELECT THREAD#, MAX (SEQUENCE#) LAST_SEQ
FROM GV$ARCHIVED_LOG
GROUP BY THREAD#) B
WHERE A.THREAD# = B.THREAD#;
select process,status,client_process,sequence#,thread# from v$managed_standby where thread# >0;
select process,status,client_process,sequence#,thread# from v$managed_standby;
column destination format a35 wrap
column process format a7
column archiver format a8
column ID format 99
column mid format 99
select dest_id "ID",destination,status,target,schedule,process,mountid mid from v$archive_dest order by dest_id;
select current_scn from v$database;
629475780
select scn_to_timestamp(629475780) from dual;
625245710
select scn_to_timestamp(625245710) from dual;
select scn_to_timestamp(625245710) from dual;
---------------------------How much delay standby----------------------
set lines 200;
select thread#, to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') WHEN, to_char(max(next_time),'YYYY-MM-DD HH24:MI:SS') "APPLIED-TILL",': standby is ' || trim(to_char(1440 * (sysdate - max (next_time)),99999.99) ||' minutes behind') LAG from v$archived_log where applied ='YES' group by thread#;
================================================================================
https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_61/rzarw/rzarwcalcspace1.htm.
column sid format a30;
set linesize 300
set pages 200
set lines 200
col name format a60
To Check the FRA size:
select name,floor(space_limit/1024/1024/1014) "size GB",ceil(space_used/1024/1024/1024) "used GB" from v$recovery_file_dest order by name;
NAME size GB used GB
------------------------------ ---------- ----------
+RECO 127 1
============================================================================
For tablespace size FREE SPACE ,USED FREE % wise
========================================================================================================
SELECT /* + RULE */ df.tablespace_name "Tablespace",
df.bytes / (1024 * 1024) "Size (MB)",
SUM(fs.bytes) / (1024 * 1024) "Free (MB)",
Nvl(Round(SUM(fs.bytes) * 100 / df.bytes),1) "% Free",
Round((df.bytes - SUM(fs.bytes)) * 100 / df.bytes) "% Used"
FROM dba_free_space fs,
(SELECT tablespace_name,SUM(bytes) bytes
FROM dba_data_files
GROUP BY tablespace_name) df
WHERE fs.tablespace_name (+) = df.tablespace_name
GROUP BY df.tablespace_name,df.bytes
UNION ALL
SELECT /* + RULE */ df.tablespace_name tspace,
fs.bytes / (1024 * 1024),
SUM(df.bytes_free) / (1024 * 1024),
Nvl(Round((SUM(fs.bytes) - df.bytes_used) * 100 / fs.bytes), 1),
Round((SUM(fs.bytes) - df.bytes_free) * 100 / fs.bytes)
FROM dba_temp_files fs,
(SELECT tablespace_name,bytes_free,bytes_used
FROM v$temp_space_header
GROUP BY tablespace_name,bytes_free,bytes_used) df
WHERE fs.tablespace_name (+) = df.tablespace_name
GROUP BY df.tablespace_name,fs.bytes,df.bytes_free,df.bytes_used
ORDER BY 4 DESC;
==================================================================================================================================================================
select sum(bytes)/1024/1024/1024,sum(maxbytes)/1024/1024/1024 from dba_data_files where FILE_NAME like '/WP01IRB1_irb/datafile23%';
select sum(bytes)/1024/1024/1024,sum(maxbytes)/1024/1024/1024 from dba_temp_files where FILE_NAME like '/iobas/ora/ardatafile15%';
===============================================================================
For check table_space_size with autoexten
***********************************************************************
SELECT F.tablespace_name "Tablespace", TO_CHAR(NVL(a.bytes / 1024 / 1024, 0),'99G999G990') "Size (MB)",
TO_CHAR(NVL(NVL(f.bytes, 0),0)/1024/1024, '99G999G990') "Free (MB)", TO_CHAR(NVL((NVL(f.bytes, 0)) / a.bytes * 100, 0), '990D00') "Free %" ,
TO_CHAR(NVL(c.maxbytes / 1024 / 1024, 0),'99G999G990') "AUTOEXTEND (MB)"
FROM (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,
(select tablespace_name, sum(maxbytes) maxbytes from dba_data_files group by tablespace_name) c
WHERE F.tablespace_name=A.TABLESPACE_NAME
and c.tablespace_name=A.TABLESPACE_NAME
order by "Free %" desc;
select TABLESPACE_NAME,FILE_ID,STATUS,FILE_NAME,sum(bytes)/1024/1024 "MB",AUTOEXTENSIBLE,ROUND(SUM(MAXBYTES)/1024/1024) "MAXBYTES(MB)",INCREMENT_BY
from dba_data_files where tablespace_name='&tablespace_name'group by FILE_ID,FILE_NAME,TABLESPACE_NAME,bytes,AUTOEXTENSIBLE,MAXBYTES,INCREMENT_BY,STATUS order by FILE_NAME asc;
TABLESPACE_NAME FILE_ID STATUS FILE_NAME MB AUT MAXBYTES(MB) INCREMENT_BY
-------------------- ---------- --------- ---------- ---------- --- ------------ ------------
CNMS 5 AVAILABLE /WP05CDD1/ 8192 YES 10240 1
WP05CDD1_e
xport/home
SQL>select tablespace_name,sum(bytes/1024/1024/1024) from dba_free_space group by tablespace_name;
SQL> select * from dba_tablespace_groups;
SQL> select file_name,sum(bytes) from dba_temp_files where tablespace_name=’MYTEMP’ group by file_name;
Connect to RAC database and asm .
===============================================================================
Export ORACLE_SID=PRACPLM1
export ORACLE_SID=SID for RAC export ORACLE_SID=INSTANCENAME1
export ORACLE_HOME=oracle-home-path
sqlplus / as sysdba
=============================================================================================
su - grid
export ORACLE_SID=+ASM
conn sys as sysasm
asmcmd
server Login credentils
Soporibm
Scotia2017 s is capital
sudo su -
su - oracle
ps -ef|grep smon
export ORACLE_SID=dbname
=======================================================================================================================================================================================
===============================================================================
To identify Sessions which are consuming high CPU at Database Level.
===============================================================================
select p.spid SPID,to_char(s.LOGON_TIME,'DDMonYY HH24:MI') date_login,s.username,decode(nvl(p.background,0),1,bg.description, s.program ) program,ss.value/100 CPU,physical_reads disk_io,(trunc(sysdate,'J')-trunc(logon_time,'J')) days,round((ss.value/100)/(decode((trunc(sysdate,'J')-trunc(logon_time,'J')),0,1,(trunc(sysdate,'J')-trunc(logon_time,'J')))),2) cpu_per_day from V$PROCESS p,V$SESSION s,V$SESSTAT ss,V$SESS_IO si,V$BGPROCESS bg where s.paddr=p.addr and ss.sid=s.sid and ss.statistic#=12 and si.sid=s.sid and bg.paddr(+)=p.addr and round((ss.value/100),0) > 10 order by 8;
===============================================================================================
To get session details
==============================================================================================
select SID,SERIAL#,USERNAME,STATUS,MACHINE from v$session where SID=&sid;
===============================================================================
select s.sid || ',' || s.serial# "SID/SERIAL", s.username, s.osuser from v$session s,v$process p Where s.paddr = p.addr and p.spid=&pid;
==========================================================================================================================
To get SQL of a particular session.
=============================================================================================================================================
SELECT SQL_TEXT FROM v$sqlarea WHERE hash_value IN (SELECT sql_hash_value FROM v$session WHERE sid=&sid);
=========================================================================================================================================
To check long running queries
========================================================================================================================================
select a.sid,b.status,rpad(a.opname,15),a.sofar,a.totalwork, to_char(a.START_TIME,'dd-MON-YY HH24:MI') START_TIME, a.TIME_REMAINING,a.ELAPSED_SECONDS,((a.sofar)*100)/a.totalwork "%_completed", rpad(a.username,10) username,a.SQL_HASH_VALUE, B.STATUS from V$SESSION_LONGOPS a, v$session b where a.sid = b.sid and b.status='ACTIVE' AND a.sofar<> a.totalwork and a.totalwork>0 ;
===============================================================================
Based on the output of long running queries and mapping with alert log file error we need to come to conclusion and reach the application with artifacts and take proper team for approval to kill the session .
===============================================================================select s.sid || ',' || s.serial# "SID/SERIAL", s.username, s.osuser from v$session s,v$process p Where s.paddr = p.addr and p.spid=&pid;
select (1- (sum(decode(name,'physical reads',value,0)) / (sum(decode(name,'db block gets',value,0))+ sum(decode(name,'consistent gets',value,0))))) * 100 "Hit Ratio" from v$sysstat;
Check the Hit ratio on the Database :
select parameter, gets , getmisses, 100*(gets-getmisses)/(gets) HIT_RATIO, modifications from v$rowcache where gets>0;
Check the Hit ratio on the Database :
select (1 - (sum(decode(name, 'physical reads',value,0)) /
(sum(decode(name, 'db block gets',value,0)) +
sum(decode(name, 'consistent gets',value,0))))) * 100 "Hit Ratio",
decode(sign((1-(sum(decode(name, 'physical reads',value,0)) /
(sum(decode(name, 'db block gets',value,0)) +
sum(decode(name, 'consistent gets',value,0))))) * 100 - 98),1,30,
decode(sign((1-(sum(decode(name, 'physical reads',value,0)) /
(sum(decode(name, 'db block gets',value,0)) +
sum(decode(name, 'consistent gets',value,0))))) * 100 - 95),1,20,
decode(sign((1-(sum(decode(name, 'physical reads',value,0)) /
(sum(decode(name, 'db block gets',value,0)) +
sum(decode(name, 'consistent gets',value,0))))) * 100 - 90),1,10,0))) "Score" from v$sysstat;
======================================================================================================
Hit Ratio Score
---------- ----------
20.7530912 0
================================================================================================
=================================================================================================================
Execute the following query to determine who is using a TEMP Segment:
================================================================================================================
SELECT b.tablespace,
ROUND(((b.blocks*p.value)/1024/1024),2)||'M' "SIZE",
a.sid||','||a.serial# SID_SERIAL,
a.username,
a.program
FROM sys.v_$session a,
sys.v_$sort_usage b,
sys.v_$parameter p
WHERE p.name = 'db_block_size'
AND a.saddr = b.session_addr
ORDER BY b.tablespace, b.blocks;
no rows selected
SELECT (P1.VALUE+P2.VALUE-P3.VALUE)/ (P1.VALUE+P2.VALUE)*100 "BUFFER HIT RATIO" FROM v$sysstat P1, v$sysstat P2, v$sysstat P3 WHERE P1.NAME=LOWER ('DB BLOCK GETS') AND P2.NAME=LOWER ('CONSISTENT GETS')
AND P3.NAME=LOWER ('PHYSICAL READS');
select sum(value) as "SGA Size" from V$parameter Where name in ('Shared_pool_size','db_cache_size','log_buffer','java_pool-size');
=======================================================================================================================================
Find the number of segments or objects in buffer (Becuase no of buffers in SGA will leads to Hit Ratio will be down it should be 90-100
==========================================================================================================================================
SELECT name, block_size, SUM(buffers)
FROM V$BUFFER_POOL
GROUP BY name, block_size
HAVING SUM(buffers) > 0;
===============================================================================
Get the buffer cache Hit ratio
=================================================================================================================================
SELECT ROUND((1-(phy.value / (cur.value + con.value)))*100,2) "Cache Hit Ratio" FROM v$sysstat cur, v$sysstat con, v$sysstat phy WHERE cur.name = 'db block gets' AND con.name = 'consistent gets' AND phy.name = 'physical reads';
=============================================================================
lists the statistics from the V$SYSSTAT view used to calculate the buffer cache hit ratio.
============================================================================================
SELECT name,value FROM V$SYSSTAT WHERE name IN ('db block gets from cache','consistent gets from cache','physical reads cache');
========================================================================================================================================
Sessions since last 5 hours
========================================================================================================================================
column dur format a20
select sid, serial#, username,to_char(sysdate-last_call_et/24/60/60,'hh24:mi:ss') started,trunc(last_call_et/60) || ' mins, ' || mod(last_call_et,60) || ' secs' dur,(select sql_text from v$sql where address = sql_address ) sql_text from v$session where username is not null and last_call_et > 5*60 and status = 'ACTIVE';
/
===================================================================================================================================================
#######################################################Tablespacefree space, used space #####################################################################
COL TS_NAME FOR A20
COL AVAILABLE FOR A15
COL USED FOR A15
COL FREE FOR A15
set linesize 300
select a.tablespace_name TS_NAME,a.bytes/1024/1024||' MB' AVAILABLE,b.bytes/1024/1024||' MB' USED,c.bytes/1024/1024||' MB' FREE from sm$ts_avail a,sm$ts_used b,sm$ts_free c where a.tablespace_name=b.tablespace_name and b.tablespace_name=c.tablespace_name;
#########################################Tablespace free space, used space, % free space #######################################################################3
SQL>COLUMN pct_free FORMAT 999.99 HEADING "% Free"
SQL> COLUMN name FORMAT A16 HEADING "Tablespace Name"
SQL> COLUMN mbytes FORMAT 99,999,999 HEADING "Total MBytes"
SQL> COLUMN used FORMAT 99,999,999 HEADING "Used Mbytes"
SQL> COLUMN free FORMAT 99,999,999 HEADING "Free Mbytes"
SQL> BREAK ON REPORT
SQL> COMPUTE SUM OF mbytes ON REPORT
SQL> COMPUTE SUM OF free ON REPORT
SQL> COMPUTE SUM OF used ON REPORT
SQL> SELECT fs.tablespace_name name, df.totalspace mbytes, (df.totalspace - fs.freespace) used,
2 fs.freespace free, 100 * (fs.freespace / df.totalspace) pct_free
3 FROM (SELECT tablespace_name, ROUND(SUM(bytes) / 1048576) TotalSpace FROM dba_data_files GROUP BY tablespace_name ) df,
4 (SELECT tablespace_name, ROUND(SUM(bytes) / 1048576) FreeSpace FROM dba_free_space GROUP BY tablespace_name ) fs
5 WHERE df.tablespace_name = fs.tablespace_name(+);
############################################################################################################################################################################################
set echo off
set linesize 95
set head on
set feedback on
col sid head "Sid" form 9999 trunc
col serial# form 99999 trunc head "Ser#"
col username form a8 trunc
col osuser form a7 trunc
col machine form a20 trunc head "Client|Machine"
col program form a15 trunc head "Client|Program"
col login form a11
col "last call" form 9999999 trunc head "Last Call|In Secs"
col status form a6 trunc
select sid,serial#,substr(username,1,10) username,substr(osuser,1,10) osuser,
substr(program||module,1,15) program,substr(machine,1,22) machine,
to_char(logon_time,'ddMon hh24:mi') login,
last_call_et "last call",status
from v$session where status='ACTIVE'
order by 1
/
###############To find out the cronjob name with oracle user ##########################
crontab -l |grep oracle crontab job name
########################################################################################
SQL> COLUMN pct_free FORMAT 999.99 HEADING "% Free"
SQL> COLUMN name FORMAT A16 HEADING "Tablespace Name"
SQL> COLUMN mbytes FORMAT 99,999,999 HEADING "Total MBytes"
SQL> COLUMN used FORMAT 99,999,999 HEADING "Used Mbytes"
SQL> COLUMN free FORMAT 99,999,999 HEADING "Free Mbytes"
SQL> BREAK ON REPORT
SQL> COMPUTE SUM OF mbytes ON REPORT
SQL> COMPUTE SUM OF free ON REPORT
SQL> COMPUTE SUM OF used ON REPORT
SELECT fs.tablespace_name name, df.totalspace mbytes, (df.totalspace - fs.freespace) used,
2 fs.freespace free, 100 * (fs.freespace / df.totalspace) pct_free
3 FROM (SELECT tablespace_name, ROUND(SUM(bytes) / 1048576) TotalSpace FROM dba_data_files GROUP BY tablespace_name ) df,
4 (SELECT tablespace_name, ROUND(SUM(bytes) / 1048576) FreeSpace FROM dba_free_space GROUP BY tablespace_name ) fs
5 WHERE df.tablespace_name = fs.tablespace_name(+);
#######################################################Tablespace free space, used space #####################################################################
COL TS_NAME FOR A20
COL AVAILABLE FOR A15
COL USED FOR A15
COL FREE FOR A15
set linesize 300
select a.tablespace_name TS_NAME,a.bytes/1024/1024||' MB' AVAILABLE,b.bytes/1024/1024||' MB' USED,c.bytes/1024/1024||' MB' FREE from sm$ts_avail a,sm$ts_used b,sm$ts_free c where a.tablespace_name=b.tablespace_name and b.tablespace_name=c.tablespace_name;
===================================================================================================================================================================================================
Select a.tablespace_name,sum(a.tots/1048576) Tot_Size,
sum(a.sumb/1024) Tot_Free, sum(a.sumb)*100/sum(a.tots) Pct_Free,
ceil((((sum(a.tots) * 15) - (sum(a.sumb)*100))/85 )/1048576) Min_Add
from (select tablespace_name,0 tots,sum(bytes) sumb
from dba_free_space a
group by tablespace_name
union
Select tablespace_name,sum(bytes) tots,0 from
dba_data_files
group by tablespace_name) a
group by a.tablespace_name
having sum(a.sumb)*100/sum(a.tots) < 10
order by pct_free;
=========Tablespace with free space, used space, % free space ============Select t.tablespace, t.totalspace as " Totalspace(MB)", round((t.totalspace-fs.freespace),2) as "Used Space(MB)", fs.freespace as "Freespace(MB)", round(((t.totalspace-fs.freespace)/t.totalspace)*100,2) as "% Used", round((fs.freespace/t.totalspace)*100,2) as "% Free" from (select round(sum(d.bytes)/(1024*1024)) as totalspace, d.tablespace_name tablespace from dba_data_files d group by d.tablespace_name) t, (select round(sum(f.bytes)/(1024*1024)) as freespace, f.tablespace_name tablespace from dba_free_space f group by f.tablespace_name) fs where t.tablespace=fs.tablespace order by t.tablespace;
TABLESPACE Totalspace(MB) Used Space(MB) Freespace(MB) % Used % Free
-------------------- --------------- -------------- ------------- ---------- ----------
SIDE_IND_RYS 5 1 4 20 80
SIDE_IND_SAL 5 1 4 20 80
SIDE_IND_TES 70 69 1 98.57 1.43
SIDE_INV 100 54 46 54 46
SIDE_IVS 10 6 4 60 40
SIDE_PLA 140 140 0 100 0
SIDE_PRE 20 15 5 75 25
SIDE_PRO 10 3 7 30 70
SIDE_RHU 50 46 4 92 8
SIDE_RYS 35 0 35 0 100
SIDE_SAL 20 8 12 40 60
===============================================================================
Tablespace datafile autoextend status and free space
select tablespace_name,file_name,maxbytes/1024/1024 MAX_SIZE from dba_data_files where tablespace_name='MIGBENEF_DATA';
select tablespace_name,AUTOEXTENSIBLE,file_name,maxbytes/1024/1024/1024 MAX_SIZE from dba_data_files where tablespace_name='RDB_INDEX';
===========================================================================================================================================================
ASM DISK GROUP STATUS AND FREE SPACE
=====================================================================================
SELECT group_number, disk_number, mount_status, header_status, state,path FROM v$asm_disk;
select group_number, name, total_mb, free_mb, state, type from v$asm_diskgroup;
select group_number,disk_number,mount_status,header_status,state,path,failgroup from v$asm_disk;
SELECT name, type,total_gb,free_gb,required_mirror_free_gb,usable_file_gb FROM V$ASM_DISKGROUP;
select group_number,name,round(total_mb/1024,2) "Total_GB",round(free_mb/1024,2) "Free_GB",round(((free_mb/total_mb)*100),2) "Available%" from v$asm_diskgroup where NAME ='ORADATA';
============================================================Tablespace report in HTML format use spooling concept as .html file =========================================================================
spool my_html.htm
select '<BR><FONT FACE="VERDANA" SIZE=4>Tablespace Free Space Information : <BR><BR>' from dual;
select '<table border=1 cellpadding=2 cellspacing=1>' from dual;
select
'<th bgcolor="#000951"><FONT FACE="VERDANA" SIZE=1 COLOR="#FFFFFF">TABLESPACE NAME
<th bgcolor="#000951"><FONT FACE="VERDANA" SIZE=1 COLOR="#FFFFFF">TOTAL SPACE (in MB)
<th bgcolor="#000951"><FONT FACE="VERDANA" SIZE=1 COLOR="#FFFFFF">USED SPACE (in MB)
<th bgcolor="#000951"><FONT FACE="VERDANA" SIZE=1 COLOR="#FFFFFF">FREE SPACE (in MB)
<th bgcolor="#000951"><FONT FACE="VERDANA" SIZE=1 COLOR="#FFFFFF">MAX FREE SPACE (in MB)
<th bgcolor="#000951"><FONT FACE="VERDANA" SIZE=1 COLOR="#FFFFFF">USED SPACE(%)
<th bgcolor="#000951"><FONT FACE="VERDANA" SIZE=1 COLOR="#FFFFFF">FREE SPACE(%)' from dual;
select '<tr>
<td bgcolor="#ccccff"><FONT FACE="VERDANA" SIZE=2>' || f.tablespace_name ||
'<td bgcolor="#ccccff"><FONT FACE="VERDANA" SIZE=2>' || a.total ||
'<td bgcolor="#ccccff"><FONT FACE="VERDANA" SIZE=2>' || u.used ||
'<td bgcolor="#ccccff"><FONT FACE="VERDANA" SIZE=2>' || f.free ||
'<td bgcolor="#ccccff"><FONT FACE="VERDANA" SIZE=2>' || f.maxfree ||
'<td bgcolor="#ccccff"><FONT FACE="VERDANA" SIZE=2>' || round((u.used/a.total)*100) ||
'<td bgcolor="#ccccff"><FONT FACE="VERDANA" SIZE=2>' || round((f.free/a.total)*100)
from
(select tablespace_name, sum(bytes/(1024*1024)) total from dba_data_files group by tablespace_name) a,
(select tablespace_name, round(sum(bytes/(1024*1024))) used from dba_extents group by tablespace_name) u,
(select tablespace_name, round(sum(bytes/(1024*1024))) free,round(max(bytes)/1024/1024) maxfree from dba_free_space group by tablespace_name) f
WHERE a.tablespace_name = f.tablespace_name
and a.tablespace_name = u.tablespace_name
order by f.free;
select '</table>' from dual;
spool off;
==========================================
Latest patches applied in the oracle home
================================================================================
$ORACLE_HOME/OPatch/opatch lsinventory
$ ./opatch lsinventory
$ORACLE_HOME/OPatch/opatch lsinventory (checking last patch apply)
===========================================================================================================================
query running very slow
===============================================================================================================================================================
1. Take explain plan for database query.
Ø If you have any old (yesterday) explain plan for database query,
Compare the both.
Ø Query used which type of optimizer?
Ø If table’s go to full table scan check the index available or not.
Ø If index is not available, Create the index & Compare the explain plan.
Ø If index available Check why my index is not being used?
Ø Check the Joins Method
Ø Using HINT to force the optimizer.
2. Compare the table growth today & old one.
3. Check the statistics gathered for the table or not.
Ø Yesterday the table contains only 1,00,000 records.Yesterday night
inserted large number of records. (Depend on business).
Ø Large number of deletion occur in the table.( So fragmentation is there)
Ø Now the table contains 10,00,000 records.
So its takes more time to fetch the data generally.
Ø Check when did the table is analyzed?
Ø Suppose the tables were analyzed yesterday morning. But yesterday
night large number records are inserted.
So we need to analyze the corresponding objects.
Ø If statistics is outdated, gather the new statistics using
Analyze/DBMS package.
4. Check the connected sessions
Ø Yesterday 25 Active Users only connected to database.
Today 100 Active users connected. (Due to this PGA, SGA & I/O used
large amount of resource are consumed)
Ø Check the wait event.
5. Check the Physical reads/ Logical reads.
6. Check the hit ratio. (Library cache, Data dictionary & Db Cache)
7. Ensure if any init parameter or memory structure changed.
8. Generated trace file for the particular query. (Using TKPROF)
9. OS level any background process taking more CPU utilization belongs to the database. (RMAN backup, EXP/IMP, DB Analyze job, Materialized view refresh job etc…)
===============================================================================
SQL> select SID,SERIAL#,SCHEMANAME,osuser,status,LOGON_TIME from v$session where status='ACTIVE' and username like 'GADEV';
========================================================================================================================================
ps -ef|grep lsnr
======================================
SQL> select NAME,ISSYS_MODIFIABLE,TYPE,VALUE from v$parameter where name='db_keep_cache_size';
NAME ISSYS_MOD TYPE VALUE
------------------ ----------- ---- -----
db_keep_cache_size IMMEDIATE 6 0
=================================================dataguard monitor========================================================
SQL> select DB_UNIQUE_NAME, PROTECTION_MODE, PROTECTION_LEVEL, OPEN_MODE, DATABASE_ROLE, SWITCHOVER_STATUS, DATAGUARD_BROKER, GUARD_STATUS,FLASHBACK_ON,FS_FAILOVER_STATUS, FS_FAILOVER_OBSERVER_PRESENT from V$database;
==================================================================================================================================
========Archive log generation On daily basis:in gb and mb===========================================
SELECT TRUNC(completion_time) AS time, ROUND(SUM(blocks * block_size)/1024/1024,2) AS size_mb, ROUND(SUM(blocks * block_size)/1024/1024/1024,2) AS size_gb,count(*) Archives_Generated
FROM v$archived_log GROUP BY TRUNC(completion_time) ORDER BY 1 DESC;
select trunc(COMPLETION_TIME,'DD') Day,thread#,round(sum(BLOCKS*BLOCK_SIZE)/1048576) MB,count(*) Archives_Generated from v$archived_log group by trunc(COMPLETION_TIME,'DD'),thread# order by 1;
DAY THREAD# MB ARCHIVES_GENERATED
--------- ---------- ---------- ------------------
15-MAY-17 1 70662 16
16-MAY-17 1 118469 29
17-MAY-17 1 44667 11
18-MAY-17 1 20189 6
19-MAY-17 1 57741 15
20-MAY-17 1 12460 5
21-MAY-17 1 2471 3
22-MAY-17 1 69590 18
23-MAY-17 1 24262 7
24-MAY-17 1 11351 4
25-MAY-17 1 38827 11
26-MAY-17 1 52601 67
SELECT TRUNC(completion_time) "Generation Date",round(SUM(blocks*block_size)/1048576,0) "Total for the Day in MB" FROM gv$archived_log GROUP BY TRUNC(completion_time) ORDER BY TRUNC(completion_time)
/
select to_char(first_time,'hh24'),count(*) from v$log_history where to_char(first_time,'dd-mm-yy') in('15-05-17') group by to_char(first_time,'hh24');
select to_char(first_time,’DD-MON:hh24:mi:ss’) from v$log_history where to_char(first_time,’DD’)=10;
=======================================================================================================================================================================================================
job_queue_processes with
SQL> select value from v$parameter where name='job_queue_processes';
Then check the number of running jobs
SQL> select count(*) from dba_scheduler_running_jobs;
SQL> select count(*) from dba_jobs_running;
Then check the number of running jobs
SQL> select count(*) from dba_scheduler_running_jobs;
set lines 300 pages 300
COL PROGRAM_OWNER FOR A10
COL PROGRAM_NAME FOR A10
COL JOB_ACTION FOR A20
COL SCHEDULE_LIMIT FOR A18
col LAST_START_DATE for a15
col LAST_RUN_DURATION for a15
col NEXT_RUN_DATE for a15
SELECT owner, job_name, PROGRAM_OWNER,PROGRAM_NAME,JOB_TYPE,JOB_ACTION,ENABLED,STATE,JOB_PRIORITY,FAILURE_COUNT,LAST_START_DATE,LAST_RUN_DURATION,NEXT_RUN_DATE,SCHEDULE_LIMIT,MAX_RUN_DURATION FROM dba_scheduler_jobs where owner='SYS' and job_name like '%BD_LOGIONE%';
set lines 300 pages 300
COL PROGRAM_OWNER FOR A10
COL PROGRAM_NAME FOR A10
COL JOB_ACTION FOR A20
COL SCHEDULE_LIMIT FOR A18
col LAST_START_DATE for a15
col LAST_RUN_DURATION for a15
col NEXT_RUN_DATE for a15
SELECT owner, job_name, PROGRAM_OWNER,PROGRAM_NAME,JOB_TYPE,JOB_ACTION,ENABLED,STATE,JOB_PRIORITY,FAILURE_COUNT,LAST_START_DATE,LAST_RUN_DURATION,NEXT_RUN_DATE,SCHEDULE_LIMIT,MAX_RUN_DURATION FROM dba_scheduler_jobs where job_name like '%BD_LOGIONE%';
====Find the redlolog group size========================
set linesize 300
column REDOLOG_FILE_NAME format a50
SELECT
a.GROUP#,
a.THREAD#,
a.SEQUENCE#,
a.ARCHIVED,
a.STATUS,
b.MEMBER AS REDOLOG_FILE_NAME,
(a.BYTES/1024/1024) AS SIZE_MB
FROM v$log a
JOIN v$logfile b ON a.Group#=b.Group#
ORDER BY a.GROUP# ASC;
================================================================================
# script to find redo generated by current sessions
===============================================================================
set lines 2000
set pages 1000
col sid for 99999
col name for a09
col username for a14
col PROGRAM for a21
col MODULE for a25
select s.sid,sn.SERIAL#,n.name, round(value/1024/1024,2) redo_mb, sn.username,sn.status,substr (sn.program,1,21) "program", sn.type, sn.module,sn.sql_id
from v$sesstat s join v$statname n on n.statistic# = s.statistic#
join v$session sn on sn.sid = s.sid where n.name like 'redo size' and s.value!=0 order by
redo_mb desc;
===============================================================================
# script to check INACTIVE sessions with HIGH DISK IO
select p.spid,s.username, s.sid,s.status,t.disk_reads, s.last_call_et/3600 last_call_et_Hrs,
s.action,s.program,s.machine cli_mach,s.process cli_process,lpad(t.sql_text,30) "Last SQL"
from gv$session s, gv$sqlarea t,v$process p
where s.sql_address =t.address and
s.sql_hash_value =t.hash_value and
p.addr=s.paddr and
t.disk_reads > 5000
and s.status='INACTIVE'
and s.process='1234'
order by S.PROGRAM;
===============================================================================
# script to analyze Disk IO’s
prompt SESSIONS PERFORMING HIGH I/O > 50000
select p.spid, s.sid,s.process cli_process, s.status,t.disk_reads, s.last_call_et/3600 last_call_et_Hrs,
s.action,s.program,lpad(t.sql_text,30) "Last SQL"
from v$session s, v$sqlarea t,v$process p
where s.sql_address =t.address and
s.sql_hash_value =t.hash_value and
p.addr=s.paddr and
t.disk_reads > 10000
order by t.disk_reads desc;
===============================================================================
----Undo Usage
===============================================================================
select ( select sum(bytes)/1024/1024 from dba_data_files
where tablespace_name like 'UND%') allocated,(select sum(bytes)/1024/1024
from dba_free_space where tablespace_name like 'UND%') free,(select sum(bytes)/1024/1024
from dba_undo_extents where tablespace_name like 'UND%') USed from dual
/
===============================================================================
----Undo Used by session
===============================================================================
select s.sid,s.username,t.used_urec,t.used_ublk
from v$session s,v$transaction t
where s.saddr=t.ses_addr
and s.sid=107
order by t.used_ublk desc;
select s.sid,t.statistic#,s.value
from v$sesstat s,v$statname t
where s.statistic#=t.statistic#
and t.name='undo change vector size'
order by s.value desc;
===============================================================================
---most undo behalf of username and sid
===============================================================================
select sql.sql_text sql_text,t.used_urec records,t.used_ublk blocks,(t.used_ublk*8192/1024) kbytes from v$transaction t,
v$session s,
v$sql sql
where t.addr=s.taddr
and s.sql_id=sql.sql_id
and s.username='&USERNAME';
======================================================================
8. Finding Locks,Blocker Session and Waiting sessions in a oracle database :-
========================================================================
Select * from v$lock;
Select * from gv_$lock; (For RAC)
============================================================================================================================
A fast way to check blocking/waiting situations
-----------------------------------------------
SELECT * FROM v$lock WHERE block > 0 OR request > 0;
set pages 50000 lines 32767
select object_name,s.inst_id,s.sid,s.serial#,p.spid,s.osuser,s.program,s.server,s.machine,s.status from gv$locked_object l,gv$session s,gv$process p,dba_objects o where l.object_id=o.object_id and l.session_id=s.sid and s.paddr=p.addr;
set pages 50000 lines 32767
col OBJECT_NAME for a40
col USERNAME for a10
col LOCKED_MODE for a15
col OBJECT_OWNER for a15
col OS_USER_NAME for a12
SELECT b.inst_id,b.session_id AS sid,NVL(b.oracle_username, '(oracle)') AS username,a.owner AS object_owner,a.object_name,
Decode(b.locked_mode, 0, 'None',1, 'Null (NULL)',2, 'Row-S (SS)',3, 'Row-X (SX)',4, 'Share (S)',5, 'S/Row-X (SSX)',6, 'Exclusive (X)',
b.locked_mode) locked_mode,b.os_user_name FROM dba_objects a, gv$locked_object b WHERE a.object_id = b.object_id ORDER BY 1, 2, 3, 4;
===============================================================================================================================================
Blocker Session and Waiting sessions
==================================================================================================================================================
column Username format A15 column Sid format 9990 heading SID
column Type format A4 column Lmode format 990 heading 'HELD'
column Request format 990 heading 'REQ' column Id1 format 9999990
column Id2 format 9999990 break on Id1 skip 1 dup
SELECT SN.Username, M.Sid, M.Type,
DECODE(M.Lmode, 0, 'None', 1, 'Null', 2, 'Row Share', 3, 'Row
Excl.', 4, 'Share', 5, 'S/Row Excl.', 6, 'Exclusive',
LTRIM(TO_CHAR(Lmode,'990'))) Lmode,
DECODE(M.Request, 0, 'None', 1, 'Null', 2, 'Row Share', 3, 'Row
Excl.', 4, 'Share', 5, 'S/Row Excl.', 6, 'Exclusive',
LTRIM(TO_CHAR(M.Request, '990'))) Request,
M.Id1, M.Id2
FROM V$SESSION SN, V$LOCK M
WHERE (SN.Sid = M.Sid and M.Request ! = 0)
or (SN.Sid = M.Sid and M.Request = 0 and Lmode != 4 and (id1, id2)
in (select S.Id1, S.Id2 from V$LOCK S where Request != 0 and S.Id1
= M.Id1 and S.Id2 = M.Id2) ) order by Id1, Id2, M.Request;
USERNAME SID TY LMODE REQUEST ID1 ID2
---------------- ------- -- ------------- ------------- ---------- --------
ORAPLAYERS 10 TX Exclusive None 123456 200
ORAPLAYERS 100 TX None Exclusive 123456 200
Session 10 is blocking(LMODE=Exclusive)
Session 100 is waiting(REQUEST=Exclusive)
The meaning of ID1 and ID2 depends on the lock TYPE.
\95 We can see situations where a session is both a Blocker and a Waiter.
\95 If there are only two sessions and both are Blockers and Waiters then we got a deadlock situation (which Oracle will solve automatically).
-------------------------------------------------------------------------------------------------------------------------
To find waiters:
--------------------------------------------------------------------------------------------------------------------------------------------------
set pages 50000 lines 32767
col LOCK_TYPE for a10
col MODE_HELD for a10
col MODE_REQUESTED for a10
select * from dba_waiters;
WAITING_SESSION HOLDING_SESSION LOCK_TYPE MODE_HELD MODE_REQUESTED LOCK_ID1 LOCK_ID2
--------------- --------------- --------- --------- -------------- -------- --------
=========================================================================================================================
Blocking details:
----------------===============================================================================================================
set pages 50000 lines 32767
select distinct s1.username || '@' || s1.machine || ' ( INST=' || s1.inst_id || ' SID=' || s1.sid || ' ) is blocking ' || s2.username || '@' || s2.machine || ' ( INST=' || s1.inst_id || ' SID=' || s2.sid || ' ) ' as blocking_status from gv$lock l1, gv$session s1, gv$lock l2, gv$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 and l1.inst_id = s1.inst_id;
set pages 50000 lines 32767
col BLOCKER for a20
col BLOCKEE for a20
select (select username from v$session where sid = a.sid ) blocker,a.sid, 'is blocking ',(select username from v$session where sid =b.sid) blockee,b.sid from v$lock a, v$lock b where a.block =1 and b.request > 0 and a.id1 = b.id1 and a.id2 = b.id2;
BLOCKER SID 'ISBLOCKING' BLOCKEE SID
------- ---------- ---------- ------- --------
set pages 50000 lines 32767
select blocking_session, sid, serial#, wait_class,seconds_in_wait, username, osuser, program, logon_time from v$session where blocking_session is not NULL order by 1;
===============================================================================
startup time of database.
STATUS
Startup time
select to_char(startup_time, 'HH24:MI DD-MON-YY') "Startup time"
from v$instance
/
===============================================================================
How large is the database
col "Database Size" format a20
col "Free space" format a20
col "Used space" format a20
select round(sum(used.bytes) / 1024 / 1024 / 1024 ) || ' GB' "Database Size"
, round(sum(used.bytes) / 1024 / 1024 / 1024 ) -
round(free.p / 1024 / 1024 / 1024) || ' GB' "Used space"
, 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
/
===============================================================================
Show the ten largest objects in the database
Col owner format a15
Col segment_name format a30
Col segment_type format a15
Col mb format 999,999,999
select owner,segment_name,segment_type,mb
from(select owner,segment_name,segment_type,bytes / 1024 / 1024 "MB"
from dba_segments
order by bytes desc
)
where rownum < 11
/
===============================================================================
Display character set information
select * from nls_database_parameters
/
===============================================================================
SESSION
Show all connected users
set lines 100 pages 999
col ID format a15
select username,sid || ',' || serial# "ID",status,
last_call_et "Last Activity"
from v$session
where username is not null
order by status desc,
last_call_et desc
/
===============================================================================
Time since last user activity
set lines 100 pages 999
select username
, floor(last_call_et / 60) "Minutes"
, status
from v$session
where username is not null
order by last_call_et
/
===============================================================================
Show user info including os pid
col "SID/SERIAL" format a10
col username format a15
col osuser format a15
col program format a40
select s.sid || ',' || s.serial# "SID/SERIAL"
, s.username
, s.osuser
, p.spid "OS PID"
, s.program
from v$session s
, v$process p
Where s.paddr = p.addr
order by to_number(p.spid)
/
======================================================================
Show a users current sql
Select sql_text
from v$sqlarea
where (address, hash_value) in
(select sql_address, sql_hash_value
from v$session
where username like '&username')
/
=====================================================================================
Session status associated with the specified os process id
select s.username
, s.sid
, s.serial#
, p.spid
, last_call_et
, status
from V$SESSION s
, V$PROCESS p
where s.PADDR = p.ADDR
and p.spid='&pid'
/
==================================================================================================
Display disk-groups
set lines 100
col name format a10
col path format a30
select name
, group_number
, disk_number
, mount_status
, state
, path
from v$asm_disk
order by group_number
/
==========================================================================================
Show disk space usage
select name
, group_number
, disk_number
, total_mb
, free_mb
from v$asm_disk
order by group_number
/
==============================================================================================================================
Tablespace usage
set pages 999
col tablespace_name format a40
col "size MB" format 999,999,999
col "free MB" format 99,999,999
col "% Used" format 999
select tsu.tablespace_name, ceil(tsu.used_mb) "size MB"
, decode(ceil(tsf.free_mb), NULL,0,ceil(tsf.free_mb)) "free MB"
, decode(100 - ceil(tsf.free_mb/tsu.used_mb*100), NULL, 100,
100 - ceil(tsf.free_mb/tsu.used_mb*100)) "% used"
from (select tablespace_name, sum(bytes)/1024/1024 used_mb
from dba_data_files group by tablespace_name union all
select tablespace_name || ' **TEMP**'
, sum(bytes)/1024/1024 used_mb
from dba_temp_files group by tablespace_name) tsu
, (select tablespace_name, sum(bytes)/1024/1024 free_mb
from dba_free_space group by tablespace_name) tsf
where tsu.tablespace_name = tsf.tablespace_name (+)
order by 4
/
=============================================================================================================================================
Tablespaces >80% full
set pages 999 lines 100
col tablespace_name format a40
col "size MB" format 999999999
col "% Used" format 999
col "80%" format 999999
col "75%" format 999999
select tsu.tablespace_name
, ceil(tsu.used_mb) "size MB"
, 100 - floor(tsf.free_mb/tsu.used_mb*100) "% Used"
, (tsu.used_mb / 100) * (20 - floor(tsf.free_mb/tsu.used_mb*100)) "80%"
, (tsu.used_mb / 100) * (25 - floor(tsf.free_mb/tsu.used_mb*100)) "75%"
from (select tablespace_name, sum(bytes)/1024/1024 used_mb
from dba_data_files group by tablespace_name) tsu
, (select tablespace_name, sum(bytes)/1024/1024 free_mb
from dba_free_space group by tablespace_name) tsf
where tsu.tablespace_name = tsf.tablespace_name (+)
and 100 - floor(tsf.free_mb/tsu.used_mb*100) >= 80
order by 3,4,5
/
================================================================================================================================================
Show all tablespaces used by a user
================================================================================================================================================
select tablespace_name
, ceil(sum(bytes) / 1024 / 1024) "MB"
from dba_extents
where owner like '&user_id'
group by tablespace_name
order by tablespace_name
/
=======================================================================================================================================
A query to display tablespaces with greater than 90 percent usage
========================================================================================================================================
select
tablespace_name,
used_percent
from
dba_tablespace_usage_metrics
where
used_percent > 90;
Select a.tablespace_name,sum(a.tots/1048576) Tot_Size,
sum(a.sumb/1024) Tot_Free, sum(a.sumb)*100/sum(a.tots) Pct_Free,
ceil((((sum(a.tots) * 15) - (sum(a.sumb)*100))/85 )/1048576) Min_Add
from (select tablespace_name,0 tots,sum(bytes) suswmandya@in.ibm.com
Koutilya@221408mb
from dba_free_space a
group by tablespace_name
union
Select tablespace_name,sum(bytes) tots,0 from
dba_data_files
group by tablespace_name) a
group by a.tablespace_name
having sum(a.sumb)*100/sum(a.tots) < 10
order by pct_free;
select tablespace_name,used_percent from dba_tablespace_usage_metrics where used_percent > 90;
===============================================================================
Current backup session details
=========================================================================
=============================================================================
. Current backup session details
============================================================================
col event for a40
col client_info for a30
select client_info
, event
from v$session
where event like 'Backup%'
order by client_info;
===========================================================================================
. Backup progress
=============== ============================================================================
select recid
, output_device_type
, dbsize_mbytes
, input_bytes/1024/1024 input_mbytes
, output_bytes/1024/1024 output_mbytes
, (output_bytes/input_bytes*100) compression
, (mbytes_processed/dbsize_mbytes*100) complete
, to_char(start_time + (sysdate-start_time)/(mbytes_processed/dbsize_mbytes),'DD-MON-YYYY HH24:MI:SS') est_complete
from v$rman_status rs
, (select sum(bytes)/1024/1024 dbsize_mbytes from v$datafile)
where status='RUNNING'
and output_device_type is not null
/
===============================================================================
RMAN backup completion percentage
========================================================================================
select sid,serial#,opname,sofar,totalwork,round(sofar/totalwork*100) complete from v$session_longops where OPNAME like '%RMAN%' and TOTALWORK <> 0;
===============================================================================
To find active connections to the database use below query.
SELECT SID, Serial#, UserName, Status, SchemaName, Logon_Time FROM V$Session WHERE Status='ACTIVE' AND UserName IS NOT NULL;
SELECT Inst_Id, SID, Serial#, UserName, Status, SchemaName, Logon_Time FROM GV_$Session WHERE Status='ACTIVE' AND UserName IS NOT NULL;
And use attached script which generated all the information about the database like schema users and regular users and so on.
Find the active transactions in oracle database
col name format a10
col username format a8
col osuser format a8
col start_time format a17
col status format a12
tti 'Active transactions'
select s.sid,username,t.start_time, r.name, t.used_ublk "USED BLKS",
decode(t.space, 'YES', 'SPACE TX',
decode(t.recursive, 'YES', 'RECURSIVE TX',
decode(t.noundo, 'YES', 'NO UNDO TX', t.status)
)) status
from sys.v_$transaction t, sys.v_$rollname r, sys.v_$session s
where t.xidusn = r.usn
and t.ses_addr = s.saddr
/
===============================================================================
check the scan listner in rac
lsnrctl status LISTENER_SCAN1 | grep -i uptime
lsnrctl status LISTENER_SCAN3 | grep -i SALES
select operation,status,mbytes_processed,start_time,end_time from v$rman_status where trunc(start_time)=trunc(sysdate-1);
desc v$rc_rman_staus;
totalwork,message
from v$session_longops
where totalwork !=0
and sofar!=totalwork
and opname like 'RMAN%'
select round(sofar/totalwork,2) pct,sofar,totalwork,message from v$session_longops where totalwork !=0 and sofar!=totalwork and opname like 'RMAN%';
view_waits.sh
bns\s6818495
Domain BNS, pass = Scotia2017
uname -n;date
/usr/es/sbin/cluster/clstat
clRGinfo
cltopinfo
======copying the archive redologs ================================================================
scp -rp root@10.32.159.1:/oradata/exactus/redo05.log .
scp -rp root@10.32.159.1:/oradata/exactus/redo06.log .
scp -rp root@10.32.159.1:/oradata/exactus/redo07.log .
scp -rp root@10.32.159.1:/oradata/exactus/redo04.log .
scp -rp root@10.32.159.1:/oradata/exactus/control02.ctl .
scp -rp root@10.32.159.1:/oradata/exactus/oraaudit_data_04.dbf .
scp -pr /usr/users1/pvn4651/Releases/150621/SunnelArcaApp/Sunnel_BlazeDS.war ibmadmin@10.10.5.2:/opt/NOR_0615/Binaries done
scp -pr /usr/users1/pvn4651/Releases/150621/SunnelArcaApp/Sunnel_BlazeDS.war ibmadmin@10.10.5.3:/opt/NOR_0615/Binaries===========pending
scp -pr /usr/users1/pvn4651/Releases/150621/SunnelArcaApp/Sunnel_BlazeDS.war ibmadmin@10.10.5.4:/opt/NOR_0615/Binaries done
scp -pr /usr/users1/pvn4651/Releases/150621/SunnelArcaApp/Sunnel_BlazeDS.war ibmadmin@10.10.5.5:/opt/NOR_0615/Binaries done
scp -pr /usr/users1/pvn4651/Releases/150621/SunnelArcaApp/Sunnel_BlazeDS.war ibmadmin@10.10.5.6:/opt/NOR_0615/Binaries done
scp -rp root@10.32.159.1:/flash_recovery_area/EXACTUS/archivelog/2017_08_05 .
tail -50 /opt/oracle/diag/rdbms/exactus/exactus/trace/alert_exactus.log
http://www.inf.ufpr.br/roverli/files/using-oracle-rman.txt 9i Rman for catalog ...
mv controlfile1.ctil controlfile1_bak.ctl
mv redo1.log redo1_back.log
Linux : getconf LONG_BIT
AIX : getconf -a | grep KERN
SQL> SELECT * FROM V$OPTION WHERE PARAMETER = 'Oracle Database Vault';
select sid , opname , message , (sofar/totalwork)*100 from v$session_longops where sid=&sid;
===============================================================================
oot@CRGLGTCDB02 # lslpp -L |grep -i bos.adt.base
root@CRGLGTCDB02 # lslpp -L bos.adt.base
Fileset Level State Type Description (Uninstaller)
----------------------------------------------------------------------------
lslpp: 0504-132 Fileset bos.adt.base not installed.
===============================================================================
Can one see how connections are distributed across the nodes?
===============================================================================
Select from gv$session. Some examples:
SELECT inst_id, count(*) "DB Sessions" FROM gv$session WHERE type = 'USER' GROUP BY inst_id;
With login time (hour):
SELECT inst_id, TO_CHAR(logon_time, 'DD-MON-YYYY HH24') "Hour when connected", count(*) "DB Sessions" FROM gv$session WHERE type = 'USER' GROUP BY inst_id, TO_CHAR(logon_time, 'DD-MON-YYYY HH24')
ORDER BY inst_id, TO_CHAR(logon_time, 'DD-MON-YYYY HH24');
SPPF-AORA1 (BD EXACTUS)
11:00:22 PM: Sadanandam: oraadmin:/ibmtsm/hst/> cat 2017-04-02_19-00_log_exactus.log
------------------------------find the table szie -----------------------------
COLUMN TABLE_NAME FORMAT A32
COLUMN OBJECT_NAME FORMAT A32
COLUMN OWNER FORMAT A10
SELECT
owner, table_name, TRUNC(sum(bytes)/1024/1024/1024) GB
FROM
(SELECT segment_name table_name, owner, bytes
FROM dba_segments
WHERE segment_type = 'TABLE')
WHERE owner in UPPER('&owner')
GROUP BY table_name, owner
HAVING SUM(bytes)/1024/1024 > 5 /* Ignore really small tables */
ORDER BY SUM(bytes) desc
;
=======================SCP=====================================================
scp aix.ppc64_12102_database_1of2.zip oracle@CRGLGTCDB01:/ora_rman
su - root
through root user we are tranfering
aix.ppc64_12102_database_1of2.zip
scp aix.ppc64_12102_grid_1of2.zip 10.32.0.49:/u01/software
scp aix.ppc64_12102_grid_2of2.zip 10.32.0.49:/u01/software
scp aix.ppc64_12102_database_1of2.zip 10.32.0.49:/u01/software
scp aix.ppc64_12102_database_2of2.zip 10.32.0.49:/u01/software
scp linuxx64_12201_grid_home.zip 10.32.25.203:/u01/software
$ scp p6880880_121010_AIX64-5L.zip root@10.32.0.47:/ora_rman/software
$ scp p6880880_121010_AIX64-5L.zip grid@10.32.0.47:/ora_rman/software
$ scp p6880880_121010_AIX64-5L.zip oracle@10.32.0.47:/ora_rman/software
=========clufy run ===============
/u01/software/grid
grid@CRGLGTCDB01 $ sh runcluvfy.sh stage -pre crsinst -n CRGLINTRHELPGA03,CRGLINTRHELPGA04 -verbose
sh runcluvfy.sh stage -pre crsinst -n CRGLINTRHELPGA03,CRGLINTRHELPGA04 -verbose >>clufyprecheck20thsepnew2017
sudo sh runcluvfy.sh stage -pre crsinst -n CRGLINTRHELPGA03,CRGLINTRHELPGA04 -verbose >>clufyprecheck20thSep2017
CRGLINTRHELPGA03
=====================Backups validation =================================================================================
/usr/tivoli/tsm/client/oracle/bin64 =====tdpo_daily.opt
/usr/tivoli/tsm/client/oracle/bin64 =====tdpo_weekly.opt
/usr/tivoli/tsm/client/oracle/bin64 =====tdpo_monthly.opt
==========================================================This is monthly backup validation for datawh and exactus backup ,,need to take one day forward in the date.=====================================
run {
set until time "TO_DATE('Sep 02 2017 23:59:59','Mon DD YYYY HH24:MI:SS')";
allocate channel t1 type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo_monthly.opt)';
restore validate database;
}
===========================================weekly backup validation =======================================
run {
set until time "TO_DATE('Sep 17 2017 23:59:59','Mon DD YYYY HH24:MI:SS')";
allocate channel t1 type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo_weekly.opt)';
restore validate database;
}
=====================Daily backup validation ====================
2017-10-01_23-04-25
RMAN> run {
set until time "to_date('09-NOV-201723:59:59','dd-mm-yyyyhh24:mi:ss')";
allocate channel t1 type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo_daily.opt)';
restore database validate;
}
===============================================================================
Sep 25 2017 23:59:59
RMAN> run{
set until time "TO_DATE('Oct 18 2017 23:59:59','Mon DD YYYY HH24:MI:SS')";
allocate channel t1 type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo_daily.opt)';
restore validate database;
}2> 3> 4> 5>
09/25/17- weekly
================AS A root===================
chown -R grid:oinstall /u01/software
chown grid:oinstall /u01/software/linuxx64_12201_*
chown oracle:oinstall /u01/software/linuxx64_12201_*
scp linuxx64_12201_grid_* 10.32.25.204:/u01/software
===========================Find the blocking sessions in oracle server ===================================
select blocking_session,sid,serial#,wait_class,seconds_in_wait from v$session where blocking_session is not NULL order by blocking_session;
oraadmin:/opt/oracle/diag/tnslsnr/sppf_aora1/> du -sg *
0.00 listener
7.63 listenerx
0.02 listenery
oraadmin:/opt/oracle/diag/tnslsnr/sppf_aora1/> cd listenerx
oraadmin:/opt/oracle/diag/tnslsnr/sppf_aora1/listenerx/> du -sg *
12:46:11 AM: SRIKANTH RAO NEEMKAR: find . -mtime +30 -exec rm -f {} \;
12:46:22 AM: SRIKANTH RAO NEEMKAR: for delete more than 30days
================================SCRIPTS FROM NET ========================
=================Track Tablespace Used/Free Space:=======================
SELECT /* + RULE */ df.tablespace_name "Tablespace", df.bytes / (1024 * 1024) "Size (MB)",
SUM(fs.bytes) / (1024 * 1024) "Free (MB)", Nvl(Round(SUM(fs.bytes) * 100 / df.bytes),1) "% Free", Round((df.bytes - SUM(fs.bytes)) * 100 / df.bytes) "% Used"
FROM dba_free_space fs, (SELECT tablespace_name,SUM(bytes) bytes
FROM dba_data_files
GROUP BY tablespace_name) df
WHERE fs.tablespace_name (+) = df.tablespace_name
GROUP BY df.tablespace_name,df.bytes
UNION ALL
SELECT /* + RULE */ df.tablespace_name tspace,
fs.bytes / (1024 * 1024), SUM(df.bytes_free) / (1024 * 1024), Nvl(Round((SUM(fs.bytes) - df.bytes_used) * 100 / fs.bytes), 1), Round((SUM(fs.bytes) - df.bytes_free) * 100 / fs.bytes)
FROM dba_temp_files fs, (SELECT tablespace_name,bytes_free,bytes_used
FROM v$temp_space_header
GROUP BY tablespace_name,bytes_free,bytes_used) df
WHERE fs.tablespace_name (+) = df.tablespace_name
GROUP BY df.tablespace_name,fs.bytes,df.bytes_free,df.bytes_used
ORDER BY 4 DESC;
====================AUTO EXTEND ON / OFF====================================================
select substr(file_name,1,50), AUTOEXTENSIBLE from dba_data_files;
select tablespace_name,AUTOEXTENSIBLE from dba_data_files;
=====================================Delete the files older tan 30 days=================================
find . -mtime +30 -exec rm -f {} \;
lvextend -L +500M /dev/mapper/vgDatos-lvdb91
=================SRM Tool============================================
https://w3-03.ibm.com/services/srm/SRM/Login.jsp
username:sabudida@in.ibm.com
sadan@2019
========================================Listner logs on sppf server=====================================================
oraadmin:/opt/oracle/diag/tnslsnr/sppf_aora1/> du -sg *
0.00 listener
7.63 listenerx
0.02 listenery
oraadmin:/opt/oracle/diag/tnslsnr/sppf_aora1/> cd listenerx
oraadmin:/opt/oracle/diag/tnslsnr/sppf_aora1/listenerx/> du -sg *
find . -mtime +30 -exec rm -f {} \; ============================================= for delete more than 30days
================================================================================================================================================================
SELECT
s.blocking_session,
s.sid,
s.serial#,
s.seconds_in_wait
FROM
v$session s
WHERE
blocking_session IS NOT NULL;
===================================cut over phase ======================================================================
Connect to client network procedure.
Request for open text socks client for ticketing tool.
Connect to database server.
export the instances.
check the number of instances in server.
connect to database .
Check the instance status and database status .
Check the RMAN backup status of each database in the server .
Check the number of active / Inactive connections in database .
Below are the points mandatary to check during the cut over/wave phase .
Check the access to server .
Check the os version and number of database and its versions..
Check the database size , used size, instance name, startup of database and archive log mode status /flashback on of database.
check the storage for data . Whether its ASM or raw file system.
Check the space for data and archive logs (Applicable if its in archive log mode)
Check the listeners and tns names. Ora file and check the ping status of both.
Check the backup configuration and know about the backup policy and its redundancy type disk/tape ?
Check the number of active and inactive connections.
Check the number of control files and online redo log groups and members and its sizes
Check the sizes of redo logs group s and its members .
=====================================================================================================================================================================
select
(select username from v$session where sid=a.sid) blocker,
a.sid,
' is blocking ',
(select username from v$session where sid=b.sid) blockee,
b.sid
from
v$lock a,
v$lock b
where
a.block = 1
and
b.request > 0
and
a.id1 = b.id1
and
a.id2 = b.id2;
select
c.owner,
c.object_name,
c.object_type,
b.sid,
b.serial#,
b.status,
b.osuser,
b.machine
from
see code depot for full locking script
v$locked_object a ,
v$session b,
dba_objects c
where
b.sid = a.session_id
and
a.object_id = c.object_id;
Oracle has several views for showing lock status, some of which show the username:
DBA_BLOCKERS - Shows non-waiting sessions holding locks being waited-on
DBA_DDL_LOCKS - Shows all DDL locks held or being requested
DBA_DML_LOCKS - Shows all DML locks held or being requested
DBA_LOCK_INTERNAL - Displays 1 row for every lock or latch held or being requested with the username of who is holding the lock
DBA_LOCKS - Shows all locks or latches held or being requested
DBA_WAITERS - Shows all sessions waiting on, but not holding waited for locks
The DBA_LOCK_INTERNAL view is best to show locks for a specific user, and you can
======================================sessions used memory.======================================================
Use this Query to find any inactive sessions used memory. If they used and u sure about the session is no longer needed then kill the session.
select s.sid, n.name, s.value
from v$sesstat s,
v$statname n,
v$session sess
where n.statistic# = s.statistic#
and s.sid = sess.sid
and sess.status = 'INACTIVE'
and n.name like '%memory%'
and n.name not like 'sorts (memory)'
order by s.sid
;
Find out the status of the session and process associated with the session using follwing query.
SET LINESIZE 100
COLUMN spid FORMAT A10
COLUMN username FORMAT A10
COLUMN program FORMAT A45
SELECT s.inst_id,
s.sid,
s.serial#,
s.status,
p.spid,
s.username,
s.program
FROM gv$session s
JOIN gv$process p ON p.addr = s.paddr AND p.inst_id = s.inst_id
WHERE s.type != 'BACKGROUND';
If no process associated with the inactive session then kill the session manually or setup the auto terminating the inactive session.
===============================================================================
=====To check the session / connection id corresponding to their pid ==============================================
SQL> select process, sid, paddr,username from v$session where username is not null ;
PROCESS SID PADDR USERNAME
------------ ---------- -------- ------------------------------
1229:785 8 140FFF7C PRINCE
SQL> select username, spid, pid, program from v$process where addr = '140FFF7C';
USERNAME SPID PID PROGRAM
--------------- ------------ ---------- ---------------------------------------------
SYSTEM 290 11 ORACLE.EXE
============To check who is generaing the more resologs =============================
select username, sid, value, sql_id, prev_sql_id
from ( select username,s.sid, value, sql_id, prev_sql_id
from v$session u, v$sesstat s, v$statname n
where n.name = 'redo size'
and s.statistic# = n.statistic#
and u.sid = s.sid order by value desc )
where rownum <= 10
order by value desc
/
=======================================================================
https://db-blog.web.cern.ch/blog/szymon-jozef-skorupinski/2012-07-how-verify-if-archived-log-deletion-policy-correctly-applied
select * from v$recovery_area_usage;
select * from v$recovery_area_usage where file_type = 'ARCHIVED LOG';
============================To chekk the tablespace name and datafile location ===================
col tablespace_name format a16;
col file_name format a36;
SELECT TABLESPACE_NAME, FILE_NAME, BYTES FROM DBA_DATA_FILES;
=====================================================================================================
=======================Tablespace (File wise) used and Free space in 9i ======================================================
SELECT SUBSTR (df.NAME, 1, 40) file_name,dfs.tablespace_name, df.bytes / 1024 / 1024 allocated_mb, ((df.bytes / 1024 / 1024) - NVL (SUM (dfs.bytes) / 1024 / 1024, 0)) used_mb,
NVL (SUM (dfs.bytes) / 1024 / 1024, 0) free_space_mb
FROM v$datafile df, dba_free_space dfs
WHERE df.file# = dfs.file_id(+)
GROUP BY dfs.file_id, df.NAME, df.file#, df.bytes,dfs.tablespace_name
ORDER BY file_name;
find / -name "alert_*.log" 2> /dev/null
col "Database Size" format a20
col "Free space" format a20
col "Used space" format a20
select round(sum(used.bytes) / 1024 / 1024 / 1024 ) || ' GB' "Database Size"
, round(sum(used.bytes) / 1024 / 1024 / 1024 ) -
round(free.p / 1024 / 1024 / 1024) || ' GB' "Used space"
, 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
/
How to find cpu and memory information of oracle database server.
Below script is useful in getting CPU, memory and core, socket information of a database server from SQL prompt. SCRIPT:
set pagesize 299
set lines 299
select STAT_NAME,to_char(VALUE) as VALUE ,COMMENTS from v$osstat where stat_name IN ('NUM_CPUS','NUM_CPU_CORES','NUM_CPU_SOCKETS')
union
select STAT_NAME,VALUE/1024/1024/1024 || ' GB' ,COMMENTS from v$osstat where stat_name IN ('PHYSICAL_MEMORY_BYTES')
OUTPUT:
STAT_NAME VALUE COMMENTS
-------------------------------- ------------------------------------------- --------------------------------------------------------
NUM_CPUS 256 Number of active CPUs
NUM_CPU_CORES 32 Number of CPU cores
NUM_CPU_SOCKETS 4 Number of physical CPU sockets
PHYSICAL_MEMORY_BYTES 255.5 GB Physical memory size in bytes
Find user commits per minute in oracle database
1986 views Less than a minute 0
Below script is useful in getting user commit statistics information in the oracle database. user commits is the number of commits happening the database. It will be helpful in tracking the number of transactions in the database.
================= Find the active transactions in oracle database ======
Below script can be used to find the active transactions in the oracle database.
col name format a10
col username format a8
col osuser format a8
col start_time format a17
col status format a12
tti 'Active transactions'
select s.sid,username,t.start_time, r.name, t.used_ublk "USED BLKS",
decode(t.space, 'YES', 'SPACE TX',
decode(t.recursive, 'YES', 'RECURSIVE TX',
decode(t.noundo, 'YES', 'NO UNDO TX', t.status)
)) status
from sys.v_$transaction t, sys.v_$rollname r, sys.v_$session s
where t.xidusn = r.usn
and t.ses_addr = s.saddr
/
===============================================================================
Find sessions consuming lot of CPU
Use below query to find the sessions using a lot of CPU.
col program form a30 heading "Program"
col CPUMins form 99990 heading "CPU in Mins"
select rownum as rank, a.*
from (
SELECT v.sid, program, v.value / (100 * 60) CPUMins
FROM v$statname s , v$sesstat v, v$session sess
WHERE s.name = 'CPU used by this session'
and sess.sid = v.sid
and v.statistic#=s.statistic#
and v.value>0
ORDER BY v.value DESC) a
where rownum < 11;
===================================================
Find pending distributed pending transactions in oracle
COL local_tran_id FORMAT a13
COL in_out FORMAT a6
COL database FORMAT a25
COL dbuser_owner FORMAT a15
COL interface FORMAT a3
SELECT local_tran_id, in_out, database, dbuser_owner, interface
FROM dba_2pc_neighbors
/
Find sessions consuming lot of CPU
col program form a30 heading "Program"
col CPUMins form 99990 heading "CPU in Mins"
select rownum as rank, a.*
from (
SELECT v.sid, program, v.value / (100 * 60) CPUMins
FROM v$statname s , v$sesstat v, v$session sess
WHERE s.name = 'CPU used by this session'
and sess.sid = v.sid
and v.statistic#=s.statistic#
and v.value>0
ORDER BY v.value DESC) a
where rownum < 11;
https://www.aptransport.in/tgcfstonline/
https://www.aptransport.in/TGCFSTONLINE/DL/SuccessPage.aspx
*134662#
select resource_name, current_utilization, max_utilization from v$resource_limit where resource_name in ('processes','session','transactions');
=============================== SFTP ==================
cd /home/orapip
To upload the files to oracle support from server using sftp
Take the new terminal
[sabudida@oc5216235288 ~]$ sftp pajaladi@10.1.160.186
pajaladi@10.1.160.186's password:
Connected to 10.1.160.186.
sftp> cd /oracle/PIP/saptrace/diag/rdbms/pip/PIPDG/trace
sftp> get alert_PIPDG.log
Fetching /oracle/PIP/saptrace/diag/rdbms/pip/PIPDG/trace/alert_PIPDG.log to alert_PIPDG.log
/oracle/PIP/saptrace/diag/rdbms/pip/PIPDG/trace/alert_PIPDG.log 100% 3764KB 126.0KB/s 00:29
sftp> cd /home/orapip
sftp> get dg_psbydiag_PIP_08282018_125338.html
Fetching /home/orapip/dg_psbydiag_PIP_08282018_125338.html to dg_psbydiag_PIP_08282018_125338.html
/home/orapip/dg_psbydiag_PIP_08282018_125338.html 100% 13KB 6.4KB/s 00:02
sftp>
The output will be stored my home directory
===================================================================================================================================
revoke create PUBLIC DATABASE LINK from MCAJUSOL;
$ df -Pftab
select distinct substr(file_name,1,4) from dba_data_files;
1* select FILE_NAME from dba_data_files
SQL> select distinct substr(file_name,1,4) from dba_data_files;
SUBS
----
/u08
/u05
BDRSA_TEST
172.23.14.180 rsdcatdbrsa01 BDRSA TEST
172.23.14.181 rsdcatdbrsa02
oracle/0ra_cl_e020 grid 0ra_cl_e020
============================================Tablespace free space query =====================================================================
SQL> set linesize 300 pagesize 1000 feedback 1 echo off wrap on
column tblspace format a12 heading "Tablespace"
column "Used Space(MB)" format 999999999
column "allocated size(MB)" format 999999999
column "maximum allowable (MB)" format 999999999
column "effective free(MB)" format 999999999
column "%FREE" format 999.99
select
a.tsdf tablespace,
nvl(a.file_space,0) "allocated size(MB)",
nvl(b.used_space,0) "Used Space(MB)",
a.extn_space as "maximum allowable (MB)",
(nvl(a.extn_space,0)-nvl(b.used_space,0)) as "effective free(MB)",
round((((nvl(a.extn_space,0)-nvl(b.used_space,0))/nvl(a.extn_space,0))*100),2) as "Effective % FREE"
from
(select tablespace_name tsdf,sum(bytes)/1048576 file_space,sum(decode(maxbytes,0,bytes,maxbytes))/1048576 extn_space from
dba_data_files group by tablespace_name) a, (select tablespace_name tsfs,(bytes/1048576) used_space from sm$ts_used) b where
a.tsdf = b.tsfs (+)
--and round((((a.extn_space-b.used_space)/a.extn_space)*100),2) <=25
order by 6 ;SQL> SQL> SQL> SQL> SQL> SQL> SQL> 2 3 4 5 6 7 8 9 10 11 12 13
TABLESPACE allocated size(MB) Used Space(MB) maximum allowable (MB) effective free(MB) Effective % FREE
------------------------------ ------------------ -------------- ---------------------- ------------------ ----------------
UNDOTBS01 30720 30551 30720 169 .55
APP2LBS_IND_HUGE 99328 84672 99328 14656 14.76
APP2LBS_IND_XHUGE_C 92160 77312 92160 14848 16.11
APP2LBS_IND_XHUGE_R 40960 33280 40960 7680 18.75
APP2LBS_IND_LARGE 19236 15328 19236 3908 20.32
APP2LBS_DAT_LARGE 31700 24832 31700 6868 21.67
APP2LBS_IND_XHUGE_F 143360 108544 143360 34816 24.29
APP2LBS_DAT_XHUGE_F 102400 74368 102400 28032 27.38
undefine tablespace
column tablespace_name format a30
column free_mb format 9999999.99
column tam_mb format 9999999.99
column pct_free format 999.99
col status format a10
set pages 100
select df.tablespace_name,fss.free_mb/1024/1024/1024 free_gb,sum(df.bytes)/1024/1024/1024 total_gb,fss.free_mb/sum(df.bytes)*100 pct_free from dba_data_files df,
(select tablespace_name, sum(bytes) free_mb
from dba_free_space
group by tablespace_name
union
(select tablespace_name, (select 0 from dual) from dba_tablespaces
minus
select distinct tablespace_name, (select 0 from dual) from dba_free_space))fss
where df.tablespace_name = fss.tablespace_name
and df.tablespace_name = DECODE('&&tablespace', 'TODAS', df.tablespace_name, '&tablespace')
group by df.tablespace_name,fss.free_mb
order by 4 desc;
SYSAUX
ibmragha/Feb#2021
rsdcatdbsasp02
undefine tablespace
column tablespace_name format a30
column free_mb format 9999999.99
column tam_mb format 9999999.99
column pct_free format 999.99
col status format a10
set pages 100
select df.tablespace_name,fss.free_mb/1024/1024/1024 free_gb,sum(df.bytes)/1024/1024/1024 total_gb,fss.free_mb/sum(df.bytes)*100 pct_free from dba_data_files df,
(select tablespace_name, sum(bytes) free_mb
from dba_free_space
group by tablespace_name
union
(select tablespace_name, (select 0 from dual) from dba_tablespaces
minus
select distinct tablespace_name, (select 0 from dual) from dba_free_space))fss
where df.tablespace_name = fss.tablespace_name
and df.tablespace_name = DECODE('&&tablespace', 'TODAS', df.tablespace_name, '&tablespace')
group by df.tablespace_name,fss.free_mb
order by 4 desc
*************************************************************************************************************
tablespace size of particulat one tablespace in actual size
*****************************************************************
column tablespace format a40
column "Free (MB)" format a20
column "Free %" format a20
SELECT F.tablespace_name "Tablespace", TO_CHAR(NVL(a.bytes / 1024 / 1024, 0),'99G999G990') "Size (MB)",
TO_CHAR(NVL(NVL(f.bytes, 0),0)/1024/1024, '99G999G990') "Free (MB)", TO_CHAR(NVL((NVL(f.bytes, 0)) / a.bytes * 100, 0), '990D00') "Free %"
FROM (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 F.tablespace_name=A.TABLESPACE_NAME
and F.tablespace_name='GESTION_BASCLID_DATA'
order by "Free %" desc;
Tablespace Size (MB) Free (MB) Free %
---------------------------------------- ----------- -------------------- --------------------
USERS 16,137 18 0.11
================ ASm DISK GROUP FREE SPACE QUER
[ibmragha@svaibmlnxf04 ~]$ sudo su - grid
[+ASM]
grid@/home/grid>ps -ef|grep smon
ora11g 6816 1 0 2017 ? 01:21:10 ora_smon_c2lbspep
grid 16200 1 0 2017 ? 00:01:00 asm_smon_+ASM
grid 28182 28158 0 13:49 pts/1 00:00:00 grep smon
[+ASM]
grid@/home/grid>ls -ltr
total 0
[+ASM]
grid@/home/grid>sqlplus / as sysasm
SQL> SELECT name, free_mb, total_mb, free_mb/total_mb*100 as percentage FROM v$asm_diskgroup;
select NAME,TOTAL_MB/(1024) TOTAL_GB,FREE_MB/1024 FREE_GB,(TOTAL_MB-FREE_MB)/1024 USED_GB,(FREE_MB/TOTAL_MB)*100 FREE_PER from v$asm_diskgroup;
NAME FREE_MB TOTAL_MB PERCENTAGE
------------------------------ ---------- ---------- ----------
FRA 243961 255996 95.2987547
DATA 77046 1279980 6.0193128
SELECT name, free_gb, total_gb, free_mb/total_gb*100*100 as percentage FROM v$asm_diskgroup;
alter tablespace TEMP add tempfile '+TEMP' size 30g;
SELECT g.group_number
, g.name Group_Name
, g.state State
, g.type Type
, round(decode(g.type,'NORMAL',g.total_mb/1024/2,g.total_mb/1024)) Total_GB
, round(decode(g.type,'NORMAL',g.free_mb/1024/2,g.free_mb/1024)) Free_GB
, round(100*(max((d.total_mb-d.free_mb)/d.total_mb)-min((d.total_mb-d.free_mb)/d.total_mb))/max((d.total_mb-d.free_mb)/d.total_mb)) Imbalance
, round(100*(min(d.free_mb/d.total_mb))) MinFree
, round(100*(max(d.free_mb/d.total_mb))) MaxFree
, count(*) DiskCnt
FROM v$asm_disk d, v$asm_diskgroup g
WHERE d.group_number = g.group_number and
d.group_number <> 0 and
d.state = 'NORMAL' and
d.mount_status = 'CACHED'
GROUP BY g.group_number, g.name, g.state, g.type, g.total_mb, g.free_mb
ORDER BY 1;
SQL> exit
sudo su - ora11g
sqlplus / as sysdba
SQL> alter database datafile 52 resize 20g;
alter database datafile 26 resize 5g;
SQL> alter tablespace TKCS5 add datafile '+DATA' size 10g;
Tablespace altered.
ss
ALTER DATABASE DATAFILE '/sas_prd3/perfstat_01.dbf' RESIZE 2000M; in 9I.
alter database datafile '/bd_sbxleg/sbxleg/data/historico_01.dbf' resize 12000M;
alter database datafile '/bd_sbxleg/sbxleg/index/historico_02.dbf' resize 10000M;
Database altered.
Tablespace datafile size increase: PSAPSR3
select TABLESPACE_NAME, FILE_NAME,AUTOEXTENSIBLE,bytes/1024/1024/1024,file_id from dba_Data_files where TABLESPACE_NAME like 'PSAPSR3';
set pages 200
set linesize 120
col name format a65
col tbspace format a25
col free format 99999
col size format 99999
select t.name tbspace, v.name, round(free_size/1048576) "free",
round(v.bytes/1048576) "size"
from v$datafile v, (select file_id, sum(bytes) free_size
from dba_free_space
group by file_id) f, v$tablespace t
where v.file# = f.file_id(+) and
v.ts# = t.ts#
order by 1 ;
select t.name tbspace, f.name, round(bytes/1048576) "size"
from v$tempfile f, v$tablespace t
where f.ts# = t.ts#
order by 1;
===================== perticular tablespace datafiles ======================
COLUMN tablespace_name FORMAT A20
COLUMN File_Name FORMAT A80
select file_id,file_name,tablespace_name,bytes/1024/1024/1024,maxbytes/1024/1024/1024,autoextensible from dba_data_files where tablespace_name='&TS_NAME';
=========================================================
SQL> select TABLESPACE_NAME, FILE_NAME,AUTOEXTENSIBLE,bytes/1024/1024/1024,file_id from dba_Data_files where TABLESPACE_NAME like 'APP2LBS_IND_HUGE';
TABLESPACE_NAME FILE_NAME AUT BYTES/1024/1024/1024 FILE_ID
------------------------------ ------------------------------------------------------------ --- -------------------- ----------
APP2LBS_IND_HUGE +DATA/c2lbspep/datafile/app2lbs_ind_huge.295.933130281 NO 31 51
APP2LBS_IND_HUGE +DATA/c2lbspep/datafile/app2lbs_ind_huge.296.933130281 NO 20 52
APP2LBS_IND_HUGE +DATA/c2lbspep/datafile/app2lbs_ind_huge.281.933130077 NO 31 53
APP2LBS_IND_HUGE +DATA/c2lbspep/datafile/app2lbs_ind_huge.282.933130091 NO 20 54
===============================================================================
================ Tables refresh trhough brspace process===========
Check if given window is sufficient or not.
check if any LOB/BLOG/LONG columns in tables.
check tablespace usage before - after
check tables size before-after.
check estimated space gain in tables after re-org
rebuild invalid indexes
check invalid objects before-after
analyze tables after reorg
check the total space gain after re-org.
check the rmman backup ploice and makes sure bcz of the brspace table re-org it will generate the huge archives for and log backup should be in place ..
check the window time based on the table sizes .
Change Number :CH266850
$brspace -u / -f tbreorg -o SAPSR3 -t EKKO -p 10
brspace is a Tool
-u is the user name
-f means forceful
-o SAPSR3
-t table
-p numner of processs.
select object_name,object_type,owner from dba_objects where object_name='VTEL_SBMT_CAT_ALMACENES';
select object_name,object_type,owner from dba_objects where object_name in ('LTAK','LTAP','IKPF','ISEG','RBKP','RBEX','RSEG','CDCLS','CDHDR','NAST','MKPF','MSEG','NAST') ;
SQL> select owner,segment_name,sum(bytes/1024/1024) from dba_segments where segment_name in ('LTAK','LTAP','IKPF','ISEG','RBKP','RBEX','RSEG','CDCLS','CDHDR','NAST','MKPF','MSEG','NAST') group by owner,segment_name;
OWNER SEGMENT_NAME SUM(BYTES/1024/1024)
------------------------------ --------------------------------------------------------------------------------- --------------------
SAPSR3 MSEG 42380
SAPSR3 LTAK 1346
SAPSR3 RBEX 2564
SAPSR3 NAST 833
SAPSR3 LTAP 6654
SAPSR3 RBKP 1506
SAPSR3 CDHDR 40474
select table_name,owner,LAST_ANALYZED,NUM_ROWS,COMPRESSION,round((blocks*8/1024/1024),2) "size (GB)" ,round((num_rows*avg_row_len/1024/1024/1024),2) "actual_data (GB)",(round((blocks*8/1024/1024),2) - round((num_rows*avg_row_len/1024/1024/1024),2)) "wasted_space (GB)" from dba_tables where table_name in ('SXMSPEMAS','SXMSPVERS') and owner='SAPSR3';
select owner,segment_name,sum(bytes/1024/1024/1024) from dba_segments where segment_name in ('LTAK','LTAP','IKPF','ISEG','RBKP','RBEX','RSEG','CDCLS','CDHDR','NAST','MKPF','MSEG','NAST') group by owner,segment_name;
check the size of the each object
we can check how much we can reclaim the space we have to check for each table ...
select table_name,owner,LAST_ANALYZED,NUM_ROWS,COMPRESSION,round((blocks*8/1024/1024),2) "size (GB)" ,round((num_rows*avg_row_len/1024/1024/1024),2) "actual_data (GB)",(round((blocks*8/1024/1024),2) - round((num_rows*avg_row_len/1024/1024/1024),2)) "wasted_space (GB)" from dba_tables where table_name in ('SXMSPEMAS','SXMSPVERS') and owner='SAPSR3';
after complete the reorg of each table we have calculate the reclaim free space for each table.
after re-org the table
OWNER SEGMENT_NAME SUM(BYTES/1024/1024/1024)
------------------------------ ---------------------------------------- -------------------------
SAPSR3 RBEX .717773438
SAPSR3 LTAK .108398438
SAPSR3 CDHDR 38.6708984
SAPSR3 MSEG 11.390625
SAPSR3 NAST .697265625
SAPSR3 LTAP .40625
SAPSR3 RBKP .374023438
==== Gather the table stats =============
exec dbms_stats.gather_table_stats('SAPSR3', 'COBK', cascade => TRUE);
exec dbms_stats.gather_table_stats('SAPSR3', 'COEP', cascade => TRUE);
7 rows selected.
==check the all the tables sizes===
SQL> SELECT SUM(bytes)/1024/1024/1024 gb FROM dba_segments where segment_name in ('LTAK','LTAP','IKPF','ISEG','RBKP','RBEX','RSEG','CDCLS','CDHDR','NAST','MKPF','MSEG','NAST')
OR (owner, segment_name) IN (SELECT owner, segment_name
FROM dba_lobs WHERE owner = 'SAPSR3' AND table_name in ('LTAK','LTAP','IKPF','ISEG','RBKP','RBEX','RSEG','CDCLS','CDHDR','NAST','MKPF','MSEG','NAST'));
=============== check the blocking in the database =======================
select
(select username from v$session where sid=a.sid) blocker,
a.sid,' is blocking ',(select username from v$session where sid=b.sid) blockee,b
.sid
from v$lock a, v$lock b
where a.block = 1
and b.request > 0
and a.id1 = b.id1
and a.id2 = b.id2;
SQL> select
(select username from v$session where sid=a.sid) blocker,
a.sid,' is blocking ',(select username from v$session where sid=b.sid) blockee,b
.sid
from v$lock a, v$lock b
where a.block = 1
and b.request > 0
and a.id1 = b.id1
and a.id2 = b.id2; 2 3 4 5 6 7 8 9
no rows selected
=== Find the blocking sessions ========
select decode(request ,0, 'HOlDER ','WAITER ')||sid "sesssion",type,lmode,request,id1,ctime
from v$lock where (type,id1,id2) in (select type,id1,id2 from v$lock where request >0);
select s1.inst_id,s2.inst_id,s1.username || '@' || s1.machine
|| ' ( SID=' || s1.sid || ' ) is blocking '
|| s2.username || '@' || s2.machine || ' ( SID=' || s2.sid || ' ) ' AS blocking_status
from gv$lock l1, gv$session s1, gv$lock l2, gv$session s2
where s1.sid=l1.sid and s2.sid=l2.sid and s1.inst_id=l1.inst_id and s2.inst_id=l2.inst_id
and l1.BLOCK=1 and l2.request > 0
and l1.id1 = l2.id1
and l2.id2 = l2.id2
order by s1.inst_id;
select owner,count(*) from dba_indexes where owner='APP_BPM_SIN_VEH' group by owner;
================================
==========database startup time ===========================
set pages 9999 lines 300
col OPEN_MODE for a10
col HOST_NAME for a15
col Instance_start_time for a25
col CURRENT_TIME for a20
col DATABASE_STATUS for a10
col DB_VERSION for a10
col db_version for a10
col logins for a10
col DATABASE_ROLE for a10
col INSTANCE_NAME for a10
select name DB_NAME,INSTANCE_NAME,HOST_NAME,OPEN_MODE,version DB_VERSION,DATABASE_STATUS,DATABASE_ROLE,LOGINS,to_char(STARTUP_TIME,'DD-MON-YYYY HH24:MI:SS') "Instance_start_time",
to_char(sysdate,'DD-MON-YYYY HH24:MI:SS') "CURRENT_TIME" from v$database,gv$instance;
set lines 200 pages 200
SELECT DATABASE_ROLE, DB_UNIQUE_NAME INSTANCE, OPEN_MODE, PROTECTION_MODE, PROTECTION_LEVEL, SWITCHOVER_STATUS FROM V$DATABASE;
------------------------- -------------------------- ----------------------- --------------------- -------------------------- ----------------------
set lines 200 pages 10
col HostName for a20
col startup_time for a20
select i.host_name as "HostName", d.dbid as "DBID",i.instance_name as "Name", d.database_role as "DB_Role", d.open_mode as "Status", d.log_mode as "Log_Mode", i.version as "Version",
to_char(i.startup_time,'dd-mm-yyyy hh24:mi:ss') as "Startup_Time", d.database_role as "Database_Role"
from v$database d, v$instance i;
HostName DBID Name DB_Role Status Log_Mode Version Startup_Time Database_Role
-------------------- ---------- ---------------- ---------------- ---------- ------------ ----------------- ------------------- ----------------
rectienda 1188823188 bdisdpro PRIMARY READ WRITE NOARCHIVELOG 10.2.0.3.0 30-08-2018 04:00:17 PRIMARY
subbuphotosgudem@gmail.com
sadan@2017
=================== script excution ===================================
check the server first
check the database
check the schema name was mentioned and post execution of the scitpt if you face any issue will check properly and check with senior mates and confirm to application users
SR1720006 Ejecutar Script Notas de Pedido - IN2290528
!ps -ef|grep tns
SQL> select name,open_mode from v$database;
NAME OPEN_MODE
--------- ----------
DBMPACK READ WRITE
SQL> alter session set current_schema=ADM_MPK;
Session altered.
SQL> update n_curvature set cor_cod=772429 where curvature_id=353582;
1 row updated.
Commit complete.
SQL>CREATE TABLE N_CURVATURE090119 AS SELECT * FROM N_CURVATURE;
expdp directory=fulldb tables=REG_ENV_SERV dumpfile=REG_ENV_SERV.dmp logfile=REG_ENV_SERV.log
select owner,segment_name,segment_type,bytes/1024/1024 GB from dba_segments where segment_type='TABLE' and segment_name='REG_ENV_SERV';
select owner,segment_name,segment_type,bytes/1024/1024 GB from dba_segments where segment_type='TABLE' and segment_name='CTX_HEADER_TRX partition'
MOTSLREN.CTX_HEADER_TRX
=========== script excution / delete the records on partitioed tables;=====
select count(*) from dba_segments where segment_name='CTX_HEADER_TRX'; To check the no of tables in the partttion table CTX_HEADER_TRX
select count(*) from MOTSLREN.CTX_HEADER_TRX; to check the no of records in the partttion table CTX_HEADER_TRX
=====================================================================================
we need to delete table SOFFCONT#$ on db from server kfmprd1.
Table doent have any data but the blob are occupying the huge data we need to truncatre them to release the space from table.
Take the size of the table
select a.owner, a.table_name, a.column_name, a.segment_name , b.bytes/1024/1024
from dba_lobs a, dba_segments b
where a.segment_name = b.segment_name
and a.owner = b.owner and table_name='SOFFCONT1#$'
order by b.bytes/1024/1024 ;
truncate table SAPSR3.SOFFCONT1#$;
check the size of table ..
************************************************To get allthe table space *********************
Select t.tablespace, t.totalspace as " Totalspace(MB)", round((t.totalspace-fs.freespace),2) as "Used Space(MB)", fs.freespace as "Freespace(MB)", round(((t.totalspace-fs.freespace)/t.totalspace)*100,2) as "% Used", round((fs.freespace/t.totalspace)*100,2) as "% Free" from (select round(sum(d.bytes)/(1024*1024)) as totalspace, d.tablespace_name tablespace from dba_data_files d group by d.tablespace_name) t, (select round(sum(f.bytes)/(1024*1024)) as freespace, f.tablespace_name tablespace from dba_free_space f group by f.tablespace_name) fs where t.tablespace=fs.tablespace order by t.tablespace;
set pages 200 lines 200;
==============================================To check the particular tablespace datafiles**************************************************************
5604
COLUMN tablespace_name FORMAT A20
COLUMN File_Name FORMAT A80
select file_id,file_name,tablespace_name,bytes/1024/1024/1024,maxbytes/1024/1024/1024,autoextensible from dba_data_files where tablespace_name='&TS_NAME';
SQL> COLUMN tablespace_name FORMAT A20
COLUMN File_Name FORMAT A80
select file_id,file_name,tablespace_name,bytes/1024/1024/1024,maxbytes/1024/1024/1024,autoextensible from dba_data_files where tablespace_name='&TS_NAME';SQL> SQL>
Enter value for ts_name: USERS
old 1: select file_id,file_name,tablespace_name,bytes/1024/1024/1024,maxbytes/1024/1024/1024,autoextensible from dba_data_files where tablespace_name='&TS_NAME'
new 1: select file_id,file_name,tablespace_name,bytes/1024/1024/1024,maxbytes/1024/1024/1024,autoextensible from dba_data_files where tablespace_name='USERS'
FILE_ID FILE_NAME TABLESPACE_NAME BYTES/1024/1024/1024 MAXBYTES/1024/1024/1024 AUT
---------- -------------------------------------------------------------------------------- -------------------- -------------------- ----------------------- ---
4 /u02/ptlcd/oradata/data/users01.dbf USERS .014648438 0 NO
=========================================================================================================
INC000001427261
OEM 13C: DM - Tablespace [USERS] is [94.73 percent] full|ODSGGDB|odsdb02.gp.inet
TABLESPACE allocated size(MB) Used Space(MB) maximum allowable (MB) effective free(MB) Effective % FREE
------------------------------ ------------------ -------------- ---------------------- ------------------ ----------------
USERS 52320 49562 52320 2758 5.27
select tablespace_name,AUTOEXTENSIBLE,file_name,maxbytes/1024/1024/1024 MAX_SIZE from dba_data_files where tablespace_name='USERS';
PRODODS_FRA02 1977954 2097120 94.3176356
select tablespace_name,AUTOEXTENSIBLE,file_name,maxbytes/1024/1024/1024 MAX_SIZE from dba_data_files where tablespace_name='USERS';
TABLESPACE_NAME AUT FILE_NAME MAX_SIZE
---------------------------------------- --- ------------------------------------------------------------ ----------
USERS NO +PRODODS_DG02/ODSGGDB/users01.dbf 0
USERS NO +PRODODS_DG02/ODSGGDB/DATAFILE/users.791.976722307 0
NAME FREE_MB TOTAL_MB PERCENTAGE
PRODODS_DG02 75802 12582813 .602424911
SQL> select file_name,file_id,tablespace_name from dba_data_files where tablespace_name='USERS';
FILE_NAME FILE_ID TABLESPACE_NAME
------------------------------------------------------------ ---------- ----------------------------------------
+PRODODS_DG02/ODSGGDB/users01.dbf 5 USERS
+PRODODS_DG02/ODSGGDB/DATAFILE/users.791.976722307 632 USERS
select tablespace_name,file_name,bytes/1024/1024/1024,maxbytes/1024/1024/1024 from dba_data_files where tablespace_name='USERS';
alter database datafile 632 resize 26g;
SQL> select tablespace_name,file_name,bytes/1024/1024/1024,maxbytes/1024/1024/1024,file_id from dba_data_files where tablespace_name='USERS';
TABLESPACE_NAME FILE_NAME BYTES/1024/1024/1024 MAXBYTES/1024/1024/1024 FILE_ID
-------------------- ------------------------------------------------------------ -------------------- ----------------------- ----------
USERS +PRODODS_DG02/ODSGGDB/users01.dbf 31.09375 0 5
USERS +PRODODS_DG02/ODSGGDB/DATAFILE/users.791.976722307 20 0 632
2 rows selected.
Here we are adding space 20+6 =26 gb
SQL> alter database datafile 632 resize 26g;
Database altered.
SQL> select tablespace_name,file_name,bytes/1024/1024/1024,maxbytes/1024/1024/1024 from dba_data_files where tablespace_name='USERS';
TABLESPACE_NAME FILE_NAME BYTES/1024/1024/1024 MAXBYTES/1024/1024/1024
-------------------- ------------------------------------------------------------ -------------------- -----------------------
USERS +PRODODS_DG02/ODSGGDB/users01.dbf 31.09375 0
USERS +PRODODS_DG02/ODSGGDB/DATAFILE/users.791.976722307 26 0
col dbsize_mbytes for 99,999,990.00 justify right head "DBSIZE_MB"
col input_mbytes for 99,999,990.00 justify right head "READ_MB"
col output_mbytes for 99,999,990.00 justify right head "WRITTEN_MB"
col output_device_type for a10 justify left head "DEVICE"
col complete for 990.00 justify right head "COMPLETE %"
col compression for 990.00 justify right head "COMPRESS|% ORIG"
col est_complete for a20 head "ESTIMATED COMPLETION"
col recid for 9999999 head "ID"
select recid
, output_device_type
, dbsize_mbytes
, input_bytes/1024/1024 input_mbytes
, output_bytes/1024/1024 output_mbytes
, (output_bytes/input_bytes*100) compression
, (mbytes_processed/dbsize_mbytes*100) complete
, to_char(start_time + (sysdate-start_time)/(mbytes_processed/dbsize_mbytes),'DD-MON-YYYY HH24:MI:SS') est_complete
from v$rman_status rs
, (select sum(bytes)/1024/1024 dbsize_mbytes from v$datafile)
where status='RUNNING'
and output_device_type is not null
=======================================================================
SEp 10th :
IN1178516-Resolved
IN1178761-Resolved
Check the Temp Tablespace usages ..
SELECT /* + RULE */ df.tablespace_name "Tablespace",
df.bytes / (1024 * 1024) "Size (MB)",
SUM(fs.bytes) / (1024 * 1024) "Free (MB)",
Nvl(Round(SUM(fs.bytes) * 100 / df.bytes),1) "% Free",
Round((df.bytes - SUM(fs.bytes)) * 100 / df.bytes) "% Used"
FROM dba_free_space fs,
(SELECT tablespace_name,SUM(bytes) bytes
FROM dba_data_files
GROUP BY tablespace_name) df
WHERE fs.tablespace_name (+) = df.tablespace_name
GROUP BY df.tablespace_name,df.bytes
UNION ALL
SELECT /* + RULE */ df.tablespace_name tspace,
fs.bytes / (1024 * 1024),
SUM(df.bytes_free) / (1024 * 1024),
Nvl(Round((SUM(fs.bytes) - df.bytes_used) * 100 / fs.bytes), 1),
Round((SUM(fs.bytes) - df.bytes_free) * 100 / fs.bytes)
FROM dba_temp_files fs,
(SELECT tablespace_name,bytes_free,bytes_used
FROM v$temp_space_header
GROUP BY tablespace_name,bytes_free,bytes_used) df
WHERE fs.tablespace_name (+) = df.tablespace_name
GROUP BY df.tablespace_name,fs.bytes,df.bytes_free,df.bytes_used
ORDER BY 4 DESC; 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
rsdcpdbconta01 not managed by india team.
Tablespace Size (MB) Free (MB) % Free % Used
------------------------------ ---------- ---------- ---------- ----------
DATA_SAS_TOOLS 5120 5119 100 0
INDX_SAS_TOOLS 20480 20479 100 0
TEMP 32767.9844 162 100 200
TBSD_AUDIT 10240 10239 100 0
TEMP 32767.9844 0 100 200
DATA_BDSAST5_AUD 2000 1999 100 0
TEMP 32767.9844 0 100 200
INDX_BDSAS_MED 95252 95237.9375 100 0
DATA_BDSAS_AUD 20480 20479 100 0
UNDOTBS1 102992 102931.375 100 0
DATA_BDSAS_LOB 35817 33177.75 93 7
Tablespace Size (MB) Free (MB) % Free % Used
------------------------------ ---------- ---------- ---------- ----------
SYSTEM 5120 3758.4375 73 27
UNDOTBS2 23465 12546.5 53 47
USERS 4096 1869.4375 46 54
DATA_BDSAS_SMA 3102883 511636.25 16 84
INDX_BDSAS_SMA 667518 96300.25 14 86
SYSAUX 10090 514.8125 5 95
DATA_BDSAS_MED 2507368 26080.5 1 99
TEMP 32767 0 0 100
TEMP 32767 81 0 100
TEMP 32767 0 0 100
INDX_BDSAS_MED2 411440 1860.125 0 100
=========== particular tablespace ===============
25/04/2016 date of joining in ibm 25/04/2016
SELECT SUBSTR (df.NAME, 1, 80) file_name,dfs.tablespace_name, df.bytes / 1024 / 1024 allocated_mb, ((df.bytes / 1024 / 1024) - NVL (SUM (dfs.bytes) / 1024 / 1024, 0)) used_mb,
NVL (SUM (dfs.bytes) / 1024 / 1024, 0) free_space_mb
FROM v$datafile df, dba_free_space dfs
WHERE df.file# = dfs.file_id(+)
and dfs.tablespace_name='KARDEX_2016'
GROUP BY dfs.file_id, df.NAME, df.file#, df.bytes,dfs.tablespace_name
ORDER BY file_name;
========= free space check on tablespace and its datafiles sizes in mb ====
SELECT SUBSTR (df.NAME, 1, 80) file_name,dfs.tablespace_name, df.bytes / 1024 / 1024 allocated_mb, ((df.bytes / 1024 / 1024) - NVL (SUM (dfs.bytes) / 1024 / 1024, 0)) used_mb,
NVL (SUM (dfs.bytes) / 1024 / 1024, 0) free_space_mb
FROM v$datafile df, dba_free_space dfs
WHERE df.file# = dfs.file_id(+)
and dfs.tablespace_name='PSAPUNDO'
GROUP BY dfs.file_id, df.NAME, df.file#, df.bytes,dfs.tablespace_name
ORDER BY file_name;
==== Free space check on tablespace and its datafiles sizes in Gb=============
SELECT SUBSTR (df.NAME, 1, 80) file_name,dfs.tablespace_name, df.bytes / 1024 / 1024 / 1024 allocated_mb, ((df.bytes / 1024 / 1024 / 1024) - NVL (SUM (dfs.bytes) / 1024 / 1024 / 1024, 0)) used_mb,
NVL (SUM (dfs.bytes) / 1024 / 1024 / 1024, 0) free_space_mb
FROM v$datafile df, dba_free_space dfs
WHERE df.file# = dfs.file_id(+)
and dfs.tablespace_name='CLM_X_TRN'
GROUP BY dfs.file_id, df.NAME, df.file#, df.bytes,dfs.tablespace_name
ORDER BY file_name;
select TABLESPACE_NAME,sum(BYTES_USED)/1024/1024/1024,sum(BYTES_FREE)/1024/1024/1024 FROM V$TEMP_SPACE_HEADER group by TABLESPACE_NAME ;
TABLESPACE_NAME SUM(BYTES_USED)/1024/1024/1024 SUM(BYTES_FREE)/1024/1024/1024
------------------------------ ------------------------------ ------------------------------
TEMP 95.9198914 .079101563
Who is using the Temp:
SELECT b.tablespace,ROUND(((b.blocks*p.value)/1024/1024),2)||'M' "SIZE",
a.sid||','||a.serial# SID_SERIAL,
a.username,
a.program
FROM sys.v_$session a,
sys.v_$sort_usage b,
sys.v_$parameter p
WHERE p.name = 'db_block_size'
AND a.saddr = b.session_addr
ORDER BY b.tablespace, b.blocks; 2 3 4 5 6 7 8 9 10
TABLESPACE SIZE SID_SERIAL USERNAME PROGRAM
TEMP 25191M 846,9821 APP_IAA_COMUNES oracle@rsdcedbadm01.rimac.com.pe (J000)
SQL> select file_name,sum(bytes) from dba_temp_files where tablespace_name='TEMP' group by file_name;
FILE_NAME SUM(BYTES)
-------------------------------------------------------------------------------- ----------
+DATAC2/bdsast5/tempfile/temp.2659.971904455 3.4360E+10
+DATAC1/bdsast5/tempfile/temp.1273.871232261 3.4360E+10
+DATAC1/bdsast5/tempfile/temp.1186.871129691 3.4359E+10
alter database datafile 632 resize 26g;
SQL> select file_id,file_name,sum(bytes) from dba_temp_files where tablespace_name='TEMP' group by file_id,file_name;
FILE_ID FILE_NAME SUM(BYTES)
---------- -------------------------------------------------------------------------------- ----------
2 +DATAC1/bdsast5/tempfile/temp.1273.871232261 3.4360E+10
1 +DATAC1/bdsast5/tempfile/temp.1186.871129691 3.4359E+10
3 +DATAC2/bdsast5/tempfile/temp.2659.971904455 3.4360E+10
SQL> select file_id,file_name,sum(bytes/1024/1024/1024) from dba_temp_files where tablespace_name='TEMP' group by file_id,file_name;
FILE_ID FILE_NAME SUM(BYTES/1024/1024/1024)
---------- -------------------------------------------------------------------------------- -------------------------
2 +DATAC1/bdsast5/tempfile/temp.1273.871232261 31.9999847
1 +DATAC1/bdsast5/tempfile/temp.1186.871129691 31.9990234
3 +DATAC2/bdsast5/tempfile/temp.2659.971904455 31.9999847
SQL> select tablespace_name, file_name, bytes/1024/1024/1024, maxbytes/1024/1024/1024, file_id from dba_temp_files order by tablespace_name;
TABLESPACE_NAME FILE_NAME BYTES/1024/1024/1024 MAXBYTES/1024/1024/1024 FILE_ID
-------------------- -------------------------------------------------------------------------------- -------------------- ----------------------- ----------
TEMP +DATAC1/bdsast5/tempfile/temp.1186.871129691 31.9990234 31.9999847 1
TEMP +DATAC2/bdsast5/tempfile/temp.2659.971904455 31.9999847 31.9999847 3
TEMP +DATAC1/bdsast5/tempfile/temp.1273.871232261 31.9999847 31.9999847 2
SQL> desc dba_temp_free_space
Name Null? Type
----------------------------------------------------------------------------------------------------------------- -------- ----------------------------------------------------------------------------
TABLESPACE_NAME NOT NULL VARCHAR2(30)
TABLESPACE_SIZE NUMBER
ALLOCATED_SPACE NUMBER
FREE_SPACE NUMBER
SQL> select TABLESPACE_NAME,TABLESPACE_SIZE/1024/1024/1024, ALLOCATED_SPACE/1024/1024/1024, FREE_SPACE/1024/1024/1024 from dba_temp_free_space;
TABLESPACE_NAME TABLESPACE_SIZE/1024/1024/1024 ALLOCATED_SPACE/1024/1024/1024 FREE_SPACE/1024/1024/1024
-------------------- ------------------------------ ------------------------------ -------------------------
TEMP 95.9989929 95.9989929 35.2480469
SQL> select tablespace_name, file_name, bytes/1024/1024/1024, maxbytes/1024/1024/1024,autoextensible, file_id from dba_temp_files order by tablespace_name;
TABLESPACE_NAME FILE_NAME BYTES/1024/1024/1024 MAXBYTES/1024/1024/1024 AUT FILE_ID
-------------------- -------------------------------------------------------------------------------- -------------------- ----------------------- --- ----------
TEMP +DATAC1/bdsast5/tempfile/temp.1186.871129691 31.9990234 31.9999847 YES 1
TEMP +DATAC2/bdsast5/tempfile/temp.2659.971904455 31.9999847 31.9999847 YES 3
TEMP +DATAC1/bdsast5/tempfile/temp.1273.871232261 31.9999847 31.9999847 YES 2
================================== Dead lock internal error in alert log file ==============
go to the alert lofile
more /oracle/BP2/saptrace/diag/rdbms/bp2/BP2/trace/BP2_ora_4980822.trc
search for the current date
/ORA-00060
will get
Deadlock graph:
---------Blocker(s)-------- ---------Waiter(s)---------
Resource Name process session holds waits process session holds waits
TX-000b0017-00320588 27 321 X 55 209 S
TX-00110001-0048b2fb 55 209 X 27 321 S
session 321: DID 0001-001B-00040690 session 209: DID 0001-0037-00013BE8
session 209: DID 0001-0037-00013BE8 session 321: DID 0001-001B-00040690
Rows waited on:
Session 321: no row
Session 209: no row
current SQL:
INSERT INTO "/BI0/F0FIAP_C03" VALUES(:A0,:A1,:A2,:A3,:A4,:A5,:A6,:A7,:A8,:A9,:A10,:A11,:A12,:A13,:A14,:A15,:A16,:A17,:A18,:A19,:A20,:A21,:A22,:A23,:A24,:A25,:A26,:A27,:A28)
----- Current SQL Statement for this session (sql_id=41nkzfdg6vt51) -----
INSERT INTO "/BI0/F0FIAP_C03" VALUES(:A0,:A1,:A2,:A3,:A4,:A5,:A6,:A7,:A8,:A9,:A10,:A11,:A12,:A13,:A14,:A15,:A16,:A17,:A18,:A19,:A20,:A21,:A22,:A23,:A24,:A25,:A26,:A27,:A28)
==========================================================================================
===== check the type of redundancy of asm diskgroup=============
select dg.name group_name, t.name template_name, dg.type, t.redundancy, t.stripe
from v$asm_diskgroup dg, v$asm_template t
where dg.group_number = t.group_number and dg.name='DATAP';
select d.name disk_name,g.name group_name,d.path,d.total_mb,d.free_mb
from v$asm_disk d, v$asm_diskgroup g
where d.group_number = g.group_number (+)
and g.name='DATAP';
==========================================================================================================================================
====Doing SCP one file from desktop to server ===========
d
oracle dba
chown oracle:dba index_app_bpm_sin_veh.sql
[sabudida@oc5216235288 Desktop]$ scp /home/sabudida/Desktop/queryjeorge.txt ibmragha@10.4.56.81:/tmp
,OOOOOOOOOOOOOOOOO, ,OOO, ,OOOOOOO,
oracle@odsdb01:/home/oracle/r1>ls -ltr
total 9280
-rw-r--r-- 1 root root 9326 Jul 3 2017 Quick_Start.TXT
drwxr-xr-x 4 root root 4096 Jul 3 2017 LMSCollection
-rwxr-xr-x 1 oracle oinstall 262 Jun 29 15:10 ind_scr.sh
-rwxr-xr-x 1 oracle oinstall 235 Jun 29 16:10 ind1.sql
-rwxrwxrwx 1 root root 268744 Jul 9 14:54 Oracle_LMS_Collection_Tool.zip
drwxrwxrwx 3 oracle oinstall 4096 Aug 17 16:46 r2
-rwxr-xr-x 1 oracle oinstall 4476069 Sep 24 15:23 query2.txt
-rwxr-xr-x 1 oracle oinstall 4718002 Sep 27 11:02 queryjeorge.txt
-rwxr-xr-x 1 oracle oinstall 235 Sep 27 11:04 t1.sh
-rw------- 1 oracle oinstall 141 Sep 27 11:05 nohup.out
-rw-r--r-- 1 oracle oinstall 0 Sep 27 11:05 abc.csv
oracle@odsdb01:/home/oracle/r1>cat t1.sh
#!/bin/ksh
conn="/ as sysdba"
$ORACLE_HOME/bin/sqlplus -s $conn << EOF
prompt====================================================
@/home/oracle/r1/queryjeorge.txt
prompt ===================================================
exit;
EOF
[ODSDBA]
oracle@odsdb01:/home/oracle/r1>
in query queryjeorge.txt
set lines 500 pages 500
spoll abc.csv
1,00,000 records here
spoll off
:wq!
nohup t1.sh &
[ODSDBA]
oracle@odsdb01:/home/oracle/r1>cat nohup.out
t1.sh: line 8: warning: here-document at line 3 delimited by end-of-file (wanted `EOF')
oracle@odsdb01:/home/oracle/r1>jobs
[1] + Running nohup sh t1.sh &
[ODSDBA]
oracle@odsdb01:/home/oracle/r1>
nohup t1.sh &
======================================================================== Full database export job HISDEV :============================
export full database:
check the space for dump
check the edition type
Based on that take the parallelism for datapump jobs. NOte: parallelism is not avaialable for standard editon
chekc the need full export of the database, only schema or table with stattics ot indexes .
Issue we have faced after export of full database which is in TB size we have got the undo snapshot error for whole db and schema backup as well bcz of LOB in the table which is more than 200 gb
To overcome this issue we have created a undo tablespace 2 and make it default and added 10 datafile each is 32 gb and undo renetion made it to
CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE '/u03/HISDEV/oradata/undotbs2_01.dbf' SIZE 32g ;
ALTER TABLESPACE UNDOTBS2 ADD DATAFILE '/u03/HISDEV/oradata/undotbs3_01.dbf' SIZE 10M AUTOEXTEND ON maxsize unlimited;
ALTER TABLESPACE UNDOTBS2 ADD DATAFILE '/u03/HISDEV/oradata/undotbs4_01.dbf' SIZE 10M AUTOEXTEND ON maxsize unlimited;
ALTER TABLESPACE UNDOTBS2 ADD DATAFILE '/u03/HISDEV/oradata/undotbs5_01.dbf' SIZE 10M AUTOEXTEND ON maxsize unlimited;
ALTER TABLESPACE UNDOTBS2 ADD DATAFILE '/u03/HISDEV/oradata/undotbs6_01.dbf' SIZE 10M AUTOEXTEND ON maxsize unlimited;
ALTER TABLESPACE UNDOTBS2 ADD DATAFILE '/u03/HISDEV/oradata/undotbs8_01.dbf' SIZE 10M AUTOEXTEND ON maxsize unlimited;
ALTER TABLESPACE UNDOTBS2 ADD DATAFILE '/u03/HISDEV/oradata/undotbs9_01.dbf' SIZE 10M AUTOEXTEND ON maxsize unlimited;
ALTER TABLESPACE UNDOTBS2 ADD DATAFILE '/u03/HISDEV/oradata/undotbs10_01.dbf' SIZE 10M AUTOEXTEND ON maxsize unlimited;
ALTER TABLESPACE UNDOTBS2 ADD DATAFILE '/u03/HISDEV/oradata/undotbs11_01.dbf' SIZE 10M AUTOEXTEND ON maxsize unlimited;
ALTER TABLESPACE UNDOTBS2 ADD DATAFILE '/u03/HISDEV/oradata/undotbs12_01.dbf' SIZE 10M AUTOEXTEND ON maxsize unlimited;
ALTER TABLESPACE UNDOTBS2 ADD DATAFILE '/u03/HISDEV/oradata/undotbs13_01.dbf' SIZE 10M AUTOEXTEND ON maxsize unlimited;
alter system set undo_tablespace=UNDOTBS2;
ALTER SYSTEM SET UNDO_RETENTION = 43000;
SQL> create directory mydump as '/home1/fulldb/mydump';
Directory created.
grant read, write to mydump
nohup expdp \'/ as sysdba\' content=ALL directory=fulldb dumpfile=expdp_full_HISDEVDB_DDMMYYYY_%U.dmp logfile=expdp_full_HISDEVDB_DDMMYYYY.log full=y filesize=100G &
post the exportwe have to delete the tablespace undotbs2
alter system set undo_tablespace=undotbs1
alter system set undo_retention=900
drop tablespace UNDOTBS1 including contents and datafiles;
=========== Raghava sir par file script to expdp =============
sys>create directory fulldb as '/temporal/fulldb';
Directory created.
grant read, write to mydump
directory=mydump
dumpfile=expdp_LBLANCAP_tables_21092018.DMP
logfile=expdpLBLANCAP_tables_21092018.log
job_name=expdpsep29
vi mypar.par
directory=fulldb
full=y
dumpfile=expdp_full_HISDEVDB_28092018.DMP
logfile=expdp_full_HISDEVDB_21092018.log
job_name=expdpfulldpsep28
nohup expdp parfile=mypar.par &
nohup expdb userid=:"'/ as sysdba'" parfile=mypar.par &
select * from dba_datapump_jobs;
=========================================================================================
nohup expdp \'/ as sysdba\' content=ALL directory=fulldb dumpfile=expdp_full_HISDEVDB_28092018.dmp logfile=expdp_full_HISDEVDB_21092018.log full=y &
select file_name,tablespace_name,trunc(bytes/1024/1024) mb, trunc(maxbytes/1024/1024) mm from dba_data_files where tablespace_name = 'UNDOTBS';
show parameter undo_management
show parameter undo_retention
alter tablespace TBSP_PACI_DAT_3 add datafile 'I:\pacifyc\DAT\PACI\TBSP_PACI_DAT_3_58.DBF' size 32000M;
--Create a second temporary undo tablespace
CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE '/u03/HISDEV/oradata/undotbs2_01.dbf' SIZE 10M AUTOEXTEND ON NEXT 16M MAXSIZE 300g ONLINE BLOCKSIZE 8K;
/u03/HISDEV/oradata
-Find undo tablespace datafile info
SELECT file_name, BYTES /1024/1024/1024 gb FROM dba_data_files WHERE tablespace_name = 'UNDOTBS2' ORDER BY file_name;
CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE '/u03/HISDEV/oradata/undotbs2_01.dbf' SIZE 10M AUTOEXTEND ON NEXT 16M MAXSIZE 300g ONLINE BLOCKSIZE 8K;
CREATE UNDO TABLESPACE undotbs_02 DATAFILE '/u01/oracle/rbdb1/undo0201.dbf' SIZE 2M REUSE AUTOEXTEND ON;
alter tablespace undotbs1 add datafile 'C:\APP\ORCL\ORADATA\ORCL\UNDOTBS01A.DBF' size 500m autoextend on;
ps -ef|grep smon
*DEV* oracle@gsphisdev:/temporal/fulldb> cat expdpbackup.sh
#usr='/ as sysdba'
#sqlplus $usr
#spool /tmp/aa.log
#select username,account_status from dba_users where account_password <> 'OPEN';
#spool off
expdp IBM/oracle10g directory=fulldb tables=XHISPRD.REG_ENV_SERV EXCLUDE=STATISTICS dumpfile=REG_ENV_SERV.dmp logfile=REG_ENV_SERV.log
*DEV* oracle@gsphisdev:/temporal/fulldb>
EXCLUDE
Exclude specific object types.
For example, EXCLUDE=SCHEMA:"='HR'"
============================================================================================================================================================================================================
select sid,serial#,username from v$session where sid='511';
select dbms_metadata.get_ddl( 'TABLESPACE', 'USERS' ) from dual;
set pages 999999999
set lines 200 pages 3000
select dbms_metadata.get_ddl( 'USER', 'JCONDORI' ) from dual;
UNION ALL
select dbms_metadata.get_granted_ddl( 'SYSTEM_GRANT', 'JCONDORI' ) from dual;
UNION ALL
select dbms_metadata.get_granted_ddl( 'OBJECT_GRANT', 'JCONDORI' ) from dual;
UNION ALL
select dbms_metadata.get_granted_ddl( 'ROLE_GRANT', 'JCONDORI' ) from dual;
union all
select dbms_metadata.get_granted_ddl( 'TABLESPACE_QUOTA', 'JCONDORI' ) from dual;
SQL> select dbms_metadata.get_ddl( 'USER', 'JCONDORI' ) from dual;
DBMS_METADATA.GET_DDL('USER','JCONDORI')
--------------------------------------------------------------------------------
CREATE USER "JCONDORI" IDENTIFIED BY VALUES 'S:132033D4E57F86BE79C4C3C138C99
SQL> select dbms_metadata.get_granted_ddl( 'SYSTEM_GRANT', 'JCONDORI' ) from dual;
ERROR:
ORA-31608: specified object of type SYSTEM_GRANT not found
ORA-06512: at "SYS.DBMS_METADATA", line 5805
ORA-06512: at "SYS.DBMS_METADATA", line 8492
ORA-06512: at line 1
REQ000001116522
no rows selected
SQL> select dbms_metadata.get_granted_ddl( 'OBJECT_GRANT', 'JCONDORI' ) from dual;
DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT','JCONDORI')
--------------------------------------------------------------------------------
GRANT SELECT ON "USRCOREESB"."TRANSACCION" TO "JCONDORI"
GRANT SELECT ON "U
SQL> select dbms_metadata.get_granted_ddl( 'ROLE_GRANT', 'JCONDORI' ) from dual;
DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT','JCONDORI')
--------------------------------------------------------------------------------
GRANT "CONNECT" TO "JCONDORI"
GRANT "R_LECTURA" TO "JCONDORI"
SQL> select dbms_metadata.get_granted_ddl( 'TABLESPACE_QUOTA', 'JCONDORI' ) from dual;
ERROR:
ORA-31608: specified object of type TABLESPACE_QUOTA not found
ORA-06512: at "SYS.DBMS_METADATA", line 5805
ORA-06512: at "SYS.DBMS_METADATA", line 8492
ORA-06512: at line 1
no rows selected
CREATE USER "CARLOS" IDENTIFIED BY VALUES 'XXXXXX'
DEFAULT TABLESPACE "USERS"
TEMPORARY TABLESPACE "TEMP"
PROFILE "PERFIL_USRCOREESB"
CREATE USER "JCONDORI" IDENTIFIED BY VALUES 'S:132033D4E57F86BE79C4C3C138C99F
5A7310516653B802806CF93B3FA3C8;B6C012C8F7285D8D'
DEFAULT TABLESPACE "USERS"
TEMPORARY TABLESPACE "TEMP"
PROFILE "PERFIL_USRCOREESB"
'CARLOS$'
grant select any table to CARLOS
GRANT "CONNECT" TO "CARLOS"
GRANT "R_LECTURA" TO "CARLOS";
GRANT SELECT ON "USRCOREESB"."TRANSACCION" TO "CARLOS"
GRANT SELECT ON "U
GRANT SELECT ON "USRCOREESB"."TRANSACCION" TO "CARLOS"
GRANT SELECT ON "U
GRANT SELECT ON "USRCOREESB"."TRANSACCION" TO "CARLOS";
GRANT SELECT ON "USRCOREESB"."MENSAJE" TO "CARLOS";
GRANT SELECT ON "USRCOREESB"."MENSAJE_OLD" TO "CARLOS";
======================================= SR
SR2483674
SQL> select name,open_mode from v$database;
NAME OPEN_MODE
--------- --------------------
HISDEV READ WRITE
SQL> !ps -ef|grep expdp
oracle 25690534 21365352 2 17:42:32 pts/2 0:00 grep expdp
oracle 24576678 1 0 09:14:42 - 0:00 expdp '/ as sysdba' content=ALL directory=fulldb dumpfile=expdp_full_HISDEVDB_28092018_%U.dmp logfile=expdp_full_HISDEVDB_21092018.log full=y filesize=100G
SQL>
================== percentage completion query ================
SELECT SID, SERIAL#, USERNAME, CONTEXT, SOFAR, TOTALWORK,ROUND(SOFAR/TOTALWORK*100,2) "%_COMPLETE" FROM V$SESSION_LONGOPS WHERE TOTALWORK != 0 AND SOFAR <> TOTALWORK;
alter session set nls_date_format='DD-MON-YYYY hh24:mi:ss';
select OPNAME,eta_min,START_TIME,round(time_remaining/60,1)/60/24+sysdate finish_time from v$session_longops where OPNAME like 'RMAN%' and SOFAR != TOTALWORK order by 8;
alter session set nls_date_format='DD-MON-YYYY hh24:mi:ss';
select OPNAME,SOFAR,TOTALWORK,round((SOFAR*100/decode(TOTALWORK,0,SOFAR,TOTALWORK)),2) PCT_DONE,round(elapsed_seconds/60,1) ela_min,round(time_remaining/60,1) eta_min,START_TIME,round(time_remaining/60,1)/60/24+sysdate finish_time from v$session_longops where OPNAME like 'RMAN%' and SOFAR != TOTALWORK order by 8;
set lines 150
col username format a20
col opname format a30
col target format a40
select sid,opname,target,to_char(start_time,'DD-MON-YY HH24:MI') START_TIME, time_remaining/60 "Time Remaining in Mins",username from v$session_longops where time_remaining>1 order by time_remaining
/
select username from dba_users;
col owner format a20
prompt
select owner,'Tables',trunc(LAST_ANALYZED),count(*)
from dba_tables
where owner not in ('SYS','SYSTEM')
group by owner,'Tables',trunc(LAST_ANALYZED)
/
799shnssgjnky
SQL> @?/rdbms/admin/sqltrpt.sql
15 Most expensive SQL in the cursor cache
select owner,segment_name,sum(bytes/1024/1024) from dba_segments where segment_name;
select OWNER, TABLE_NAME, LAST_ANALYZED from dba_tab_statistics where table_name='FDTC_FIDELIZACION_PUNTO';
select segment_name,segment_type,bytes/1024/1024/1024 GB from dba_segments where segment_type='TABLE' and segment_name='FDTC_FIDELIZACION_PUNTO';
EXEC DBMS_STATS.unlock_schema_stats('DBACLASS');
select bytes/1024/1024/1024 GB from user_segments where segment_name='FDTC_FIDELIZACION_PUNTO';
select owner,segment_name,segment_type,bytes/1024/1024/1024 GB from dba_segments where segment_type='TABLE' and segment_name='FDTC_FIDELIZACION_PUNTO';
SQL> select owner,segment_name,segment_type,bytes/1024/1024/1024 GB from dba_segments where segment_type='TABLE' and segment_name='FDTC_FIDELIZACION_PUNTO';
OWNER SEGMENT_NAME SEGMENT_TYPE GB
------------------------------ --------------------------------------------------------------------------------- ------------------ ----------
FIDELIZACION FDTC_FIDELIZACION_PUNTO TABLE 85.2695313
1 row selected.
SQL> select owner,segment_name,segment_type,bytes/1024/1024/1024 GB from dba_segments where segment_type='TABLE' and segment_name='FDTD_FIDELIZACION_PUNTO';
OWNER SEGMENT_NAME SEGMENT_TYPE GB
------------------------------ --------------------------------------------------------------------------------- ------------------ ----------
FIDELIZACION FDTD_FIDELIZACION_PUNTO TABLE 113.699219
1 row selected.
FDTC_FIDELIZACION_PUNTO,FDTD_FIDELIZACION_PUNTO
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTC_FIDELIZACION_PUNTO');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTD_FIDELIZACION_PUNTO');
t1.sh
Begin
DBMS_STATS.GATHER_TABLE_STATS (
ownname => 'FIDELIZACION',
tabname => 'FDTC_FIDELIZACION_PUNTO',
degree => 2,
cascade => TRUE,
METHOD_OPT => 'FOR COLUMNS SIZE AUTO',
estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE);
END;
/
oracle@:/home/oracle/r1> cat r1.sh
#!/bin/ksh
conn="/ as sysdba"
$ORACLE_HOME/bin/sqlplus -s $conn << EOF >> /tmp/db_status.log
prompt====================================================
@/home/oracle/r1/a1.sql
prompt ===================================================
exit;
EOF
oracle@:/home/oracle/r1> cat /tmp/db_status.log
====================================================
PL/SQL procedure successfully completed.
===================================================
oracle@:/home/oracle/r1>
sudo su -
su - oracle
select OWNER, TABLE_NAME, LAST_ANALYZED from dba_tab_statistics where table_name='FDTD_FIDELIZACION_PUNTO';
sql>execute dbms_sqltune.accept_sql_profile(task_name => 'TASK_498525',task_owner => 'SYS', replace => TRUE);
vi a2.sql
Begin
DBMS_STATS.GATHER_TABLE_STATS (
ownname => 'FIDELIZACION',
tabname => 'FDTD_FIDELIZACION_PUNTO',
degree => 2,
cascade => TRUE,
METHOD_OPT => 'FOR COLUMNS SIZE AUTO',
estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE);
END;
/
vi r2.sh
#!/bin/ksh
conn="/ as sysdba"
$ORACLE_HOME/bin/sqlplus -s $conn << EOF >> /tmp/db_status2.log
prompt====================================================
@/home/oracle/r2/a1.sql
prompt ===================================================
exit;
EOF
chmod 777 r2.sh
sh r2.sh
set line 200 pages 100
select owner,table_name,STATTYPE_LOCKED from dba_tab_statistics where owner='FIDELIZACION';
select owner,STATTYPE_LOCKED,count(*) from dba_tab_statistics group by owner,STATTYPE_LOCKED;
select owner,STATTYPE_LOCKED,count(*) from dba_tab_statistics group by owner,STATTYPE_LOCKED order by 2;
select owner,STATTYPE_LOCKED,count(*) from dba_tab_statistics group by owner,STATTYPE_LOCKED;
EXEC DBMS_STATS.unlock_schema_stats('FIDELIZACION');
EXECUTE DBMS_STATS.GATHER_SCHEMA_STATS(ownname => 'FIDELIZACION');
Begin
DBMS_STATS.GATHER_SCHEMA_STATS(ownname => 'FIDELIZACION');
END;
/
#!/bin/ksh
conn="/ as sysdba"
$ORACLE_HOME/bin/sqlplus -s $conn << EOF >> /tmp/db_status3.log
prompt====================================================
@/home/oracle/r1/a3.sql
prompt ===================================================
exit;
EOF
========================================================================================================================================
expdp directory=fulldb tables=REG_ENV_SERV dumpfile=REG_ENV_SERV.dmp logfile=REG_ENV_SERV.log
select owner,segment_name,segment_type,bytes/1024/1024 GB from dba_segments where segment_type='TABLE' and segment_name='REG_ENV_SERV';
impdp scott/tiger@db10g tables=EMP,DEPT directory=TEST_DIR dumpfile=EMP_DEPT.dmp logfile=impdpEMP_DEPT.log
OWNER SEGMENT_NAME SEGMENT_TYPE GB
------------------------------ --------------------------------------------------------------------------------- ------------------ ----------
XHISPRD REG_ENV_SERV TABLE 2197
XHISPRDPR REG_ENV_SERV TABLE .1875
ORA-31693: Table data object "XHISPRD"."REG_ENV_SERV" failed to load/unload and is being skipped due to error:
ORA-02354: error in exporting/importing data
ORA-01555: snapshot too old: rollback segment number 6 with name "_SYSSMU6_390273316$" too small
expdp directory=fulldb tables=XHISPRD.REG_ENV_SERV dumpfile=REG_ENV_SERV.dmp logfile=REG_ENV_SERV.log
nohup expdp directory=fulldb tables=XHISPRD.REG_ENV_SERV EXCLUDE=STATISTICS dumpfile=REG_ENV_SERV.dmp logfile=REG_ENV_SERV.log &
impdp scott/******
Directory=DUMP_DIR
Dumpfile=Exp.dmp
Logfile=Exp.log
EXCLUDE=STATISTICS ---> excluded both table and index stats
SQL> SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER='FIDELIZACION';
vi unlock.sql
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','CMTS_EVENTO');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','TMP');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTR_PROMOCION_CANJE_FECHA');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTC_FIDELIZACION_CHEQUE');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTC_FIDELIZACION_PUNTO');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTD_FIDELIZACION_PUNTO');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTD_FIDELIZACION_PUNTO_BKP');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTM_CAMPO_FORMULARIO');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTM_PROMOCION');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTM_PROMO_CLIENTE_LOCAL');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTM_PUNTO_EQUIVALENCIA');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTM_SORTEO_PROMOCION');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTM_SORTEO_PROMOCION_CLIENTE');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTM_TARJETA');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTM_TIPO_CUPON');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTM_VENTA_PROMOCION');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTR_CAMPO_PROMOCION');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTR_CANJES_USO');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTR_CARTILLA');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTR_CARTILLA_MONTO');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTR_CARTILLA_NUMERACION');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTR_CLIENTE_PROMOCION');
EXEC DBMS_STATS.unlock_table_stats('FIDELIZACION','FDTR_CLIENTE_TARJETA');
SQL>@unlock.sql
sys> select owner,STATTYPE_LOCKED,count(*) from dba_tab_statistics group by owner,STATTYPE_LOCKED;
=============================================================================================================================
set pages 50000 lines 120
select path,redundancy,total_mb,free_mb,failgroup
from v$asm_disk
where mount_status='CACHED' and header_status='MEMBER' and
mode_status='ONLINE' and state='NORMAL'
order by path;
=====================
create directory DUMPDIR as '/zfs/backup/backup2';
grant read, write on directory DUMPDIR to system;
expdp fromuser/frompass@yourdb schemas=FROMUSER directory=DUMPDIR dumpfile=fromuser.dmp logfile=expdp.log
expdp scott/tiger@db10g schemas=SCOTT directory=TEST_DIR dumpfile=SCOTT.dmp logfile=expdpSCOTT.log
nohup expdp \'/ as sysdba\' directory=DUMPDIR parallel=4 dumpfile=expdp_APP_BPM_SIN_VEH02102018_%U.dmp logfile=expdp_APP_BPM_SIN_VEH02102018_%U.log schemas=APP_BPM_SIN_VEH filesize=100G &
create directory SR2501538 as '/zfs/backup/backup2/SR2501538';
grant read, write on directory SR2501538 to system;
nohup expdp \'/ as sysdba\' directory=BDBPM parallel=4 dumpfile=expdp_APP_BPM_SIN_VEH02102018_%U.dmp logfile=expdp_APP_BPM_SIN_VEH02102018_%U.log schemas=APP_BPM_SIN_VEH filesize=100G &
nohup exp \'/ as sysdba\' file=/backup/exp_APP_BPM_SIN_VEH02102018.dmp logfile=/backup/exp_APP_BPM_SIN_VEH02102018.log schemas=APP_BPM_SIN_VEH indexes=NO &
col SEGMENT_NAME for a20;
SQL> select owner,segment_name,segment_type,bytes/1024/1024/1024 GB from dba_segments where segment_type='TABLE' and segment_name='N_CURVATURE';
OWNER SEGMENT_NAME SEGMENT_TYPE GB
------------------------------ --------------------------------------------------------------------------------- ------------------ ----------
ADM_MPK N_CURVATURE TABLE .024414063
SQL> alter session set current_schema=ADM_MPK;
Session altered.
SQL> CREATE TABLE N_CURVATURE090119 AS SELECT * FROM N_CURVATURE;
Table created.
SQL> update n_curvature set cor_cod=785364 where curvature_id=385598;
commit;
1 row updated.
SQL>
Commit complete.
For table backup..
expdp directory=DIR_CONVERSION dumpfile=LGTT_SALDO_PRODUCTO_ASR_OLD.dmp logfile=LGTT_SALDO_PRODUCTO_ASR_OLD.log tables=CONVERSION.LGTT_SALDO_PRODUCTO_ASR_OLD
expdp directory=EXPDP dumpfile=METAS.FINDIV1OLD08012019.dmp logfile=METAS.FINDIV1OLD08012019.log tables=METAS.FINDIV1
======================================================================
==== change request =================
create directoty
create tablespaces
create schme
grant dba to schema
mkdir -p /u26_trackvtas/MANDATO/oradata/datafiles
-rw-r----- 1 oracle oinstall
CREATE TABLESPACE TS_HITES_TRACKVTAS_DATA DATAFILE '/u26_trackvtas/MANDATO/oradata/datafiles/TS_HITES_TRACKVTAS_DATA.dbf' SIZE 100M REUSE AUTOEXTEND ON NEXT 100M MAXSIZE 12g;
CREATE TABLESPACE TS_HITES_TRACKVTAS_IDX DATAFILE '/u26_trackvtas/MANDATO/oradata/datafiles/TS_HITES_TRACKVTAS_IDX.dbf' SIZE 100m REUSE AUTOEXTEND ON NEXT 100M MAXSIZE 6g;
create user trackvtas identified by hitesProd default tablespace TS_HITES_TRACKVTAS_DATA temporary tablespace TEMP profile DEFAULT;
grant connect to trackvtas;
grant insert,delete,select,update,execute to trackvtas;
conn trackvtas/hitesProd@MANDATO;
TS_HITES_TRACKVTAS_DATA
ALTER USER trackvtas DEFAULT TABLESPACE TS_HITES_TRACKVTAS_DATA;
create role trackvtas_role
SQL> Create role select_data_role;
SQL> Grant select on emp to select_data_role;
SQL> Grant select on dept to select_data_role;
SQL> Grant select on bonus to select_data_role;
select TABLESPACE_NAME, FILE_NAME,AUTOEXTENSIBLE,bytes/1024/1024/1024,file_id from dba_Data_files where TABLESPACE_NAME like 'TS_HITES_TRACKVTAS_DATA';
select TABLESPACE_NAME, FILE_NAME,AUTOEXTENSIBLE,bytes/1024/1024/1024,file_id from dba_Data_files where TABLESPACE_NAME like 'TS_HITES_TRACKVTAS_IDX';
select TABLESPACE_NAME, FILE_NAME,AUTOEXTENSIBLE,bytes/1024/1024/1024,file_id from dba_Data_files where TABLESPACE_NAME in ('TS_HITES_TRACKVTAS_DATA','TS_HITES_TRACKVTAS_IDX');
SQL> select username from dba_users where username='TRACKVTAS';
USERNAME
------------------------------
TRACKVTAS
SQL> conn trackvtas/hitesProd@MANDATO;
Connected.
SQL> show user;
USER is "TRACKVTAS"
TABLESPACE_NAME FILE_NAME AUT BYTES/1024/1024/1024 FILE_ID
-------------------- -------------------------------------------------------------------------------- --- -------------------- ----------
TS_HITES_TRACKVTAS_D /u26_trackvtas/MANDATO/oradata/datafiles/TS_HITES_TRACKVTAS_DATA.dbf YES .09765625 14
ATA
TABLESPACE_NAME FILE_NAME AUT BYTES/1024/1024/1024 FILE_ID
-------------------- -------------------------------------------------------------------------------- --- -------------------- ----------
TS_HITES_TRACKVTAS_I /u26_trackvtas/MANDATO/oradata/datafiles/TS_HITES_TRACKVTAS_IDX.dbf YES .09765625 15
DX
WO7563
create role trackvtas_role;
grant select,insert,update,delete on trackvtas_role;
set lines 300 pages 300
COLUMN tablespace_name FORMAT A20
COLUMN File_Name FORMAT A80
Select t.tablespace, t.totalspace as " Totalspace(MB)", round((t.totalspace-fs.freespace),2) as "Used Space(MB)", fs.freespace as "Freespace(MB)", round(((t.totalspace-fs.freespace)/t.totalspace)*100,2) as "% Used", round((fs.freespace/t.totalspace)*100,2) as "% Free" from (select round(sum(d.bytes)/(1024*1024)) as totalspace, d.tablespace_name tablespace from dba_data_files d group by d.tablespace_name) t, (select round(sum(f.bytes)/(1024*1024)) as freespace, f.tablespace_name tablespace from dba_free_space f group by f.tablespace_name) fs where t.tablespace=fs.tablespace
and t.tablespace in ('TS_HITES_TRACKVTAS_DATA','TS_HITES_TRACKVTAS_IDX')
===export schema in without indexes =============
nohup exp userid="'/ as sysdba'" file=/backup/exp_APP_BPM_SIN_VEH02102018.dmp log=/backup/exp_APP_BPM_SIN_VEH02102018.log owner=APP_BPM_SIN_VEH indexes=N &
=========================
select partition as P, count(*) as C from GEN_TP3.SIX_MAEABO_HIS group by partition;
select TABLE_OWNER,TABLE_NAME,PARTITION_NAME from dba_tab_partitions where TABLE_NAME='SIX_CDR_NOLIQ' and PARTITION_NAME like '%201807%';
select TABLE_OWNER,TABLE_NAME,PARTITION_NAME from dba_tab_partitions where TABLE_NAME='SIX_CDR_UNIVERSAL' and PARTITION_NAME like '%201804%';
select TABLE_OWNER,TABLE_NAME,PARTITION_NAME from dba_tab_partitions where TABLE_NAME='SIX_CORREO_VOZ' and PARTITION_NAME like '%201804%';
select TABLE_OWNER,TABLE_NAME,PARTITION_NAME from dba_tab_partitions where TABLE_NAME='SIX_CDR_ROAMING' and PARTITION_NAME like '%201804%';
select TABLE_OWNER,TABLE_NAME,PARTITION_NAME from dba_tab_partitions where TABLE_NAME='SIX_MAEABO_HIS' and PARTITION_NAME like '%201804%';
select TABLE_OWNER,TABLE_NAME,PARTITION_NAME from dba_tab_partitions where TABLE_NAME='SIX_MAEABO_HIS' and PARTITION_NAME like '%04';
select OWNER,SEGMENT_NAME,PARTITION_NAME,sum(bytes/1024/1024/1024) from dba_segments where OWNER='GEN_TP3' and SEGMENT_NAME='SIX_CDR_NOLIQ' and partition_name like '%201807%' group by OWNER,SEGMENT_NAME,PARTITION_NAME ;
select OWNER,SEGMENT_NAME,PARTITION_NAME,sum(bytes/1024/1024/1024) from dba_segments where OWNER='GEN_TP3'and segment_name='SIX_CDR_UNIVERSAL' and partition_name like '%201804%' group by OWNER,SEGMENT_NAME,PARTITION_NAME;
select OWNER,SEGMENT_NAME,PARTITION_NAME,sum(bytes/1024/1024/1024) from dba_segments where OWNER='GEN_TP3'and segment_name='SIX_CORREO_VOZ' and partition_name like '%201804%' group by OWNER,SEGMENT_NAME,PARTITION_NAME;
select OWNER,SEGMENT_NAME,PARTITION_NAME,sum(bytes/1024/1024/1024) from dba_segments where OWNER='GEN_TP3'and segment_name='SIX_CDR_ROAMING' and partition_name like '%201804%' group by OWNER,SEGMENT_NAME,PARTITION_NAME;
select OWNER,SEGMENT_NAME,PARTITION_NAME,sum(bytes/1024/1024/1024) from dba_segments where OWNER='GEN_TP3'and segment_name='SIX_MAEABO_HIS' and partition_name like '%201804%' group by OWNER,SEGMENT_NAME,PARTITION_NAME;
select OWNER,SEGMENT_NAME,PARTITION_NAME,sum(bytes/1024/1024/1024) from dba_segments where OWNER='GEN_TP3'and segment_name='SIX_MAEABO_HIS' and partition_name like '%201804%' group by OWNER,SEGMENT_NAME,PARTITION_NAME;
select OWNER,SEGMENT_NAME,PARTITION_NAME,bytes/1024/1024/1024 from dba_segments where OWNER='GEN_TP3' and partition_name='P_LIST_201804';
TABLE_OWNER TABLE_NAME PARTITION_NAME
------------------------------ ------------------------------ ------------------------------
GEN_TP3 SIX_MAEABO_HIS P_LIST_201804
select OWNER,SEGMENT_NAME,PARTITION_NAME,bytes/1024/1024/1024 from dba_segments where OWNER='GEN_TP3' and partition_name='P_LIST_20180401';
expdp directory= dumpfile=SR#.dmp logfile=SR#.log tables=GEN_TP3.SIX_CDR_NOLIQ:P_LIST_20180701,GEN_TP3.SIX_CDR_NOLIQ:P_LIST_20180702,
======================================percentage completion query by sagar ==========================
set line 200
select sid,serial#,opname,totalwork,start_time,time_remaining/60 "REMAINING_TIME",elapsed_seconds/60 "ELAPSED_TIME",round(sofar/totalwork*100,2) "% Complete" FROM V$SESSION_LONGOPS WHERE totalwork != 0 and time_remaining>0 order by start_time;
SID SERIAL# OPNAME TOTALWORK START_TIM REMAINING_TIME ELAPSED_TIME % Complete
---------- ---------- ---------------------------------------------------------------- ---------- --------- -------------- ------------ ----------
1047 681 SYS_EXPORT_FULL_02 812677 04-OCT-18 989.816667 1681.41667 62.95
1426 305 Rowid Range Scan 3800152 05-OCT-18 11.5166667 14.2666667 55.34
check the tablespace and its datafiles id's
select a.tablespace_name, SIZEMB, USAGEMB, (SIZEMB - USAGEMB) FREEMB,USAGEMB*100/SIZEMB PCTUSED
from (select sum(bytes) / 1024 / 1024 SIZEMB, b.tablespace_name
from dba_data_files a, dba_tablespaces b
where a.tablespace_name = b.tablespace_name
and b.contents = 'UNDO'
group by b.tablespace_name) a,
(select c.tablespace_name, sum(bytes) / 1024 / 1024 USAGEMB
from DBA_UNDO_EXTENTS c
where status <> 'EXPIRED'
group by c.tablespace_name) b
where a.tablespace_name = b.tablespace_name;
alter database datafile '/oracle/PRD/sapdata9/undo_1/undo.data1' resize 32000M;
alter database datafile '/oracle/PRD/sapdata15/undo_16/undo.data16' resize 32000M;
alter database datafile '/oracle/PRD/sapdata10/undo_2/undo.data2' resize 32000M;
alter database datafile '/oracle/PRD/sapdata11/undo_3/undo.data3' resize 32000M;
alter database datafile '/oracle/URP/sapdata1/sysaux_2/sysaux.data2' resize 16000M;
=========== Adding datafile to tablespace in ASM diskgroup ================
==== check the storage TYpe.
checkthe free space in ASM diskgroup
check the no of datafiles in diskgroup
Add the datafile to tablespace using below query.
alter tablespace CORED1 add datafile '+DG_COREPROD_DT01/oradata/cored1_478.dbf' size 4000m;
alter tablespace CORED1 add datafile '+DG_COREPROD_DT01/oradata/cored1_479.dbf' size 4000m;
===============================================
========================================================================================
How to findout background processes from OS:
$ ps -ef|grep ora_|grep SID
To Find and Delete bigger size and older files in Linux
--To find out files size more than 5MB
find . -size +8000 -exec ls -ltr {} \;
-- To **Remove** files size more than 5MB
find . -size +8000k -exec rm -rf {} \;
--To find out files older than 36days
find . -mtime +90 -exec ls -ltr {} \;
--To find **Remove** files older than 30days
find . -mtime +30 -exec rm -rf {} \;
=== it will zip all the files with tr
find . -name '*.tr?' -mtime +1 -exec gzip {} \;
find /oracle/diag/rdbms/ssekdb/ssekdb/trace/*.trc -mtime +14 -exec rm {} \;
find /oracle/diag/rdbms/ssekdb/ssekdb/trace/*.trm -mtime +14 -exec rm {} \;
find . -name '*.aud' -mtime +90 -exec rm {} \;
============ check the load on aix server=================
lsps -s
iostat 2 5
vmstat 2 10
svmon -G
mpstat -s
=====================================================================================
set lines 200 pages 100
col username for a30
col profile for a40
select username, account_status, profile from dba_users where account_status <> 'OPEN';
select username, account_status, profile from dba_users where account_status <> 'OPEN' order by 1;
SQL> select username, account_status, profile from dba_users where username like 'RMAN_%' order by 1;
SQL> select username, account_status, profile from dba_users where username='RMAN_TIERRA_GESCREDI';
col file_name for a60
set lines 200 pages 1000
select tablespace_name, file_name, bytes/1024, maxbytes/1024, file_id from dba_data_files where tablespace_name='BVPLUS_INDX';
======================= in 9i tablespace free space check =====================
column "Tablespace" format a13
column "Used MB" format 99,999,999
column "Free MB" format 99,999,999
column "Total MB" format 99,999,999
select
fs.tablespace_name "Tablespace",
(df.totalspace - fs.freespace) "Used MB",
fs.freespace "Free MB",
df.totalspace "Total MB",
round(100 * (fs.freespace / df.totalspace)) "Pct. Free"
from
(select
tablespace_name,
round(sum(bytes) / 1048576) TotalSpace
from
dba_data_files
group by
tablespace_name
) df,
(select
tablespace_name,
round(sum(bytes) / 1048576) FreeSpace
from
dba_free_space
group by
tablespace_name
) fs
where
df.tablespace_name = fs.tablespace_name;
SELECT tablespace_name, File_id, SUM(bytes/1024/1024)"Size (MB)" FROM DBA_FREE_SPACE group by tablespace_name, file_name;
SELECT username, account_status, created, lock_date, expiry_date FROM dba_users where username='TIVOLI';
WHERE account_status != 'OPEN';
set pagesize 500
set linesize 200
set trimspool on
column “EXPIRE DATE” format a15
select username as “USER NAME”, expiry_date as “EXPIRE DATE”, account_status
from dba_users
where expiry_date < sysdate+120
and account_status IN ( ‘OPEN’, ‘EXPIRED(GRACE)’ )
order by account_status, expiry_date, username;
select username, account_status from dba_users where username = 'TIVOLI';
select password from dba_users where username = 'TIVOLI;
SELECT username, account_status, created, lock_date, expiry_date FROM dba_users WHERE account_status != 'OPEN';
============Flash recovery area usage =============
set lines 100
col name format a60
select
name,
floor(space_limit / 1024 / 1024) "Size MB",
ceil(space_used / 1024 / 1024) "Used MB",
from
v$recovery_file_dest
order by
name;
set lines 200
col NAME for a35
SELECT NAME,(SPACE_LIMIT/1024/1024/1024) AS SPACE_LIMIT,SPACE_USED/1024/1024/1024 AS SPACE_USED,
(SPACE_LIMIT/1024/1024/1024) - (SPACE_USED/1024/1024/1024+ SPACE_RECLAIMABLE/1024/1024/1024)
AS SPACE_AVAILABLE,SPACE_RECLAIMABLE/1024/1024/1024 AS SPACE_RECLAIMABLE,NUMBER_OF_FILES,ROUND((SPACE_USED - SPACE_RECLAIMABLE)/SPACE_LIMIT * 100, 1)
AS PERCENT_FULL FROM V$RECOVERY_FILE_DEST;
=================================
====================== check the undo is using anything ============
select tablespace_name,
status,
count(extent_id) "Extent Count",
sum(blocks) "Total Blocks",
sum(blocks)*8/(1024*1024) total_space
from dba_undo_extents
group by tablespace_name, status;
grant DBA to MCAJUSOL;
grant CREATE ANY TRIGGER to MCAJUSOL;
grant ALTER ANY TABLE to MCAJUSOL;
grant ALTER ANY TRIGGER to MCAJUSOL;
grant ALTER SESSION to MCAJUSOL;
grant COMMENT ANY TABLE to MCAJUSOL;
grant CREATE ANY CONTEXT to MCAJUSOL;
grant CREATE ANY DIRECTORY to MCAJUSOL;
grant CREATE ANY TABLE to MCAJUSOL;
grant CREATE PROCEDURE to MCAJUSOL;
grant CREATE PUBLIC SYNONYM to MCAJUSOL;
grant CREATE SESSION to MCAJUSOL;
grant CREATE SYNONYM to MCAJUSOL;
grant CREATE TABLE to MCAJUSOL;
grant CREATE TYPE to MCAJUSOL;
grant CREATE VIEW to MCAJUSOL;
grant DEBUG ANY PROCEDURE to MCAJUSOL;
grant DEBUG CONNECT SESSION to MCAJUSOL;
grant DROP ANY TABLE to MCAJUSOL;
grant DROP PUBLIC SYNONYM to MCAJUSOL;
grant PUBLIC DATABASE LINK to MCAJUSOL;
grant DROP PUBLIC DATABASE LINK to MCAJUSOL;
grant CREATE ROLE to MCAJUSOL;
grant ALTER ANY ROLE to MCAJUSOL;
grant DROP ANY ROLE to MCAJUSOL;
GRANT ANY ROLE to MCAJUSOL;
====
select username,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE,PROFILE from dba_users WHERE USERNAME='MCAJUSOL';
select dbms_metadata.get_ddl( 'USER', 'JCONDORI' ) from dual;
UNION ALL
select dbms_metadata.get_granted_ddl( 'SYSTEM_GRANT', 'JCONDORI' ) from dual;
UNION ALL
select dbms_metadata.get_granted_ddl( 'OBJECT_GRANT', 'JCONDORI' ) from dual;
UNION ALL
select dbms_metadata.get_granted_ddl( 'ROLE_GRANT', 'JCONDORI' ) from dual;
union all
select dbms_metadata.get_granted_ddl( 'TABLESPACE_QUOTA', 'JCONDORI' ) from dual;
f
SQL> alter system check datafiles ;
SQL> select TABLESPACE_NAME,sum(BYTES_USED)/1024/1024/1024,sum(BYTES_FREE)/1024/1024/1024 FROM V$TEMP_SPACE_HEADER group by TABLESPACE_NAME ;
TABLESPACE_NAME SUM(BYTES_USED)/1024/1024/1024 SUM(BYTES_FREE)/1024/1024/1024
------------------------------ ------------------------------ ------------------------------
TEMP1 80.0627441 55.2888184
TEMP2 116.264648 76.8994141
select distinct object_type from all_objects order by object_type;
Errors in file /oravl01/oracle/diag/rdbms/prdcust/PRDCUSTB/trace/PRDCUSTB_ora_62387.trc (incident=8144705):
cat /oravl01/oracle/diag/rdbms/prdcust/PRDCUSTB/trace/PRDCUSTB_ora_62387.trc
select * from V$DIAG_INFO where name = 'Diag Trace';
SR2514875 Request to enable TRACE BDSAS_DESA
set lines 2000 pages 1000
col NAME for a30
col VALUE for a30;
col UPDATE_COMMENT for a50;
col DESCRIPTION for a50;
col DISPLAY_VALUE a30;
select * from sys.V_$PARAMETER;
SR2514875 sql trace ..
col EXTERNAL_NAME for a50;
select * from sys.dba_users order by username;
Tkproof run :
tkprof BDSAS_ora_57568_HCACHAY_hcachay_RGIRIBALDI.trc BDSAS_ora_57568_HCACHAY_hcachay_RGIRIBALDI.txt
more BDSAS_ora_57568_HCACHAY_hcachay_RGIRIBALDI.txt
cat BDSAS_ora_57568_HCACHAY_hcachay_RGIRIBALDI.txt
===================== RMAN BACKUP STATUS ======
col STATUS format a30
col hrs format 999.99
set lines 200 pages 500
col END_TIME for a30
col START_TIME for a30
select
SESSION_KEY, INPUT_TYPE, STATUS,
to_char(START_TIME,'mm/dd/yy hh24:mi') start_time,
to_char(END_TIME,'mm/dd/yy hh24:mi') end_time,
elapsed_seconds/3600 hrs,
INPUT_BYTES/1024/1024/1024 INPUT_GB,
OUTPUT_BYTES/1024/1024/1024 OUTPUT_GB
from V$RMAN_BACKUP_JOB_DETAILS
where START_TIME > sysdate -&dias
order by START_TIME,session_key;
set lines 200 pages 300
col STATUS format a9
col hrs format 999.99
select
SESSION_KEY, INPUT_TYPE, STATUS,
to_char(START_TIME,'mm/dd/yy hh24:mi') start_time,
to_char(END_TIME,'mm/dd/yy hh24:mi') end_time,
elapsed_seconds/3600 hrs
from V$RMAN_BACKUP_JOB_DETAILS
where input_type like 'DB%'
order by session_key;
=======================================================
B-IBM-CL-MIDRANGE_BD
nohup sh backup_archives.sh -s ERD &
tail /oracle/ERD/scripts/Mng_RMAN/LOG/backup_archives_ERD_ERD_20181020_190615.log
cat /oracle/ERD/scripts/Mng_RMAN/LOG/backup_archives_ERD_ERD_20181020_190615.log
cd /oracle/ERD/scripts/Mng_RMAN
backup_archives_ERD.sh
# 0 */2 * * * /oracle/ERD/scripts/Mng_RMAN/backup_archives_ERD.sh -s PRD 2>&1 >/dev/null
#0 0,4,8,12,16,20 * * * /oracle/ERD/scripts/Mng_RMAN/backup_archives_ERD.sh -s ERD 2>&1 >/dev/null
=============== percentage completion ================
col MESSAGE for a85
col USERNAME for a10
col OSUSER for a10
col SPID for a10
SELECT s.SID,p.spid,s.username,s.osuser,SOFAR,l.message,TOTALWORK,ROUND(SOFAR*100/TOTALWORK) "Percent Complete", TIME_REMAINING,ROUND(last_call_et/60) MINS
FROM gv$session_longops l,gv$session s,gv$process p
WHERE s.SID IN
(SELECT SID FROM v$session WHERE username IS NOT NULL AND status='ACTIVE')
and TIME_REMAINING <> 0
AND s.SID=l.sid and p.addr = s.paddr;
=================================================
select table_name from dict where table_name like '%PRIVS%';
HIS -> gsphisprd 10.41.1.61
ONCOSYS -> gsponcosys 10.41.1.45
AUNBIDATAMAR -> gspdatamartprd 10.41.1.36
MIRTH - PRD1 -> gsplmomirthprd 10.41.1.169
MIRTH - PRD2 -> gsplmomirthprd 10.41.1.169
SQL> select name,open_mode,FORCE_LOGGING from v$database;
sql>select sum(bytes/1024/1024/1024) from dba_data_files;
sql>select OWNER,TABLE_NAME,LOGGING from dba_tables where LOGGING='NO' and OWNER not in ('SYSTEM','SYS','SYSADM','SYSMAN') ORDER BY 1;
SQL> select GROUP#,THREAD#,SEQUENCE#,bytes/1024/1024,MEMBERS,STATUS from v$log;
SQL>select USERNAME,PROFILE from dba_users;
select USERNAME,PROFILE from dba_users where profile='PROFILE_NO_ISEC';
SQL> select * from dba_role_privs where granted_role='DBA';
select * from dba_profiles where profile='DEVELOPERS';
select trunc(COMPLETION_TIME,'DD') Day,thread#,round(sum(BLOCKS*BLOCK_SIZE)/1048576) MB,count(*) Archives_Generated from v$archived_log group by trunc(COMPLETION_TIME,'DD'),thread# order by 1;
select
to_char(first_time,'YY-MM-DD') day,
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'00',1,0)),'999') "00",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'01',1,0)),'999') "01",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'02',1,0)),'999') "02",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'03',1,0)),'999') "03",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'04',1,0)),'999') "04",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'05',1,0)),'999') "05",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'06',1,0)),'999') "06",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'07',1,0)),'999') "07",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'08',1,0)),'999') "08",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'09',1,0)),'999') "09",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'10',1,0)),'999') "10",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'11',1,0)),'999') "11",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'12',1,0)),'999') "12",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'13',1,0)),'999') "13",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'14',1,0)),'999') "14",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'15',1,0)),'999') "15",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'16',1,0)),'999') "16",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'17',1,0)),'999') "17",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'18',1,0)),'999') "18",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'19',1,0)),'999') "19",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'20',1,0)),'999') "20",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'21',1,0)),'999') "21",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'22',1,0)),'999') "22",
to_char(sum(decode(substr(to_char(first_time,'HH24'),1,2),'23',1,0)),'999') "23",
COUNT(*) TOT
from v$log_history
group by to_char(first_time,'YY-MM-DD')
order by day ;
==================Redolog size advisior ================
SELECT
(SELECT
ROUND (AVG (BYTES) / 1024 / 1024, 2)
FROM
V$LOG) AS "Redo size (MB)",
ROUND ( (20 / AVERAGE_PERIOD) * (SELECT AVG (BYTES) FROM V$LOG) / 1024 / 1024, 2) AS "Recommended Size (MB)"
FROM
(SELECT AVG ( (NEXT_TIME - FIRST_TIME) * 24 * 60) AS
AVERAGE_PERIOD
FROM
V$ARCHIVED_LOG
WHERE
FIRST_TIME > SYSDATE - 3
AND
TO_CHAR (FIRST_TIME, 'HH24:MI') BETWEEN '10:00' AND '11:00');
we have every 6 hours archive log backup
Max archives generation per day is 70 gb
Falsh recovery area size is 250 gb.
so its enough to be if that log backup cannot be run for 3 days ...
==== rman backup check ==================
col STATUS format a30
col hrs format 999.99
set lines 200 pages 500
col END_TIME for a40
col START_TIME for a40
select
SESSION_KEY, INPUT_TYPE, STATUS,
to_char(START_TIME,'mm/dd/yy hh24:mi') start_time,
to_char(END_TIME,'mm/dd/yy hh24:mi') end_time,
elapsed_seconds/3600 hrs,
INPUT_BYTES/1024/1024/1024 INPUT_GB,
OUTPUT_BYTES/1024/1024/1024 OUTPUT_GB
from V$RMAN_BACKUP_JOB_DETAILS
where START_TIME > sysdate -&dias
order by START_TIME,session_key;
=============== No of archive generation per day ============
select trunc(COMPLETION_TIME,'DD') Day, thread#,round(sum(BLOCKS*BLOCK_SIZE)/1024/1024/1024) GB,count(*) Archives_Generated from v$archived_log group by trunc(COMPLETION_TIME,'DD'),thread# order by 1;
=========================================================
select trunc(l.first_time) arch_date
, round(sum(decode(l.status,'D',blocks * block_size,0)/(1024 * 1024 * 1024))) deleted_gb
, round(sum(decode(l.status,'A',blocks * block_size,0)/(1024 * 1024 * 1024))) available_gb
, round(sum(decode(l.status,'U',blocks * block_size,0)/(1024 * 1024 * 1024))) unavailable_gb
, round(sum(decode(l.status,'X',blocks * block_size,0)/(1024 * 1024 * 1024))) expired_gb
, round(sum(blocks * block_size) /(1024 * 1024 * 1024)) total_size_gb
from gv$archived_log l
, gv$archive_dest n
where l.inst_id = n.inst_id
and l.dest_id = n.dest_id
and n.destination = 'USE_DB_RECOVERY_FILE_DEST'
group by trunc(l.first_time)
order by trunc(l.first_time)
/
==========================================SQL TUNING ADVISOR ===============
============CPU usage high on server due to sql statements ==========
1,Topas
2,Take PID for high CPU usage processer.
3,Verify the long running queris
select a.sid,b.status,rpad(a.opname,15),a.sofar,a.totalwork, to_char(a.START_TIME,'dd-MON-YY HH24:MI') START_TIME, a.TIME_REMAINING,a.ELAPSED_SECONDS,((a.sofar)*100)/a.totalwork "%_completed", rpad(a.username,10) username,a.SQL_HASH_VALUE, B.STATUS from V$SESSION_LONGOPS a, v$session b where a.sid = b.sid and b.status='ACTIVE' AND a.sofar<> a.totalwork and a.totalwork>0 ;
3, Get the sql id from the PID using below query.
select s.sid || ',' || s.serial# "SID/SERIAL", s.username, s.osuser from v$session s,v$process p Where s.paddr = p.addr and p.spid=&pid;
Note:Take the sql_id's and sql text from the top consuming sql queries .
4, Take the sql id, and sql text from the sid.
sqlplus / as sysdba
SELECT sql_id,SQL_TEXT FROM v$sqlarea WHERE hash_value IN (SELECT sql_hash_value FROM v$session WHERE sid=&sid);
5, Gather the explan for the query. (control+u to replace the sql id with the new sql id ).
set lines 300 pages 4000
SELECT * FROM TABLE(DBMS_XPLAN.display_cursor(sql_id=>'f1ct7mj1mbtr1',format=>'ALLSTATS LAST +cost +bytes'));
6, Now check the diagnostic Tuning advisor is avaialbe or not ..
SQL> show parameter control_management
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_management_pack_access string DIAGNOSTIC+TUNING
7,Tune the sql usig DBMS_SQLTUNE (control+u to replace the sql id with the new sql id)
SQL> DECLARE
l_sql_tune_task_id VARCHAR2(100);
BEGIN
l_sql_tune_task_id := DBMS_SQLTUNE.create_tuning_task (
sql_id => 'f1ct7mj1mbtr1',
scope => DBMS_SQLTUNE.scope_comprehensive,
time_limit => 500,
task_name => 'f1ct7mj1mbtr1_tuning_task11',
description => 'Tuning task1 for statement f1ct7mj1mbtr1');
DBMS_OUTPUT.put_line('l_sql_tune_task_id: ' || l_sql_tune_task_id);
END;
/ 2 3 4 5 6 7 8 9 10 11 12
PL/SQL procedure successfully completed.
8, Excute the Tuning task (Here we have to change the Tuning task name to excute )
EXEC DBMS_SQLTUNE.execute_tuning_task(task_name => 'f1ct7mj1mbtr1_tuning_task11');
PL/SQL procedure successfully completed.
9, To generate the report of Tuning task:
SQL> set long 65536
set longchunksize 65536
select dbms_sqltune.report_tuning_task('f1ct7mj1mbtr1_tuning_task11') from dual;SQL> SQL>
===============================================================================================================
s
select count(*) from dba_tables where owner in
('APP_CRM_ED'
,'APP_DATMAN'
,'APP_DATMAN_DESA'
,'APP_RMAN'
,'APP_RRVV');
select count(*) from dba_tables where owner in
('APP_BPM_SIN'
,'APP_BPM_SIN_VEH'
,'APP_BPM_SIN_VEH_MIG'
,'APP_BPM_SIN_VEH_PROD'
,'APP_USRJOB');
Select 'GRANT SELECT ON '||owner ||'.'||TABLE_NAME||' TO DS_AWSBDRRVV_TEST;' From DBA_TABLES Where Owner IN ('APP_CRM_ED'
,'APP_DATMAN'
,'APP_DATMAN_DESA'
,'APP_RMAN'
,'APP_RRVV');
Select 'GRANT SELECT ON '||owner ||'.'||TABLE_NAME||' TO DS_AWSBDRRVV_TEST;' From DBA_TABLES Where Owner like 'APP%'
cpoy all the permissions in vi 1.sql
check the user creation done. if user exisit.
@1.sql
===============================================================================================================================================
DBA_SCHEDULER_JOBS
select DISTINCT PROFILE from dba_profiles;
select * from dba_profiles where profile='PERFIL_IBM';
select * from dba_profiles where profile='PRF_HYPERION';
select * from dba_profiles where profile='PUCP_PROFILE';
select * from dba_profiles where profile='DEFAULT';
select * from dba_profiles where profile='ISEC_PROFILE';
select * from dba_profiles where profile='MONITORING_PROFILE';
alter user GAL_SIF profile DBA_EXT;
select profile, resource_name,LIMIT from dba_profiles where resource_name='PASSWORD_LIFE_TIME';
select tname from tab where tname like '%ROLE%' ;
SQL> select granted_role,grantee from dba_role_privs where granted_role like 'DELETE_CATALOG_ROLE';
select profile, resource_name,LIMIT from dba_profiles where resource_name='PASSWORD_GRACE_TIME';
select granted_role,grantee from dba_role_privs where granted_role like 'DELETE_CATALOG_ROLE';
alter profile DEFAULT LIMIT PASSWORD_GRACE_TIME 5;
alter profile &p LIMIT PASSWORD_GRACE_TIME 5;
Expected: PASSWORD_REUSE_TIME = 720
select profile, resource_name,LIMIT from dba_profiles where resource_name='PASSWORD_REUSE_TIME';
PASSWORD_REUSE_MAX = 8
select profile, resource_name,LIMIT from dba_profiles where resource_name='PASSWORD_REUSE_MAX';
PASSWORD_LOCK_TIME
select profile, resource_name,LIMIT from dba_profiles where resource_name='PASSWORD_LOCK_TIME';
FAILED_LOGIN_ATTEMPTS
select profile, resource_name,LIMIT from dba_profiles where resource_name='FAILED_LOGIN_ATTEMPTS';
select profile, resource_name,LIMIT from dba_profiles where resource_name='PASSWORD_VERIFY_FUNC;
PASSWORD_VERIFY_FUNC
select profile, resource_name,LIMIT from dba_profiles where resource_name='PASSWORD_REUSE_MAX';
SEC_MAX_FAILED_LOGIN_ATTEMPTS
alter profile &p FAILED_LOGIN_ATTEMPTS=4
select profile, resource_name,LIMIT from dba_profiles where resource_name='SEC_MAX_FAILED_LOGIN_ATTEMPTS';
ALTER SESSION SET CURRENT_SCHEMA=XYZ
select profile, resource_name,LIMIT from dba_profiles where resource_name='PASSWORD_VERIFY_FUNCTION';
alter profile DEFAULT LIMIT PASSWORD_GRACE_TIME 5;
alter profile DEFAULT PASSWORD_VERIFY_FUNCTION
List of users whose password does not fulfill security function
select username, profile from dba_users where account_status='OPEN';
select profile, RESOURCE_NAME, LIMIT from dba_profiles where RESOURCE_NAME like '%FUNCTION%';
server html on
spoll on
run the query
spoll off
192.168.2.168 RHEL 6 (Santiago) sabudida/dba#@1986 nesthari/Sep@2018
========================================================================================
redolog sizes recommendation
relgolog sizes recommendation based on number of log swithces are occuring like 50 or 60..
check the no of redolog groups and members and sizes of the redolog groups.
Alert log --check point not complete ..
in AWR report ---redolog file sync
Flash recovery recommendation
db size is 300 g..
Every 2 to 3 hours archives log backup has been configured for this database .
Maximum archived generated 300 for day is 10 gb
flash recovery size 45 g.
Its enough to have the sufficient enough free space and available for good space ...
===============================================================================
SR2531539 -Backup - BDVIDA_UAT SHEMA REQUEST APP_VIDA APP_VIDA_GU.
select object_type,count(*) from dba_objects where owner in ('APP_VIDA','APP_VIDA_GU') group by object_type;
we have to take the data from test to UAT .. change request we have to create for this request.
grant excute on ACSEL.INDEX to HCACHAY;
grant excute on ACSEL.CONSTRAINTS to HCACHAY;
====================================================
http://www.juliandyke.com/Research/RMAN/RetentionPolicy.php
rman target / nocatalog
show retention policy;
10.43.208.207 moasim87/Winter@2020
hen gzip <tar filename>
=
cpu cores
lparstat -i | grep CPU
export DMP
Estimados:
Por favor su apoyo con el Backup de la Base de Datos: BDVIDA_UAT; de la aplicación AE en TEST MTTO al 24/10.
Los esquemas y estructuras de datos que se deben replicar son: APP_VIDA y APP_VIDA_GU.
10.22.1.47
TNSNAME:
BDVIDA_UAT.world =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rsdce-scan.rimac.com.pe)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = BDVIDAD)
)
)
Saludos.
SQL> create directory mydump as '/home1/fulldb/mydump';
Directory created.
grant read, write to mydump
nohup expdp \'/ as sysdba\' content=ALL directory=fulldb dumpfile=expdp_full_HISDEVDB_DDMMYYYY_%U.dmp logfile=expdp_full_HISDEVDB_DDMMYYYY.log full=y filesize=100G &
expdp scott/tiger@db10g schemas=SCOTT directory=TEST_DIR dumpfile=SCOTT.dmp logfile=expdpSCOTT.log
============= chfs gzip ===================
mv lsnr_sasprd.log /sasdev/lsnr_sasprd.log_13Nov18
gzip lsnr_sasprd.log_13Nov18
mv lsnr_sasprd.log_13Nov18 /oracle/oracle/app/oracle/product/9.2.0/network/log
====================================
root@sppf_aora1]:/opt/oracle # chfs -a size=+1G /opt/oracle
Filesystem size changed to 81788928
[root@sppf_aora1]:/opt/oracle # df -g
[root@sppf_aora1]:/opt/oracle # chfs -a size=+1G /opt/oracle
Filesystem size changed to 83886080
[root@sppf_aora1]:/opt/oracle # df -g /opt/oracle
Filesystem GB blocks Free %Used Iused %Iused Mounted on
/dev/fslv17 40.00 2.00 96% 1010011 66% /opt/oracle
[root@sppf_aora1]:/opt/oracle # chfs -a size=+10G /opt/oracle
Filesystem size changed to 104857600
To find active connections to the database use below query.
SELECT SID, Serial#, UserName, Status, SchemaName, Logon_Time FROM V$Session WHERE Status='ACTIVE' AND UserName IS NOT NULL;
SELECT Inst_Id, SID, Serial#, UserName, Status, SchemaName, Logon_Time FROM GV_$Session WHERE Status='ACTIVE' AND UserName IS NOT NULL;
And use attached script which generated all the information about the database like schema users and regular users and so on.
=================== SQL query to find Flash Recovery Area (FRA) usage ===============================
Please find the sql query below to get the used & free size of flash recovery area
Both queries are same. First one gives the output in round integer. Second one gives the exact number.
set lines 1000
col name for a35
col SPACE_LIMIT for a15
col SPACE_AVAILABLE for a15
col SPACE_USED for a15
col SPACE_RECLAIMABLE for a17
SELECT NAME,TO_CHAR(SPACE_LIMIT/1024/1024/1024,'999') AS SPACE_LIMIT,TO_CHAR(SPACE_USED/1024/1024/1024,'999') SPACE_USED,
TO_CHAR(SPACE_LIMIT/1024/1024/1024 - SPACE_USED/1024/1024/1024+ SPACE_RECLAIMABLE/1024/1024/1024,
'999') AS SPACE_AVAILABLE,TO_CHAR(SPACE_RECLAIMABLE/1024/1024/1024,'999') SPACE_RECLAIMABLE,NUMBER_OF_FILES,ROUND((SPACE_USED - SPACE_RECLAIMABLE)/SPACE_LIMIT * 100, 1)
AS PERCENT_FULL FROM V$RECOVERY_FILE_DEST;
set lines 200
col NAME for a35
SELECT NAME,(SPACE_LIMIT/1024/1024/1024) AS SPACE_LIMIT,SPACE_USED/1024/1024/1024 AS SPACE_USED,
(SPACE_LIMIT/1024/1024/1024) - (SPACE_USED/1024/1024/1024+ SPACE_RECLAIMABLE/1024/1024/1024)
AS SPACE_AVAILABLE,SPACE_RECLAIMABLE/1024/1024/1024 AS SPACE_RECLAIMABLE,NUMBER_OF_FILES,ROUND((SPACE_USED - SPACE_RECLAIMABLE)/SPACE_LIMIT * 100, 1)
AS PERCENT_FULL FROM V$RECOVERY_FILE_DEST;
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 30G SCOPE=BOTH;
=============================================================
select * from all_objects where object_name like '%SYS_AW_ENABLE_ACCESS%';
OLAP_SYS_AW_ENABLE_ACCESS_VIEW
SELECT count(*),owner,object_type,object_name FROM all_objects WHERE status = 'INVALID'; and object_name='OLAP_SYS_AW_ENABLE_ACCESS_VIEW';
OLAP_SYS_AW_ACCESS_DIM_VIEW
OLAP_SYS_AW_ACCESS_CUBE_VIEW
OLAP_SYS_AW_ENABLE_ACCESS_VIEW
OLAP_SYS_AW_ACCESS_CUBE_VIEW
OLAP_SYS_AW_ACCESS_DIM_VIEW
OLAP_SYS_AW_ENABLE_ACCESS_VIEW
ORA-29400: data cartridge error
0/0 ORA-36961: Oracle OLAP is not available.
0/0 ORA-12663: Ser
TRIGGER_NAME STATUS
------------------------------ --------
OLAPISTARTUPTRIGGER ENABLED
alter trigger OLAPISTARTUPTRIGGER disable;
alter trigger OLAPISTARTUPTRIGGER enabled;
alter view OLAPSYS.OLAP_SYS_AW_ENABLE_ACCESS_VIEW compile;
==============================================================================================================================================================================
ps -efk | grep -i defunct | wc -l
select b.spid,a.sid, a.serial#,a.username, a.osuser from v$session a, v$process b where a.paddr=b.addr and b.spid in ('24510508','29622498','33816776');
Cause
All processes are in the defunct state for a very short time when they exit. This state allows the parent process to check the exit status of the exiting processes. The kernel will not remove the kernel structures associated with the child process until the parent has either checked the exit status or notified the kernel that it is not interested in the exit status. If the parent exits without doing either of these things then the kernel will never remove the child's structures and it will remain as a defunct process.
Wait for the parent process to complete
Kill the parent process
Restart the operating system
For removing the defunct processes there are below options available.
Wait for the parent process to complete
Kill the parent process
Restart the operating system
We will wait for the parent process to get completed as there not a high resource utilization on server and the defunct processes also not using significant resorces (Memory, CPU Etc), if it will take significant time to close them we have to Reboot the server.
=====================================================================================================================================
toxsocks rdesktop 192.168.0.235 -u 'eckerdholding\oracle' -p 'Dbaj0824' -0 -g 1448x780 -r clipboard:PRIMARYCLIPBOARD
nchakali@in.ibm.com
Usharani*20@
========== Import request ===
172.25.33.167
Take all DDL from prod and test..
check the schema size and tablespace where it will import .
drop schema with cascasde . or truncate the data from table ..
disable the database from archive log mode
import using nohup
tail -f nohup
select username from dba_users where username='APP_BPM_SIN_VEH';
nohup imp \'/ as sysdba\' file=/backup/exp_APP_BPM_SIN_VEH02102018.dmp log=/backup/imp_APP_BPM_SIN_VEH0nov212018.log fromuser=APP_BPM_SIN_VEH touser=APP_BPM_SIN_VEH &
drop schmea
create schema
import
APP_BPM_SIN_VEH
select owner,segment_name,sum(bytes/1024/1024/1024) from dba_segments where segment_name='APP_BPM_SIN_VEH' group by owner,segment_name;
nohup exp \'/ as sysdba\' file=/backup/exp_APP_BPM_SIN_VEH02102018.dmp logfile=/backup/exp_APP_BPM_SIN_VEH02102018.log schemas=APP_BPM_SIN_VEH
nohup imp \'/ as sysdba\' file=/backup/exp_APP_BPM_SIN_VEH02102018.dmp log=/backup/imp_APP_BPM_SIN_VEH0nov212018.log fromuser=APP_BPM_SIN_VEH touser=APP_BPM_SIN_VEH &
tail -f nohup.out
====================================
====================
for UAT Access
LA_IAM_SSA, Access for all 3 regions
PERU_IAM_INDIA, CHILE_IAM_INDIA, Colombia_IAM_India
find . -name \*.trc -mtime +30 -exec rm {} \;
find . -name \*.trm -mtime +30 -exec rm {} \;
SELECT a.tablespace_name,ROUND((c.total_blocks*b.block_size)/1024/1024/1024,2)
"Total Size [GB]",ROUND((a.used_blocks*b.block_size)/1024/1024/1024,2) "Used_size[GB]",
ROUND(((c.total_blocks-a.used_blocks)*b.block_size)/1024/1024/1024,2) "Free_size[GB]",
ROUND((a.max_blocks*b.block_size)/1024/1024/1024,2) "Max_Size_Ever_Used[GBg]",
ROUND((a.max_used_blocks*b.block_size)/1024/1024/1024,2) "MaxSize_ever_Used_by_Sorts[GB]" ,
ROUND((a.used_blocks/c.total_blocks)*100,2) "Used Percentage"
FROM V$sort_segment a,dba_tablespaces b,(SELECT tablespace_name,SUM(blocks)
total_blocks FROM dba_temp_files GROUP by tablespace_name) c
WHERE a.tablespace_name=b.tablespace_name AND a.tablespace_name=c.tablespace_name;
TABLESPACE_NAME Total Size [GB] Used_size[GB] Free_size[GB]
------------------------------- --------------- ------------- -------------
PSTEMP 2031.45 .01 2031.44
TEMP 175 0 175
========================Temp usage for the details ==================================================
SELECT b.tablespace,
ROUND(((b.blocks*p.value)/1024/1024),2)||'M' "SIZE",
a.sid||','||a.serial# SID_SERIAL,
a.username,
a.program
FROM sys.v_$session a,
sys.v_$sort_usage b,
sys.v_$parameter p
WHERE p.name = 'db_block_size'
AND a.saddr = b.session_addr
ORDER BY b.tablespace, b.blocks;
select
a.name,
b.value
from
v$statname a,
v$sesstat b,
v$session s,
v$sort_usage su
where
a.statistic#=b.statistic#
and
b.sid=s.sid
and
s.saddr=su.session_addr;
alter database datafile 36 resize 20g;
/oracle/URP/sapdata27/sysaux_73/sysaux.data73.
==============================================================
=====Partition issue ==================
SQL> ALTER TABLE GESTION.VTASGEST
ADD PARTITION "P2019" VALUES LESS THAN ('20191231'); 2
Table altered.
SQL> select TABLE_NAME, PARTITION_NAME from dba_tab_partitions where table_name='VTASGEST' and TABLE_OWNER='GESTION';
=========================================== ORCHK =====================================
copy the file from desktop to server using sftp
[sabudida@oc5216235288 ~]$ sftp ibmzubairkh@10.41.1.45
ibmzubairkh@10.41.1.45's password:
Connected to 10.41.1.45.
sftp> cd /tmp
sftp> lcd '/home/sabudida/Desktop'
sftp> mput orachk_hpux_aix.tar.gz
Uploading orachk_hpux_aix.tar.gz to /tmp/orachk_hpux_aix.tar.gz
orachk_hpux_aix.tar.gz 100% 118MB 260.0KB/s 07:43
sftp> EXIT
-----------------------------------------------
PRD* oracle@gsponcosys:/tmp> cd
*PRD* oracle@gsponcosys:/home/oracle> cd /tmp *
ksh: cd: 0403-008 The number of parameters specified is not correct.
*PRD* oracle@gsponcosys:/home/oracle> cd /tmp
*PRD* oracle@gsponcosys:/tmp> ls -lrt *gz
-rwxrwxrwx 1 oracle oinstall 255524 Apr 25 2017 gsponcosys_oncosys.tar.gz
-rw------- 1 root system 64569 Sep 15 2017 GSP1_gsponcosys_EP2_PreProcessor_Output_Combined.csv.gz
-rwxrwxrwx 1 ibmrajvp staff 13052013 Nov 30 17:03 orion_aix_ppc64.gz
-rwxrwxrwx 1 ibmpajal staff 123487425 Jan 17 13:20 orachk_hpux_aix.tar.gz
*PRD* oracle@gsponcosys:/tmp> cp orachk_hpux_aix.tar.gz /tmp/ORCHK
*PRD* oracle@gsponcosys:/tmp> cd /tmp/ORCHK
*PRD* oracle@gsponcosys:/tmp/ORCHK> ls -lrt
total 241192
-rwxrwx--- 1 oracle oinstall 123487425 Jan 17 13:27
*PRD* oracle@gsponcosys:/tmp/ORCHK>
*PRD* oracle@gsponcosys:/tmp/ORCHK> tar -xvf orachk_hpux_aix.tar.gz
tar: 0511-169 A directory checksum error on media; 0 not equal to 72464.
*PRD* oracle@gsponcosys:/tmp/ORCHK>
*PRD* oracle@gsponcosys:/tmp/ORCHK>
*PRD* oracle@gsponcosys:/tmp/ORCHK> gunzip orachk_hpux_aix.tar.gz
*PRD* oracle@gsponcosys:/tmp/ORCHK> ls -tlr
total 394280
-rwxrwxrwx 1 oracle oinstall 201867776 Jan 17 13:27 orachk_hpux_aix.tar
*PRD* oracle@gsponcosys:/tmp/ORCHK> tar -xvf orachk_hpux_aix.tar
x user_defined_checks.xsd, 2888 bytes, 6 media blocks.
x .cgrep/profiles.dat, 5236 bytes, 11 media blocks.
x .cgrep/hugeSGAchecks.sh, 10532 bytes, 21 media blocks.
x lib/autoscheduler.tmpl, 7687 bytes, 16 med
x .cgrep/ofm_client.sh, 1745 bytes, 4 media blocks.
*PRD* oracle@gsponcosys:/tmp/ORCHK> ls -tlr
total 537584
-rw-rw---- 1 oracle oinstall 109317 Dec 12 2017 orachk.pyc
-rw-rw---- 1 oracle oinstall 5665 Dec 12 2017 orachk.bat
-rw-rw---- 1 oracle oinstall 2958609 Dec 12 2017 CollectionManager_App.sql
-rw-rw---- 1 oracle oinstall 8233480 Dec 12 2017 Apex5_CollectionManager_App.sql
-rw-rw---- 1 oracle oinstall 40052 Dec 12 2017 sample_user_defined_checks.xml
-rw-rw---- 1 oracle oinstall 2888 Dec 12 2017 user_defined_checks.xsd
drwxrwx--- 2 oracle oinstall 256 Dec 12 2017 templates
-rw-rw---- 1 oracle oinstall 10105 Dec 12 2017 readme.txt
-rw-rw---- 1 oracle oinstall 230 Dec 12 2017 UserGuide.txt
-rw-rw---- 1 oracle oinstall 2329718 May 16 2018 ORAchk_Health_Check_Catalog.html
-rw-rw---- 1 oracle oinstall 6808430 Nov 29 22:34 rules.dat
-rw-rw---- 1 oracle oinstall 52821808 Nov 29 22:34 collections.dat
-rw-rw---- 1 oracle oinstall 17352 Dec 04 21:19 orachk
drwxrwx--- 2 oracle oinstall 256 Jan 15 16:58 META-INF
-rwxrwxrwx 1 oracle oinstall 201867776 Jan 17 13:27 orachk_hpux_aix.tar
drwx------ 2 oracle oinstall 256 Jan 17 13:29 doc
drwx------ 2 oracle oinstall 256 Jan 17 13:29 bash
drwxrwx--- 2 oracle oinstall 4096 Jan 17 13:29 exadiscover
drwxrwx--- 2 oracle oinstall 256 Jan 17 13:29 build
drwxrwx--- 3 oracle oinstall 4096 Jan 17 13:29 lib
*PRD* oracle@gsponcosys:/tmp/ORCHK>
*PRD* oracle@gsponcosys:/tmp/ORCHK>
*PRD* oracle@gsponcosys:/tmp/ORCHK> uname -a
AIX gsponcosys 1 7 00F8593A4C00
*PRD* oracle@gsponcosys:/tmp/ORCHK> sh orachk
============================================ IN 9I database to find out the sql text ====================
SELECT s1.sql_text from v$sqlarea s1,v$session s2 where s2.SID=&sid and s2.SQL_ADDRESS = s1.ADDRESS
3:52:57 AM: Sadanandam: SELECT s1.sql_text from v$sqlarea s1,v$session s2 where s2.SID=&sid and s2.prev_sql_addr = s1.ADDRESS
======================================
select log_date,job_name,status,run_duration,ACTUAL_START_DATE from dba_scheduler_job_run_details where job_name like '%GATHER%' order by log_date;
========= 172.25.115.40 not supporting to this server ============
=================== RIMAC report check ==========
select username,account_status from dba_users where username like 'APP%';
select username,account_status from dba_users where username like 'APP%';
select username,account_status from dba_users where username like 'APP%' order by 1;
select count(*) from dba_roles;
select count(*) from dba_roles where role like 'APP%';
select count(*) from dba_roles where role like 'DELETE_CATALOG_ROLE';
SQL> set pages 200
SQL> select * from dba_roles where role like 'APP%';
set linesize 300 pagesize 1000 feedback 1 echo off wrap on
column tblspace format a12 heading "Tablespace"
column "Used Space(MB)" format 999999999
column "allocated size(MB)" format 999999999
column "maximum allowable (MB)" format 999999999
column "effective free(MB)" format 999999999
column "%FREE" format 999.99
select
a.tsdf tablespace,
nvl(a.file_space,0) "allocated size(MB)",
nvl(b.used_space,0) "Used Space(MB)",
a.extn_space as "maximum allowable (MB)",
(nvl(a.extn_space,0)-nvl(b.used_space,0)) as "effective free(MB)",
round((((nvl(a.extn_space,0)-nvl(b.used_space,0))/nvl(a.extn_space,0))*100),2) as "Effective % FREE"
from
(select tablespace_name tsdf,sum(bytes)/1048576 file_space,sum(decode(maxbytes,0,bytes,maxbytes))/1048576 extn_space from
dba_data_files group by tablespace_name) a, (select tablespace_name tsfs,(bytes/1048576) used_space from sm$ts_used) b where
a.tsdf = b.tsfs (+) wh
--and round((((a.extn_space-b.used_space)/a.extn_space)*100),2) <=25
order by 6 ;
select owner,object_type,count(*) from dba_objects where owner like 'APP%' group by owner,object_type order by 1,2;
!stty erase
================ corona details ===============
BD Orionv IP: 10.2.1.54
IPB Matrix: 192.1.1.34
Running processes and the users that trigger them.
Tablespace status.
Use of resources on both servers.
Please send information via email to Juan Alavarez.
jalvarez@cl.ibm.com
set pages 9999 lines 300
col OPEN_MODE for a10
col HOST_NAME for a15
col Instance_start_time for a25
col CURRENT_TIME for a20
col DATABASE_STATUS for a10
col DB_VERSION for a10
col db_version for a10
col logins for a10
col DATABASE_ROLE for a10
col INSTANCE_NAME for a10
select name DB_NAME,INSTANCE_NAME,HOST_NAME,OPEN_MODE,version DB_VERSION,DATABASE_STATUS,DATABASE_ROLE,LOGINS,to_char(STARTUP_TIME,'DD-MON-YYYY HH24:MI:SS') "Instance_start_time",
to_char(sysdate,'DD-MON-YYYY HH24:MI:SS') "CURRENT_TIME" from v$database,gv$instance;
========== Running processes and the users that trigger them. ===============
col Username for a10
col "Os user" for a10
col "Schema name" for a15
col Machine for a25
select s.sid as "Sid", s.serial# as "Serial#", nvl(s.username, ' ') as "Username", s.machine as "Machine", s.schemaname as "Schema name", s.logon_time as "Login time", s.program as "Program", s.osuser as "Os user", s.status as "Status", nvl(s.process, ' ') as "OS Process id"
from v$session s
where nvl(s.username, 'a') not like 'a' and status like 'ACTIVE'
order by 1,2;
================== Resource utilization =======
select
resource_name,
current_utilization,
max_utilization,
limit_value
from
v$resource_limit
where
resource_name in ( 'sessions', 'processes');
copy on desktop.unzip..
[sabudida@dhcp-9-204-233-123 ~]$ cd ashv-3.4-bin/
[sabudida@dhcp-9-204-233-123 ashv-3.4-bin]$ cat run.sh
#!/bin/sh
# ----------------------------------------------------------------------------
# Licensed to the GNU GENERAL PUBLIC LICENSE Version 3
# ----------------------------------------------------------------------------
# ----------------------------------------------------------------------------
# ASH Viewer start up batch script
#
# Required ENV vars:
# JAVA_HOME - location of a JDK home dir
#
export ASHV_HOME=/home/sabudida/ashv-3.4-bin
export JAVA_HOME=/usr
export JAVA_EXE=$JAVA_HOME/bin/java
#cd $ASHV_HOME
toxsocks $JAVA_EXE -Xmx128m -jar ASHV.jar
[sabudida@dhcp-9-204-233-123 ashv-3.4-bin]$ export ASHV_HOME=/home/sabudida/ashv-3.4-bin
[sabudida@dhcp-9-204-233-123 ashv-3.4-bin]$ export JAVA_HOME=/usr
[sabudida@dhcp-9-204-233-123 ashv-3.4-bin]$ export JAVA_EXE=$JAVA_HOME/bin/java
[sabudida@dhcp-9-204-233-123 ashv-3.4-bin]$
[sabudida@dhcp-9-204-233-123 ashv-3.4-bin]$
[sabudida@dhcp-9-204-233-123 ashv-3.4-bin]$ toxsocks $JAVA_EXE -Xmx128m -jar ASHV.jar
Picked up _JAVA_OPTIONS: -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Stack=true
SQL Exception occured while connection pool initialize: Io exception: The Network Adapter could not establish the connection
[sabudida@dhcp-9-204-233-123 ashv-3.4-bin]$ toxsocks $JAVA_EXE -Xmx128m -jar ASHV.jar
Picked up _JAVA_OPTIONS: -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Stack=true
[sabudida@dhcp-9-204-233-123 ashv-3.4-bin]$ pwd
/home/sabudida/ashv-3.4-bin
gzip log*.*
[oracle@rsdcedbadm03 ~]$ rman target /
Recovery Manager: Release 11.2.0.4.0 - Production on Wed Jul 24 15:51:27 2019
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: BDDMS (DBID=3127521747)
RMAN> delete force noprompt archivelog until time 'SYSDATE-1';
======================================= DBLINK CREATION =========
TRACKINGCOMPRA
NAME PASSWORD
------------------------------ ------------------------------
TRACKINGCOMPRA 20E10763A749DBDF
CREATE public DATABASE LINK REPORTES_GESBDT
CONNECT TO "REPORTES_NF" IDENTIFIED BY VALUES '3C34C417BD69A7A3'
USING 'gesbdt';
CREATE public DATABASE LINK TRACKINGCOMPRA CONNECT TO "TRACKINGCOMPRA " IDENTIFIED BY VALUES '20E10763A749DBDF' USING 'MANDATO';
HI
For this request we dont need required dblink to access the table..we can grant the access on table to access it.
Let me know if you have any specific concerns on this request.
NOte: db link is required only access the data from remote database / remote server data.
rssibdinver02 (172.25.52.25)
New Password : r3m4r.16$
user:oracle
============================================ june 16 th 2020 ========================
db creation request on
Hi UNix team , please create the file system as below and provide the necessary permission as per the below.
Hostname: marte.hites.global
Ip address : 192.168.1.46
file system : /u33_OmsPos
size of the file system : 10 Gb.
owner of the file system and permissions as below. : drwxr-xr-x 2 oracle oinstall.
you can same as /u31_Actional this file system , Let us know for any other information on this.
1. Create the PATHS for database files to be stored.
mkdir /u33_OmsPos
mkdir -p /u33_OmsPos/oms_pos/oradata
mkdir -p /u33_OmsPos/archives
mkdir -p /u33_OmsPos/redo
actional archive lost+found redo
Control Files
Archive Location
Database Files /u33_OmsPos/oms_pos/oradata
Redolog Files Location
2.Now create the init.ora file( in $ORACLE_HOME/dbs location)
vi initoms_pos.ora
*.bitmap_merge_area_size=10485760
*.compatible='11.2.0.0.0'
*.control_files='/u33_OmsPos/u33_OmsPos/oradata/control01.ctl','/u33_OmsPos/oradata/control02.ctl','/u33_OmsPos/oradata/control03.ctl'
*.control_management_pack_access='NONE'
*.cursor_sharing='SIMILAR'
*.db_block_size=8192
*.db_cache_advice='ON'
*.db_domain=''
*.db_file_multiblock_read_count=128
spfile.db_files=500
*.db_files=500
*.db_name='oms_pos' =======> Database Name
*.diagnostic_dest='/u01'
*.dml_locks=5000
*.fast_start_mttr_target=0
*.job_queue_processes=4
*.log_archive_dest_1='LOCATION=/u33_OmsPos/archive' #### Archivelog Location
*.log_archive_dest_state_1='ENABLE'
*.log_checkpoints_to_alert=FALSE
*.open_cursors=300
*.open_links=10
*.open_links_per_instance=10
*.optimizer_dynamic_sampling=0
*.optimizer_mode='ALL_ROWS'
*.pga_aggregate_target=3092M
*.processes=500
*.query_rewrite_enabled='TRUE'
*.query_rewrite_integrity='TRUSTED'
*.remote_login_passwordfile='EXCLUSIVE'
*.sec_case_sensitive_logon=FALSE
*.sessions=672
*.sga_target=9280M
*.star_transformation_enabled='FALSE'
*.statistics_level='TYPICAL'
*.timed_statistics=TRUE
*.undo_management='AUTO'
*.undo_retention=1800
*.undo_tablespace='UNDOTBS1'
*.workarea_size_policy='AUTO'
select blocking_session, sid, serial#,program,username,wait_class, seconds_in_wait from v$session where blocking_session is not NULL order by blocking_session;
3.Set environment variables for the new database (oms_pos).
$export ORACLE_HOME=/u01/product/11.2.0/db_1
$export PATH=$ORACLE_HOME/bin:$PATH
$export ORACLE_SID=oms_pos
4.Start the database in nomount stage:
$ sqlplus “/ as sysdba”
SQL> startup nomount pfile='initoms_pos.ora';
5. Below the create database script.
CREATE CONTROLFILE “Actional” DATABASE "MANDATO" NORESETLOGS NOARCHIVELOG
LOGFILE
GROUP 1 '/u33_OmsPos/oradata/logfiles/redo1.log' SIZE 100M BLOCKSIZE 512,
GROUP 2 '/u33_OmsPos/oradata/logfiles/redo2.log' SIZE 100M BLOCKSIZE 512,
GROUP 3 '/u33_OmsPos/oradata/logfiles/redo3.log' SIZE 100M BLOCKSIZE 512
DATAFILE
'/u33_OmsPos/oradata/datafiles/system1.dbf' size 1G,
SYSAUX datafile ‘/u33_OmsPos/oradata/datafiles/sysaux01.dbf’ size 1G,
default temporary tablespace temp tempfile ‘/u33_OmsPos/oradata/datafiles/temp01.dbf’ size 1G,
undo tablespace UNDOTBS1 datafile ‘/u33_OmsPos/oradata/datafiles/undo01.dbf’ size 1G
character set WE8MSWIN1252;
6. Now create the data dictionary views(CATALOG and CATPROC component)
SQL> @?/rdbms/admin/catalog.sql
SQL> @?/rdbms/admin/catproc.sql
SQL> @?/rdbms/admin/catblock.sql
SQL> @?/rdbms/admin/dbmspool.sql
7. Create the product user profile table ( by connecting to system user)
SQL> conn system/manager
SQL> @?/sqlplus/admin/pupbld.sql
8. Create a listener file and start the listener.
LISTENER_oms_pos= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.46)(PORT=1571)))
SID_LIST_LISTENER_actional=(SID_LIST=(SID_DESC=(SID_NAME=oms_pos)(ORACLE_HOME=/u01/product/11.2.0/db_1)))
LISTENER_oms_pos= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.46)(PORT=1521)))
SID_LIST_LISTENER_ORCL=(SID_LIST=(SID_DESC=(SID_NAME=orcl)(ORACLE_HOME=/u01/product/11.2.0/db_1)))
============================================wednuesday june 17th 2020============================================================================================
create the user and give read access to shema tables ....
CH351564 :Creacion de cuenta en bdd ALFA
select 'grant select on '||owner||'.'||table_name||' to srojas;' from dba_tables where owner='PPTONLINE';
create user srojas identified by DE#a4ZjJ8#Z default tablespace USERS temporary tablespace TEMP profile SECURITY;
grant connect to srojas;
grant select on PPTONLINE.PAYMENTS to srojas;
grant select on PPTONLINE.PAYMENTMODES to srojas;
grant select on PPTONLINE.INVOICES to srojas;
grant select on PPTONLINE.CASHIERAMOUNTS to srojas;
grant select on PPTONLINE.TICKETS to srojas;
grant select on PPTONLINE.TO_MEDIOS_PAGO_REPRO to srojas;
grant select on PPTONLINE.PASO to srojas;
grant select on PPTONLINE.IDOC_FALTANTES to srojas;
grant select on PPTONLINE.USERS to srojas;
grant select on PPTONLINE.TAXES to srojas;
grant select on PPTONLINE.SHEETSITEMS to srojas;
grant select on PPTONLINE.SHEETS to srojas;
grant select on PPTONLINE.POSDOCUMENTS to srojas;
grant select on PPTONLINE.NODES to srojas;
grant select on PPTONLINE.FOLIORANGE to srojas;
grant select on PPTONLINE.CATEGORIES to srojas;
grant select on PPTONLINE.CASHIERAMOUNTS_OLD to srojas;
grant select on PPTONLINE.FISCAL_PRINTER to srojas;
grant select on PPTONLINE.DISCOUNT_CATEGORY to srojas;
grant select on PPTONLINE.TOTALS to srojas;
grant select on PPTONLINE.SALE_CATEGORY to srojas;
grant select on PPTONLINE.TO_LIBRO_VENTAS to srojas;
grant select on PPTONLINE.TO_MEDIOS_PAGO to srojas;
============ post evidences ===========
select USERNAME,ACCOUNT_STATUS,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE,CREATED,PROFILE from dba_users where username='SROJAS';
CONNECT SROJAS
ENTER PASWORD .
SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE = 'SROJAS';
select * from dba_sys_privs where grantee='DWH';
SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE = 'DWH';
col GRANTEE for a30
col OWNER for a30
col TABLE_NAME for a35
col GRANTOR for a30
col PRIVILEGE for a30
col TYPE for a30
select * from dba_tab_privs where grantee='DWH';
select owner from ALL_TABLES where TABLE_NAME ='DWH';
SQL> select username,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE,PROFILE from dba_users WHERE USERNAME='SROJAS';
USERNAME DEFAULT_TABLESPACE TEMPORARY_TABLESPACE PROFILE
------------------------------ ------------------------------ ------------------------------ ------------------------------
DS_DATALAKE_DMS USERS TEMP PRF_WEB
SQL> SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE='DS_DATALAKE_DMS';
GRANTEE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
DS_DATALAKE_DMS CREATE SESSION NO
DS_DATALAKE_DMS SELECT ANY TRANSACTION NO
SQL> SELECT * FROM DBA_TAB_PRIVS WHERE GRANTEE='DS_DATALAKE_DMS';
=============================================================================================
set lines 200 set pages 200
col username for a25;
col account_status for a25;
col profile for a30;
select USERNAME,ACCOUNT_STATUS,PROFILE from dba_users where username not in ('ANONYMOUS'
,'APEX_040200'
,'APEX_PUBLIC_USER'
,'APPQOSSYS'
,'AUDSYS'
,'BI'
,'CTXSYS'
,'DBSNMP'
,'DIP'
,'DVF'
,'DVSYS'
,'EXFSYS'
,'FLOWS_FILES'
,'GSMADMIN_INTERNAL'
,'GSMCATUSER'
,'GSMUSER'
,'HR'
,'IX'
,'LBACSYS'
,'MDDATA'
,'MDSYS'
,'OE'
,'ORACLE_OCM'
,'ORDDATA'
,'ORDPLUGINS'
,'ORDSYS'
,'OUTLN'
,'PM'
,'SCOTT'
,'SH'
,'SI_INFORMTN_SCHEMA'
,'SPATIAL_CSW_ADMIN_USR'
,'SPATIAL_WFS_ADMIN_USR'
,'SYS'
,'SYSBACKUP'
,'SYSDG'
,'SYSKM'
,'SYSTEM'
,'WMSYS'
,'XDB'
,'SYSMAN'
,'RMAN'
,'RMAN_BACKUP'
,'OWBSYS'
,'OWBSYS_AUDIT'
,'APEX_030200'
,'MGMT_VIEW'
,'OJVMSYS') order by USERNAME;
=========================================
set lines 200 set pages 200
col username for a25;
col account_status for a25;
col profile for a30;
select USERNAME,ACCOUNT_STATUS,PROFILE from dba_users where username in ('ANONYMOUS'
,'APEX_040200'
,'APEX_PUBLIC_USER'
,'APPQOSSYS'
,'AUDSYS'
,'BI'
,'CTXSYS'
,'DBSNMP'
,'DIP'
,'DVF'
,'DVSYS'
,'EXFSYS'
,'FLOWS_FILES'
,'GSMADMIN_INTERNAL'
,'GSMCATUSER'
,'GSMUSER'
,'HR'
,'IX'
,'LBACSYS'
,'MDDATA'
,'MDSYS'
,'OE'
,'ORACLE_OCM'
,'ORDDATA'
,'ORDPLUGINS'
,'ORDSYS'
,'OUTLN'
,'PM'
,'SCOTT'
,'SH'
,'SI_INFORMTN_SCHEMA'
,'SPATIAL_CSW_ADMIN_USR'
,'SPATIAL_WFS_ADMIN_USR'
,'SYS'
,'SYSBACKUP'
,'SYSDG'
,'SYSKM'
,'SYSTEM'
,'WMSYS'
,'XDB'
,'SYSMAN'
,'RMAN'
,'RMAN_BACKUP'
,'OWBSYS'
,'OWBSYS_AUDIT'
,'APEX_030200'
,'MGMT_VIEW'
,'OJVMSYS') order by USERNAME;
2nd query will give all DB users (DEFAULT) (edited)
1st query will give all non default users , we have to sort
================================================================================
select count(*) from v$session where status='INACTIVE';
SELECT 'alter system kill session '''|| SID || ',' || serial# ||',@'||inst_id||''' immediate ;' FROM gv$session WHERE Status='INACTIVE'; AND SchemaName like '%&schemaname%';
alter system kill session '9,31897,@1' immediate ;
alter system kill session '12,49279,@1' immediate ;
alter system kill session '13,14673,@1' immediate ;
alter system kill session '15,9001,@1' immediate ;
alter system kill session '16,2467,@1' immediate ;
alter system kill session '17,41189,@1' immediate ;
alter system kill session '18,4777,@1' immediate ;
alter system kill session '19,41069,@1' immediate ;
alter system kill session '22,10419,@1' immediate ;
alter system kill session '23,5659,@1' immediate ;
alter system kill session '24,1493,@1' immediate ;
alter system kill session '25,147,@1' immediate ;
alter system kill session '27,46057,@1' immediate ;
alter system kill session '28,901,@1' immediate ;
alter system kill session '29,1619,@1' immediate ;
alter system kill session '31,18169,@1' immediate ;
alter system kill session '32,42541,@1' immediate ;
==========================================================26 th june 2020
SR4140025 Informe Mensual Junio: Crecimiento base de datos
set lines 300 pages 300
select FECHA,sum(TAMANO_OCUPA_GB) as "Occupied GB",sum(TAMANO_FREE_GB) as "Free GB",sum(TAMANO_RESERVADO_GB) as "RESERVADO GB" from ibm.IBM_HISTORIAL_TBS where substr(FECHA,7,2)='01' and to_date(FECHA,'YYYYMMDD')>=to_date('20181101','YYYYMMDD') group by FECHA order by 1;
======================== cript executions =============================
SR2470441 Ejecución de SCRIPT para Nota de Pedido (0002963: Problema de acceso a aplicativo)
Detalle BD
IP = 10.107.100.142
PUERTO = 1564
SID = DBMPACK
SCHEMA = ADM_MPK.
Atte.
expdp directory=expdp tables=ADM_MPK.SEC_USUARIOS dumpfile=SR2470441_SEC_USUARIOS.dmp logfile=SR2470441_SEC_USUARIOS.log
SQL> select name,open_mode from v$database;
NAME OPEN_MODE
--------- ----------
DBMPACK READ WRITE
SQL> alter session set current_schema=ADM_MPK;
Session altered.
SQL> update SEC_USUARIOS
set USR_ESTADO = 0,
USR_EXPIRACION = DATE '2021-07-02',
USR_PASSWORD = '190bdd385c78f1b1c609f6e4a59af2a9'
where USR_USERNAME = 'RBTADMIN'; 2 3 4 5
1 row updated.
SQL> commit;
Commit complete.
$ cd /u01/app/11.2.0/grid/log/diag/tnslsnr/boindopt1/listener_scan1/trace
$ ls -ltr
total 6513736
-rw-r----- 1 oracle oinstall 0 Oct 18 2016 ora_59375688_1.trc
-rw-r--r-- 1 oracle oinstall 3330309240 Jul 4 12:51 listener_scan1.log
$ gzip listener_scan1.log
$ df -gt /u01
Filesystem GB blocks Used Free %Used Mounted on
/dev/fslv00 49.38 41.68 7.69 85% /u01
$ date;uname -a
Sat Jul 4 12:52:56 GMT 2020
AIX boindopt1 1 6 00F9916A4C00
INCREASE TABLESPACE
===============================
select file_name,tablespace_name from dba_data_files where TABLESPACE_NAME='MART_DOM_DATA';
alter tablespace MSCORE add datafile '/oradatb/v54x/data/v54x_mscore_04.dbf' size 6144M;
RESIZE DATAFILE
===============================
select file_name,tablespace_name from dba_data_files where tablespace_name='SCRFVAL_DATA';
ALTER DATABASE DATAFILE '/u101/oradata/T0082X/undotbs01.dbf' RESIZE 2524M;
SIZE OF THE TABLESPACE
===============================
select sum(bytes/1024/1024) from dba_data_files where tablespace_name='MART_OPS_DATA';
HOW TO ADD TABLESPACE IN THE ASM DISK
================================================
ALTER TABLESPACE "ACS_DATA" ADD DATAFILE '+DATA_DG' SIZE 10240M;
HOW TO FIND OUT THE TABLESPACE SIZE IN THE DATABASE
===========================================
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;
HOW TO CREATE USER
==================================
CREATE USER KDQP402 IDENTIFIED BY astra357 DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP PROFILE SIEBEL;
GRANT SSE_ROLE TO KLDV849;
CREATE PROFILE SCRIPT
===============================
CREATE PROFILE CLIMBRO_PROFILE LIMIT
COMPOSITE_LIMIT UNLIMITED
CONNECT_TIME UNLIMITED
CPU_PER_CALL UNLIMITED
CPU_PER_SESSION UNLIMITED
FAILED_LOGIN_ATTEMPTS 6
IDLE_TIME UNLIMITED
LOGICAL_READS_PER_CALL UNLIMITED
LOGICAL_READS_PER_SESSION UNLIMITED
PASSWORD_GRACE_TIME 5
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_LOCK_TIME 1
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_REUSE_TIME 360
PASSWORD_VERIFY_FUNCTION IBM_PASSWORD_VERIFY_FUNC
PRIVATE_SGA UNLIMITED
SESSIONS_PER_USER UNLIMITED;
HOW TO KILL INACTIVE SESSIONS IN DATABASE
==============================================
select name from v$database;
select username,sid,serial#,status from v$session where status='INACTIVE';
SELECT 'ALTER SYSTEM KILL SESSION '||''''||sid ||','|| serial#||''''||' immediate;'FROM v$session WHERE status='INACTIVE' and username='ICHUB';
HOW TO KILL SESSION ID IMMEDIATELY
=========================================================
SELECT SID,serial# FROM v$session WHERE SID = '335';
select PID,SPID,SERIAL# from v$process where SERIAL#='29782'; --- TO FIND OUT PID
select spid, sid, s.serial#, p.program from v$session s, v$process p where paddr=addr;
ALTER SYSTEM KILL SESSION '335,29782' immediate;
HOW TO KILL THE DEADLOCK
==========================================================================
select c.owner,c.object_name,c.object_type,b.sid,b.serial#,b.status,b.osuser,b.machine from v$locked_object a,v$session b,dba_objects c
where b.sid = a.session_id and a.object_id = c.object_id;
ALTER SYSTEM KILL SESSION '227, 33102' IMMEDIATE;
KILL SESSION IN THE DATABASE
=====================================================
set lines 200
set pages 200
col username head 'Username' format a15
col terminal head 'Terminal' format a10
--
select /*+ rule */
rpad(si.sid,5) "Sid"
, rpad(s.serial#,7) "Serial#"
, s.username "Username"
, rpad(s.osuser,15) "Client User"
, s.terminal "Terminal"
, rpad(to_char(s.logon_time,'HH24:MI:SS'),13) "Connect Time"
, s.process "Process"
, rpad(p.spid,5) "Spid"
, rpad(p.pid,3) "Pid"
, rpad(s.program,15) "Program"
, s.module
, s.action
from v$session s
, v$process p
, sys.v_$sess_io si
where s.paddr = p.addr(+)
and si.sid(+) = s.sid
and (s.username IS NOT NULL)
-- and (NVL (s.osuser, 'x') != 'SYSTEM')
and (s.TYPE <> 'BACKGROUND')
order by 3;
HOW TO FIND OUT THE PID FOR ALL INACTIVE SESSIONS
==================================================
SELECT s.sid, s.serial#, s.username, s.osuser, p.spid, s.machine, p.terminal, s.program
FROM v$session s, v$process p WHERE s.paddr = p.addr order by s.username;
HOW TO FIND OUT USER DETAILS
==============================================
select username,password from dba_users where username='KWFK417BHR';
HOW TO CHANGE USER PASSWORD
==============================================
alter user AZE100 identified by acz1256d;
HOW TO FIND OUT DEFAULT TABLESPACE IN THE DATABASE
==============================================
select property_name,property_value from database_properties where property_name like 'DEFAULT%';
CREATE USER AND GRANT ROLE TO USER
=============================================
CREATE USER KLXZ380BHR IDENTIFIED BY welcome234 DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE TEMP PROFILE SIEBEL;
GRANT SSE_ROLE TO KWFK417BHR;
RMAN BACKUP SCRIPT
============================================
run {
allocate channel t1 type 'SBT_TAPE'
parms 'ENV=(NSR_COMPRESSION=true)';
backup incremental level 1 cumulative filesperset 64 format '/L1_%d_%u/' database;
SQL 'alter system archive log current';
backup archivelog all delete input skip inaccessible format '/LOG_%d_%u/';
release channel t1;
resync catalog;
}
run {
allocate channel t1 type 'SBT_TAPE'
parms 'ENV=(NSR_COMPRESSION=true)';
backup incremental level 1 cumulative filesperset 64 format '/L1_%d_%u/' database;
release channel t1;
resync catalog;
}
BACKUP ARCHIVE LOG IN SEQUENCE
===============================================
BACKUP ARCHIVELOG FROM SEQUENCE 259721 UNTIL SEQUENCE 259758 THREAD 1 DELETE INPUT;
HOW TO CHECK THE PROFILES IN THE DATABASE
===============================================
select PROFILE,RESOURCE_NAME,RESOURCE_TYPE,limit from dba_profiles where RESOURCE_NAME='PASSWORD_LIFE_TIME';
HOW TO FIND OUT STARTUP TIME IN RAC ENVIRONMENT
================================================
select startup_time,INSTANCE_NAME,STARTUP_TIME,STATUS from gv$instance;
HOW TO TAKE ARCHIVE LOGS BACKUP AND DELETE THE ARCHIVED BACKUPS FROM THE DISK
================================================
run {
crosscheck archivelog all;
allocate channel a1 type 'sbt_tape'
parms 'ENV=(TDPO_OPTFILE=/u001/app/TDP/dmdb10/tdpo.opt)'
format '%d_arch_%U.rbck';
backup archivelog all tag ARCHIVE_Backup;
release channel a1;
}
mv P0112X_1_11[0-9][0-9]_715675615.arc /s106/oradata/temp_arch
DELETE ARCHIVELOG ALL BACKED UP 1 TIMES TO DEVICE TYPE SBT_TAPE;
HOW TO FIND OUT THE DATABASE SIZE IN ORACLE
================================================
clear breaks
clear computes
clear columns
set pagesize 50
set linesize 120
set heading on
column tablespace_name heading 'Tablespace' justify left format a20 truncated
column tbsize heading 'Size|(Mb) ' justify left format 9,999,999.99
column tbused heading 'Used|(Mb) ' justify right format 9,999,999.99
column tbfree heading 'Free|(Mb) ' justify right format 9,999,999.99
column tbusedpct heading 'Used % ' justify left format a8
column tbfreepct heading 'Free % ' justify left format a8
break on report
compute sum label 'Totals:' of tbsize tbused tbfree on report
select t.tablespace_name, round(a.bytes,2) tbsize,
nvl(round(c.bytes,2),'0') tbfree,
nvl(round(b.bytes,2),'0') tbused,
to_char(round(100 * (nvl(b.bytes,0)/nvl(a.bytes,1)),2)) || '%' tbusedpct,
to_char(round(100 * (nvl(c.bytes,0)/nvl(a.bytes,1)),2)) || '%' tbfreepct
from dba_tablespaces t,
(select tablespace_name, round(sum(bytes)/1024/1024,2) bytes
from dba_data_files
group by tablespace_name
union
select tablespace_name, round(sum(bytes)/1024/1024,2) bytes
from dba_temp_files
group by tablespace_name ) a,
(select e.tablespace_name, round(sum(e.bytes)/1024/1024,2) bytes
from dba_segments e
group by e.tablespace_name
union
select tablespace_name, sum(max_size) bytes
from v$sort_segment
group by tablespace_name) b,
(select f.tablespace_name, round(sum(f.bytes)/1024/1024,2) bytes
from dba_free_space f
group by f.tablespace_name
union
select tmp.tablespace_name, (sum(bytes/1024/1024) - sum(max_size)) bytes
from dba_temp_files tmp, v$sort_segment sort
where tmp.tablespace_name = sort.tablespace_name
group by tmp.tablespace_name) c
where
t.tablespace_name = a.tablespace_name (+)
and t.tablespace_name = b.tablespace_name (+)
and t.tablespace_name = c.tablespace_name (+)
order by t.tablespace_name
/
HOW TO EDIT THE CRONTAB
===========================================
bash-2.03$ crontab -l
bash-2.03$ crontab -e
RECOVER STUFF BY SIVA NAGARAJU
===========================================
recover database until time "to_date('06-JAN-2011 23:59:59','DD-MON-YYYY:hh24:mi:ss')";
select thread#,sequence#,to_char(FIRST_TIME,'dd-mm-yy hh24:mi:ss') from v$archived_log where trunc(FIRST_TIME)= trunc(sysdate)-19 order by thread#,sequence# ;
select thread#,sequence#,to_char(FIRST_TIME,'dd-mm-yy hh24:mi:ss'),APPLIED,DELETED,STATUS from gv$archived_log where trunc(FIRST_TIME)= trunc(sysdate)-19 order by thread#,sequence# ;
select thread#,sequence#,to_char(FIRST_TIME,'dd-mm-yy hh24:mi:ss') from v$archived_log where trunc(FIRST_TIME)= trunc(sysdate)-30 order by thread#,sequence# ;
recover database until time "to_date('01-JAN-2011 23:59:59','DD-MON-YYYY:hh24:mi:ss')";
restore controlfile until time "to_date('04-JAN-2011 23:59:59','DD-MON-YYYY:hh24:mi:ss')";
restore controlfile until time "to_date('05-JAN-2011 23:59:59','DD-MON-YYYY:hh24:mi:ss')";
run {
allocate channel t1 type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
restore controlfile until time "to_date('10-JAN-2011 23:59:59','DD-MON-YYYY hh24:mi:ss')";
release channel c1;
}
restore controlfile until time "to_date('05-JAN-2011 23:59:59','DD-MON-YYYY:hh24:mi:ss')";
allocate channel t1 type 'SBT_TAPE' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
recover database until time '2011-01-05:23:59:59'
recover database until time "to_date('05-JAN-2011 23:59:59','DD-MON-YYYY:hh24:mi:ss')";
recover database using backup controlfile until time '2011-01-05:23:59:59';
run {
allocate channel t1 type 'SBT_TAPE' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
allocate channel t2 type 'SBT_TAPE' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)';
RESTORE ARCHIVELOG FROM SEQUENCE 745 UNTIL SEQUENCE 754;
release channel t1 ;
release channel t2 ;
}
HOW TO TAKE TKPROF REPORT IN ORACLE
=====================================================
Server: SEKIAZU0129.seki.astrazeneca.net
database: p75x
trace name/location: /u001/app/oracle/admin/p75x/udump/p75x_ora_5890160.trc
username=kkwv385
password=Tc8BhP3T
example: tkprof p75x_ora_5890160.trc kkwv385_tkprof_report.txt explain=kkwv385/Tc8BhP3T
tkprof <trace file> <output file name> waits=yes sys=no aggregate=no
HOW TO MAKE PASSWORD AS NO EXPIRE
====================================
Create a new profile with PASSWORD_LIFE_TIME UNLIMITED by the below script.
CREATE PROFILE CLIMBRO_PROFILE LIMIT
COMPOSITE_LIMIT UNLIMITED
CONNECT_TIME UNLIMITED
CPU_PER_CALL UNLIMITED
CPU_PER_SESSION UNLIMITED
FAILED_LOGIN_ATTEMPTS 6
IDLE_TIME UNLIMITED
LOGICAL_READS_PER_CALL UNLIMITED
LOGICAL_READS_PER_SESSION UNLIMITED
PASSWORD_GRACE_TIME 5
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_LOCK_TIME 1
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_REUSE_TIME 360
PASSWORD_VERIFY_FUNCTION IBM_PASSWORD_VERIFY_FUNC
PRIVATE_SGA UNLIMITED
SESSIONS_PER_USER UNLIMITED;
Assign the profile to the user CLIMBRO;
ALTER USER CLIMBRO PROFILE CLIMBRO_PROFILE;
SQL COMMAND TO ENABLE AND DISABLE CONSTRAINTS:
==========================================================================
Here sql command files to disable and enable all constraints:
Disable:
set feedback off
set verify off
set echo off
prompt Finding constraints to disable...
set termout off
set pages 80
set heading off
set linesize 120
spool tmp_disable.sql
select 'spool igen_disable.log;' from dual;
select 'ALTER TABLE '||substr(c.table_name,1,35)||
' DISABLE CONSTRAINT '||constraint_name||' ;'
from user_constraints c, user_tables u
where c.table_name = u.table_name;
select 'exit;' from dual;
set termout on
prompt Disabling constraints now...
set termout off
@tmp_disable.sql;
exit
/
Enable:
set feedback off
set verify off
set wrap off
set echo off
prompt Finding constraints to enable...
set termout off
set lines 120
set heading off
spool tmp_enable.sql
select 'spool igen_enable.log;' from dual;
select 'ALTER TABLE '||substr(c.table_name,1,35)||
' ENABLE CONSTRAINT '||constraint_name||' ;'
from user_constraints c, user_tables u
where c.table_name = u.table_name;
/
select 'exit;' from dual;
set termout on
prompt Enabling constraints now...
set termout off
@tmp_enable;
!rm -i tmp_enable.sql;
exit
/
HOW TO CHANGE THE PROFILE SETTINGS IN ORACLE
==============================================================
alter profile SIEBEL limit PASSWORD_VERIFY_FUNCTION null;
alter profile SIEBEL limit PASSWORD_VERIFY_FUNCTION IBM_PASSWORD_VERIFY_FUNC;
select * from dba_profileS where profile='SIEBEL';
IBM_PASSWORD_VERIFY_FUNC
HOW TO GET THE FREE SPACE IN ASM MOUNT POINT
================================================================
SET LINESIZE 145
SET PAGESIZE 9999
SET VERIFY off
COLUMN group_name FORMAT a20 HEAD 'Disk Group|Name'
COLUMN sector_size FORMAT 99,999 HEAD 'Sector|Size'
COLUMN block_size FORMAT 99,999 HEAD 'Block|Size'
COLUMN allocation_unit_size FORMAT 999,999,999 HEAD 'Allocation|Unit Size'
COLUMN state FORMAT a11 HEAD 'State'
COLUMN type FORMAT a6 HEAD 'Type'
COLUMN total_mb FORMAT 999,999,999 HEAD 'Total Size (MB)'
COLUMN used_mb FORMAT 999,999,999 HEAD 'Used Size (MB)'
COLUMN pct_used FORMAT 999.99 HEAD 'Pct. Used'
COlumn free_mb formate 999,999,999 HEAD 'Free Size (MB)'
break on report on disk_group_name skip 1
compute sum label "Grand Total: " of total_mb used_mb on report
compute sum label "Grand Total: " of total_mb free_mb on report
SELECT
name group_name
, sector_size sector_size
, block_size block_size
, allocation_unit_size allocation_unit_size
, state state
, type type
, total_mb total_mb
, (total_mb - free_mb) used_mb
, ROUND((1- (free_mb / total_mb))*100, 2) pct_used
, free_mb FREE_MB
FROM
v$asm_diskgroup
ORDER BY
name
/
CREATE DIRECTORY AND GRANT PRIVILEGE:
===============================================
CREATE DIRECTORY CWDMDCP_DATAPUMP_DIR AS '/oracle_pastlmdc/oracle/backup/CWDMDCP_Export':
grant read,write on directory CWDMDCP_DATAPUMP_DIR to system;
EXPDP COMMANDS
=========================
FULL DATABASE EXPORT:
===========================
expdp system/<password> DIRECTORY=CWDMDCP_DATAPUMP_DIR DUMPFILE=CWDMDCP_expfull.dmp FULL=y LOGFILE=CWDMDCP_expfull.log
flashback_scn=8763728729256 FILESIZE=2048M buffer=100000
expdp system/<password> DIRECTORY=CWDMDCP_DATAPUMP_DIR DUMPFILE=CWDMDCP_expfull.dmp FULL=y LOGFILE=CWDMDCP_expfull.log
flashback_scn=8763728729256 buffer=100000 &
expdp system/r5X0cJ6a DIRECTORY=CWDMDCP_DATAPUMP_DIR DUMPFILE=CWDMDCP_pipe FULL=y LOGFILE=CWDMDCP_expfull.log
flashback_scn=8763728729256 buffer=100000 job_name=CWDMDCP_exp parallel=4 &
expdp system/r5X0cJ6a DIRECTORY=CWDMDCP_DATAPUMP_DIR DUMPFILE=CWDMDCP_pipe FULL=y LOGFILE=CWDMDCP_expfull.log flashback_scn=8763728729256 BUFFER=100000 job_name=CWDMDCP_exp parallel=4 &
SCHEMA EXPORT :
============================
expdp system/manager1 directory=DIR_SAVES dumpfile=P76X_SCHEMA_IN1559830_%U.dmp schemas=SIEBEL,SIEBELINF,SIEBELDAC job_name=P76X_SCHEMA_IN1559830_JOB logfile=P76X_SCHEMA_IN1559830.log parallel=12 content=all
EXP COMMANDS
=====================================
FULL DATABASE:
===================
exp system/work4cts FULL=y file=GLELAB1_expdp.dmp log=GLELAB1_expdp.log CONSISTENT=y
exp SYSTEM/password FULL=y FILE=dba.dmp LOG=dba.log CONSISTENT=y
IMPDP COMMANDS
===========================================
impdp system/manager4 directory=DATAPUMP12 dumpfile=P75X_SCHEMA_IN1559830_%U.dmp job_name=IMP_q0007x_SCHEMA_IN1559830_JOB logfile=IMP_q0007X_SCHEMA_IN1559830.log parallel=12 content=all
impdp / directory=U107_SAVES dumpfile=P75X_tab_IN1559830_01.dmp tables=siebel.S_EVT_ACT,siebel.EIM_SRC job_name=IMP_d61X_ORG_SCHEMA_IN1559830 logfile=IMP_d61X_ORG_tab_IN1559830.log parallel=12 content=all
TABLE IMPORT
=================================
/u001/app/oracle/product/10.2.0/db_1/bin/impdp backman/astra123 directory=U107_SAVES dumpfile=P75X_tab_IN1559830_01.dmp tables=siebel.S_EVT_ACT,siebel.EIM_SRC TABLE_EXISTS_ACTION=replace job_name=IMP_d61X_ORG_SCHEMA_IN1559830_tab logfile=IMP_d61X_ORG_SCHEMA_IN1559830_tab.log parallel=12 content=all
IMP COMMANDS
============================================
nohup imp system/work4cts commit=y ignore=y buffer=100000 fromuser=MSPRODLIVE TOUSER=MSPPLIVE tables=fieldvalue file=/arch/fulldbdmp/fulldbdmp/p41xfull200111.dmp log=/arch/imp/mspplive_fieldvalue_import.log &
HOW TO TAKE TABLE EXPORT
==================================================
expdp / directory= dumpfile=capublish2_tab_%U.dmp job_name=capublish2_tab_job logfile=capublish2_tab_1216.log parallel=5 content=all schemas= tables
exp / direct=n owner= compress=n buffer=10000000 log=/orasw/dba/cip/gp_tables.log rows=y indexes=y constraints=y triggers=y grants=y tables=
SPLITTING EXPORT INTO DIFFERENT LOCATION:
======================================================
exp_sts1.par
userid=system/w1hIonHb owner=STS statistics=none file=/data/d407/oradata/sts_exp/STS_INC1795957_01.dmp,/data/d407/oradata/sts_exp/STS_INC1795957_02.dmp,/data/d407/orada
ta/sts_exp/STS_INC1795957_03.dmp,/data/d407/oradata/sts_exp/STS_INC1795957_04.dmp,/data/d406/oradata/sts_exp/STS_INC1795957_05.dmp,/data/d406/oradata/sts_exp/STS_INC179
5957_06.dmp,/data/d406/oradata/sts_exp/STS_INC1795957_07.dmp,/data/d052/oradata/sts_exp/STS_INC1795957_08.dmp,/data/d052/oradata/sts_exp/STS_INC1795957_09.dmp,/data/d05
2/oradata/sts_exp/STS_INC1795957_10.dmp,/data/d302/oradata/sts_exp/STS_INC1795957_11.dmp,/data/d302/oradata/sts_exp/STS_INC1795957_12.dmp log=exp_sts_INC1795957.log fi
lesize=65G rows=y
select count(*) ,object_type from dba_objects where owner='SIEBEL1' group by(object_type) order by(object_type);
OTHER EXPORT COMMANDS :
=======================================================
nohup expdp system/welcome2 parfile=expdp.par schemas=SIEBEL job_name=P75X_SCHEMA_JOB_1 logfile=DATAPUMP:P75X_SIEBEL_EXPDP.log parallel=13 FILESIZE=50G content=all &
expdp.par
--------
dumpfile=DATAPUMP:SIEBEL_EXPDP_01.dmp,DATAPUMP:SIEBEL_EXPDP_02.dmp,DATAPUMP:SIEBEL_EXPDP_03.dmp,DATAPUMP:SIEBEL_EXPDP_04.dmp,DATAPUMP:SIEBEL_EXPDP_05.dmp,DATAPUMP:SIEBEL_EXPDP_06.dmp,DATA_PUMP2_DIRECTORY:SIEBEL_EXPDP_07.dmp,DATA_PUMP2_DIRECTORY:SIEBEL_EXPDP_08.dmp,DATA_PUMP2_DIRECTORY:SIEBEL_EXPDP_09.dmp,
SIEBEL:SIEBEL_EXPDP_10.dmp,SIEBEL:SIEBEL_EXPDP_11.dmp,SIEBEL:SIEBEL_EXPDP_12.dmp,SIEBEL:SIEBEL_EXPDP_13.dmp
FULL DATABASE IMPORT
=========================================
nohup impdp system/blank14u directory=dir_1 dumpfile=P38X_full2.dmp logfile=P38X_import.log TABLE_EXISTS_ACTION=replace SCHEMAS=CLINICOPIA,CLINICOPIA_PORTAL,CLINICOPIA_USER,CDE_AQ,ICHUB,ADDMORACLE,ABC content=all &
HOW TO FIND OUT THE SCHEMA SIZE
=====================================================
select sum(bytes)/1024/1024 MBytes from dba_segments where owner='AM_PRD_0001'
HOW TO FIND OUT THE RMAN BACKUP STATUS
========================================================
select SID,START_TIME,STATUS FROM V$RMAN_STATUS ORDER BY START_TIME;
HOW TO DOWN THE RAC DATABASE:
=========================================================
stopping databases:
--------------------------------
srvctl stop database -d DMDB09
srvctl stop database -d DMDB10_STANDBY
srvctl stop database -d VAPPREP
srvctl stop database -d VAPPROD_STANDBY
Stoping nodeapps:
--------------------------------
srvctl stop nodeapps -n ussbazudb050_
srvctl stop nodeapps -n ukapx086
starting databases:
--------------------------------
srvctl start database -d DMDB09
srvctl start database -d DMDB10_STANDBY
srvctl start database -d VAPPREP
srvctl start database -d VAPPROD_STANDBY
Starting nodeapps:
--------------------------------
srvctl start nodeapps -n ukapx084
srvctl start nodeapps -n ukapx086
If needed start the listener:-
--------------------------------------
srvctl start listener -n ukblx216 -l LISTENER_UKBLX216
srvctl start listener -n ukblx217 -l LISTENER_UKBLX217
To stop & start the instance
============================================
srvctl stop instance -i P0254X1 -d P0254X
srvctl start instance -i P0254X1 -d P0254X
srvctl stop instance -i P0254X2 -d P0254X
srvctl start instance -i P0254X2 -d P0254X
HOW TO START THE LISTERNER SERVICES IN RAC
===============================================
srvctl start listener -l LISTENER_2_SGDEQUATUC1 -n sgdequatuc1
HOW TO FIND OUT TEMP FREE SPACE
========================================================
SELECT tablespace_name,SUM (bytes_used),SUM (bytes_free) FROM v$temp_space_header GROUP BY tablespace_name;
HOW TO RESTORE ARCHIVE LOGS
============================================================
run{
SET ARCHIVELOG DESTINATION TO '/temp_archlog/pr202/\92
allocate channel t1 type 'sbt_tape';
allocate channel t2 type 'sbt_tape';
RESTORE ARCHIVELOG FROM SEQUENCE 34786 UNTIL SEQUENCE 35431;
release channel t2;
release channel t1;
}
QUERY TO FIND OUT TEMPORARY TABLESPACE UTILIZANTION
===============================================================
select t.tablespace_name,
tblsp.TOT "Total (MB)",
nvl(usg.used,0) "Used (MB)",
nvl(usg.used,0)/tblsp.TOT*100 "Used %"
from dba_tablespaces t,
(select tmp.tablespace_name,
sum((tmp.blocks*p.value))/1024/1024 TOT
from dba_temp_files tmp,
v$parameter p
where p.NAME = 'db_block_size' group by tmp.tablespace_name) tblsp,
(select sr.tablespace,sum((sr.blocks*p.value))/1024/1024 used
from v$sort_usage sr,
v$parameter p
where p.NAME = 'db_block_size' group by sr.tablespace) usg
where t.CONTENTS='TEMPORARY'
and t.tablespace_name=tblsp.tablespace_name
and t.tablespace_name=usg.tablespace (+);
EXPORT COMMAND IN ORACLE 9I
==============================================================
exp system/finn5skog file=ENOK_ROSIEE_SYS.dmp log=ENOK_ROSIEE_SYS.og owner=ROSIEE_SYS direct=y
HOW TO CHANGE THE PGA IN RAC ENVIRONMENT
==============================================================
How To Tune PGA_AGGREGATE_TARGET
----------------------------------
The first question we will have when we set this parameter is what is the best
value for it?
To determine the appropriate setting for PGA_AGGREGATE_TARGET parameter we
recommend to follow the following steps
1- Make a first estimate for PGA_AGGREGATE_TARGET based on the following rule
- For OLTP systems
PGA_AGGREGATE_TARGET = (<Total Physical Memory > * 80%) * 20%
- For DSS systems
PGA_AGGREGATE_TARGET = (<Total Physical Memory > * 80%) * 50%
Out of this please consider how many db is running and what is the physical memory attached to the box. Please have a look on how much gb allocated to each sga.
alter system set pga_aggregate_target=4G scope =spfile sid='*';
CEHCKING THE LIST OF TABLESPACES FOR SCHEMA
====================================================
select sum(bytes)/1024/1024/1024,tablespace_name from dba_segments where owner='STS' group by tablespace_name;
HOW TO FIND OUT TABLE SIZE
==================================================
SELECT TABLE_NAME, EMPTY_BLOCKS*2048/1024 "Kb" FROM DBA_TABLES WHERE OWNER=UPPER('Leads') AND TABLE_NAME = UPPER('UPDATE_ACCESS');
select sum(BYTES/1024/1024/1024) as TOTAL_SIZE from user_segments where SEGMENT_NAME = 'TABLE_NAME';
SELECT BYTES/1024/1024/1024 FROM DBA_SEGMENTS WHERE SEGMENT_NAME='VALUES_CHANGEVALUE_31OCT' AND SEGMENT_TYPE='TABLE';
HOW TO FIND THE NUMBER OF ROWS IN ORACLE TABLE
==================================================
'select count(*) from '||OWNER||'.'||TABLE_NAME||';'
----------------------------------
Total temp tablespace usage (elobrated)
---------------------------------
SELECT
a.tablespace_name tablespace_name
, 'SYS.' ||
a.segment_file ||
'.' ||
a.segment_block temp_segment_name
, a.current_users current_users
, (a.total_blocks*b.value)/1073741824 total_temp_segment_size
, (a.used_blocks*b.value)/1073741824 currently_used_bytes
, TRUNC(ROUND((a.used_blocks/a.total_blocks)*100)) pct_used
, a.extent_hits extent_hits
, (a.max_blocks*b.value) max_size
, (a.max_used_blocks*b.value) max_used_size
, (a.max_sort_blocks *b.value) max_sort_size
, a.free_requests free_requests
FROM
v$sort_segment a
, (select value from v$parameter
where name = 'db_block_size') b;
HOW TO START A SINGLE SERVICE IN RAC ENVIRONMENT:
===========================================================
ussbazudb080[nasoap1]:/orasw/dba>crs_stat -t
Name Type Target State Host
------------------------------------------------------------
oema...zudb080 application ONLINE ONLINE ussb...b080
oema...zudb081 application ONLINE ONLINE ussb...b081
ora.nasoap.db application ONLINE ONLINE ussb...b080
ora....p1.inst application ONLINE ONLINE ussb...b080
ora....p2.inst application ONLINE ONLINE ussb...b081
ora....svc1.cs application ONLINE ONLINE ussb...b080
ora....ap1.srv application ONLINE ONLINE ussb...b080
ora....svc2.cs application OFFLINE OFFLINE
ora....ap2.srv application OFFLINE OFFLINE
ora....SM1.asm application ONLINE ONLINE ussb...b080
ora....80.lsnr application ONLINE ONLINE ussb...b080
ora....080.gsd application ONLINE ONLINE ussb...b080
ora....080.ons application ONLINE ONLINE ussb...b080
ora....080.vip application ONLINE ONLINE ussb...b080
ora....SM2.asm application ONLINE ONLINE ussb...b081
ora....81.lsnr application ONLINE ONLINE ussb...b081
ora....081.gsd application ONLINE ONLINE ussb...b081
ora....081.ons application ONLINE ONLINE ussb...b081
ora....081.vip application ONLINE ONLINE ussb...b081
ussbazudb080[nasoap1]:/orasw/dba>crs_start ora.nasoap.nasoap_wlsvc2.cs
Attempting to start `ora.nasoap.nasoap_wlsvc2.cs` on member `ussbazudb081`
Start of `ora.nasoap.nasoap_wlsvc2.cs` on member `ussbazudb081` succeeded.
ussbazudb080[nasoap1]:/orasw/dba>crs_stat -t
Name Type Target State Host
------------------------------------------------------------
oema...zudb080 application ONLINE ONLINE ussb...b080
oema...zudb081 application ONLINE ONLINE ussb...b081
ora.nasoap.db application ONLINE ONLINE ussb...b080
ora....p1.inst application ONLINE ONLINE ussb...b080
ora....p2.inst application ONLINE ONLINE ussb...b081
ora....svc1.cs application ONLINE ONLINE ussb...b080
ora....ap1.srv application ONLINE ONLINE ussb...b080
ora....svc2.cs application ONLINE ONLINE ussb...b081
ora....ap2.srv application ONLINE ONLINE ussb...b081
ora....SM1.asm application ONLINE ONLINE ussb...b080
ora....80.lsnr application ONLINE ONLINE ussb...b080
ora....080.gsd application ONLINE ONLINE ussb...b080
ora....080.ons application ONLINE ONLINE ussb...b080
ora....080.vip application ONLINE ONLINE ussb...b080
ora....SM2.asm application ONLINE ONLINE ussb...b081
ora....81.lsnr application ONLINE ONLINE ussb...b081
ora....081.gsd application ONLINE ONLINE ussb...b081
ora....081.ons application ONLINE ONLINE ussb...b081
ora....081.vip application ONLINE ONLINE ussb...b081
HOW TO CHANGE THE UNDO_RETENTION PARAMETER
=============================================================
ALTER SYSTEM SET UNDO_RETENTION=7200 SCOPE=BOTH;
HOW TO CREATE A CRONTAB IN THE SERVER
=============================================================
--> crontab -e
--> add the below entries
05 00,04,08,12,16,20 * * * /home/oracle/CTS_SCRIPTS/UTV038/tablespace_check.sh UTV038N1 > /dev/null 2>1&
05 00,04,08,12,16,20 * * * /home/oracle/CTS_SCRIPTS/TEST065/tablespace_check.sh TEST065N1 > /dev/null 2>1&
--> crontab -l
HOW TO RESTART THE JOB IN ORACLE
=============================================================
SQL> desc dba_jobs;
SQL> select JOB,WHAT from dba_jobs where job='141';
JOB WHAT
---------- ---------
141 AD_Poller.main;
SQL> exec AD_Poller.main;
Use the following SQL to estimate undo size needed for given undo retention :
===============================================================================================
select d.undo_size / (1024 * 1024) "ACTUAL UNDO SIZE (MEGS)",
substr(e.value, 1, 25) "UNDO RETENTION (Secs)",
(to_number(e.value) * to_number(f.value) * g.undo_block_per_sec) /
(1024 * 1024) "NEEDED UNDO SIZE (MEGS)"
from (select sum(a.bytes) undo_size
from v$datafile a, v$tablespace b, dba_tablespaces c
where c.contents = 'UNDO'
and c.status = 'ONLINE'
and b.name = c.tablespace_name
and a.ts# = b.ts#) d,
v$parameter e,
v$parameter f,
(select max(undoblks / ((end_time - begin_time) * 3600 * 24)) undo_block_per_sec
from v$undostat) g
where e.name = 'undo_retention'
and f.name = 'db_block_size';
If you want to get an optimal undo retention by actual undo size, run the following query :
======================================================================================================
select d.undo_size / (1024 * 1024) "ACTUAL UNDO SIZE (MEGS)",
substr(e.value, 1, 25) "UNDO RETENTION (Secs)",
round((d.undo_size / (to_number(f.value) * g.undo_block_per_sec))) "OPTIMAL UNDO RETENTION (Secs)"
from (select sum(a.bytes) undo_size
from v$datafile a, v$tablespace b, dba_tablespaces c
where c.contents = 'UNDO'
and c.status = 'ONLINE'
and b.name = c.tablespace_name
and a.ts# = b.ts#) d,
v$parameter e,
v$parameter f,
(select max(undoblks / ((end_time - begin_time) * 3600 * 24)) undo_block_per_sec
from v$undostat) g
where e.name = 'undo_retention'
and f.name = 'db_block_size';
HOW TO FIND OUT THE TEMP FILE SIZE
=========================================================================
select t.tablespace_name,
tblsp.TOT "Total (MB)",
nvl(usg.used,0) "Used (MB)",
nvl(usg.used,0)/tblsp.TOT*100 "Used %"
from dba_tablespaces t,
(select tmp.tablespace_name,
sum((tmp.blocks*p.value))/1024/1024 TOT
from dba_temp_files tmp,
v$parameter p
where p.NAME = 'db_block_size' group by tmp.tablespace_name) tblsp,
(select sr.tablespace,sum((sr.blocks*p.value))/1024/1024 used
from v$sort_usage sr,
v$parameter p
where p.NAME = 'db_block_size' group by sr.tablespace) usg
where t.CONTENTS='TEMPORARY'
and t.tablespace_name=tblsp.tablespace_name
and t.tablespace_name=usg.tablespace (+);
Query will give you the user who has locked the object you are trying to modify
=======================================================================
select oracle_username || ' (' || s.osuser || ')' username
, s.sid || ',' || s.serial# sess_id
, owner || '.' || object_name object
, object_type
, decode( l.block
, 0, 'Not Blocking'
, 1, 'Blocking'
, 2, 'Global') status
, decode(v.locked_mode
, 0, 'None'
, 1, 'Null'
, 2, 'Row-S (SS)'
, 3, 'Row-X (SX)'
, 4, 'Share'
, 5, 'S/Row-X (SSX)'
, 6, 'Exclusive', TO_CHAR(lmode)) mode_held
from v$locked_object v
, dba_objects d
, v$lock l
, v$session s
where v.object_id = d.object_id
and v.object_id = l.id1
and v.session_id = s.sid
order by oracle_username,session_id;
HOW TO GRANT THE PRIVILEGES TO USER OBJECT TO ANOTHER USER
======================================================================
Select 'GRANT INSERT,Update ON LIMSADMIN.'||Table_Name||'TO KQJZ019' From All_Tkables Where Owner='LIMSADMIN'
REGARDING DATA GUARD LOG SHIPPING PROCESS
===========================================================================
Primary database
================
SQL> SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK#, BLOCKS FROM V$MANAGED_STANDBY;
PROCESS STATUS THREAD# SEQUENCE# BLOCK# BLOCKS
--------- ------------ ---------- ---------- ---------- ----------
ARCH CLOSING 1 10722 86017 1664
ARCH CLOSING 1 10719 387073 1610
LNS WRITING 1 10723 124 5
Standby database
================
SQL> SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK#, BLOCKS FROM V$MANAGED_STANDBY;
PROCESS STATUS THREAD# SEQUENCE# BLOCK# BLOCKS
--------- ------------ ---------- ---------- ---------- ----------
ARCH CLOSING 1 10722 86017 1664
ARCH CLOSING 1 10721 1 1
MRP0 WAIT_FOR_LOG 1 10723 0 0
RFS IDLE 0 0 0 0
RFS IDLE 1 10723 119 2
Monitoring Steps in Physical Standby:
===================================================================================
1. Verify the current log sequence number in Primary on daily basis.
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /data/d006/oradata/MERLYN/archive
Oldest online log sequence 10715
Next log sequence to archive 10719
Current log sequence 10719
or
ukblx187_$ pwd
/data/d006/oradata/MERLYN/archive
ukblx187_$ ls -lrt | tail -2
-r--r----- 1 oracle oinstall 2166272 May 15 00:16 MERLYN_1_10717_716308453.arc
-r--r----- 1 oracle oinstall 110264832 May 15 00:21 MERLYN_1_10718_716308453.arc
2. Verify the logs have been moved to standby .
ukapx068_$ pwd
/data/d006/oradata/MERLYN/archive
ukapx068_$ ls -lrt | tail -2
-r--r----- 1 oracle oinstall 2166272 May 15 00:16 MERLYN_1_10717_716308453.arc
-r--r----- 1 oracle oinstall 110264832 May 15 00:21 MERLYN_1_10718_716308453.arc
3. Verify the alert log whether last log applied shows as shown below .
Sun May 15 00:21:38 2011
Media Recovery Log /data/d006/oradata/MERLYN/archive/MERLYN_1_10718_716308453.arc
4. If it is not the latest log file as shown in above in the alert log, Verify using the SQL command below till what log seq# it has been applied.
SQL> SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK#, BLOCKS
2 FROM V$MANAGED_STANDBY;
PROCESS STATUS THREAD# SEQUENCE# BLOCK# BLOCKS
--------- ------------ ---------- ---------- ---------- ----------
ARCH CLOSING 1 10718 215041 320
ARCH CLOSING 1 10716 374785 2029
MRP0 WAIT_FOR_LOG 1 10719 0 0
RFS IDLE 0 0 0 0
RFS IDLE 1 10719 130875 1
QUERY TO SHOW THE HISTORY OF PATCH APPLIED
====================================================================
select * from SYS.REGISTRY$HISTORY order by action_time desc;
Execute as script. Output will display the list of tables that has stale statistics in the schema provided as input.
============================================================================================================================
set serveroutput on
declare
mystaleobjs dbms_stats.objecttab;
begin
-- check whether there is any stale objects
dbms_stats.gather_schema_stats(ownname=>'<schema name>', options=>'LIST STALE',objlist=>mystaleobjs);
for i in 1 .. mystaleobjs.count loop
dbms_output.put_line(mystaleobjs(i).objname);
end loop;
end;
DB LINK SCRIPTS
===============================================
CREATE PUBLIC DATABASE LINK "SEBLTTST.KC.PH.ZEN.COM" CONNECT TO SIEBEL1 IDENTIFIED BY darthvader1 USING 'SEBLTTST.KC.PH.ZEN.COM';
CREATE PUBLIC DATABASE LINK "SEBLTPPF.kc.ph.zen.com" CONNECT TO SIEBEL IDENTIFIED BY darthvader USING 'SEBLTPPF.kc.ph.zen.com';
Table shrink in the database
========================================
alter table ADP124_CDW172.LOGGED_EVENTS enable row movement;
alter table ADP124_CDW172.LOGGED_EVENTS shrink space;
SELECT OWNER,SEGMENT_NAME,SUM(BYTES/1024/1024) FROM DBA_SEGMENTS WHERE OWNER='ADP124_CDW172' and SEGMENT_NAME='LOGGED_EVENTS' GROUP BY OWNER,SEGMENT_NAME;
select count(*) from ADP124_CDW172.LOGGED_EVENTS;
select num_rows,owner from dba_tables where table_name='LOGGED_EVENTS';
HOW TO CHECK INVALID OBJECTS IN THE DATABASE
=======================================================
break on c1 skip 2
set pages 999
col c1 heading 'owner' format a15
col c2 heading 'name' format a40
col c3 heading 'type' format a10
ttitle 'Invalid|Objects'
select
owner c1,
object_type c3,
object_name c2
from
dba_objects
where
status != 'VALID' and owner='CTXSYS'
order by
owner,
object_type;
How TO FIND OUT THE DATABASE UP TIME
========================================================
SELECT SYSDATE - logon_time "DB Uptime in Days",(SYSDATE - logon_time) * 24 "DB Uptime in Hours" FROM v$session WHERE program LIKE '%PMON%';
HOW TO INCREASE THE SEQUENCE VALUE IN THE DATABASE
==============================================================
select JOBSEQ.nextval from dual;
alter sequence jobseq increment by 20000;
HOW TO TAKE THE INCREMENTAL BACKUP FOR THE STANDBY DATABASE FROM THE SCN Number: 8804894566114
======================================================================================================
select to_char(CURRENT_SCN) from v$database;
TO_CHAR(CURRENT_SCN)
----------------------------------------
8804894566114
Backup Database as:
BACKUP INCREMENTAL FROM SCN 8804894566114 DATABASE FORMAT '/<location>/ForStandby_%U' tag 'FOR STANDBY'
HOW TO FIND OUT THE OBJECTS COUNT IN ALL THE DATABASE
==================================================================
select owner,
max( decode( object_type, 'TABLE', cnt, null ) ) Tables,
max( decode( object_type, 'VIEW', cnt, null ) ) Views,
max( decode( object_type, 'TRIGGER', cnt, null ) ) triggers,
max( decode( object_type, 'PACKAGE', cnt, null ) ) packages
from ( select owner, object_type, count(*) cnt
from dba_objects
group by owner, object_type )
group by owner
/
select unique owner, object_type, status, count(*) from dba_objects group by owner, object_type, status order by owner, object_type, status
USEFUL SCRIPT:
====================
SQL> L
1 SELECT SID,SERIAL#,STATUS,USERNAME,PROGRAM,MACHINE FROM V$SESSION WHERE PADDR IN (SELECT ADDR FROM V$PROCESS WHERE SPID=1253558)
2*
SQL> SELECT SID,SERIAL#,STATUS,USERNAME,PROGRAM,SQL_ID,SQL_HASH_VALUE ,MACHINE FROM V$SESSION WHERE PADDR IN (SELECT ADDR FROM V$PROCESS WHERE SPID=1253558);
SID SERIAL# STATUS USERNAME PROGRAM SQL_ID SQL_HASH_VALUE MACHINE
---------- ---------- -------- ------------------------------ ------------------------------------------------ ------------- -------------- ----------------------------------------------------------------
295 20889 ACTIVE OPAL_DWH_SELECT toad.exe 9ttcngj7hhv8r 1325952279 EMEA\INCHOVCOGZT0503
SQL> SELECT SQL_TEXT FROM V$SQLTEXT WHERE SQL_ID='9ttcngj7hhv8r' ORDER BY PIECE;
PHYSICAL READ:
==================================================
select disk_reads, sql_text
from v$sqlarea
where disk_reads > 10000
order by disk_reads desc;
LOGICAL READ:
==================================================
select buffer_gets, sql_text
from v$sqlarea
where buffer_gets > 200000
Database Excess chaing :
=======================================================
set heading off;
select 'Tables with migrated/chained rows that contain RAW columns.' from dual;
set heading on;
select
owner c1,
table_name c2,
pct_free c3,
pct_used c4,
avg_row_len c5,
num_rows c6,
chain_cnt c7,
chain_cnt/num_rows c8
from dba_tables
where
owner not in ('SYS','SYSTEM')
and
table_name in
(select table_name from dba_tab_columns
where
data_type in ('RAW','LONG RAW')
)
and
chain_cnt > 0
order by chain_cnt desc
;
database Excess io :
=================================================================
col c1 heading 'Average Waits|forFull| Scan Read I/O' format 9999.999
col c2 heading 'Average Waits|for Index|Read I/O' format 9999.999
col c3 heading 'Percent of| I/O Waits|for Full Scans' format 9.99
col c4 heading 'Percent of| I/O Waits|for Index Scans' format 9.99
col c5 heading 'Starting|Value|for|optimizer|index|cost|adj' format 999
select
a.average_wait c1,
b.average_wait c2,
a.total_waits /(a.total_waits + b.total_waits) c3,
b.total_waits /(a.total_waits + b.total_waits) c4,
(b.average_wait / a.average_wait)*100 c5
from
v$system_event a,
v$system_event b
where
a.event = 'db file scattered read'
and
b.event = 'db file sequential read';
HOW TO STOP EMCTL AGENT :
====================================================
emctl stop agent
HOW TO ANALYZE THE TABLES
=====================================================
analyze table DW_GENERIC.dw_product_2_group compute statistics;
Standby Incremental Backup
=======================================================
BACKUP INCREMENTAL FROM SCN 8810367242022 DATABASE FORMAT '/<location>/ForStandby_%U' tag 'FOR STANDBY'
run {
allocate channel dsk1 type disk format '/zoe/backup/d2d/TSMRCAT/ForStandby_%U.rbck' ;
BACKUP INCREMENTAL FROM SCN 8810367242022 DATABASE tag 'FOR STANDBY';
release channel dsk1;
}
run {
allocate channel dsk1 type disk format '/zoe/backup/d2d/TSMRCAT/ForStandbyControl.rbck' ;
BACKUP current controlfile for standby tag 'FOR STANDBY Control';
release channel dsk1;
}
HOW TO CHECK THE LOCKS IN THE TABLE
=============================================================
set linesize 130
set pages 100
col username format a20
col sess_id format a10
col object format a25
col mode_held format a10
select oracle_username || ' (' || s.osuser || ')' username
, s.sid || ',' || s.serial# sess_id
, owner || '.' || object_name object
, object_type
, decode( l.block
, 0, 'Not Blocking'
, 1, 'Blocking'
, 2, 'Global') status
, decode(v.locked_mode
, 0, 'None'
, 1, 'Null'
, 2, 'Row-S (SS)'
, 3, 'Row-X (SX)'
, 4, 'Share'
, 5, 'S/Row-X (SSX)'
, 6, 'Exclusive', TO_CHAR(lmode)) mode_held
from v$locked_object v
, dba_objects d
, v$lock l
, v$session s
where v.object_id = d.object_id
and v.object_id = l.id1
and v.session_id = s.sid
order by oracle_username
, session_id
/
HOW TO STOP RAC SERVICES
===================================
sekiazu0140_$ srvctl stop database -d Q0153X -o immediate
sekiazu0140_$ srvctl stop listener -l LISTENER_1_SEKIAZU0140 -n sekiazu0140
sekiazu0140_$ srvctl stop listener -l LISTENER_1_SEKIAZU0141 -n sekiazu0141
sekiazu0140_$ srvctl stop nodeapps -n SEKIAZU0140
CRS-0210: Could not find resource 'ora.sekiazu0140.LISTENER_SEKIAZU0140.lsnr'.
sekiazu0140_$ srvctl stop nodeapps -n SEKIAZU0141
CRS-0210: Could not find resource 'ora.sekiazu0141.LISTENER_SEKIAZU0141.lsnr'.
sekiazu0140_$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....X1.inst application OFFLINE OFFLINE
ora....X2.inst application OFFLINE OFFLINE
ora.Q0153X.db application OFFLINE OFFLINE
ora....40.lsnr application OFFLINE OFFLINE
ora....140.gsd application OFFLINE OFFLINE
ora....140.ons application OFFLINE OFFLINE
ora....140.vip application OFFLINE OFFLINE
ora....41.lsnr application OFFLINE OFFLINE
ora....141.gsd application OFFLINE OFFLINE
ora....141.ons application OFFLINE OFFLINE
ora....141.vip application OFFLINE OFFLINE
HOW TO STOP CRS
============================
echo $ORA_CRS_HOME
/u001/app/oracle_crs
cd bin
crsctl stop crs
HOW TO KILL DATAPUMP JOB
=================================================
select * from dba_datapump_jobs;
SET serveroutput on
SET lines 100
DECLARE
h1 NUMBER;
BEGIN
h1 := DBMS_DATAPUMP.ATTACH('P51X_TABLES1','SYS');
DBMS_DATAPUMP.STOP_JOB (h1,1,0);
END;
/
HOW TO CHANGE THE LENGTH OF THE COLUMN IN SQLPLUS
=================================================
column DBID format 9999999999.999
HOW TO CLEAN UP THE LOGS FROM OPATCH
=================================================
$ORACLE_HOME/OPatch/opatch util Cleanup
OPT file configuration file path
======================================================
/opt/tivoli/tsm/client/ba/bin
HOW TO RESYNC THE STANDBY WITH PRIMARY DATABASE
=========================================================
1. alter database recover managed standby database cancel;
2. select * from v$datafile;
3. alter database create datafile '/data/d001/app/oracle/product/10.2.0/db_1/dbs/UNNAMED00160' as '/data/d003/oradata/MERLYN/TA_CS_NOTEBOOK9_STLOB7_2.DBF';
4. alter system set standby_file_management=auto scope=both;
5. alter database recover managed standby database disconnect from session;
HOW TO UNLOCK ON THE TABLE
====================================================
------- Get the object ID of the table to be dropped
select object_id from dbaselect sid, message from v$session_longops where sid = 140 order by start_time;
SID MESSAGE
---------- ----------------------------------------------------------------------------------------------------
140 Table Scan: BB_GEE_PROD.LOG: 17243 out of 17243 Blocks done
select 'alter system kill session '''||sid||','||serial#||''' immediate;' from v$session where username like 'K%' and status='INACTIVE';
select 'alter system kill session '''||sid||','||serial#||''' immediate;' from v$session where username like 'K%' and status='ACTIVE';
select (select username from v$session where sid = a.sid) blocker,a.sid,' is blocking ',
(select username from v$session where sid = b.sid) blockee,b.sid from v$lock a,v$lock b where a.block = 1 and b.request > 0 and a.id1 = b.id1 and a.id2 = b.id2;
select a.sid,a.username,a.status,a.program ,b.spid from v$session a,v$process b where a.sid=137 and a.paddr=b.addr;
alter system kill session '387,24302' immediate;
select serial# from v$session where sid='63';
alter system kill session '63,161' immediate;
SQL> select SID,SERIAL#,SCHEMANAME,osuser,status,LOGON_TIME from v$session where status='ACTIVE' and username like 'GADEV';
Session Session
ID Serial# SCHEMANAME OSUSER STATUS LOGON_TIM
------- -------- ------------------------------ ------------------------------ -------- ---------
123 64736 GADEV novus ACTIVE 02-APR-12
column pid format 999
column spid format a5
column sid format 9999
column ora_user format a15
column unix_user format a10
column whenon format a20 heading "WHEN USER LOGGED ON"
column whendo format a20 heading "WHEN LAST ACTIVITY"
set line 150
select p.pid, p.spid, s.sid, s.serial#,lower(s.username) ora_user, p.username unix_user,
to_char(s.logon_time,'mm/dd/yy hh24:mi:ss') whenon,
to_char(sysdate - (s.last_call_et) / 86400,'mm/dd/yy hh24:mi:ss') whendo
from v$process p, v$session s
where s.paddr(+) = p.addr and s.status like 'ACTIVE' order by s.logon_time;
CPU
****************
set linesize 200
col program form a38 heading "Program"
col CPUMins form 99990 heading "CPU Mins"
col sql_id form a17
col MACHINE for a25
col USERNAME for a14
select rownum as rank, a.*
from (
SELECT sess.username,sess.sql_id,v.sid, program, v.value/(100*60) CPUMins,sess.machine
FROM v$statname s , v$sesstat v, v$session sess
WHERE s.name = 'CPU used by this session'
and sess.sid = v.sid
and v.statistic#=s.statistic#
and v.value>0
ORDER BY v.value DESC) a
where rownum < 11;
RANK USERNAME SQL_ID SID Program CPU Mins MACHINE
---------- -------------- ----------------- ---------- -------------------------------------- -------- -------------------------
1 PRDI 8knnucfkt0zay 236 sqlplus@WP03INCT (TNS V1-V3) 984 WP03INCT
2 PRDI 222 rating_srvr@WP03INCT (TNS V1-V3) 43 WP03INCT
3 127 oracle@WP03INCT (MMNL) 29 WP03INCT
4 129 oracle@WP03INCT (CJQ0) 15 WP03INCT
5 131 oracle@WP03INCT (SMON) 12 WP03INCT
6 4gd6b1r53yt88 128 oracle@WP03INCT (MMON) 8 WP03INCT
7 PRDI 201 merge_srvr@WP03INCT (TNS V1-V3) 6 WP03INCT
8 PRDI 180 merge_srvr@WP03INCT (TNS V1-V3) 5 WP03INCT
9 PRDI 85 merge_srvr@WP03INCT (TNS V1-V3) 5 WP03INCT
10 PRDI 171 merge_srvr@WP03INCT (TNS V1-V3) 5 WP03INCT
select ss.username,
se.SID,
VALUE/100 cpu_usage_seconds
from v$session ss,
v$sesstat se,
v$statname sn
where se.STATISTIC# = sn.STATISTIC#
and NAME like '%CPU used by this session%'
and se.SID = ss.SID
and ss.status='ACTIVE'
and ss.username is not null
and rownum < 20
order by VALUE desc
/
USERNAME SID CPU_USAGE_SECONDS
-------------- ---------- -----------------
PRDI 236 59066.34
PRDI 37 117.71
EMSMON 173 13.05
SYS 47 .67
SYS 105 .02
Select blocking_session, sid, serial#, wait_class,seconds_in_wait From v$session where blocking_session is not NULL order by blocking_session;
select OWNER,OBJECT_NAME from dba_objects where OBJECT_NAME='IOBAS_LINE_ITEM_MST';
SQL> explain plan for
SELECT A.ANUM||:"SYS_B_00"|| A.BNUM||:"SYS_B_01"||
A.INCOMING_PATH||:"SYS_B_02"||A.OUTGOING_PATH ||:"SYS_B_03"||
A.INCOMING_OPERATOR ||:"SYS_B_04"|| A.OUTGOING_OPERATOR ||:"SYS_B_05"||
ILM.ILM_LINE_DESCRIPTION||:"SYS_B_06"||A.ACTUAL_USAGE||:"SYS_B_07"||
A.AMOUNT||:"SYS_B_08"|| TO_CHAR(A.MESSAGE_DATE,:"SYS_B_09")
||:"SYS_B_10"||A.UNIT_COST_USED FROM
PRDI.CDR_DETAIL_20120516_VIEW A,PRDI.IOBAS_LINE_ITEM_DTL ILD,PRDI.IOBAS_LINE_ITEM_MST ILM WHERE
A.STATEMENT_DIRECTION = :"SYS_B_11" AND SUBSTR(A.BILLING_OPERATOR,:"SYS_B_12",
:"SYS_B_13") = :"SYS_B_14" AND A.BILLED_PRODUCT = DECODE
(ILD.ILD_PRODUCT_ID,:"SYS_B_15",A.BILLED_PRODUCT,ILD.ILD_PRODUCT_ID) AND
A.RATING_SCENARIO = DECODE(ILD.ILD_RATING_SCENARIO,:"SYS_B_16",
A.RATING_SCENARIO,ILD.ILD_RATING_SCENARIO) AND
ILD.ILD_LINE_ID = ILM.ILM_LINE_ID(+);
explain plan for single command
*********************
SELECT * FROM TABLE(SELECT DBMS_XPLAN.DISPLAY_CURSOR(sql_id,sql_child_number,'ADVANCED +PARALLEL ALLSTATS LAST') FROM v$session WHERE sid IN (&SID));
=CONCATENATE("exec dbms_stats.gather_table_stats('clarity','",A74,"',estimate_percent=>100,cascade=>TRUE,degree=>22);")
=CONCATENATE("alter table CLARITY.",A46," ","noparallel;")
http://10.193.208.105:8081/webtier-7.01/index.do?lang=en
This is not a dba issue Please raise the ticket in proper bucket
https://support.oracle.com/CSP/ui/flash.html#tab=Settings(page=Settings&id=h4vkicln())
http://oracledbazone.wordpress.com/2012/04/17/ora-12012-error-on-auto-execute-of-job-sys-bsln_maintain_stats_job-2/
http://10.193.222.16:7777/apex/f?p=101:1:1402036494780411
**********************
Backpu check link
FOR KIll session on clarity
**********************************
select 'ALTER SYSTEM KILL SESSION '''||sid||','||serial#||''' IMMEDIATE;' from v$session where
status='INACTIVE' and substr(USERNAME,1,2)='B2';
[oracle@wp38odb1 log]$ uptime
16:38:31 up19:45, 2 users, load average: 0.09, 0.10, 0.09
Table_details;
**************************
amar: /usr/bin/WP40BAM3 or /usr/sbin/WP40BAM3
netstat -an | grep 1521--------Port
lsof
For connect to other server
----------------------
ssh oracle@10.193.208.81
Undo Retention
*********************
sho parameter undo
ALTER SYSTEM SET UNDO_RETENTION = 21600; {old values for Clarity}
ALTER SYSTEM SET UNDO_RETENTION = 9000;
for sysdate and time
--------------------
select to_char(sysdate,'DD_MON_YYYY HH24:MI:SS') from dual;
for find list of dictonary view
-----------------------------------
select TABLE_NAME from dict where TABLE_NAME like '%&DICT_VIEW%';
role & priv
****************
USER_ROLE_PRIVS
DBA_COL_PRIVS
DBA_ROLE_PRIVS
DBA_TAB_PRIVS
select owner,segment_name,sum(bytes)/1024/1024/1024,tablespace_name from dba_Segments
where segment_name='BSNL_PAYMENTS_EXTRACT' and owner='GENEVA_ADMIN' group by owner,segment_name,tablespace_name;
OWNER SEGMENT_NAME SUM(BYTES)/1024/1024/1024 TABLESPACE_NAME
------------------------------ --------------------------------------------------------------------------------- ------------------------- ------------------------------
GENEVA_ADMIN BSNL_PAYMENTS_EXTRACT 111.117188 BSNL_CUSTOM_TAB2_TS
select count(*) from GENEVA_ADMIN.BSNL_PAYMENTS_EXTRACT ;
select index_name ,status from dba_indexes where table_name='BSNL_PAYMENTS_EXTRACT' and owner='GENEVA_ADMIN';
INDEX_NAME STATUS
------------------------------ --------
IND4_BSNL_PAYMENTS_EXT VALID
IND_LOC2_PAYMENTS_EXTRACT VALID
IND_LOC1_PAYMENTS_EXTRACT VALID
IND_LOC3_PAYMENTS_EXTRACT VALID
select TABLE_OWNER,TABLE_NAME,PARTITION_NAME,TABLESPACE_NAME from DBA_TAB_PARTITIONS where TABLE_NAME like 'COSTEDEVENT_PK%'
select segment_name ,owner,sum(bytes/1024/1024/1024) from dba_segments where owner in ('GENEVA_ADMIN')
and segment_name in ('BSNL_PAYMENTS_EXTRACT') group by segment_name,owner 2 ;
***************************************
Hi Billing Team,
Please check the below userd id T318362 running a no of sessions causing load in database.
Please check the below sessions & remove immediately.
cat dbenv
export ORACLE_BASE=/NP02OVOS_oracle_home/ovo/product
export ORACLE_HOME=/NP02OVOS_oracle_home/ovo/product/10.1.0.4
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export ORACLE_SID=$1
export PATH=$PATH:$ORACLE_HOME/bin
For Check list
**********************************************************************************
enqueue waits
=============
SQL> SELECT sid sess,
id1, id2, lmode, request, type
FROM V$LOCK
WHERE (id1, id2, type) IN
(SELECT id1, id2, type FROM V$LOCK WHERE request>0)
ORDER BY id1, request;
Find metadata
*********************
set heading off;
set echo off;
Set pages 999;
set long 90000;
spool ddl_list.sql
select dbms_metadata.get_ddl('TABLE','DEPT','SCOTT') from dual;
select dbms_metadata.get_ddl('INDEX','DEPT_IDX','SCOTT') from dual;
spool off;
SQL> select dbms_metadata.get_ddl('INDEX','SYS_IL0000009919C00005$$','ORABPEL') from dual;
DBMS_METADATA.GET_DDL('INDEX','SYS_IL0000009919C00005$$','ORABPEL')
--------------------------------------------------------------------------------
CREATE UNIQUE INDEX "ORABPEL"."SYS_IL0000009919C00005$$" ON "ORABPEL"."XML_DOC
UMENT" (
PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "ORABPEL"
PARALLEL (DEGREE 0 INSTANCES 0)
drop index ORABPEL.SYS_IL0000009919C00005$$;
CPU
****************
set linesize 200
col program form a38 heading "Program"
col CPUMins form 99990 heading "CPU Mins"
col sql_id form a17
col MACHINE for a25
col USERNAME for a14
select rownum as rank, a.*
from (
SELECT sess.username,sess.sql_id,v.sid, program, v.value/(100*60) CPUMins,sess.machine
FROM v$statname s , v$sesstat v, v$session sess
WHERE s.name = 'CPU used by this session'
and sess.sid = v.sid
and v.statistic#=s.statistic#
and v.value>0
ORDER BY v.value DESC) a
where rownum < 11;
RANK USERNAME SQL_ID SID Program CPU Mins MACHINE
---------- -------------- ----------------- ---------- -------------------------------------- -------- -------------------------
1 PRDI 8knnucfkt0zay 236 sqlplus@WP03INCT (TNS V1-V3) 984 WP03INCT
2 PRDI 222 rating_srvr@WP03INCT (TNS V1-V3) 43 WP03INCT
3 127 oracle@WP03INCT (MMNL) 29 WP03INCT
4 129 oracle@WP03INCT (CJQ0) 15 WP03INCT
5 131 oracle@WP03INCT (SMON) 12 WP03INCT
6 4gd6b1r53yt88 128 oracle@WP03INCT (MMON) 8 WP03INCT
7 PRDI 201 merge_srvr@WP03INCT (TNS V1-V3) 6 WP03INCT
8 PRDI 180 merge_srvr@WP03INCT (TNS V1-V3) 5 WP03INCT
9 PRDI 85 merge_srvr@WP03INCT (TNS V1-V3) 5 WP03INCT
10 PRDI 171 merge_srvr@WP03INCT (TNS V1-V3) 5 WP03INCT
select ss.username,
se.SID,
VALUE/100 cpu_usage_seconds
from v$session ss,
v$sesstat se,
v$statname sn
where se.STATISTIC# = sn.STATISTIC#
and NAME like '%CPU used by this session%'
and se.SID = ss.SID
and ss.status='ACTIVE'
and ss.username is not null
and rownum < 20
order by VALUE desc
/
USERNAME SID CPU_USAGE_SECONDS
-------------- ---------- -----------------
PRDI 236 59066.34
PRDI 37 117.71
EMSMON 173 13.05
SYS 47 .67
SYS 105 .02
SYS 47 0
SYS 105 0
SYS 105 0
SYS 105 0
EMSMON 173 0
EMSMON 173 0
EMSMON 173 0
PRDI 236 0
SYS 47 0
SYS 47 0
PRDI 37 0
PRDI 37 0
PRDI 236 0
PRDI 37 0
19 rows selected.
Select blocking_session, sid, serial#, wait_class,seconds_in_wait From v$session where blocking_session is not NULL order by blocking_session;
select OWNER,OBJECT_NAME from dba_objects where OBJECT_NAME='IOBAS_LINE_ITEM_MST';
SQL> explain plan for
SELECT A.ANUM||:"SYS_B_00"|| A.BNUM||:"SYS_B_01"||
A.INCOMING_PATH||:"SYS_B_02"||A.OUTGOING_PATH ||:"SYS_B_03"||
A.INCOMING_OPERATOR ||:"SYS_B_04"|| A.OUTGOING_OPERATOR ||:"SYS_B_05"||
ILM.ILM_LINE_DESCRIPTION||:"SYS_B_06"||A.ACTUAL_USAGE||:"SYS_B_07"||
A.AMOUNT||:"SYS_B_08"|| TO_CHAR(A.MESSAGE_DATE,:"SYS_B_09")
||:"SYS_B_10"||A.UNIT_COST_USED FROM
PRDI.CDR_DETAIL_20120516_VIEW A,PRDI.IOBAS_LINE_ITEM_DTL ILD,PRDI.IOBAS_LINE_ITEM_MST ILM WHERE
A.STATEMENT_DIRECTION = :"SYS_B_11" AND SUBSTR(A.BILLING_OPERATOR,:"SYS_B_12",
:"SYS_B_13") = :"SYS_B_14" AND A.BILLED_PRODUCT = DECODE
(ILD.ILD_PRODUCT_ID,:"SYS_B_15",A.BILLED_PRODUCT,ILD.ILD_PRODUCT_ID) AND
A.RATING_SCENARIO = DECODE(ILD.ILD_RATING_SCENARIO,:"SYS_B_16",
A.RATING_SCENARIO,ILD.ILD_RATING_SCENARIO) AND
ILD.ILD_LINE_ID = ILM.ILM_LINE_ID(+);
SQL> @?/rdbms/admin/utlxpls.sql
explain plan for single command
*********************
SELECT * FROM TABLE(SELECT DBMS_XPLAN.DISPLAY_CURSOR(sql_id,sql_child_number,'ADVANCED +PARALLEL ALLSTATS LAST') FROM v$session WHERE sid IN (&SID));
for shared Memory
*********************
$ipcs
temp Uges Session BY
*************************************************************************************
SELECT b.TABLESPACE
, b.segfile#
, b.segblk#
, ROUND ( ( ( b.blocks * p.VALUE ) / 1024 / 1024 ), 2 ) size_mb
, a.SID
, a.serial#
, a.username
, a.osuser
, a.program
, a.status
FROM v$session a
, v$sort_usage b
, v$process c
, v$parameter p
WHERE p.NAME = 'db_block_size'
AND a.saddr = b.session_addr
AND a.paddr = c.addr
ORDER BY b.TABLESPACE
, b.segfile#
, b.segblk#
, b.blocks;
SELECT sl.sid,
sl.serial#,
SYSDATE,
TO_CHAR (sl.start_time, 'DD-MON-YYYY:HH24:MI:SS') start_time,
ROUND ( (sl.elapsed_seconds / 60), 2) min_elapsed,
ROUND ( (sl.time_remaining / 60), 2) min_remaining,
sl.opname,
sl.MESSAGE
FROM v$session_longops sl, v$session s
WHERE s.sid = sl.sid AND s.serial# = sl.serial# AND sl.opname like 'Sort%'
ORDER BY sl.start_time DESC, sl.time_remaining ASC;
**************************************************************************************
undo usage
******************
# UNDO tablespace usage
select a.process, a.program, a.module, a.machine, b.USED_UREC, c.sql_text
from v$sql c, v$session a, v$transaction b
where b.addr = a.taddr
and a.sql_address = c.address
and a.sql_hash_value = c.hash_value
order by b.USED_UREC;
SELECT s.sid , s.username , t.used_ublk
FROM v$transaction t
, v$session s
WHERE 1 = 1
AND t.ses_addr = s.saddr
column username format a15;
column segment_name format a15;
SELECT s.sid , s.username , t.used_ublk, round((t.used_ublk*8)/1024) size_in_MB_8kb_Block_size, round((t.used_ublk*16)/1024
) size_in_MB_16kb_Block_size
FROM v$transaction t
, v$session s
WHERE 1 = 1
AND t.ses_addr = s.saddr;
SELECT TO_CHAR(s.sid)||','||TO_CHAR(s.serial#) sid_serial,
NVL(s.username, 'None') orauser,
s.program,
r.name undoseg,
t.used_ublk * TO_NUMBER(x.value)/1024||'K' "Undo"
FROM sys.v_$rollname r,
sys.v_$session s,
sys.v_$transaction t,
sys.v_$parameter x
WHERE s.taddr = t.addr
AND r.usn = t.xidusn(+)
AND x.name = 'db_block_size';
Undo size.
**************
set line 200
col TO_CHAR(SYSDATE,'DD-MM-YY format a20
col FREE_TOTAL format a15
col TABLESPACE_NAME format a20
col PERCENTAGE_FREE format a15
col SIZE_GB format a15
select to_char(sysdate,'DD-MM-YYYY'), name,fa.tablespace_name,
to_char(df.size_GB,'99990D99') size_GB,
to_char(fa.free_auto_GB+f.free_GB ,'99990D99') free_total,
to_char((fa.free_auto_GB+f.free_GB)/df.size_GB*100,'990D99') percentage_free
from
v$database,
(select f.tablespace_name,sum(decode(autoextensible,'YES',(maxbytes-f.bytes)/1024/1024/1024,0)) free_auto_GB from dba_data_files f
where f.tablespace_name like ('%UNDO%')
group by f.tablespace_name) fa,
(select s.tablespace_name,sum(s.bytes/1024/1024/1024) free_GB from dba_free_space s
where s.tablespace_name like ('%UNDO%')
group by s.tablespace_name) f,
(select df.tablespace_name,sum(decode(autoextensible,'YES',maxbytes,bytes))/1024/1024/1024 size_GB from dba_data_files df
where df.tablespace_name like ('%UNDO%')
group by df.tablespace_name) df
where fa.tablespace_name=f.tablespace_name
and df.tablespace_name = f.tablespace_name
;
Undo hold by session before dror check it
**********************************
set lines 10000
column username format a6
SELECT a.name,b.status , d.username , d.sid , d.serial#
FROM v$rollname a,v$rollstat b, v$transaction c , v$session d
WHERE a.usn = b.usn
AND a.usn = c.xidusn
AND c.ses_addr = d.saddr
AND a.name IN (
SELECT segment_name
FROM dba_segments
WHERE tablespace_name = 'UNDOTBS1'
);
Undo records used by session-salman:
SQL> select a.sid, a.serial#, a.username, b.used_urec, b.used_ublk
from v$session a, v$transaction b
where a.saddr=b.ses_addr;
SID SERIAL# USERNAME USED_UREC USED_UBLK
---------- ---------- ------------------------------ ---------- ----------
21 7856 KBCOOK 1 1
USED_UBLK = Number of undo blocks used
USED_UREC = Number of undo records used
*************************************************************************************************************
$hostname
$ps -ef|grep pmon
$ps -ef|grep tns
$bdf
$sqlplus "/as sysdba"
sql>define
select name,open_mode from v$database;
select * from v$backup;
select to_CHAR(TIME,'DD-MM-RRRR,HH24:MM:SS') from V$BACKUP;
select count(*) "No. of Archive Generated" from v$archived_log where trunc(COMPLETION_TIME)=trunc(sysdate)-1;
select sum(bytes)/1024/1024/1024 "Database Size(GB)/(Used)" from dba_segments;
set linesize 156;
column dummy noprint
column pct_used format 999.9 heading "% Used"
column name format a25 heading "Tablespace|Name"
column Mbytes format 999,999,999 heading "ALLOCATED|(MBytes)"
column used format 999,999,999 heading " Used|(MBytes)"
column free format 999,999,999 heading "Free"
column largest format 999,999,999 heading "Largest"
column a_e_u format 999,999,999 heading "AutoExtendUpto|(GB)"
break on report
compute sum of Mbytes on report
compute sum of free on report
compute sum of used on report
select nvl(b.tablespace_name,
nvl(a.tablespace_name,'UNKOWN')) name,
Mbytes_alloc Mbytes,
Mbytes_alloc-nvl(Mbytes_free,0) used,
((Mbytes_alloc-nvl(Mbytes_free,0))/
(auto_extend*1024))*100 pct_used,
nvl(auto_extend,0) a_e_u
from ( select sum(bytes)/1024/1024 Mbytes_free,
max(bytes)/1024/1024 largest,
tablespace_name
from sys.dba_free_space
group by tablespace_name ) a,
( select sum(bytes)/1024/1024 Mbytes_alloc,
tablespace_name,
sum(maxbytes)/1024/1024/1024 auto_extend
from sys.dba_data_files
group by tablespace_name )b
where a.tablespace_name (+) = b.tablespace_name AND ((Mbytes_alloc-nvl(Mbytes_free,0))/(auto_extend*1024))*100 >=0
order by ((Mbytes_alloc-nvl(Mbytes_free,0))/(auto_extend*1024)) desc;
Tablespace ALLOCATED Used AutoExtendUpto
Name (MBytes) (MBytes) % Used (GB)
------------------------- ------------ ------------ ------ --------------
UNDOTBS1 14,336 3,199 106.6 3
TBL_TBSP3 15,876 11,394 86.3 13
TBL_TBSP1 13,154 10,749 80.2 13
TBL_TBSP2 19,456 16,291 75.6 21
TBL_TBSP4 6,720 5,662 73.5 8
IDX_TBSP1 15,360 11,883 63.0 18
SYSAUX 1,500 912 38.0 2
IDX_TBSP5 5,400 3,842 35.6 11
SYSTEM 500 327 32.7 1
IDX_TBSP4 1,200 969 26.9 4
Tablespace ALLOCATED Used AutoExtendUpto
Name (MBytes) (MBytes) % Used (GB)
------------------------- ------------ ------------ ------ --------------
TOOLS 52 23 23.1 0
LOB_TBSP 500 189 4.7 4
IDX_TBSP3 100 46 3.9 1
IDX_TBSP2 1,500 641 3.6 18
XMLDB_TS 1,024 47 1.6 3
USERS 100 0 .1 0
TOOLS2 200 0 .0 2
------------ ------------
sum 96,978 66,174
select count(distinct username) from dba_users;
SELECT OWNER,(SUM(BYTES)/1024/1024/1024) "SIZE OF SCHEMA (GB)" FROM DBA_segments GROUP BY OWNER ORDER BY (SUM(BYTES)/1024/1024) desc;
archive log list
show parameter 'background_dump_dest';
$ls -ltr|grep alert
$tail -1000 filename
$tail -1000|grep -i ORA- filename
*****************************************************************************************************************************************
for 9i server
*******************
SQL> select * from dba_blockers;
HOLDING_SESSION
---------------
1443
SQL> select * from dba_waiters;
no rows selected
******************************************************************************************************************
FRAGMENTATION : (For TOP 20 Tables)
----------------------------------------
select owner,table_name,blocks,num_rows,avg_row_len,round((blocks*8),2) "TOTAL_KB",round((num_rows*avg_row_len/1024),2) "ACTUAL_KB",
(round((blocks*8),2)-round((num_rows*avg_row_len/1024),2)) DIFFERENCE_KB
from dba_tables
where owner not in ('SYS','SYSTEM')
group by owner,table_name,blocks,num_rows,avg_row_len,round((blocks*8)/1024,2),round((num_rows*avg_row_len/1024/1024),2) order by DIFFERENCE_KB desc;
LOBS :
----------------
col COLUMN_NAME format a40
select a.OWNER,a.TABLE_NAME,a.COLUMN_NAME,a.SEGMENT_NAME,sum(b.bytes)/1024/1024/1024 GB
from dba_lobs a,dba_segments b
where a.owner=b.owner
and a.SEGMENT_NAME=b.segment_name
and a.owner='SAPSR3'
group by a.OWNER,a.TABLE_NAME,a.COLUMN_NAME,a.SEGMENT_NAME;
SQL> alter table orabpel.XML_DOCUMENT enable row movement;
Table altered.
SQL> alter table orabpel.XML_DOCUMENT shrink space cascade;
Table altered.
SQL> alter table orabpel.XML_DOCUMENT modify lob (bin)(shrink space);
----by abhk
****************
DBA_TABLES
DBA_OBJECT_TABLES
DBA_TAB_STATISTICS
DBA_TAB_COL_STATISTICS
DBA_TAB_HISTOGRAMS
DBA_INDEXES
DBA_IND_STATISTICS
DBA_CLUSTERS
DBA_TAB_PARTITIONS
DBA_TAB_SUBPARTITIONS
DBA_IND_PARTITIONS
DBA_IND_SUBPARTITIONS
DBA_PART_COL_STATISTICS
DBA_PART_HISTOGRAMS
DBA_SUBPART_COL_STATISTICS
DBA_SUBPART_HISTOGRAMS
for tablespace size
----------------------
SELECT /* + RULE */ df.tablespace_name "Tablespace",
df.bytes / (1024 * 1024) "Size (MB)",
SUM(fs.bytes) / (1024 * 1024) "Free (MB)",
Nvl(Round(SUM(fs.bytes) * 100 / df.bytes),1) "% Free",
Round((df.bytes - SUM(fs.bytes)) * 100 / df.bytes) "% Used"
FROM dba_free_space fs,
(SELECT tablespace_name,SUM(bytes) bytes
FROM dba_data_files
GROUP BY tablespace_name) df
WHERE fs.tablespace_name (+) = df.tablespace_name
GROUP BY df.tablespace_name,df.bytes
UNION ALL
SELECT /* + RULE */ df.tablespace_name tspace,
fs.bytes / (1024 * 1024),
SUM(df.bytes_free) / (1024 * 1024),
Nvl(Round((SUM(fs.bytes) - df.bytes_used) * 100 / fs.bytes), 1),
Round((SUM(fs.bytes) - df.bytes_free) * 100 / fs.bytes)
FROM dba_temp_files fs,
(SELECT tablespace_name,bytes_free,bytes_used
FROM v$temp_space_header
GROUP BY tablespace_name,bytes_free,bytes_used) df
WHERE fs.tablespace_name (+) = df.tablespace_name
GROUP BY df.tablespace_name,fs.bytes,df.bytes_free,df.bytes_used
ORDER BY 4 DESC;
Tablespace Size (MB) Free (MB) % Free % Used
------------------------------ ---------- ---------- ---------- ----------
ORABPEL 190 189.9375 100 0
TEMP 200 190 95 5
UNDOTBS1 300 277.625 93 7
DBA_TEST_DB01 500 394.25 79 21
SYSAUX 500 320.0625 64 36
SYSTEM 500 308.3125 62 38
USERS 583.3125 1
for all owner name and size
----------------------------------
select owner, sum(bytes)/1024/1024 tsize
from dba_segments
group by owner
order by tsize desc;
OWNER TSIZE
------------------------------ ----------
SYS 368.5
DBA_TEST 299.625
ORAWSM 274.4375
ORABPEL 105.6875
SYSTEM 10.78125
ORAESB 9.1875
DBSNMP 1.5625
TSMSYS .25
OUTLN .1484375
9 rows selected.
FOr all user and default tablespace
-----------------------------------------
QL> Select username, default_tablespace
From dba_users
Order by username;
2 3
USERNAME DEFAULT_TABLESPACE
------------------------------ ------------------------------
DBA_TEST DBA_TEST_DB01
DBSNMP SYSAUX
DIP USERS
LMS USERS
ORABPEL ORABPEL
ORACLE_OCM USERS
ORAESB USERS
ORAWSM USERS
OUTLN SYSTEM
SYS SYSTEM
SYSTEM SYSTEM
USERNAME DEFAULT_TABLESPACE
------------------------------ ------------------------------
TSMSYS USERS
12 rows selected.
for high space tables
------------------------------
COLUMN table_name FORMAT A40
COLUMN owner FORMAT A25
SELECT owner,table_name, TRUNC(sum(bytes)/1024/1024/1024) Meg FROM
(SELECT segment_name table_name, owner, bytes FROM dba_segments WHERE segment_type = 'TABLE'
)GROUP BY table_name, owner HAVING SUM(bytes)/1024/1024/1024 > 5
/* Ignore really small tables */ ORDER BY SUM(bytes) desc ;
OWNER TABLE_NAME MEG
------------------------- ---------------------------------------- ----------
DBA_TEST POLICY_MANAGER_OBJECTS 120
ORAWSM POLICY_MANAGER_OBJECTS 79
DBA_TEST LOG_OBJECTS 53
ORAWSM LOG_OBJECTS 46
ORABPEL AUDIT_TRAIL 29
SYS SOURCE$ 21
SYS IDL_UB1$ 18
SYS WRI$_OPTSTAT_HISTGRM_HISTORY 15
8 rows selected.
Check Statistics
---------------------
SELECT owner, table_name, last_analyzed FROM dba_tables WHERE owner ='ORAWSM';
OWNER TABLE_NAME LAST_ANAL
------------------------- ---------------------------------------- ---------
ORAWSM PREFERENCES 02-FEB-09
ORAWSM APPLICATION_RESOURCES 08-JAN-10
ORAWSM COMPONENT_GROUP_MAPPINGS 08-JAN-10
ORAWSM GROUP_ROLE_MAPPINGS 02-FEB-09
ORAWSM OPERATIONS 02-FEB-09
ORAWSM ROLES 02-FEB-09
ORAWSM ROLE_OPERATION_MAPPINGS 02-FEB-09
ORAWSM SERVICE_GROUP_MAPPINGS 02-FEB-09
Stats Gather Command
********************************
set lines 500
set head off
select distinct 'EXECUTE DBMS_STATS.GATHER_TABLE_STATS(ownname =>'''||a.owner||''',tabname=>'''||a.segment_name||''',cascade => TRUE, degree =>22,estimate_percent => 30);'
from dba_segments a, dba_tables b
where a.owner not in ('SYS','SYSTEM')
and a.SEGMENT_TYPE='TABLE'
and a.segment_name=b.table_name
and a.segment_name in (select TABLE_NAME from dba_tab_statistics where STALE_STATS='YES')
and b.PARTITIONED='NO';
set lines 500
set head off
select 'EXECUTE DBMS_STATS.GATHER_TABLE_STATS(ownname =>'''||table_owner||''',tabname=>'''||table_name||''', PARTNAME =>'''||PARTITION_NAME||''',granularity => ''PARTITION'', cascade => TRUE, degree => 22,estimate_percent => 30);'
from dba_tab_partitions
where table_owner not in ('SYS','SYSTEM')
and partition_name in (select partition_name from dba_tab_statistics where stale_stats='YES');
for Billing server Non Partition
*************************
select 'EXECUTE DBMS_STATS.GATHER_TABLE_STATS(ownname =>'''||table_owner||''',tabname=>'''||table_name||''', PARTNAME =>'''||PARTITION_NAME||''',granularity => ''PARTITION'', cascade => TRUE, degree => 22,estimate_percent => 30);'
from dba_tab_partitions
where table_owner = 'GENEVA_ADMIN'
and partition_name in (select partition_name from dba_tab_statistics where stale_stats='YES' and table_name !='COSTEDEVENT');
For billing server Partition table;
*****************************
select distinct 'EXECUTE DBMS_STATS.GATHER_TABLE_STATS(ownname =>'''||a.owner||''',tabname=>'''||a.segment_name||''',cascade => TRUE, degree => 30,estimate_percent => 30);'
from dba_segments a, dba_tables b
where a.owner='GENEVA_ADMIN'
and a.SEGMENT_TYPE='TABLE'
and a.segment_name=b.table_name
and a.segment_name in (select TABLE_NAME from dba_tab_statistics where STALE_STATS='YES' and table_name not in ('REJECTEVENT','TBL_LOG_ERROR','PLAN_TABLE'))
and b.PARTITIONED='NO';
set lines 500
set head off
select distinct 'EXECUTE DBMS_STATS.GATHER_TABLE_STATS(ownname =>'''||a.owner||''',tabname=>'''||a.segment_name||''',cascade => TRUE, degree =>22,estimate_percent => 30);'
from dba_segments a, dba_tables b
where a.owner not in ('SYS','SYSTEM')
and a.SEGMENT_TYPE='TABLE'
and a.segment_name=b.table_name
and a.segment_name in (select TABLE_NAME from dba_tab_statistics where last_analyze>(sysdate-30))
and b.PARTITIONED='NO';
exec dbms_stats.gather_table_stats(ownname=>'CLARITY',tabname=> 'SERVICE_IMPLEMENTATION_TASKS',estimate_percent=>20,cascade=>true,degree=> 20);
set lines 500
set head off
select distinct 'EXECUTE DBMS_STATS.GATHER_TABLE_STATS(ownname =>'''||a.owner||''',tabname=>''"'||a.segment_name||'"'',cascade => TRUE, degree =>15,estimate_percent => 100);'
from dba_segments a, dba_tables b
where a.owner not in ('SYS','SYSTEM')
and a.SEGMENT_TYPE='TABLE'
and a.segment_name=b.table_name
and a.segment_name in (select TABLE_NAME from dba_tab_statistics where STALE_STATS='YES')
and b.PARTITIONED='NO';
select TABLE_NAME from dba_tab_statistics where STALE_STATS='YES' and TABLE_NAME='
set lines 500
set head off
select 'EXECUTE DBMS_STATS.GATHER_TABLE_STATS(ownname =>'''||table_owner||''',tabname=>''"'||table_name||'"'', PARTNAME =>''"'||PARTITION_NAME||'"'',granularity => ''PARTITION'', cascade => TRUE, degree => 22,estimate_percent => 100);'
from dba_tab_partitions
where table_owner not in ('SYS','SYSTEM')
and partition_name in (select partition_name from dba_tab_statistics where stale_stats='YES');
tata.docomo.internethvc
exec dbms_stats.gather_schema_stats('SAPSR3',estimate_percent=>30,cascade=>TRUE,degree=>30);
9i stale stats gather & stats lock
DBMS_STATS.GATHER_SCHEMA_STATS (option: "GATHER AUTO").
exec dbms_stats.gather_schema_stats('CLARITY',estimate_percent=>30,cascade=>TRUE,degree=>30,Options=> 'GATHER STALE');
The ANALYZE statement
==========================
Analyze individual Table:
ANALYZE TABLE BULKAREATRANSFER COMPUTE STATISTICS;
ANALYZE INDEX emp_pk COMPUTE STATISTICS;
ANALYZE TABLE emp ESTIMATE STATISTICS SAMPLE 2000 ROWS;
ANALYZE TABLE emp ESTIMATE STATISTICS SAMPLE 25 PERCENT;
Schema / Database Statistics
=============================
The DBMS_UTILITY package can be used to gather statistics for a whole schema
or database. Both methods follow the same format as the analyze statement:
exec dbms_stats.gather_schema_stats('PMSPRD',estimate_percent=>30,cascade=>TRUE,degree=>30);
EXEC DBMS_UTILITY.analyze_database (‘COMPUTE’);
EXEC DBMS_UTILITY.analyze_database (‘ESTIMATE’, estimate_rows => 100);
EXEC DBMS_UTILITY.analyze_database (‘ESTIMATE’, estimate_percent => 15);
******************************************************************************************************************************
2) EXPDP
-----
Export On clarity DEBUG_LOG and ERROR_LOG
******************************************************
nohup exp system/crisis file=/WP01CLTD_work/DUMP_LOGS/clarity_tables_27072012.dmp log=/WP01CLTD_work/DUMP_LOGS/clarity_tables_27072012.log tables=CLARITY.DEBUG_LOG,CLARITY.ERROR_LOG recordlength=65535 buffer=300000 grants=none statistics=none &
********************************************************
expdp system/password directory=EAI_DUMP dumpfile=VARIABLE_SENSOR_VALUES_%U.dmp logfile=exp_VARIABLE_SENSOR_VALUES.log tables=ORABPEL.VARIABLE_SENSOR_VALUES exclude=statistics parallel=2
or
nohup exp system/crisis file=/WP01IRB1_work/dump_28062012/BSNL_PAYMENTS_EXTRACT.dmp log=BSNL_PAYMENTS_EXTRACT.log tables=GENEVA_ADMIN.BSNL_PAYMENTS_EXTRACT recordlength=65535 statistics=none direct=y buffer=30000 grants=none &
nohup imp system/crisis file=/WP01IRB1_work/dump_28062012/BSNL_PAYMENTS_EXTRACT.dmp log=IMP_BSNL_PAYMENTS_EXTRACT.log tables=GENEVA_ADMIN.BSNL_PAYMENTS_EXTRACT recordlength=65535 statistics=none direct=y buffer=30000 grants=none &
nohup imp system/crisis file=/WP01IRB1/WP01IRB1_work/dump_28062012/BSNL_PAYMENTS_EXTRACT.dmp log=/WP01IRB1/WP01IRB1_work/dump_28062012/IMP_B_P_E.log fromuser=GENEVA_ADMIN touser=GENEVA_ADMIN recordlength=65535 buffer=300000 grants=none statistics=none &
***********************
nohup expdp system/pUzz1e directory=DUMP_29052012 dumpfile=COSTEDEVENT_TAB_P10_%U.dmp logfile=COSTEDEVENT_TAB_P10_exp.log TABLESPACES=COSTEDEVENT_TAB_P10 parallel=10 &
*****************************
dump_28062012
nohup expdp parfile=exp_VARIABLE_SENSOR_VALUES_13082011.txt &
userid=system/perfect
directory=EAI_DUMP
dumpfile=VARIABLE_SENSOR_VALUES_12082011_%U.dmp
logfile=exp_VARIABLE_SENSOR_VALUES_12082011.log
tables=ORABPEL.VARIABLE_SENSOR_VALUES
exclude=statistics
parallel=6
(Note : Parallel can be specified 2 times of CPU's.)
DBMS_METADATA.GET_DDL('TABLE',
--------------------------------------------------------------------------------
select dbms_metadata.get_ddl('TABLE','VARIABLE_SENSOR_VALUES','ORABPEL') from dual;
4) IMPDP
-----
nohup impdp parfile=imp_VARIABLE_SENSOR_VALUES_13082011.txt &
userid=system/perfect
directory=EAI_DUMP
dumpfile=VARIABLE_SENSOR_VALUES_12082011_%U.dmp
logfile=imp_VARIABLE_SENSOR_VALUES_12082011.log
remap_schema=ORABPEL:ORABPEL
content=data_only
parallel=6
****************************************************************************************
alter tablespace COSTEDEVENT_TAB_P11 add datafile '/WP01IRB1_irb/datafile19/IRBWPH1/costedevent_tab_p11_30.dbf' size 1G autoextend on maxsize 20G;
Table Space
==================
BSNL_OPERATION_TAB
Action Plan for SYSAUX @ WCP (10.193.208.45) - (Datafile Addition )
1) Size of mount point '/NP01IRB1_irb/datafile21'---> 352GB (exculding system files)
2) Sum Max size of all datafiles ---> 220GB
3) Actual Free space (352 – 220) GB = 132 GB (considering the Max size)
4) Space Left after adding datafile (132 – 5) GB = 127 GB
5) DDL statement
create tablespace PUN_PROD_TAB_TS_1 datafile '/WP01IRB1_work/bsnl_PUN_PROD_tab01.dbf' size 1G autoextend on EXTENT MANAGEMENT LOCAL UNIFORM SIZE 2M;
create tablespace COSTEDEVENT_IND_P36 datafile '/WP01IRB1_irb/datafile16/IRBWPH1/costedevent_IND_p36_01.dbf' size 500M autoextend on maxsize 1G EXTENT MANAGEMENT LOCAL UNIFORM SIZE 2M;
for update datafile autoextends.
*********************************
alter database datafile '/WP01CLTD_clar/datafile_2/CLRWPH1/datafile2/clarity_audit_ts_tab14.dbf' autoextend on maxsize 10240m;
**********************************
alter tablespace BSNL_CUSTOM_TAB2_TS add datafile '/WP01IRB1_irb/datafile02/IRBWPH1/bsnl_custom_tab2_ts_23.dbf' size 2G autoextend on maxsize 20G;
alter tablespace BSNL_CUSTOM_TAB2_TS add datafile '/WP01IRB1_irb/datafile23/IRBWPH1/bsnl_custom_tab2_ts_29.dbf' size 2g autoextend on maxsize 20g;
alter tablespace PERIODIC_TAB_TS_1 add datafile '/WP01IRB1_irb/datafile13/IRBWPH1/periodic_tab13.dbf' size 1g autoextend on maxsize 10g;
alter tablespace PERIODIC_IND_TS_1 add datafile '/WP01IRB1_irb/datafile14/IRBWPH1/periodic_ind13.dbf' size 1g autoextend on maxsize 10g;
alter tablespace DUPLICATECHECK_IND_TS_1 add datafile '/WP01IRB1_irb/datafile16/IRBWPH1/duplicatecheck_ind31.dbf' size 1g autoextend on maxsize 10g;
alter tablespace BSNL_OPERATION_TAB add datafile '/WP01IRB1_irb/datafile18/IRBWPH1/bsnl_operation_tab40.dbf' size 1g autoextend on maxsize 10g;
alter tablespace DUPLICATECHECK_TAB_TS_1 add datafile '/WP01IRB1_irb/datafile18/IRBWPH1/duplicatecheck_tab21.dbf' size 1g autoextend on maxsize 10g;
alter tablespace temp add tempfile '/WP01CLTD_clar_archives_vol_1/TEMP09.dbf' size 20480m
for resize autoextend -------alter database datafile '/WP01IRB1_irb/datafile16/IRBWPH1/duplicatecheck_ind31.dbf' autoextend on maxsize 7g;
select (203896101+76234287)/1024/1024 from dual;
select sum(bytes)/1024/1024/1024,sum(maxbytes)/1024/1024/1024 from dba_data_files where FILE_NAME like '/WP01IRB1_irb/datafile23%';
select sum(bytes)/1024/1024/1024,sum(maxbytes)/1024/1024/1024 from dba_temp_files where FILE_NAME like '/iobas/ora/ardatafile15%';
select 417333248/1024/1024 from dual;
mkdir sr3_17
alter tablespace BSNL_CUSTOM_TAB2_TS add datafile '/WP01IRB1_irb/datafile21/IRBWPH1/bsnl_custom_tab2_ts_39.dbf' size 2G autoextend on maxsize 20G;
alter tablespace BSNL_CUSTOM_TAB2_TS add datafile '/WP01IRB1_irb/datafile21/IRBWPH1/bsnl_custom_tab2_ts_40.dbf' size 2G autoextend on maxsize 20G;
alter tablespace undo add datafile '/u01/app/undo02.dbf' size 10G;
COLUMN FILE_NAME FORMAT a80
select FILE_NAME,sum(bytes)/1024/1024/1024,sum(maxbytes)/1024/1024/1024 from dba_data_files
where tablespace_name='BSNL_CUSTOM_IND_TS_2'
group by file_name;
select TABLESPACE_NAME,sum(bytes)/1024/1024/1024 "GB",SUM(MAXBYTES)/1024/1024/1024 "MAXBYTES(GB)"
from dba_data_files
where tablespace_name='&tablespacename'
group by TABLESPACE_NAME;
alter tablespace CLARITY_GROWTH_TS add datafile '/WP01CLTD_clar/datafile_4/CLRWPH1/datafile4/clarity_growth_tab26.dbf' size 2048m autoextend on maxsize 8192m;
alter tablespace CLARITY_GROWTH_TS add datafile '/WP01CLTD_clar/datafile_5/CLRWPH1/datafile5/clarity_growth_tab27.dbf' size 2048m autoextend on maxsize 8192m;
ICT_REF_INDEX
/iobas/ora/ardatafile3/IOBWPH1/ict_ref_index_014.dbf
alter database datafile '/WP01IRB1_irb/datafile10/IRBWPH1/costedevent_tab_p12_29.dbf' autoextend on maxsize 20480M;
Database altered.
For check table_space_size with autoexten
***********************************************************************
SELECT F.tablespace_name "Tablespace", TO_CHAR(NVL(a.bytes / 1024 / 1024, 0),'99G999G990') "Size (MB)",
TO_CHAR(NVL(NVL(f.bytes, 0),0)/1024/1024, '99G999G990') "Free (MB)", TO_CHAR(NVL((NVL(f.bytes, 0)) / a.bytes * 100, 0), '990D00') "Free %" ,
TO_CHAR(NVL(c.maxbytes / 1024 / 1024, 0),'99G999G990') "AUTOEXTEND (MB)"
FROM (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,
(select tablespace_name, sum(maxbytes) maxbytes from dba_data_files group by tablespace_name) c
WHERE F.tablespace_name=A.TABLESPACE_NAME
and c.tablespace_name=A.TABLESPACE_NAME
order by "Free %" desc;
*********************************************************************************
create tablespace BSNL_AHMBD_TAB_TS_1 datafile '/WP01IRB1_irb/datafile29/IRBWPH1/bsnl_jal_tab_ts01.dbf' size 10G autoextend on maxsize 20G EXTENT MANAGEMENT LOCAL UNIFORM SIZE 2M;
alter tablespace BSNL_AHMBD_TAB_TS_1 add datafile '/u02/oradata/IRBUATW/bsnl_AHMBD_tab03.dbf' size 10G autoextend on maxsize 20G;
user creation
*****************
create user AHMBD identified by AHMBD
default tablespace BSNL_AHMBD_TAB_TS_1 quota unlimited on BSNL_AHMBD_TAB_TS_1;
grant connect, resource to AHMBD;
revoke unlimited tablespace from AHMBD;
grant debug connect session to AHMBD;
grant select any table to AHMBD;
for high watarmark (check how much we reduse the size of datafile in actual size)
**************************************************************************************************************************************
set verify off
set pages 2000
set lines 200
column file_name format a80 word_wrapped
column smallest format 999,990 heading "Smallest|Size|Poss."
column currsize format 999,990 heading "Current|Size"
column savings format 999,990 heading "Poss.|Savings"
break on report
compute sum of savings on report
column value new_val blksize
select value from v$parameter where name = 'db_block_size'
/
VALUE
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
8192
select file_name,
ceil( (nvl(hwm,1)*&&blksize)/1024/1024 ) smallest,
ceil( blocks*&&blksize/1024/1024) currsize,
ceil( blocks*&&blksize/1024/1024) -
ceil( (nvl(hwm,1)*&&blksize)/1024/1024 ) savings
from dba_data_files a,
( select file_id, max(block_id+blocks-1) hwm
from dba_extents
group by file_id )b
where a.file_id = b.file_id(+)
order by savings desc;
Smallest
Size Current Poss.
FILE_NAME Poss. Size Savings
-------------------------------------------------------------------------------- -------- -------- --------
/WP05CDD1_export/home/oracle/cdot/datafile01/CDTWPH1/datafile1/undo01.dbf 2,674 4,962 2,288
/WP05CDD1_export/home/oracle/cdot/datafile01/CDTWPH1/datafile1/cnms04.dbf 1 2,048 2,047
/WP05CDD1_export/home/oracle/cdot/datafile01/CDTWPH1/datafile1/cnms_idx01.dbf 1 1,024 1,023
/WP05CDD1_export/home/oracle/cdot/datafile01/CDTWPH1/datafile1/sminterface01.dbf 1 1,024 1,023
/WP05CDD1_export/home/oracle/cdot/datafile01/CDTWPH1/datafile1/system01.dbf 217 500 283
/WP05CDD1_export/home/oracle/cdot/datafile02/CDTWPH1/datafile2/cnms03.dbf 4,097 4,160 63
/WP05CDD1_export/home/oracle/cdot/datafile01/CDTWPH1/datafile1/users01.dbf 1 50 49
/WP05CDD1_export/home/oracle/cdot/datafile01/CDTWPH1/datafile1/sysaux01.dbf 8,983 8,990 7
/WP05CDD1_export/home/oracle/cdot/datafile02/CDTWPH1/datafile2/cnms02.dbf 10,221 10,221 0
/WP05CDD1_export/home/oracle/cdot/datafile01/CDTWPH1/datafile1/cnms01.dbf 8,192 8,192 0
--------
sum 6,783
10 rows selected.
alter database datafile '/WP05CDD1/WP05CDD1_export/home/oracle/cdot/datafile02/CDTWPH1/datafile2/cnms03.dbf' resize 4097m;
alter database datafile '/WP05CDD1/WP05CDD1_export/home/oracle/cdot/datafile02/CDTWPH1/datafile2/cnms03.dbf' autoextend off;
****************************************************************************************************************************************
tablespace size of particulat one tablespace
**************************************************
set lines 200
col TABLESPACE_NAME format a20
col file_name format a100
select TABLESPACE_NAME,FILE_ID,STATUS,FILE_NAME,sum(bytes)/1024/1024 "MB",AUTOEXTENSIBLE,ROUND(SUM(MAXBYTES)/1024/1024) "MAXBYTES(MB)",INCREMENT_BY
from dba_data_files
where tablespace_name='&tablespace_name'
group by FILE_ID,FILE_NAME,TABLESPACE_NAME,bytes,AUTOEXTENSIBLE,MAXBYTES,INCREMENT_BY,STATUS
order by FILE_NAME asc;
TABLESPACE_NAME FILE_ID STATUS FILE_NAME MB AUT MAXBYTES(MB) INCREMENT_BY
-------------------- ---------- --------- ---------- ---------- --- ------------ ------------
CNMS 5 AVAILABLE /WP05CDD1/ 8192 YES 10240 1
WP05CDD1_e
xport/home
/oracle/cd
ot/datafil
e01/CDTWPH
1/datafile
1/cnms01.d
bf
CNMS 10 AVAILABLE /WP05CDD1/ 2048 YES 2048 1
WP05CDD1_e
xport/home
/oracle/cd
ot/datafil
e01/CDTWPH
1/datafile
1/cnms04.d
bf
CNMS 8 AVAILABLE /WP05CDD1/ 10221 YES 10221 1
WP05CDD1_e
xport/home
/oracle/cd
ot/datafil
e02/CDTWPH
1/datafile
2/cnms02.d
bf
CNMS 9 AVAILABLE /WP05CDD1/ 4097 NO 0 0
WP05CDD1_e
xport/home
/oracle/cd
ot/datafil
e02/CDTWPH
1/datafile
2/cnms03.d
bf
********************************************************************************************************************************************
tablespace size of particulat one tablespace
**************************************************
select TABLESPACE_NAME,sum(bytes)/1024/1024/1024 "GB",SUM(MAXBYTES)/1024/1024/1024 "MAXBYTES(GB)"
from dba_data_files
where TABLESPACE_NAME='&TABLESPACE_NAME'
group by TABLESPACE_NAME;
TABLESPACE_NAME GB MAXBYTES(GB)
-------------------- ---------- ------------
USERS 15.7592163 26
*************************************************************************************************************
tablespace size of particulat one tablespace in actual size
*****************************************************************
column tablespace format a40
column "Free (MB)" format a20
column "Free %" format a20
SELECT F.tablespace_name "Tablespace", TO_CHAR(NVL(a.bytes / 1024 / 1024, 0),'99G999G990') "Size (MB)",
TO_CHAR(NVL(NVL(f.bytes, 0),0)/1024/1024, '99G999G990') "Free (MB)", TO_CHAR(NVL((NVL(f.bytes, 0)) / a.bytes * 100, 0), '990D00') "Free %"
FROM (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 F.tablespace_name=A.TABLESPACE_NAME
and F.tablespace_name='USERS'
order by "Free %" desc;
Tablespace Size (MB) Free (MB) Free %
---------------------------------------- ----------- -------------------- --------------------
USERS 16,137 18 0.11
********************************************************************************************************************
col COMMAND format a120
select tablespace_name,sum(bytes)/1024/1024/1024 ACTUAL_GB,sum(maxbytes)/1024/1024/1024 MAX_GB,
' alter database datafile '''||file_name||''' autoextend off;' COMMAND
from dba_data_files
where FILE_NAME like '/WP02KCKD/WP02KCKD_u01%'
group by tablespace_name,file_name;
TABLESPACE_NAME ACTUAL_GB MAX_GB COMMAND
-------------------- ---------- ---------- ------------------------------------------------------------------------------------------------------------------------
SYSTEM .48828125 5 alter database datafile '/WP02KCKD/WP02KCKD_u01/oradata/BFRWPH1/datafile/system01.dbf' autoextend off;
USERS 3.93969727 5 alter database datafile '/WP02KCKD/WP02KCKD_u01/oradata/BFRWPH1/datafile/users03.dbf' autoextend off;
USERS 3.87866211 10 alter database datafile '/WP02KCKD/WP02KCKD_u01/oradata/BFRWPH1/datafile/users01.dbf' autoextend off;
USERS 4.00415039 6 alter database datafile '/WP02KCKD/WP02KCKD_u01/oradata/BFRWPH1/datafile/users04.dbf' autoextend off;
USERS 3.93670654 5 alter database datafile '/WP02KCKD/WP02KCKD_u01/oradata/BFRWPH1/datafile/users02.dbf' autoextend off;
UNDOTBS1 4.99932861 5 alter database datafile '/WP02KCKD/WP02KCKD_u01/oradata/BFRWPH1/datafile/undo01.dbf' autoextend off;
INDX .48828125 5 alter database datafile '/WP02KCKD/WP02KCKD_u01/oradata/BFRWPH1/datafile/indx01.dbf' autoextend off;
SYSAUX 4.46289063 5 alter database datafile '/WP02KCKD/WP02KCKD_u01/oradata/BFRWPH1/datafile/sysaux01.dbf' autoextend off;
8 rows selected.
4:16:11 PM: G Narang:
select tablespace_name, username, bytes, max_bytes from dba_ts_quotas;
TABLESPACE_NAME USERNAME BYTES MAX_BYTES
-------------------- ------------------------------ ---------- ----------
SYSAUX PERFSTAT 4338745344 -1
alter user perfstat quota 500k on users;
alter user REPORT quota 1G on PSAPSR3;
SQL> set line 200
SQL> /
TABLESPACE_NAME USERNAME BYTES MAX_BYTES
------------------------------ ------------------------------ ---------- ----------
PSAPSR3USR TEST 262144 -1
PSAPSR3USR WBDDBLINK 0 -1
PSAPSR3 REPORT 0 -1
SQL> alter user REPORT quota 1G on PSAPSR3;
User altered.
SQL> select tablespace_name, username, bytes, max_bytes from dba_ts_quotas;
TABLESPACE_NAME USERNAME BYTES MAX_BYTES
------------------------------ ------------------------------ ---------- ----------
PSAPSR3USR TEST 262144 -1
PSAPSR3 REPORT 0 1073741824
PSAPSR3USR WBDDBLINK 0 -1
Dunning Checking
*************************
$ ps -ef|grep BSNL_DEE
irb 11747 23707 0 07:06:25 pts/tn 0:00 /WP01IRB1_irbapp/IRBWPROD/RB/bin/BSNL_DEE -p 54422 -m WORK -c 1 -t 1 -w 20120522 07062500 -r 54422 -pauseable -startFromTM
oracle 26291 20326 1 11:03:02 pts/10 0:00 grep BSNL_DEE
$
$ cd /WP01IRB1_irbapp/IRBWPROD/logs
$ cd 20120522
$ tail -50f 54422.LOG
Database Link Creation
*******
get all DBLink DDL of a DB.
*****************************
set pages 200
set lines 200
set long 10000
SELECT DBMS_METADATA.GET_DDL('DB_LINK',a.db_link,a.owner) FROM dba_db_links a;
******************************
IRBNPH1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = IRBNPH1.NP01IRB1)(PORT = 1590))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = IRBNPH1)
)
)
IRBNPH1.WORLD =(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.202.208.3)(PORT = 1590)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = IRBNPH1)))
WBD
----
(10.193.215.11)
create user WBDDBLINK identified by wbddblink default tablespace PSAPSR3USR quota unlimited on PSAPSR3USR;
grant connect,resource to WBDDBLINK;
revoke unlimited tablespace from WBDDBLINK;
grant create database link to WBDDBLINK;
conn WBDDBLINK/WBDDBLINK
CREATE DATABASE LINK WBD_NPROD_BILL_LINK connect to billing_er identified by billing_er using 'IRBNPH1.WORLD';
drop database link WBD_NPROD_BILL_LINK;
CREATE DATABASE LINK WBD_NPROD_BILL_LINK connect to billing_er identified by billing_er using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.202.208.3)(PORT = 1590)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = IRBNPH1)))';
select 1 from dual@WBD_NPROD_BILL_LINK;
drop database link WBD_NPROD_BILL_LINK;
WBP
----
(10.193.208.231)
create user WBPDBLINK identified by wbpdblink default tablespace PSAPSR3USR quota unlimited on PSAPSR3USR;
grant connect,resource to WBPDBLINK;
revoke unlimited tablespace from WBPDBLINK;
grant create database link to WBPDBLINK;
conn WBPDBLINK/WBPDBLINK
CREATE DATABASE LINK WBP_NPROD_BILL_LINK connect to billing_er identified by billing_er using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.202.208.3)(PORT = 1590)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = IRBNPH1)))';
select 1 from dual@WBP_NPROD_BILL_LINK;
exec testproc@remote_db(1);
link$
all_db_links gv_$session_connect_info repcat$_repprop_dblink_how
dba_db_links ku$_dblink_t user_db_links
dbms_dblink ku$_dblink_view wmp_api_dblink
dbms_dblink_lib ku$_10_1_dblink_view wmp_db_links_v
gv_$dblink ora_kglr7_db_links
Related Files $ORACLE_HOME/rdbms/admin/caths.sql
Close Database Link
*************************
ALTER SESSION CLOSE DATABASE LINK curr_user;
Drop Database Link
********************
Drop Standard Link DROP DATABASE LINK <link_name>;
DROP DATABASE LINK test_link;
Drop Public Link DROP PUBLIC DATABASE LINK <link_name>;
DROP PUBLIC DATABASE LINK test_link;
http://psoug.org/reference/db_link.html
********************************************************************************************************
sql tuning
******************************
Note :Replace the sql_id .
DECLARE
l_sql_tune_task_id VARCHAR2(100);
BEGIN
l_sql_tune_task_id := DBMS_SQLTUNE.create_tuning_task (
sql_id => 'c6ah6du5n2wmh',
scope => DBMS_SQLTUNE.scope_comprehensive,
time_limit => 600,
task_name => 'c6ah6du5n2wmh_tuning_task',
description => 'Tuning task for statement c6ah6du5n2wmh');
DBMS_OUTPUT.put_line('l_sql_tune_task_id: ' || l_sql_tune_task_id);
END;
/
BEGIN
DBMS_SQLTUNE.EXECUTE_TUNING_TASK( task_name => 'c6ah6du5n2wmh_tuning_task');
end;
/
SET LONG 10000
SET LONGCHUNKSIZE 1000
SET LINESIZE 100
SELECT DBMS_SQLTUNE.REPORT_TUNING_TASK('c6ah6du5n2wmh_tuning_task') from DUAL;
*******************************************************************************
Rman Backup
**************
North:
rman> backup as compressed backupset database format <format details>;
Where format details contain Filesystem/Path & backupfilename.
Example: backup as compressed backupset database Format '/admin/rman_backup/%d_%I_%s_%T';
f)Switch the current redolog using command below:
rman>sql 'alter system archive log current';
g)Take the archivelog backup using following command:
backup archivelog FROM TIME 'sysdate-1' UNTIL TIME 'sysdate' format '/admin/rman_backup/%d_%I_%s_%T';
h)Take the control file backup using following command:
backup current controlfile format '/admin/rman_backup/source_controlfile3';
scp -p oracle@10.202.212.37:/admin/rman_backup/* .
West:
rman> backup as compressed backupset database format <format details>;
Where format details contain Filesystem/Path & backupfilename.
Example: backup as compressed backupset database Format '/RMAN_BACKUP/%d_%I_%s_%T';
f)Switch the current redolog using command below:
rman>sql 'alter system archive log current';
g)Take the archivelog backup using following command:
backup archivelog FROM TIME 'sysdate-1' UNTIL TIME 'sysdate' format '/RMAN_BACKUP/%d_%I_%s_%T';
backup format '/RMAN_BACKUP/%d_%I_%s_%T' archivelog all;
h)Take the control file backup using following command:
backup current controlfile format '/RMAN_BACKUP/source_controlfile_%T';
CROSSCHECK ARCHIVELOG ALL;
CROSSCHECK BACKUP;
DELETE EXPIRED;
DELETE EXPIRED BACKUP DEVICE TYPE disk;
delete expired backup;
DELETE force obsolete;
run
{
ALLOCATE CHANNEL RMAN_CH00 TYPE DISK;
ALLOCATE CHANNEL RMAN_CH01 TYPE DISK;
ALLOCATE CHANNEL RMAN_CH02 TYPE DISK;
ALLOCATE CHANNEL RMAN_CH03 TYPE DISK;
CROSSCHECK BACKUP;
CROSSCHECK archivelog all;
DELETE EXPIRED BACKUP;
BACKUP AS COMPRESSED BACKUPSET DATABASE FORMAT '/RMAN_BACKUP/dbfiles_%d_%u_%s_%T';
sql 'ALTER SYSTEM ARCHIVE LOG CURRENT';
BACKUP AS COMPRESSED BACKUPSET ARCHIVELOG ALL FORMAT '/RMAN_BACKUP/archivelogs_%d_%u_%s_%T';
BACKUP AS COMPRESSED BACKUPSET CURRENT CONTROLFILE FORMAT '/RMAN_BACKUP/controlfile_%d_%u_%s_%T';
RELEASE CHANNEL RMAN_CH00;
RELEASE CHANNEL RMAN_CH01;
RELEASE CHANNEL RMAN_CH02;
RELEASE CHANNEL RMAN_CH03;
}
Tracing
********************
DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION DOES NOT GENERATE TRACE FOR ACTIVE SESSION [ID 236178.1]
QL> set echo off
SQL> set linesize 200
SQL> set heading on
column program format A15
column Module format A8
SQL> SQL> SQL> column Sid format 9999
SQL> select ses.action,ses.status, ses.module,substr(ses.program,1,instr(ses.program,' ')-1) PROGRAM,
2 proc.spid,ses.process,ses.sid,ses.serial#,
to_char(ses.logon_time,'DD-MON-RR HH24:MI:SS') CONNECT_TIME
from v$session ses, v$process proc
3 4 5 where
ses.paddr = proc.addr
6 7 and ses.sid='&SID'
SQL> startup
ORACLE instance started.
Total System Global Area 1.0737E+10 bytes
Fixed Size 2172320 bytes
Variable Size 5882370656 bytes
Database Buffers 4848615424 bytes
Redo Buffers 4259840 bytes
Database mounted.
Database opened.
SQL>
SQL>
SQL> select name,open_mode from v$database;
NAME OPEN_MODE
--------- ----------
EAIWPH1 READ WRITE
SQL>
SQL>
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
bash-2.05b$ lsnrctl start LISTENER_EAI
LSNRCTL for HPUX: Version 10.2.0.4.0 - Production on 13-JUN-2012 12:12:03
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Starting /WP04EAID_oracle_primary/product/10.2.0.3/bin/tnslsnr: please wait...
TNSLSNR for HPUX: Version 10.2.0.4.0 - Production
System parameter file is /WP04EAID_oracle_primary/product/10.2.0.3/network/admin/listener.ora
Log messages written to /WP04EAID_oracle_primary/product/10.2.0.3/network/log/listener_eai.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.193.208.189)(PORT=1544)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_EAI)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=PW04EAID)(PORT=1544)))
STATUS of the LISTENER
------------------------
Alias LISTENER_EAI
Version TNSLSNR for HPUX: Version 10.2.0.4.0 - Production
Start Date 13-JUN-2012 12:12:03
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /WP04EAID_oracle_primary/product/10.2.0.3/network/admin/listener.ora
Listener Log File /WP04EAID_oracle_primary/product/10.2.0.3/network/log/listener_eai.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.193.208.189)(PORT=1544)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_EAI)))
The listener supports no services
The command completed successfully
bash-2.05b$
bash-2.05b$
bash-2.05b$ lsnrctl status LISTENER_EAI
LSNRCTL for HPUX: Version 10.2.0.4.0 - Production on 13-JUN-2012 12:12:11
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=PW04EAID)(PORT=1544)))
STATUS of the LISTENER
------------------------
Alias LISTENER_EAI
Version TNSLSNR for HPUX: Version 10.2.0.4.0 - Production
Start Date 13-JUN-2012 12:12:03
Uptime 0 days 0 hr. 0 min. 8 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /WP04EAID_oracle_primary/product/10.2.0.3/network/admin/listener.ora
Listener Log File /WP04EAID_oracle_primary/product/10.2.0.3/network/log/listener_eai.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.193.208.189)(PORT=1544)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_EAI)))
The listener supports no services
The command completed successfully
bash-2.05b$ tnsping EAIWPH1
TNS Ping Utility for HPUX: Version 10.2.0.4.0 - Production on 13-JUN-2012 12:12:21
Copyright (c) 1997, 2007, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = PW04EAID)(PORT = 1544)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = EAIWPH1)))
OK (0 msec)
bash-2.05b$
bash-2.05b$
bash-2.05b$ ps -ef|grep pmon
root 1133 1 0 May 15 ? 3:10 ipmon -sD
oraeaid 4076 1 0 12:11:22 ? 0:03 ora_pmon_EAIWPH1
oraeaid 4990 2288 1 12:13:29 pts/1 0:00 grep pmon
bash-2.05b$ ps -ef|grep tns
oraeaid 4437 1 0 12:12:03 ? 0:00 /WP04EAID_oracle_primary/product/10.2.0.3/bin/tnslsnr LISTENER_EAI -inherit
oraeaid 5020 2288 1 12:13:33 pts/1 0:00 grep tns
bash-2.05b$ glance
8 order by proc.spid,ses.sid,ses.serial#,action,module
/
9 Enter value for sid: 1440
old 7: and ses.sid='&SID'
new 7: and ses.sid='1440'
ACTION STATUS MODULE PROGRAM SPID PROCESS SID SERIAL# CONNECT_TIME
-------------------------------- -------- -------- --------------- ------------ ------------ ----- ---------- ---------------------------
ACTIVE RATE@WP0 RATE@WP01IRB1 9729 9682 1440 55606 12-JUN-12 19:36:34
1IRB1 (T
NS V1-V3
)
SQL>
SQL> oradebug setospid 9729
Oracle pid: 356, Unix process pid: 9729, image: oracle@WP01IRB1
SQL> oradebug unlimit
Statement processed.
SQL> oradebug Event 10046 trace name context forever, level 12
Statement processed.
SQL> oradebug tracefile_name
/WP01IRB1_admin/IRBWPH1/admin/udump/irbwph1_ora_9729.trc
SQL>
for Bons
*******************
bash-2.05b$ ps -ef|grep tns
oraeaid 4243 1 0 Jun 10 ? 2:28 /WP04EAID_oracle_primary/product/10.2.0.3/bin/tnslsnr LISTENER_EAI -inherit
oraeaid 2420 2288 0 12:06:20 pts/1 0:00 grep tns
bash-2.05b$ ps -ef|grep pmon
root 1133 1 0 May 15 ? 3:10 ipmon -sD
oraeaid 18401 1 0 Jun 10 ? 5:14 ora_pmon_EAIWPH1
oraeaid 2422 2288 1 12:06:22 pts/1 0:00 grep pmon
lsnrctl status LISTENER_EAI
lsnrctl stop LISTENER_EAI
SQL> alter system checkpoint;
System altered.
SQL> /
System altered.
SQL> alter system switch logfile;
System altered.
SQL> /
System altered.
SQL> alter system checkpoint;
System altered.
SQL> shut immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> SQL>
SQL> startup
ORACLE instance started.
Total System Global Area 1.0737E+10 bytes
Fixed Size 2172320 bytes
Variable Size 5882370656 bytes
Database Buffers 4848615424 bytes
Redo Buffers 4259840 bytes
Database mounted.
Database opened.
SQL>
SQL>
SQL> select name,open_mode from v$database;
NAME OPEN_MODE
--------- ----------
EAIWPH1 READ WRITE
SQL>
SQL>
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
bash-2.05b$ lsnrctl start LISTENER_EAI
LSNRCTL for HPUX: Version 10.2.0.4.0 - Production on 13-JUN-2012 12:12:03
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Starting /WP04EAID_oracle_primary/product/10.2.0.3/bin/tnslsnr: please wait...
TNSLSNR for HPUX: Version 10.2.0.4.0 - Production
System parameter file is /WP04EAID_oracle_primary/product/10.2.0.3/network/admin/listener.ora
Log messages written to /WP04EAID_oracle_primary/product/10.2.0.3/network/log/listener_eai.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.193.208.189)(PORT=1544)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_EAI)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=PW04EAID)(PORT=1544)))
STATUS of the LISTENER
------------------------
Alias LISTENER_EAI
Version TNSLSNR for HPUX: Version 10.2.0.4.0 - Production
Start Date 13-JUN-2012 12:12:03
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /WP04EAID_oracle_primary/product/10.2.0.3/network/admin/listener.ora
Listener Log File /WP04EAID_oracle_primary/product/10.2.0.3/network/log/listener_eai.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.193.208.189)(PORT=1544)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_EAI)))
The listener supports no services
The command completed successfully
bash-2.05b$
bash-2.05b$
bash-2.05b$ lsnrctl status LISTENER_EAI
LSNRCTL for HPUX: Version 10.2.0.4.0 - Production on 13-JUN-2012 12:12:11
Copyright (c) 1991, 2007, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=PW04EAID)(PORT=1544)))
STATUS of the LISTENER
------------------------
Alias LISTENER_EAI
Version TNSLSNR for HPUX: Version 10.2.0.4.0 - Production
Start Date 13-JUN-2012 12:12:03
Uptime 0 days 0 hr. 0 min. 8 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /WP04EAID_oracle_primary/product/10.2.0.3/network/admin/listener.ora
Listener Log File /WP04EAID_oracle_primary/product/10.2.0.3/network/log/listener_eai.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.193.208.189)(PORT=1544)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_EAI)))
The listener supports no services
The command completed successfully
bash-2.05b$ tnsping EAIWPH1
TNS Ping Utility for HPUX: Version 10.2.0.4.0 - Production on 13-JUN-2012 12:12:21
Copyright (c) 1997, 2007, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = PW04EAID)(PORT = 1544)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = EAIWPH1)))
OK (0 msec)
bash-2.05b$
bash-2.05b$
bash-2.05b$ ps -ef|grep pmon
root 1133 1 0 May 15 ? 3:10 ipmon -sD
oraeaid 4076 1 0 12:11:22 ? 0:03 ora_pmon_EAIWPH1
oraeaid 4990 2288 1 12:13:29 pts/1 0:00 grep pmon
bash-2.05b$ ps -ef|grep tns
oraeaid 4437 1 0 12:12:03 ? 0:00 /WP04EAID_oracle_primary/product/10.2.0.3/bin/tnslsnr LISTENER_EAI -inherit
oraeaid 5020 2288 1 12:13:33 pts/1 0:00 grep tns
bash-2.05b$ glance
Triggers synonym_name constraint_name
************************************************
select OWNER,TRIGGER_NAME,STATUS from dba_triggers where trigger_name like '%BSNL_TRUNCATE_TRIG%';
select OWNER,TRIGGER_NAME,STATUS from all_triggers where trigger_name like '%BSNL_TRUNCATE_TRIG%';
For Enable
---------------
ALTER TRIGGER reorder ENABLE;
ALTER TABLE inventory ENABLE ALL TRIGGERS;
For disable
---------------
ALTER TRIGGER SYS.BSNL_TRUNCATE_TRIG DISABLE;
ALTER TRIGGER GENEVA_ADMIN.BSNL_TRUNCATE_TRIG DISABLE;
ALTER TABLE inventory DISABLE ALL TRIGGERS;
select sequence_name from all_sequences where sequence_name like 'DAP%';
select table_name from all_tables where table_name like 'DAP%';
select synonym_name from all_synonyms where table_name like 'DAP%';
select table_name, constraint_name from all_constraints where table_name like 'DAP%';
select text from dba_source where name like 'DAP%';
SQL> select OWNER,OBJECT_NAME,OBJECT_ID,OBJECT_TYPE from dba_objects
where OBJECT_NAME like 'BSNL_CE%';
OWNER OBJECT_NAME OBJECT_ID OBJECT_TYPE
------------------------------ ----------------------------------- ---------- ------------------------------
BSNL BSNL_CENTREX_CH_BILLING_UPDATE 12211 PROCEDURE
BSNL BSNL_CENTREX 12235 PROCEDURE
PUBLIC BSNL_CENTREX_CH_BILLING_UPDATE 12287 SYNONYM
PUBLIC BSNL_CENTREX 12316 SYNONYM
BSNL BSNL_CENTREX_EXCH_GRPS 31175 TABLE
PUBLIC BSNL_CENTREX_EXCH_GRPS 31176 SYNONYM
BSNL BSNL_CENTREX_SWITCHES 36513 PROCEDURE
BSNL BSNL_CENTREX_NBR_AVAILABILITY 36514 PROCEDURE
PUBLIC BSNL_CENTREX_SWITCHES 36521 SYNONYM
PUBLIC BSNL_CENTREX_NBR_AVAILABILITY 36522 SYNONYM
10 rows selected.
Procedure table name find
***********************************
select
referenced_name,
referenced_type
from
dba_dependencies
where
NAME ='BSNL_NBR_AVAILABILITY_CHK'
and
owner ='BSNL' and referenced_type='TABLE' order by
referenced_owner, referenced_name, referenced_type;
REFERENCED_NAME REFERENCED_TYPE
---------------------------------------------------------------- -----------------
AREAS TABLE
EQUIPMENT TABLE
EQUIPMENT_HIERARCHY TABLE
NUMBERS TABLE
NUMBER_SERVICE_PRIORITY TABLE
SERVICES TABLE
SERVICE_TYPES TABLE
7 rows selected.
To get the DAP related code:
select text from dba_source where name like 'DAP%';
Script to Reorganize Indexes
http://www.erpgreat.com/oracle-database/script-to-reorganize-indexes.htm
PROCEDURE
*****************
select object_name,object_type,owner,LAST_DDL_TIME from dba_objects where status='INVALID' and owner='CLARITY_ADMIN' and object_type='PROCEDURE' and status='INVALID';
select 'alter procedure '||OWNER||'.'||object_name||' compile;' from dba_objects where status='INVALID' and owner='CLARITY' and object_type='PROCEDURE' and status='INVALID';
alter procedure BSNL.BSNL_BAT_GET_EXISTING_DATA_M compile;
Table Partition
***********************
set pagesize 20000
col TABLE_OWNER format a15
select TABLE_NAME,TABLE_OWNER from dba_tab_PARTITIONs where TABLE_OWNER not in ('SYS','SYSTEM')
order by TABLE_NAME,TABLE_OWNER
select name from v$database;
For Purging
***********************
purge dba_recyclebin;
Flaceback Recovery Steps.
*****************************
SQL> desc dba_users
Name Null? Type
----------------------------------------- -------- ----------------------------
USERNAME NOT NULL VARCHAR2(30)
USER_ID NOT NULL NUMBER
PASSWORD VARCHAR2(30)
ACCOUNT_STATUS NOT NULL VARCHAR2(32)
LOCK_DATE DATE
EXPIRY_DATE DATE
DEFAULT_TABLESPACE NOT NULL VARCHAR2(30)
TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30)
CREATED NOT NULL DATE
PROFILE NOT NULL VARCHAR2(30)
INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30)
EXTERNAL_NAME VARCHAR2(4000)
SQL> ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'DD-MON-YYYY HH24:MI:SS.FF3';
Session altered.
SQL> SELECT LOCALTIMESTAMP from dual;
LOCALTIMESTAMP
---------------------------------------------------------------------------
24-JUL-2012 12:51:39.853
SQL> create table
2
SQL>
SQL> create table reject_restore.REJECTEVENT_restore as SELECT * from GENEVA_ADMIN.REJECTEVENT AS OF TIMESTAMP TO_TIMESTAMP('24-Jul-2012 10:20:00.000');
Table created.
SQL> SQL> SQL> SQL> SQL>
SQL> se
SP2-0042: unknown command " - rest of line ignored.
SQL>
SQL> selecc
SP2-0042: unknown command "selecc" - rest of line ignored.
SQL>
SQL> select sum(bytes/1024/1024/1024) from dba_segments where segment_name='REJECTEVENT_RESTORE';
SUM(BYTES/1024/1024/1024)
-------------------------
127
SQL> select sum(bytes/1024/1024/1024) from dba_segments where segment_name='REJECTEVENT_RESTORE';
SUM(BYTES/1024/1024/1024)
-------------------------
127
User Details
**********************
select count(*),USERNAME,STATUS from v$session group by USERNAME,STATUS;
column USERNAME FORMAT A15
column OSUSER format a10
column PROGRAM format a20
column logon format a25
select to_char(logon_time,'DD-MM-YYYY HH24:MI:SS')LOGON,USERNAME,SID,SERIAL#,status,OSUSER,PROCESS,MACHINE,PROGRAM,SQL_HASH_VALUE
from v$session where USERNAME='BSNL_REPORT'
************************************************
Increased quota limit for below user.
select tablespace_name, username, bytes, max_bytes from dba_ts_quotas;
TABLESPACE_NAME USERNAME BYTES MAX_BYTES
------------------------------ ------------------------- ---------- ----------
USERS OPS$ORA817 0 -1
USERS U2 0 -1
USERS U1 1572864 -1
USERS PERFSTAT 53477376 -1
select * from USER_TS_QUOTAS;
This alert was flooding our Inboxes :)..Hope this will fix this issue.
SQL> alter user B198604762_DB quota 2G on BSNL_OPERATION_TAB;
User altered.
For View Recompile.
****************
select 'alter view '||OWNER||'.'||OBJECT_NAME||' compile;' from dba_objects where OBJECT_TYPE='VIEW' and STATUS='INVALID';
alter view CLARITY_ADMIN.bsnl_list_bb_customers compile;
alter view SAPSR3.RSOACUBE_V compile;
statspack snapsut job sedule in 15 minut
*********************************
execute DBMS_JOB.INTERVAL (job=>146573459, interval=>'SYSDATE + 15/1440');
Linux command
********************
du -k /WP01IRB1_admin/IRBWPH1/admin/udump/irbwph1_ora_10890.trc
find . -name brtools
for vecant port
********************
netstat -an | grep 1521--------Port
lsof
Swap memory
***********************
root>ipcs {for list of swap mamory taking process}
roo>ipcrm -m 45361025{id of process} {for clear swape memory by root loging}
for check own sesion
***************+
select sid from v$mystat;
for row divice check
****************
cat /etc/fstab
SYSAUX Details
******************************
set linesize 150
column OCCUPANT_NAME format a25
column OCCUPANT_DESC format a55
column schema_name format a18
select OCCUPANT_NAME,OCCUPANT_DESC,SCHEMA_NAME,SPACE_USAGE_KBYTES from v$sysaux_occupants order by SPACE_USAGE_KBYTES desc
/
Row Chaining
**********************
SELECT 'ANALYZE TABLE '||OWNER||'.'||table_name||' LIST CHAINED ROWS INTO CHAINED_ROWS;' FROM dba_tables where table_name in (
'CUSTPRODUCTEVENTTYPES',
'BILLREQUEST',
'ITEMIZATIONORDERACTION');
2 3 4
'ANALYZETABLE'||OWNER||'.'||TABLE_NAME||'LISTCHAINEDROWSINTOCHAINED_ROWS;'
--------------------------------------------------------------------------------
ANALYZE TABLE GENEVA_ADMIN.BILLREQUEST LIST CHAINED ROWS INTO CHAINED_ROWS;
ANALYZE TABLE GENEVA_ADMIN.CUSTPRODUCTEVENTTYPES LIST CHAINED ROWS INTO CHAINED_
ROWS;
change in DBMS_SCHEDULER
*********************
BEGIN
DBMS_SCHEDULER.SET_ATTRIBUTE (
name => 'PURGE_OLDER_STATSPACK_JOB',
attribute => 'repeat_interval',
value => 'FREQ=daily;byhour=7; byminute=30; bysecond=33');
END;
/
*****************************************************
set line 200
col jobs_what head WHAT for a70
col jobs_interval head INTERVAL for a40
col jobs_job_name head JOB_NAME for a40
col jobs_program_name head PROGRAM_NAME for a40
select job, what jobs_what, last_date, next_date, interval jobs_interval, failures, broken from dba_jobs;
select
job_name jobs_job_name
, program_name jobs_program_name
, state jobs_state
, to_char(start_date, 'YYYY-MM-DD HH24:MI') start_date
, to_char(next_run_date, 'YYYY-MM-DD HH24:MI') next_run_date
, enabled
from
dba_scheduler_jobs
/
exec dbms_scheduler.DISABLE('job_name');
exec dbms_scheduler.stop_job('job_name'); { running job stop for one job.}
alter system set job_queue_processes=0 {for stop all jobs}
exec dbms_job.BROKEN('job_id'); {for stop job }
desc dbms_scheduler
desc dbms_job
for all Session check
***********************
SET LINESIZE 200
COLUMN spid FORMAT A10
COLUMN username FORMAT A25
COLUMN program FORMAT A45
col OSUSER format a15
SELECT s.inst_id,
s.sid,
s.serial#,
p.spid,
s.username,
s.OSUSER,
s.program,
s.LOGON_TIME,
s.STATUS
FROM gv$session s
JOIN gv$process p ON p.addr = s.paddr AND p.inst_id = s.inst_id
WHERE s.type != 'BACKGROUND';
Parallel process
*****************************************************************************
begin
-- Call the procedure
execute immediate 'ALTER SESSION FORCE PARALLEL QUERY PARALLEL 30';
loyalty_cur_test(p_circlecode => 'MH',
p_last_run_date => '20130502');
end;
...............................................
Comments
Post a Comment