Skip to main content

SQL Commands

 Oracle Application Express : https://docs.oracle.com/database/apex-5.1/HTMIG/overview.htm#HTMIG363

alter system set compatible='19.0.0' scope=spfile;

alter system set sec_case_sensitive_logon=TRUE scope=both;

alter system reset sec_case_sensitive_logon scope=spfile;


tdpoconf showenv -tdpo_optfile=tdpo.opt

tdpoconf password -tdpo_optfile=tdpo.opt

==========================================================================

select SID, SID_CATEGORY from oracle_adm.sid_v4 where appl_grp not in ('SAP','DECOM','EXTERNAL') and sid like '%\_S%' escape '\';

==========================================================================

If agent goes down multiple time after restarting it again & again, please try below oS cmd :-


<AGENT_INST_HOME>/bin/emctl setproperty agent -allow_new -name CollectionResults.MaximumRowsFloodControlMax -value 80000

<AGENT_INST_HOME>/bin/emctl setproperty agent -allow_new -name CollectionResults.MaximumRowsFloodControlMin -value 25000

==========================================================================

ALTER SYSTEM KILL SESSION 'SID, SERIAL#, @INSTANCE_ID' [IMMEDIATE];


---> V$SESSION   used for non RAC databases to find sid, serial#

---> GV$SESSION   used for RAC databases to find sid, serial#, inst_id


--non RAC databases

SELECT s.sid, s.serial# FROM v$session s WHERE username = 'SCOTT';


--RAC databases

SELECT s.inst_id, s.sid, s.serial# FROM gv$session s WHERE username = 'SCOTT';


--non rac kill example

ALTER SYSTEM KILL SESSION '123,34216';

ALTER SYSTEM KILL SESSION '123,34216' IMMEDIATE;


Use immediate to avoid hung.


--> RAC kill example

ALTER SYSTEM KILL SESSION '123,34216,@2';

ALTER SYSTEM KILL SESSION '123,34216,@1' IMMEDIATE;


nohup /home/oracle/local/bin/cpSID -from P464 -to T464 > /dbprog/oracle/admin/T464/log/cpSID.log &


Kill session from os level

---------------------------------

--windows

c:\orakill ORACLE_SID spid


--unix

kill -9 spid


ps -ef | grep spid

=========================================================================

RMAN> LIST RESTORE POINT ALL;


linux command :-

mv /dbfra/oracle/fra/U241CP/archivelog/2021_10_19/*  /db/ORACLE/Archives_U241CP/2021_10_19

oracle@st-vdb12 1017%sqlplus system@T307HY

ls -lt | grep 'Aug  4' | awk '{print $9}' | xargs rm -fr

q arch "/dbprog/oracle/admin/P900R3/exp/" -descr=P900R3-Exp.20220822*

ps -p <pid> -lF

pidof process_name

If archive save to 2 different location. ( check only log arc.dest_1 should set)

alter system set log_archive_dest_10='' scope=both;

delete archivelog until time 'sysdate-1';

RMAN> delete expired archivelog all;

KB0035684

osdbcomm all stop

osdbcomm all start

oslsnrctl start all

oslsnrctl stop all

oslsnrctl start all


chkPerform -sid T561F -server

chkconfig |grep dbora

drop tablespace tabplespace_name;

drop user user_name cascase;


alter tablespace TEMP add tempfile '/db/ORACLE/P830B/temp_02.dbf' size 100m autoextend on next 200m maxsize 10000m;

Check Resource Utilization :-

-----------------------------------------------

SELECT CURRENT_UTILIZATION,MAX_UTILIZATION,(CURRENT_UTILIZATION/400)*100 PERCENT_UTILIZATION from v$resource_limit WHERE RESOURCE_NAME='processes';

select name,dbid,open_mode,cdb,version,status from v$database,v$instance;

select sga_size,sga_size_factor,estd_db_time from v$sga_target_advice;

alter system set sga_target=8192M;

alter system set sga_max_size=8192M;

select sum(bytes)/1024/1024/1024 from dba_data_files WHERE TABLESPACE_NAME='SYSTEM';


TO check redo log switch per day :-

---------------------------------------------------------------------

select trunc(completion_time) rundate,count(*) logswitch,round((sum(blocks*block_size)/1024/1024)) "REDO PER DAY (MB)" from v$archived_log group by trunc(completion_time) order by 1 desc;

---------------------------------------------------------------------


To see alerts using query :-

---------------------------------------------------------------------

select ORIGINATING_TIMESTAMP,MESSAGE_TYPE,USER_ID,MESSAGE_TEXT from v$diag_alert_ext where message_type=2

==========================================================================

to check running jobs :-

--------------------------------------------------------------------

select * from v$session where status = 'ACTIVE';


to check export/backups renning details :-

--------------------------------------------------------------------

SELECT ROUND(sofar/totalwork*100,2) as PercentDone, 

       v$session_longops.*

  FROM v$session_longops

 WHERE sofar <> totalwork

 ORDER BY target, sid;

 

 select job_name,owner_name,state from dba_datapump_jobs;

------------------------------------------------------------------------

select sum(bytes)/1024/1024 from dba_data_files WHERE TABLESPACE_NAME='UNDO';

select sum(bytes)/1024/1024 from dba_data_files WHERE TABLESPACE_NAME='TEMP';

alter user SYSTEM account unlock;

CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY; 

select flashback_on from v$database;

select name,open_mode from v$database;

select sched_type, owner, owner_type, last_occurrence, event_status From QIPADMIN.sched_prof;


To check password status:-

----------------------------

col USERNAME for a40

col ACCOUNT_STATUS for a20

col EXPIRY_DATE for a50

col PROFILE for a30

set lines 180

set pages 1100

select USERNAME, ACCOUNT_STATUS, LOCK_DATE,EXPIRY_DATE, PROFILE from dba_users where USERNAME like 'DYNATRACE_%';


U280EB

SQL> create user  TEST identified by U3#PJYTVCENQZO5LR#56; temporary tablespace temp;


ALTER USER SYSTEM ACCOUNT UNLOCK;


alter user SYSTEM identified by W0_OBQGF3J#0ED7FN5VV;


select OWNER,OBJECT_NAME, OBJECT_TYPE from ALL_OBJECTS WHERE OBJECT_TYPE IN ('FUNCTION','PROCEDURE','PACKAGE');


col OWNER for a20

col OBJECT_NAME for a30

select OWNER,OBJECT_NAME, OBJECT_TYPE from ALL_OBJECTS WHERE OBJECT_TYPE IN ('FUNCTION');


to check failed logon attemp username :-

---------------------------------------------------------------------------

SET LINES 300

SET PAGES 999

COL INUM FOR 9999

COL OS_USERNAME FOR A10 

COL USERNAME FOR A10

COL USERHOST FOR A25

COL ACTION_NAME FOR A10

COL OS_PROCESS FOR A10

COL TIMESTAMP FOR A20

SELECT INSTANCE_NUMBER INUM,

       OS_USERNAME,

       USERNAME,

       USERHOST,

       TO_CHAR(EXTENDED_TIMESTAMP,'DD-MON-YYYY HH24:MI:SS') TIMESTAMP,

       ACTION_NAME,

       OS_PROCESS,

       RETURNCODE

FROM

       DBA_AUDIT_SESSION

WHERE 

       EXTENDED_TIMESTAMP > (SYSDATE - 20) AND RETURNCODE > 0 

  ORDER BY EXTENDED_TIMESTAMP;

-----------------------------------------------------------------------------------------------------


SELECT

os_username,

username,

terminal,

to_char(timestamp,'MM-DD-YYYY HH24:MI:SS') as timestamp

FROM

DBA_AUDIT_TRAIL

where EXTENDED_TIMESTAMP > (SYSDATE - 1)

AND USERNAME NOT like  '%DBSNMP'

order by EXTENDED_TIMESTAMP;

-------------------------------------------------------------------------------------------

col OS_USERNAME for a10

col USERNAME for a10

col USERHOST for a15

col TERMINAL for a18

col ACTION_NAME for a8

select 

    os_username,        username,        userhost,

        terminal,

        timestamp,

        action_name,

        logoff_time

from dba_audit_session;

-------------------------------------------------------------------------------------------------------

col USERNAME for a40

col ACCOUNT_STATUS for a20

col EXPIRY_DATE for a50

col PROFILE for a30

set lines 180

set pages 1100

select USERNAME, ACCOUNT_STATUS from dba_users where ACCOUNT_STATUS='OPEN'

------------------------------------------------------------------------------------------------------------


Archive log generation:

---------------------------------------------------------------------------

 Set lines 900

column day format a10   

column Switches_per_day format 9999   

column 00 format 999   

column 01 format 999   

column 02 format 999   

column 03 format 999   

column 04 format 999   

column 05 format 999   

column 06 format 999   

column 07 format 999   

column 08 format 999   

column 09 format 999   

column 10 format 999   

column 11 format 999   

column 12 format 999   

column 13 format 999   

column 14 format 999   

column 15 format 999   

column 16 format 999   

column 17 format 999   

column 18 format 999   

column 19 format 999   

column 20 format 999   

column 21 format 999   

column 22 format 999   

column 23 format 999   

 select to_char(first_time,'DD-MON') day,   

sum(decode(to_char(first_time,'hh24'),'00',1,0)) "00",   

sum(decode(to_char(first_time,'hh24'),'01',1,0)) "01",   

sum(decode(to_char(first_time,'hh24'),'02',1,0)) "02",   

sum(decode(to_char(first_time,'hh24'),'03',1,0)) "03",   

sum(decode(to_char(first_time,'hh24'),'04',1,0)) "04",   

sum(decode(to_char(first_time,'hh24'),'05',1,0)) "05",   

sum(decode(to_char(first_time,'hh24'),'06',1,0)) "06",   

sum(decode(to_char(first_time,'hh24'),'07',1,0)) "07",   

sum(decode(to_char(first_time,'hh24'),'08',1,0)) "08",   

sum(decode(to_char(first_time,'hh24'),'09',1,0)) "09",   

sum(decode(to_char(first_time,'hh24'),'10',1,0)) "10",   

sum(decode(to_char(first_time,'hh24'),'11',1,0)) "11",   

sum(decode(to_char(first_time,'hh24'),'12',1,0)) "12",   

sum(decode(to_char(first_time,'hh24'),'13',1,0)) "13",   

sum(decode(to_char(first_time,'hh24'),'14',1,0)) "14",   

sum(decode(to_char(first_time,'hh24'),'15',1,0)) "15",   

sum(decode(to_char(first_time,'hh24'),'16',1,0)) "16",   

sum(decode(to_char(first_time,'hh24'),'17',1,0)) "17",   

sum(decode(to_char(first_time,'hh24'),'18',1,0)) "18",   

sum(decode(to_char(first_time,'hh24'),'19',1,0)) "19",   

sum(decode(to_char(first_time,'hh24'),'20',1,0)) "20",   

sum(decode(to_char(first_time,'hh24'),'21',1,0)) "21",   

sum(decode(to_char(first_time,'hh24'),'22',1,0)) "22",   

sum(decode(to_char(first_time,'hh24'),'23',1,0)) "23",   

count(to_char(first_time,'MM-DD')) Switches_per_day   

from Gv$log_history   

where trunc(first_time) between trunc(sysdate) - 30 and trunc(sysdate)   

group by to_char(first_time,'DD-MON')    

order by to_char(first_time,'DD-MON') ;

-----------------------------------------------------------------------------------------------------------------

to check what privs user have :-

select * from dba_tab_privs where grantee='USERNAME';


==========================================================================

col SID for a10

col NODE for a15

SELECT SID,NODE, BACKUP_START, BACKUP_COMPLETE, BACKUP_TYPE, BACKUP_STATUS, BACKUP_COMMENTS FROM oracle_adm.backup_info WHERE BACKUP_COMPLETE>=(SYSDATE-1)   AND backup_status not in ('OK','ONDISK')  AND sid IN (SELECT sid  FROM oracle_adm.sid_v4   WHERE SID_CATEGORY = 'P' AND APPL_GRP not in ('DECOM','SAP','EXTERNAL'));

==========================================================================

If getting listener error after db copy in osmossad :-

----------------------------------------

to check services:-

--------------------------------------------------------------

set lines 200

set pages 200

col NAME for a15

col NETWORK_NAME for a20

col FAILOVER_TYPE for a20

col FAILOVER_METHOD for a20

col EDITION for a20

select NAME,CREATION_DATE,NETWORK_NAME,FAILOVER_TYPE,SERVICE_ID,GLOBAL_SERVICE,FAILOVER_METHOD,EDITION,MAX_LAG_TIME,GSM_FLAGS from dba_services;

-----------------------------------------------------------------------------------------------

exec dbms_service.DELETE_SERVICE('P025AZ')

exec dbms_service.STOP_SERVICE('P025AZ_MSS')


to create services name (tnsping for servicename)

----------------------------------------------------------------------


exec DBMS_SERVICE.CREATE_SERVICE(service_name => 'T025T_MSS',network_name => 'T025T_MSS', failover_method => 'BASIC',failover_type => 'SELECT',failover_retries => 180,failover_delay => 1);


to create trigger-

-------


CREATE OR REPLACE TRIGGER manage_dgservice

after startup on database

DECLARE

role VARCHAR(30);

BEGIN

SELECT DATABASE_ROLE INTO role FROM V$DATABASE;

IF role = 'PRIMARY' THEN

DBMS_SERVICE.START_SERVICE('T025T_MSS');

END IF;

END;


to start service---

------


exec dbms_service.start_service('T025T_MSS');



ALTER DATABASE MOUNT STANDBY DATABASE;



alter database commit to switchover to physical standby with session shutdown;


=====================================================================================

to check trigger on db :-


SQL> col TRIGGER_NAME for a20

SQL> col TABLE_OWNER for a20

SQL> select TRIGGER_NAME, TABLE_OWNER, STATUS from ALL_TRIGGERS;


SELECT OBJECT_NAME, OBJECT_TYPE, CREATED, LAST_DDL_TIME FROM USER_OBJECTS WHERE OBJECT_NAME = 'SAFRAN_LOGIN';

to check trigger ddl :-


set long 1000000 longc 32000 lin 32000 trims on hea off pages 0 newp none emb on tab off feed off echo off

exec DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,'SQLTERMINATOR',true)

select dbms_metadata.get_ddl('TRIGGER','TRIGGER_NAME','SYS') from dual;

==========================================================================

to check running MRP for standby database sync:-

----------------------------------------------------

select process,status,sequence#,block#,blocks from v$managed_standby;



select version from v$instance;


select * from v$backup;


     FILE# STATUS                CHANGE# TIME                    CON_ID

---------- ------------------ ---------- ------------------- ----------

         1 NOT ACTIVE          865492854 11/02/2019 12:49:41          0

         3 NOT ACTIVE          865492854 11/02/2019 12:49:41          0



alter database begin backup;    /// to make v$backup status ACTIVE.


select name from v$datafile;


SQL> select name from v$database;


NAME

---------

P578E


SQL> select STARTUP_TIME from v$instance;


STARTUP_TIME

-------------------

06/10/2021 14:56:41



================================================


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#;


=================================================


Augusto Castro; Carlos Gonzalez-Pasalagua; Haraprasad Charchy (Capgemini Norge AS;Oslo); D Immanvel Johnson (Capgemini Norge AS;Oslo); Prakash Subramanian Devar (Capgemini Norge AS;Oslo)    


Select username,timestamp from sys.dba_audit_session where username='ISSUETRACKER';

Select username,timestamp from sys.dba_audit_session where ACTION_NAME='LOGON';


col DESCRIPTION for a70

col STATUS for a20

set lines 200

set pages 200

col ACTION_TIME  for a30

select NAME,patch_id, patch_uid, status, ACTION_TIME,description from dba_registry_sqlpatch,v$database;


set lines 250

col USERNAME for a20

col OS_USERNAME for a12

col OWNER for a15

col USERHOST for a20

col ACTION_NAME for a20

select OWNER,OS_USERNAME,USERNAME,ACTION,ACTION_NAME,TIMESTAMP,RETURNCODE,USERHOST from dba_audit_trail where USERNAME='ISSUETRACKER' order by TIMESTAMP;


<HOME NAME="OraDB19Home9" LOC="/dbprog/oracle/product/19.3.0.0.17EL" TYPE="O" IDX="13"/>


set lines 250

col USERNAME for a20

col OS_USERNAME for a12

col OWNER for a15

col USERHOST for a20

col ACTION_NAME for a20

select OWNER,OS_USERNAME,USERNAME,ACTION,ACTION_NAME,TIMESTAMP,RETURNCODE,USERHOST from dba_audit_trail where USERNAME='ISSUETRACKER' order by TIMESTAMP;




==============================================================================================select count(1) from user_objects where status <> 'VALID';

=========================================


set head off

set pages 9999

set long 9999999

SELECT dbms_metadata.get_ddl('USER','P_SAPITGADM') FROM DUAL;

SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT','P_SAPITGADM') FROM DUAL;

SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','P_SAPITGADM') FROM DUAL;

SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT','P_SAPITGADM') FROM DUAL;

set head on;


============================================================================


column object_name format a30

select object_name, object_type

from dba_objects

where object_name||object_type in

   (select object_name||object_type

    from dba_objects

    where owner = 'SYS')

and owner = 'SYSTEM';

=================================================================================


To Restart Database on RAC server,


oraexadb@st-dbadm144 1008%srvctl stop database -d P422


oraexadb@st-dbadm144 1009%srvctl start database -d P422


oraexadb@st-dbadm144 1010%srvctl status database -d P422

Instance P4221 is running on node st-dbadm144

Instance P4222 is running on node st-dbadm145

You have new mail in /var/spool/mail/oraexadb


===================================================================================


To check metadata of any invalid function objects:-

-------------------------------------------------


SQL> set long 9999

SQL> SELECT dbms_metadata.get_ddl('FUNCTION', 'STL_VERIFY_FUNC_SPEC_PRIV', 'SYS') FROM DUAL;


Example:


  CREATE OR REPLACE NONEDITIONABLE FUNCTION "SYS"."STL_VERIFY_FUNC_SPEC_PRIV"

(username varchar2,

 password varchar2,

 old_password varchar2)

return boolean IS

   differ integer;

begin

   if not ora_complexity_check(password, chars => 20, upper => 1, lower => 0, di

git => 1, special => 1) then

      return(false);

   end if;

   -- Check if the password differs from the previous password by at least

   -- 4 characters

   if old_password is not null then

      differ := ora_string_distance(old_password, password);

      if differ < 4 then

         raise_application_error(-20032, 'Password should differ from previous '

|| 'password by at least 4 characters');

      end if;

   end if;

   return(true);

end;


=================================================================================================================


oracle@st-vtdb29 1006%cat /etc/redhat-release

Red Hat Enterprise Linux Server release 7.9 (Maipo)


==================================================================================================================

select profile, resource_name, limit from dba_profiles where RESOURCE_NAME = 'PASSWORD_VERIFY_FUNCTION';



==========================================================================

set pages 400

set lines 200

COLUMN tablespace_name format a21

COLUMN file_name format a35

COLUMN free% format a12

break ON tablespace_name SKIP 1

SELECT aus.tablespace_name, df.file_name, df.TOTAL_SPACE_MB, NVL(dfs.FREE_SPACE_MB,0) Free_space_MB,

NVL(TO_CHAR( (free_space_mb*100/total_space_mb),'09.00') ,0)"FREE%",

TRUNC(df.TOTAL_SPACE_MB-USED_SPACE_MB ) Reclaim_space_MB,

AUTOEXTENSIBLE, MAXBYTES_MB,INCREMENT_BY_MB

FROM (SELECT tablespace_name, file_id,SUM(bytes)/1024/1024 AS "FREE_SPACE_MB" FROM DBA_FREE_SPACE GROUP BY tablespace_name, file_id) dfs,

(SELECT file_id, file_name, SUM(bytes)/1024/1024 AS "TOTAL_SPACE_MB" FROM DBA_DATA_FILES GROUP BY file_id, file_name) df,

(SELECT DISTINCT f.TABLESPACE_NAME, file_name,((ROUND(f.bytes / 1024 / 1024) - NVL(ROUND(s.bytes / 1024 / 1024),0))) "USED_SPACE_MB",

f.AUTOEXTENSIBLE, TRUNC(f.MAXBYTES/1024/1024,2) MAXBYTES_MB, TRUNC(f.INCREMENT_BY/(1048576/(select value from v$parameter where name = 'db_block_size')),2) INCREMENT_BY_MB

FROM DBA_DATA_FILES f, DBA_FREE_SPACE s WHERE f.file_id = s.file_id (+)

AND NVL(s.block_id,0) IN (NVL((SELECT MAX(block_id) FROM DBA_FREE_SPACE WHERE file_id = s.file_id),0))) aus

WHERE dfs.FILE_ID (+)= df.FILE_ID

AND aus.file_name (+)= df.file_name

ORDER BY 1,2;


===========================================================================================================




col size_mb format 999,999,999

col used_mb  format 999,999,999

col name format a32

col pct_used format 999

select name, ceil(space_limit / 1024 / 1024/1024)size_GB, ceil( space_used / 1024 / 1024/1024) used_GB, decode(nvl(space_used,0),0, 0, ceil (( space_used / space_limit) * 100) ) pct_used from v$recovery_file_dest order by name desc;


show parameter reco


to start all db in one time(linux level cmd)

-----------------------------------------------

osdbcomm all start

==========================================================================

set linesize 700

set pagesize 100

Select JOB_SEQ_NO,SID,FROM_SID,REQUESTED_START_TIME,STARTED, COMPLETED,STATUS from schedule_main.jobs order by REQUESTED_START_TIME;

--------------------------------------------------------------------------------------------------------------

col FROM_SID for a8

col TO_SID for a8

col JOB_TYPE for a10

set lines 200

set pages 200

select job_seq_no, job_type, from_sid, sid "TO_SID", requested_start_time, active, started, completed, status, comments from schedule_main.jobs where to_date(Requested_start_time) between '22-JAN-23' and  '25-JAN-23' ORDER BY REQUESTED_START_TIME desc;

--------------------------------------------------------------------------------------------------------------------

update schedule_main.jobs set comments = 'Copy from DISP to  T660K completed successfully by rakg at at 12/06-2022 08:34 ' where job_seq_no = 9276;

commit;

==========================================================================

To check failed logon attemps by a users :-

-----------------------------------------

SET LINES 300

SET PAGES 999

COL INUM FOR 9999

COL OS_USERNAME FOR A10 

COL USERNAME FOR A10

COL USERHOST FOR A25

COL ACTION_NAME FOR A10

COL OS_PROCESS FOR A10

COL TIMESTAMP FOR A20

SELECT INSTANCE_NUMBER INUM,

       OS_USERNAME,

       USERNAME,

       USERHOST,

       TO_CHAR(EXTENDED_TIMESTAMP,'DD-MON-YYYY HH24:MI:SS') TIMESTAMP,

       ACTION_NAME,

       OS_PROCESS,

       RETURNCODE

FROM

       DBA_AUDIT_SESSION

WHERE 

       EXTENDED_TIMESTAMP > (SYSDATE - 1) AND RETURNCODE > 0 

ORDER BY EXTENDED_TIMESTAMP;

SQL> select username,account_status,lock_date,expiry_date,profile from dba_users where username='GLA';

==========================================================================

Total count of database:-

--------------------------------------------

select count(*) from oracle_adm.sid_v4 where appl_grp not in ('SAP','DECOM','EXTERNAL') and sid not like '%EXA%';


Total standby database:-

------------------------------------------

select count(*) from oracle_adm.sid_v4 where appl_grp not in ('SAP','DECOM','EXTERNAL') and sid not like '%EXA%' and sid like '%\_S%' escape '\';


===================================

select * from "ORACLE_MONITOR"."DEFAULT_TBS_USAGE" where PCT_OF_MAX>75;

========================================

total count

select count(*) from oracle_adm.sid_v4 where appl_grp not in ('SAP','DECOM','EXTERNAL') and sid not like '%EXA%';


Standby count

select count(*) from oracle_adm.sid_v4 where appl_grp not in ('SAP','DECOM','EXTERNAL') and sid not like '%EXA%' and sid like '%\_S%' escape '\';


production count

select count(*) from oracle_adm.sid_v4 where appl_grp not in ('SAP','DECOM','EXTERNAL') and sid not like '%EXA%' and SID_CATEGORY='T';



Prod standby count

select count(*) from oracle_adm.sid_v4 where appl_grp not in ('SAP','DECOM','EXTERNAL') and sid not like '%EXA%' and SID_CATEGORY='P' and sid like '%\_S%' escape '\';


select count(*) from oracle_adm.sid_v4 where appl_grp not in ('SAP','DECOM','EXTERNAL') and sid not like '%EXA%' and SID_CATEGORY='T' and sid like '%\_S%' escape '\';


select count(*) from oracle_adm.sid_v4 where appl_grp not in ('SAP','DECOM','EXTERNAL') and sid not like '%EXA%' and SID_CATEGORY='X' and sid like '%\_S%' escape '\';


select count(*) from oracle_adm.sid_v4 where appl_grp not in ('SAP','DECOM','EXTERNAL') and sid not like '%EXA%' and SID_CATEGORY='U' and sid like '%\_S%' escape '\';



=====================================


SQL> sho parameter local


 select nvl(pool,name) pool

,sum(bytes)/1024/1024 MB

from v$sgastat

group by nvl(pool,name)

==========================================================================================



- dsmc archive -archmc=ARC-1Y "/dbbck/P335_RMANBKP_RITM2532299/*.bkp" -subdir=yes

- dsmc q ar "/dbbck/RMANBACKUP_NEW_P210B/*"


dsmc archive -archmc=ARC-5Y "/dbbck/P226_BCKUP_1204/*" -subdir=yes


dsmc q ar "/dbbck/P226_BCKUP_1204/*"

=====================================================================================


update schedule_main.jobs set Active='N' where job_seq_no = 10085;

update schedule_main.jobs set Status='C' where job_seq_no = 10085;


commit;



==========================================================================================



SID_LIST_LISTENER_1 =

 (SID_LIST =

   (SID_DESC =

    (ORACLE_HOME = /dbprog/oracle/product/19.3.0.0.15)

    (ENVS="TNS_ADMIN=/dbprog/oracle/product/19.3.0.0.15/network/admin")

    (SID_NAME = P742)

   )

)



(SID_DESC =

    (ORACLE_HOME = /dbprog/oracle/product/19.3.0.0.14)

    (ENVS="TNS_ADMIN=/dbprog/oracle/product/19.3.0.0.13/network/admin")

    (SID_NAME = SV4TSTA)

  )



========================================================================================


ARC SDE configuration:-


SQL> select name from v$database;


NAME

---------

T195X


SQL> select sde.ST_AsText(SDE.ST_Geometry('POINT (10 10)', 0)) from dual;


SDE.ST_ASTEXT(SDE.ST_GEOMETRY('POINT(1010)',0))

--------------------------------------------------------------------------------

POINT ( 10.00000000 10.00000000)


=======================



Password Reset Activity:-




Pass verify function error

alter user system profile default;




col LIMIT for a10

col PROFILE for a10

select * from dba_profileS where profile='DEFAULT';




alter profile DEFAULT LIMIT PASSWORD_REUSE_MAX UNLIMITED;

alter profile DEFAULT LIMIT PASSWORD_REUSE_MAX 12;




STL_ADMIN_3MONTHS

alter user system profile STL_ADMIN_3MONTHS;

select username,profile,account_status from dba_users where username='SYSTEM';




alter user SYSTEM account unlock;


==============================================================================================


col NODE for a25

col MOUNT for a10

col UPDATED for a30

set lines 400 pagesize 200

select node, round(total/1024/1024, 2) "total (in GB)", round(free /1024/1024, 2) "free (in GB)", percent, mount, updated from oracle_adm.db_filesystems where PERCENT > 75 AND ( mount like '%arch%' or mount like '%db%' or mount like '%prog%' or mount like '%log%' ) order by percent desc;



set lines 200

set pages 200

COLUMN OWNER for a30

COLUMN object_name FORMAT A30

SELECT owner,

       object_type,

       object_name,

       status

FROM   dba_objects

WHERE  status = 'INVALID'

ORDER BY owner, object_type, object_name;


======================================================================================================




select count(s.status) INACTIVE_SESSIONS from gv$session s, v$process p where p.addr=s.paddr and s.status='INACTIVE';

SELECT CURRENT_UTILIZATION,MAX_UTILIZATION,(CURRENT_UTILIZATION/MAX_UTILIZATION)*100 as PERCENT_UTILIZATION from v$resource_limit WHERE RESOURCE_NAME='processes';


alter system kill session '575,11846';


System altered.


SYS at P343 >select SID,SERIAL#,USERNAME,USER#,STATUS from v$session;



SYS at P343 >select count(s.status) INACTIVE_SESSIONS from gv$session s, v$process p where p.addr=s.paddr and s.status='INACTIVE';


INACTIVE_SESSIONS

-----------------

              339


SYS at P343 >

SYS at P343 >

SYS at P343 >select (CURRENT_UTILIZATION/MAX_UTILIZATION)*100 as process_percent from v$resource_limit where RESOURCE_NAME='processes';


PROCESS_PERCENT

---------------

          98.75


-------------------------------------------------------------------------------------------------------------------------------------



How to check database home using sql command :-


SQL> var OH varchar2(200);

SQL> EXEC dbms_system.get_env('ORACLE_HOME', :OH) ;


PL/SQL procedure successfully completed.


SQL> PRINT OH


OH

--------------------------------------------------------------------------------

/dbprog/oracle/product/19.3.0.0.13E


SQL>

SQL>

SQL> select name from V$database;


NAME

---------

P482_AZ


=============================================================================================================================================


To check ora error from last 15 days :-


SET linesize 200 pagesize 200

col RECORD_ID FOR 9999999 head ID

col MESSAGE_TEXT FOR a120 head Message

SELECT record_id, to_char(originating_timestamp,'DD-MON-YYYY HH24:MI:SS') , message_text FROM X$DBGALERTEXT WHERE originating_timestamp > systimestamp-15 AND regexp_like(message_text, '(ORA-|error)') order by record_id;



=======================================================================================================================================================



SQL> alter system set db_files=500 scope=spfile;


SQL> shutdown immediate;


SQL> startup;

Check current DB_FILES again.


SQL> show parameter db_files;


NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

db_files                             integer     500


==========================================================================================================


select user# from user$ where name='TRADEDB_STATOIL';



============================================================================

[12/6/2021 6:08 PM] Vivek Kumar Sharma


alter session set nls_date_format = 'DD-MON-YYYY HH24:MI:SS';


select sysdate from dual;


SELECT TO_CHAR (SYSDATE, 'MM-DD-YYYY HH24:MI:SS') "CURRENT_DATE" FROM DUAL;


select username, profile, created,account_status,lock_date,expiry_date,to_char(last_login,'DD-MON-YYYY') as LAST_LOGIN,oracle_maintained

from dba_user where account_status='OPEN'

or to_date(to_char(lock_date,'DD-MON-YYYY'),'DD-MON-YYYY')>='01-JAN-2022'

or to_date(to_char(expiry_date,'DD-MON-YYYY'),'DD-MON-YYYY')>='01-JAN-2022'

or to_date(to_char(last_login,'DD-MON-YYYY'),'DD-MON-YYYY')>='01-JAN-2022' and account_status like '%LOCKED%')

order by oracle_maintained,username;



=============================================================================================================

ENQ5524692


[11/30/2021 10:42 PM] Vivek Kumar Sharma


telnet smtp_server 25


SELECT host, lower_port, upper_port, acl

FROM dba_network_acls

/


SELECT acl,

principal,

privilege,

is_grant,

TO_CHAR(start_date, 'DD-MON-YYYY HH24:MI') AS start_date,

TO_CHAR(end_date, 'DD-MON-YYYY') AS end_date

FROM dba_network_acl_privileges

/


select object_name,object_type,owner from dba_objects where object_name in('UTL_MAIL','UTL_SMTP');


[11/30/2021 11:13 PM] Ravindra Kumar Gupta


/sys/acls/SEND_MAIL.xml


SYS at U241CP >SELECT host, lower_port, upper_port, acl

FROM dba_network_acls

/ 2 3


HOST LOWER_PORT UPPER_PORT ACL

------------------------------ ---------- ---------- ----------------------------------------

mailhost.statoil.no 25 25 /sys/acls/SEND_MAIL.xml

stfo-lnsmtp.statoil.no 25 25 /sys/acls/SEND_MAIL.xml

localhost /sys/acls/oracle-sysman-ocm-Resolve-Acce

ss.xml


login.microsoftonline.com 443 443 /sys/acls/send_mail_access.xml

www-authproxy.statoil.net 80 80 /sys/acls/send_mail_access.xml

www-proxy.statoil.no 80 80 /sys/acls/send_mail_access.xml

* NETWORK_ACL_5C3A2F9462A4345EE0538212618F

2ABA



==========================================================================================================


ret /prog88/oracle/admin/P061/exp/* /db88/ORACLE/P061/ -desc="P061-Exp.20180223.1317"


========================================================================================================


[1/30 10:15 AM] Vivek Kumar Sharma

select OWNER_NAME,JOB_NAME,STATE,OPERATION from dba_datapump_jobs where STATE='EXECUTING';


[1/30 10:16 AM] Vivek Kumar Sharma

select * from dba_datapump_jobs;



========================================================================================================


select PROTECTION_MODE, PROTECTION_LEVEL from v$database;




PROTECTION_MODE PROTECTION_LEVEL

-------------------- --------------------

MAXIMUM AVAILABILITY UNPROTECTED


========================================================================================================


select * from all_source where type = 'LIBRARY' and (lower(text) like ('%raster%') or lower(text) like ('%shape%'));


[12/29/2021 1:34 PM] Neha Sundriyal

mujhe P230 ke database ka size bta do 


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;




set pages 1000;

col comp_id for a12;

col comp_name for a35;

col version for a12;

col status for a12;

select comp_id,comp_name,version,status from dba_registry;



select * from dba_profiles;


===================================================================================


SQL> select DBTIMEZONE from v$database;


DBTIME

------

+02:00


SQL> select current_timestamp from v$database;


CURRENT_TIMESTAMP

---------------------------------------------------------------------------

07-SEP-22 07.04.30.019257 AM +00:00



ALTER DATABASE SET TIME_ZONE = '+00:00';


===========================================================================================


For Error :-


RMAN-08137: warning: archived log not deleted, needed for standby or upstream capture process


Please apply the below Fix  :-

SQL> show parameter log_archive_dest_state_2


NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

log_archive_dest_state_2             string      RESET

log_archive_dest_state_20            string      enable

log_archive_dest_state_21            string      enable

log_archive_dest_state_22            string      enable

log_archive_dest_state_23            string      enable

log_archive_dest_state_24            string      enable

log_archive_dest_state_25            string      enable

log_archive_dest_state_26            string      enable

log_archive_dest_state_27            string      enable

log_archive_dest_state_28            string      enable

log_archive_dest_state_29            string      enable

SQL> alter system set log_archive_dest_state_2=enable;


System altered.



==================================================================================================


redo entries:- 

"select s.sid, n.name, s.value, sn.username, sn.program, sn.type, sn.module

from v$sesstat s 

  join v$statname n on n.statistic# = s.statistic#

  join v$session sn on sn.sid = s.sid

where name like '%redo entries%'

order by value desc"


===============================================================================================


To check Backup database entry :-


tnsping P010RMAN


Login to server.


sqlplus rman/HplADKZfgjlqxyjz2A5H5QXHZ@P010RMAN


select db_key,dbid,name from rc_database where name='db';


===============================================================================================


To check database size and freee space.


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

/


==========================================================================================================

telnet 10.73.16.25 10001 from st-vtdb19.st.statoil.no

--------------------------------------------------------------------------------------

oracle@st-vtdb19 1011%nc -zv 10.73.16.25 10001

Ncat: Version 7.50 ( https://nmap.org/ncat )

Ncat: Connected to 10.73.16.25:10001.

Ncat: 0 bytes sent, 0 bytes received in 0.02 seconds.


======================================================================================================


Huge trace generation in P010


Check sql_trace parameter should be FALSE.


any job is hanging like Rman Backup,RmanLog,Export Backup,sqlplus 


================================================================================================


1. Stop the agent: emctl stop agent 


2.<AgentInstanceHome>/bin/emctl setproperty agent -name "SSLCipherSuites" -value "SSL_RSA_WITH_AES_128_CBC_SHA:SSL_RSA_WITH_AES_256_CBC_SHA:TLS_RSA_WITH_AES_128_CBC_SHA256:TLS_RSA_WITH_AES_256_CBC_SHA256:TLS_RSA_WITH_AES_128_GCM_SHA256:TLS_RSA_WITH_AES_256_GCM_SHA384:TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA:TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384:TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384:TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256:TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA:TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA:TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256:TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384:TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" 


3. Start the agent: <AgentInstanceHome>/bin/emctl start agent 


4. Check the agent to OMS communication: <AgentInstanceHome>/bin/emctl pingOMS


===============================================================================================================


begin

dbms_network_acl_admin.assign_acl(acl=>'SPORT_HTTP_ACCESS.xml',host=>'api.gateway.equinor.com',lower_port=>80,upper_port=>80);

dbms_network_acl_admin.assign_acl(acl=>'SPORT_HTTP_ACCESS.xml',host=>'api.gateway.equinor.com',lower_port=>443,upper_port=>443);

dbms_network_acl_admin.assign_acl(acl=>'SPORT_HTTP_ACCESS.xml',host=>'login.microsoftonline.com',lower_port=>80,upper_port=>80);

dbms_network_acl_admin.assign_acl(acl=>'SPORT_HTTP_ACCESS.xml',host=>'login.microsoftonline.com',lower_port=>443,upper_port=>443);

end;

/

========================================================================================================================



set long 10000

spool get_ddl.txt

select dbms_metadata.get_ddl('PROCEDURE','KILL_SESSION','DB_TEAM') from dual;



select * from USER_ROLE_PRIVS where USERNAME=SDE_IT; 

select * from USER_TAB_PRIVS where Grantee =SDE_IT; 

select * from USER_SYS_PRIVS where USERNAME =SDE_IT;


set head off

set pages 9999

set long 9999999

SELECT dbms_metadata.get_ddl('USER','DB_TEAM') FROM DUAL;

SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT','DB_TEAM') FROM DUAL;

SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','DB_TEAM') FROM DUAL;

SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT','DB_TEAM') FROM DUAL;

set head on;


===============================================================================================

SGA advice :-


SQL> set linesize 750

SQL> select * from v$sga_target_advice order by sga_size;


  SGA_SIZE SGA_SIZE_FACTOR ESTD_DB_TIME ESTD_DB_TIME_FACTOR ESTD_PHYSICAL_READS ESTD_BUFFER_CACHE_SIZE ESTD_SHARED_POOL_SIZE     CON_ID

---------- --------------- ------------ ------------------- ------------------- ---------------------- --------------------- ----------

      1536            .375      5605681            352.2484            83493277                    256                   348          0

      2048              .5        16340              1.0268            42169950                    512                   612          0

      2560            .625        16245              1.0208            36498087                   1024                   604          0

      3072             .75        16216               1.019            34918517                   1536                   732          0

===================================================================================================================

check current client info. :-

---------------------------

SELECT DISTINCT s.client_version FROM v$session_connect_info s WHERE s.sid = SYS_CONTEXT('USERENV', 'SID');


=======================================================================================================================


To check ddl of db links. :-

---------------------------


Set long 1000

SELECT DBMS_METADATA.GET_DDL('DB_LINK',db.db_link,db.owner) from dba_db_links db;


==========================================================================================================================


Password history :-


select * from user_history$ where user# in (select user# from user$ where name='EPDS');


If pwd history corrupted, use below command to remove password history.

----------------------------------------------------------------------

delete from user_history$ where user# in (select user# from user$ where name='EPDS');

commit;


=======================================================================================================================


Add application id -

-------------------------------

INSERT into ORACLE_ADM.CUSTOMER VALUES ('appl_id','Appl_name');


Commit;

==========================================================================


SQL> show parameter sec_case


NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

sec_case_sensitive_logon             boolean     TRUE

SQL>

SQL>

SQL>

SQL> select p.name,p.value from v$parameter p, v$spparameter s where s.name=p.name and p.isdeprecated='TRUE' and s.isspecified='TRUE';


NAME

--------------------------------------------------------------------------------

VALUE

--------------------------------------------------------------------------------

sec_case_sensitive_logon

TRUE



SQL>

SQL> alter system reset sec_case_sensitive_logon scope=spfile;


System altered.


SQL> select p.name,p.value from v$parameter p, v$spparameter s where s.name=p.name and p.isdeprecated='TRUE' and s.isspecified='TRUE';


no rows selected


========================================================================================================================================


ON P010


SQL> update oracle_adm.SID_APPLICATION_ID set APPLICATION_ID='8************' where sid='U230';

 

1 row updated.

 

SQL> commit;

 


Comments

Popular posts from this blog

Manual copy from one database(Prod) to another (DEV/TEST)

This Blog will help you to do database refresh from Prod(source) database to Test/Dev(target) database :- Prechecks :- ------------------------ To finding the size of each databases source and target :- ================================= select sum(bytes)/1024/1024/1024 from dba_data_files; ============================================== Do test connection from prod and test separately. show parameter undo (both servers) ===================================================== 1. Stop the database on target server. > shut immediate (Target) Database closed. Database dismounted. ORACLE instance shut down. $ nslookup zne-db1021 Truncated, retrying in TCP mode. Server:         143.97.1.115 Address:        143.97.1.115#53 Name:   zne-db1021.statoil.no Address: 10.80.129.25 ======================================== On Source : Check for any scheduled backup, if yes the stopped it during activity. crontab -l crontab -e put # in archivelog fi...