免费在线a视频-免费在线观看a视频-免费在线观看大片影视大全-免费在线观看的视频-色播丁香-色播基地

Oralce數據庫巡檢SQL腳本

:2024年11月13日 超哥的IT私房菜
分享到:

Oracle數據庫巡檢SQL腳本檢查表空間使用情況、索引、約束、日志、實例狀態、表空間狀態、數據文件狀態等。性能最差的前10條SQL語句和一些擴展異常的對象需要特別關注。

Oralce數據庫巡檢SQL腳本

1 檢查表空間使用情況

2 檢查是否有 offline 狀態的表空間

3 在線日志是否存在小于 50M 的及狀態不正常

4 檢查鎖阻塞

5 查看是否有僵死進程

6 檢查是否有失效索引

7 檢查不起作用的約束

8 緩沖區命中率

9 數據字典命中率

10 庫緩存命中率

11 內存中的排序

12 磁盤中的排序

13 臨時空間使用率

14 檢查ORACLE實例狀態

15 檢查ORACLE表空間的狀態

16 檢查ORACLE所有數據文件狀態

17 檢查所有回滾段狀態

18 檢查一些擴展異常的對象

19 DISK READ最高的SQL語句的獲取

20 性能最差的前10條SQL

21 檢查運行很久的SQL

22 檢查碎片程度高的表

23 檢查死鎖及處理

24 失效的觸發器

25 失敗的JOB

Oralce數據庫巡檢SQL腳本

1 檢查表空間使用情況

SELECT B.TABLESPACE_NAME      TABLESPACE,

   A.EXTENT_MANAGEMENT    EXT_MGT,

   A.SEGMENT_SPACE_MANAGEMENT SEG_MGT,

   A.STATUS,

   A.LOGGING,

   B.TOTAL,

   B.FREE,

   B.USED_PCT

 FROM DBA_TABLESPACES A,

    (SELECT D.TABLESPACE_NAME TABLESPACE_NAME,

       ROUND((D.SUMBYTES / 1024 / 1024 / 1024), 2) || 'GB' TOTAL,

       ROUND(DECODE(F.SUMBYTES, NULL, 0, F.SUMBYTES) / 1024 / 1024 / 1024,

           2) || 'GB' FREE,

       ROUND((D.SUMBYTES - DECODE(F.SUMBYTES, NULL, 0, F.SUMBYTES)) * 100 /

          D.SUMBYTES,

           2) || '%' USED_PCT

     FROM (SELECT TABLESPACE_NAME, SUM(BYTES) SUMBYTES

         FROM DBA_FREE_SPACE

         GROUP BY TABLESPACE_NAME) F,

        (SELECT TABLESPACE_NAME,    

            SUM(BYTES) SUMBYTES

         FROM DBA_DATA_FILES

         GROUP BY TABLESPACE_NAME) D

     WHERE F.TABLESPACE_NAME(+) = D.TABLESPACE_NAME

     ORDER BY D.TABLESPACE_NAME) B

WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME;

2 檢查是否有 offline 狀態的表空間

SELECT FILE_ID AS ID,

   RELATIVE_FNO "FNO",

   ROUND(BYTES / 1024 / 1024) AS MBYTES,

   ROUND(MAXBYTES / 1024 / 1024) MAXMBYTES,

   BLOCKS,

   MAXBLOCKS,

   AUTOEXTENSIBLE "AUTO",

   INCREMENT_BY "INC",

   ROUND(USER_BYTES / 1024 / 1024) "NOW_MB",

   USER_BLOCKS,

    STATUS,

   ONLINE_STATUS "ONLINE_S"

 FROM DBA_DATA_FILES;

3 在線日志是否存在小于 50M 的及狀態不正常

SELECT A.GROUP#, A.STATUS, A.BYTES, B.MEMBER, A.ARCHIVED

 FROM V$LOG A, V$LOGFILE B

WHERE A.GROUP# = B.GROUP#;

4 檢查鎖阻塞

SELECT DECODE(REQUEST, 0, '阻塞者:', '等待者:') || SID SID,

   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;

5 查看是否有僵死進程

SELECT SPID FROM V$PROCESS WHERE ADDR NOT IN (SELECT PADDR FROMV$SESSION);

6 檢查是否有失效索引

SELECT OWNER, A.INDEX_NAME, A.INDEX_TYPE, A.STATUS

 FROM DBA_INDEXES A

WHERE STATUS = 'UNUSABLE';

SELECT A.INDEX_NAME, A.PARTITION_NAME, A.TABLESPACE_NAME, A.STATUS

 FROM DBA_IND_PARTITIONS A

WHERE STATUS = 'UNUSABLE';

7 檢查不起作用的約束

SELECT OWNER, CONSTRAINT_NAME, TABLE_NAME, CONSTRAINT_TYPE, STATUS

 FROM DBA_CONSTRAINTS

WHERE STATUS = 'DISABLE'

  AND CONSTRAINT_TYPE = 'P';

8 緩沖區命中率

緩沖命中率應大于90%。

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;

9 數據字典命中率

數據字典命中率應大于 95%。

SELECT (1 - (SUM(GETMISSES) / SUM(GETS))) * 100 "HIT RATIO" FROM V$ROWCACHE;

10 庫緩存命中率

庫緩存命中率應大于 95%。

SELECT SUM(PINS) / (SUM(PINS) + SUM(RELOADS)) * 100 "HIT RATIO" FROMV$LIBRARYCACHE;

11 內存中的排序

如果存在大量的磁盤排序,則表明檢查目前系統中消耗大量磁盤的 SQL 是否已經經過調整。

SELECT NAME, VALUE FROM V$SYSSTAT WHERE NAME LIKE '%SORTS%';

12 磁盤中的排序

檢查使用磁盤排序的會話信息,可以定位執行了大量磁盤排序的會話。

SELECT B.NAME, A.SID, A.VALUE

 FROM V$SESSTAT A, V$STATNAME B

WHERE A.STATISTIC# = B.STATISTIC#

  AND B.NAME = 'SORTS (DISK)'

  AND A.VALUE > 0

  AND ROWNUM < 10

ORDER BY A.VALUE DESC;

13 臨時空間使用率

SELECT * FROM V$TEMP_SPACE_HEADER;

14 檢查ORACLE實例狀態

其中“STATUS”表示ORACLE當前的實例狀態,必須為“OPEN”;“DATABASE_STATUS”表示ORACLE當前數據庫的狀態,必須為“ACTIVE”。

SELECT INSTANCE_NAME, HOST_NAME, STARTUP_TIME, STATUS, DATABASE_STATUS FROM V$INSTANCE;

15 檢查ORACLE表空間的狀態

輸出結果中STATUS應該都為ONLINE。

SELECT TABLESPACE_NAME, STATUS FROM DBA_TABLESPACES;

16 檢查ORACLE所有數據文件狀態

輸出結果中“STATUS”應該都為“ONLINE”。

SELECT NAME, STATUS FROM V$DATAFILE;

輸出結果中“STATUS”應該都為“AVAILABLE”。

SELECT FILE_NAME, STATUS FROM DBA_DATA_FILES;

17 檢查所有回滾段狀態

輸出結果中所有回滾段的“STATUS”應該為“ONLINE”。

SELECT SEGMENT_NAME, STATUS FROM DBA_ROLLBACK_SEGS;

18 檢查一些擴展異常的對象

如果有記錄返回,則這些對象的擴展已經快達到它定義時的最大擴展值,對于這些對象要修改它的存儲結構參數。

SELECT SEGMENT_NAME,

   SEGMENT_TYPE,

   TABLESPACE_NAME,

    (EXTENTS / MAX_EXTENTS) * 100 PERCENT

 FROM SYS.DBA_SEGMENTS

WHERE MAX_EXTENTS != 0

  AND (EXTENTS / MAX_EXTENTS) * 100 >= 95

ORDER BY PERCENT;

19 DISK READ最高的SQL語句的獲取

SELECT SQL_TEXT

 FROM (SELECT * FROM V$SQLAREA ORDER BY DISK_READS)

WHERE ROWNUM <= 5;

20 性能最差的前10條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;

21 檢查運行很久的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;

22 檢查碎片程度高的表

SELECT SEGMENT_NAME TABLE_NAME, COUNT(*) EXTENTS

 FROM DBA_SEGMENTS

WHERE OWNER NOT IN ('SYS', 'SYSTEM')

GROUP BY SEGMENT_NAME

HAVING COUNT(*) = (SELECT MAX(COUNT(*))

           FROM DBA_SEGMENTS

          GROUP BY SEGMENT_NAME);

23 檢查死鎖及處理

SELECT SID,

   SERIAL#,

   USERNAME,

   SCHEMANAME,

   OSUSER,

   MACHINE,

   TERMINAL,

   PROGRAM,

   OWNER,

   OBJECT_NAME,

   OBJECT_TYPE,

   O.OBJECT_ID

 FROM DBA_OBJECTS O, V$LOCKED_OBJECT L, V$SESSION S

WHERE O.OBJECT_ID = L.OBJECT_ID

  AND S.SID = L.SESSION_ID;

24 失效的觸發器

SELECT OWNER, TRIGGER_NAME, TABLE_NAME, STATUS

 FROM DBA_TRIGGERS

WHERE STATUS = 'DISABLED';

25 失敗的JOB

SELECT JOB, WHAT, LAST_DATE, NEXT_DATE, FAILURES, BROKEN

 FROM DBA_JOBS

WHERE SCHEMA_USER = 'USER';

點贊,你的認可是我創作的動力!
收藏,你的青睞是我努力的方向!
評論,你的意見是我進步的財富!

PS:因為公眾號平臺更改了推送規則,如果不想錯過內容,記得讀完點一下“在看”,加個“星標”,這樣每次新文章推送才會第一時間出現在你的訂閱列表里。點“在看”支持我吧!

原文來源:https://mp.weixin.qq.com/s/Fdtc7hZx9yJbj2WZvLuOAQ

[我要糾錯]
文:宋聰喬&發表于江蘇
關鍵詞: Oralce 數據庫 巡檢 腳本 檢查表

來源:本文內容搜集或轉自各大網絡平臺,并已注明來源、出處,如果轉載侵犯您的版權或非授權發布,請聯系小編,我們會及時審核處理。
聲明:江蘇教育黃頁對文中觀點保持中立,對所包含內容的準確性、可靠性或者完整性不提供任何明示或暗示的保證,不對文章觀點負責,僅作分享之用,文章版權及插圖屬于原作者。

點個贊
0
踩一腳
0

您在閱讀:Oralce數據庫巡檢SQL腳本

Copyright?2013-2024 JSedu114 All Rights Reserved. 江蘇教育信息綜合發布查詢平臺保留所有權利

蘇公網安備32010402000125 蘇ICP備14051488號-3技術支持:南京博盛藍睿網絡科技有限公司

南京思必達教育科技有限公司版權所有   百度統計

主站蜘蛛池模板: 中文字幕 视频一区 | 野花的视频在线观看免费高清 | 天天操美女逼 | 日色网站 | 成年人网站在线免费观看 | 亚洲日韩欧美视频 | 台湾中文娱乐综合久久久 | 欧美精品亚洲精品日韩专区va | 午夜男人一级毛片免费 | 韩国伦理剧在线看 | 草草视频在线观看最新 | 亚洲第一视频在线播放 | 日日摸日日添夜夜爽97 | 亚洲国产精品热久久2022 | 特黄特级高清免费视频毛片 | 免费一级大片儿 | heisi视频网在线观看 | 黄色污污 | 情人边吃奶边做好爽嗷嗷叫 | 国产精品亚洲w码日韩中文 国产精品小黄鸭一区二区三区 | 91热久久免费频精品动漫99 | 福利片网站 | 香蕉大黄香蕉在线观看 | 2021国产成人午夜精品 | 九九99久麻豆精品视传媒 | 毛片动态图 | 一级做a爰片性色毛片武则天五则 | 这里只有精品99re在线 | 亚洲男人影院 | 韩日精品视频 | 午夜伦理片免费观看在线 | 国产无遮挡裸体免费视频在线观看 | 国产高清一级毛片在线不卡 | 99精品网站 | 禁止十八成人无限免费观看网站 | 欧美综合成人网 | 精品国产91久久久久 | 视频精品一区 | 国产高清在线丝袜精品一区 | 福利800av视频导航 | 日本久久一区二区 |
最熱文章
最新文章
  • 阿里云上云鉅惠,云產品享最低成本,有需要聯系,
  • 卡爾蔡司鏡片優惠店,鏡片價格低
  • 蘋果原裝手機殼