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 dba



select    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

Popular posts from this blog

Oracle OEM Holistic Patch

Upgrade Oracle 19c DB to 21c using Auto Upgrade utility inprogress