db_info
SET PAGESIZE 1000 SET LINESIZE 100 SET FEEDBACK OFF SELECT * FROM v$database; SELECT * FROM v$instance; SELECT * FROM v$version; SELECT a.name, a.value FROM v$sga a; SELECT Substr(c.name,1,60) "Controlfile", NVL(c.status,'UNKNOWN') "Status" FROM v$controlfile c ORDER BY 1; SELECT Substr(d.name,1,60) "Datafile", NVL(d.status,'UNKNOWN') "Status", d.enabled "Enabled", LPad(To_Char(Round(d.bytes/1024000,2),'9999990.00'),10,' ') "Size (M)" FROM v$datafile d ORDER BY 1; SELECT l.group# "Group", Substr(l.member,1,60) "Logfile", NVL(l.status,'UNKNOWN') "Status" FROM v$logfile l ORDER BY 1,2; PROMPT SET PAGESIZE 14 SET FEEDBACK ON
sessions
SET LINESIZE 500 SET PAGESIZE 1000 COLUMN username FORMAT A15 COLUMN osuser FORMAT A15 COLUMN spid FORMAT A10 COLUMN service_name FORMAT A15 COLUMN module FORMAT A35 COLUMN machine FORMAT A25 COLUMN logon_time FORMAT A20 SELECT NVL(s.username, '(oracle)') AS username, s.osuser, s.sid, s.serial#, p.spid, s.lockwait, s.status, s.service_name, s.module, s.machine, s.program, TO_CHAR(s.logon_Time,'DD-MON-YYYY HH24:MI:SS') AS logon_time FROM v$session s, v$process p WHERE s.paddr = p.addr ORDER BY s.username, s.osuser; SET PAGESIZE 14
tablespace_full
SET PAGESIZE 100 PROMPT Tablespaces nearing 0% free PROMPT *************************** SELECT tablespace_name, size_mb, free_mb, max_size_mb, max_free_mb, TRUNC((max_free_mb/max_size_mb) * 100) AS free_pct FROM ( SELECT a.tablespace_name, b.size_mb, a.free_mb, b.max_size_mb, a.free_mb + (b.max_size_mb - b.size_mb) AS max_free_mb FROM (SELECT tablespace_name, TRUNC(SUM(bytes)/1024/1024) AS free_mb FROM dba_free_space GROUP BY tablespace_name) a, (SELECT tablespace_name, TRUNC(SUM(bytes)/1024/1024) AS size_mb, TRUNC(SUM(GREATEST(bytes,maxbytes))/1024/1024) AS max_size_mb FROM dba_data_files GROUP BY tablespace_name) b WHERE a.tablespace_name = b.tablespace_name ) WHERE ROUND((max_free_mb/max_size_mb) * 100,2) < 10; SET PAGESIZE 14
max_extents
SET LINESIZE 500 SET PAGESIZE 1000 SET VERIFY OFF PROMPT PROMPT Tables and Indexes nearing MAX_EXTENTS PROMPT ************************************** SELECT e.owner, e.segment_type, Substr(e.segment_name, 1, 30) segment_name, Trunc(s.initial_extent/1024) "INITIAL K", Trunc(s.next_extent/1024) "NEXT K", s.max_extents, Count(*) as extents FROM dba_extents e, dba_segments s WHERE e.owner = s.owner AND e.segment_name = s.segment_name AND e.owner NOT IN ('SYS', 'SYSTEM') GROUP BY e.owner, e.segment_type, e.segment_name, s.initial_extent, s.next_extent, s.max_extents HAVING Count(*) > s.max_extents - 10 ORDER BY e.owner, e.segment_type, Count(*) DESC;
object_status
SET SERVEROUTPUT ON SET PAGESIZE 1000 SET LINESIZE 255 SET FEEDBACK OFF SET VERIFY OFF SELECT Substr(object_name,1,30) object_name, object_type, status FROM all_objects WHERE owner = Upper('&&1'); PROMPT SET FEEDBACK ON SET PAGESIZE 18
min_datafile_size
COLUMN block_size NEW_VALUE v_block_size
SELECT TO_NUMBER(value) AS block_size
FROM v$parameter
WHERE name = 'db_block_size';
COLUMN tablespace_name FORMAT A20
COLUMN file_name FORMAT A50
COLUMN current_bytes FORMAT 999999999999999
COLUMN shrink_by_bytes FORMAT 999999999999999
COLUMN resize_to_bytes FORMAT 999999999999999
SET VERIFY OFF
SET LINESIZE 200
SELECT a.tablespace_name,
a.file_name,
a.bytes AS current_bytes,
a.bytes - b.resize_to AS shrink_by_bytes,
b.resize_to AS resize_to_bytes
FROM dba_data_files a,
(SELECT file_id, MAX((block_id+blocks-1)*&v_block_size) AS resize_to
FROM dba_extents
GROUP by file_id) b
WHERE a.file_id = b.file_id
ORDER BY a.tablespace_name, a.file_name;
monitor_memorySET LINESIZE 200
COLUMN username FORMAT A20
COLUMN module FORMAT A20
SELECT NVL(a.username,'(oracle)') AS username,
a.module,
a.program,
Trunc(b.value/1024) AS memory_kb
FROM v$session a,
v$sesstat b,
v$statname c
WHERE a.sid = b.sid
AND b.statistic# = c.statistic#
AND c.name = 'session pga memory'
AND a.program IS NOT NULL
ORDER BY b.value DESC;
SET LINESIZE 500
COLUMN name FORMAT A30
COLUMN value FORMAT A60
COLUMN displayvalue FORMAT A60
SELECT sp.sid,
sp.name,
sp.value,
sp.display_value
FROM v$spparameter sp
ORDER BY sp.name, sp.sid;
temp_io
SET PAGESIZE 1000
SELECT SUBSTR(t.name,1,50) AS file_name,
f.phyblkrd AS blocks_read,
f.phyblkwrt AS blocks_written,
f.phyblkrd + f.phyblkwrt AS total_io
FROM v$tempstat f,
v$tempfile t
WHERE t.file# = f.file#
ORDER BY f.phyblkrd + f.phyblkwrt DESC;
SET PAGESIZE 18
http://oracle-base.com/dba/scripts.php
No comments:
Post a Comment