1. 程式人生 > >Oracle 查詢狀態 自檢

Oracle 查詢狀態 自檢

 

 

 

Tips:
fnd_lobs表會儲存我們上傳的一些檔案和Form介面“檔案“-“匯出”的檔案。如果不定期清理了話,會出現檔案上傳失敗,或者是匯出按鈕可以點選,但是點選完以後沒有任何反應。這個時候我們應該看下fnd_lobs所屬的表空間APPS_TS_MEDIA是不是已經滿了。我們可以通過以下的命令刪除“匯出”的檔案。
delete fnd_lobs fl WHERE fl.program_name='export';

 

--檢視資料庫例項狀態
SELECT instance_name, host_name, startup_time, status, database_status
  
FROM v$instance; --檢視資料庫資訊 SELECT NAME, log_mode, open_mode FROM v$database a; --檢視本機監聽器程序 ps -ef|grep lsn|grep -v grep -e 顯示所有程序。 -f 顯示更完整的程序資訊 -v:顯示不包含匹配文字的所有行。 --檢視控制檔案的狀態 SELECT status, NAME FROM v$controlfile; --檢視redo日記的狀態 SELECT group#, status, TYPE, MEMBER FROM v$logfile; --查看錶空間的狀態
SELECT tablespace_name, status FROM dba_tablespaces; --檢視資料檔案的狀態 SELECT NAME, status FROM v$datafile; --檢視無效物件 SELECT owner, object_name, object_type, status FROM dba_objects WHERE status != 'VALID' AND owner != 'SYS' AND owner != 'SYSTEM'; --v$resource_limit 資源檢查 SELECT resource_name, initial_allocation,CURRENT_UTILIZATION, max_utilization, limit_value
FROM v$resource_limit ; --v$resource_limit 資料庫連線狀態 SELECT COUNT(1) FROM v$session a SELECT sid, serial#, username, program, machine, status FROM v$session; --檢查表空間使用情況 SELECT f.tablespace_name, a.total "total (M)", f.free "free (M)", round((f.free / a.total) * 100) "% Free" 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))) free FROM dba_free_space GROUP BY tablespace_name) f WHERE a.tablespace_name = f.tablespace_name(+) ORDER BY "% Free"; --表空間是否具有自動擴充套件空間 SELECT t.tablespace_name, d.file_name, d.autoextensible, d.bytes, d.maxbytes, d.status FROM dba_tablespaces t, dba_data_files d WHERE t. tablespace_name = d. tablespace_name ORDER BY tablespace_name, file_name --檢查下一擴充套件與表空間的最大擴充套件值 SELECT a.table_name, a.next_extent, a.tablespace_name FROM all_tables a, (SELECT tablespace_name, MAX(bytes) AS big_chunk FROM dba_free_space GROUP BY tablespace_name) f WHERE f.tablespace_name = a.tablespace_name AND a.next_extent > f.big_chunk UNION SELECT a.index_name, a.next_extent, a.tablespace_name FROM all_indexes a, (SELECT tablespace_name, MAX(bytes) AS big_chunk FROM dba_free_space GROUP BY tablespace_name) f WHERE f.tablespace_name = a.tablespace_name AND a.next_extent > f.big_chunk; --檢查資料庫的等待事件 SELECT sid, event, p1, p2, p3, wait_time, seconds_in_wait FROM v$session_wait WHERE event NOT LIKE 'SQL%' AND event NOT LIKE 'rdbms%'; --查詢前十條效能差的sql SELECT * FROM (SELECT parsing_user_id executions, sorts, command_type, disk_reads, sql_text FROM v$sqlarea ORDER BY disk_reads DESC) WHERE rownum < 10; --查詢前十條效能差的sql SELECT username, sid, opname, round(sofar * 100 / totalwork, 0) || '%' AS progress, time_remaining, sql_text FROM v$session_longops, v$sql WHERE time_remaining <> 0 AND sql_address = address AND sql_hash_value = hash_value; --監控資料庫某使用者在執行什麼SQL SELECT sql_text FROM v$sqltext t, v$session s WHERE t.address = s.sql_address AND t.hash_value = s.sql_hash_value AND s.machine = 'XXXXX' OR username = 'XXXXX' -- 檢視某主機名,或使用者名稱