成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

高效進行Oracle日常巡檢:數據庫性能與安全檢查

運維 數據庫運維 數據安全
​對于線上的業(yè)務,oracle的數據庫運行的穩(wěn)定性和安全性是用戶關心的一個至關重要的問題,本文簡要介紹在系列一的基礎上需要巡檢的內容,主要包括資源使用、性能、安全性等。

相關文章《高效進行 Oracle 日常巡檢之數據庫基本情況檢查

前言

​對于線上的業(yè)務,oracle的數據庫運行的穩(wěn)定性和安全性是用戶關心的一個至關重要的問題,除了通過監(jiān)控平臺對數據庫進行監(jiān)控以外,還需要定期對數據庫進行“體檢”,是保障數據庫穩(wěn)定運行的必不可的輔助手段。本文簡要介紹在系列一的基礎上需要巡檢的內容,主要包括資源使用、性能、安全性等。

[[269462]]

一、檢查oracle相關資源的使用情況

主要檢查Oracle相關資源的使用情況,包含:

  • 檢查Oracle初始化文件中相關的參數值
  • 檢查數據庫連接情況
  • 檢查系統(tǒng)磁盤空間
  • 檢查Oracle各個表空間使用情況
  • 檢查一些擴展異常的對象
  • 檢查system表空間內的內容
  • 檢查對象的下一擴展與表空間的最大擴展值

總共七個部分。

1. 檢查oracle初始化文件中相關參數

高效進行 Oracle 日常巡檢——數據庫性能與安全檢查

若LIMITVALU-MAXUTILIZATION<=5,則表明與RESOURCENAME相關的Oracle初始化參數需要調整。可以通過修改Oracle初始化參數文件$ORACLEBASE/admin/ORCL/pfile/initORCL.ora來修改。

2. 檢查數據庫連接情況

查看當前會話連接數,是否屬于正常范圍。

高效進行 Oracle 日常巡檢——數據庫性能與安全檢查

高效進行 Oracle 日常巡檢——數據庫性能與安全檢查

其中:

  • SID 會話(session)的ID號;
  • SERIAL# 會話的序列號,和SID一起用來唯一標識一個會話;
  • USERNAME 建立該會話的用戶名;
  • PROGRAM 這個會話是用什么工具連接到數據庫的;
  • STATUS 當前這個會話的狀態(tài),ACTIVE表示會話正在執(zhí)行某些任務,INACTIVE表示當前會話沒有執(zhí)行任何操作;

3. 檢查系統(tǒng)磁盤空間

如果文件系統(tǒng)的剩余空間過小或增長較快,需對其進行確認并刪除不用的文件以釋放空間。

高效進行 Oracle 日常巡檢——數據庫性能與安全檢查

4. 檢查表空間的使用情況

高效進行 Oracle 日常巡檢——數據庫性能與安全檢查

如果空閑率%Free小于10%以上(包含10%),則注意要增加數據文件來擴展表空間而不要是用數據文件的自動擴展功能。

5. 檢查一些擴展異常的對象

高效進行 Oracle 日常巡檢——數據庫性能與安全檢查

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

6. 檢查system表空間內的內容

高效進行 Oracle 日常巡檢——數據庫性能與安全檢查

如果記錄返回,則表明system表空間內存在一些非system和sys用戶的對象。應該進一步檢查這些對象是否與我們應用相關。如果相關請把這些對象移到非System表空間,同時應該檢查這些對象屬主的缺省表空間值。

7. 檢查對象的下一擴展與表空間的最大擴展值

高效進行 Oracle 日常巡檢——數據庫性能與安全檢查

如果有記錄返回,則表明這些對象的下一個擴展大于該對象所屬表空間的最大擴展值,需調整相應表空間的存儲參數。

二、檢查數據庫的性能

檢查Oracle數據庫性能情況,包含:

  • 檢查數據庫的等待事件
  • 檢查死鎖及處理
  • 檢查cpu、I/O、內存性能
  • 查看是否有僵死進程
  • 檢查行鏈接/遷移
  • 定期做統(tǒng)計分析
  • 檢查緩沖區(qū)命中率
  • 檢查共享池命中率
  • 檢查排序區(qū)
  • 檢查日志緩沖區(qū)

總共十個部分。

1. 檢查數據庫的等待事件

  1. set pages 80 
  2. set lines 120 
  3. col event for a40 
  4. 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%'; 

如果數據庫長時間持續(xù)出現(xiàn)大量像latch free,enqueue,buffer busy waits,db file sequential read,db file scattered read等等待事件時,需要對其進行分析,可能存在問題的語句。

2. Disk Read最高的SQL語句的獲取

  1. SQL>SELECT SQL_TEXT FROM (SELECT * FROM V$SQLAREA ORDER BY DISK_READS) 
  2. WHERE ROWNUM<=5 desc; 

3. 查找前十條性能差的SQL

  1. SELECT * FROM (SELECT PARSING_USER_ID 
  2. EXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS, 
  3. SQL_TEXT FROM V$SQLAREA ORDER BY DISK_READS DESC)  
  4. WHERE ROWNUM<10 ; 

4. 等待時間最多的5個系統(tǒng)等待事件的獲取

  1. SELECT * FROM (SELECT * FROM V$SYSTEM_EVENT WHERE EVENT NOT LIKE 'SQL%' ORDER BY TOTAL_WAITS DESC) WHERE ROWNUM<=5; 

5.  檢查運行很久的SQL

  1. COLUMN USERNAME FORMAT A12  
  2. COLUMN OPNAME FORMAT A16  
  3. COLUMN PROGRESS FORMAT A8  
  4. 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; 

6.  檢查消耗CPU最高的進程

  1. SET LINE 240 
  2. SET VERIFY OFF 
  3. COLUMN SID FORMAT 999 
  4. COLUMN PID FORMAT 999  
  5. COLUMN S_# FORMAT 999 
  6. COLUMN USERNAME FORMAT A9 HEADING "ORA USER" 
  7. COLUMN PROGRAM FORMAT A29 
  8. COLUMN SQL FORMAT A60 
  9. COLUMN OSNAME FORMAT A9 HEADING "OS USER" 
  10. SELECT P.PID PID,S.SID SID,P.SPID SPID,S.USERNAME USERNAME,S.OSUSER OSNAME,P.SERIAL# S_#,P.TERMINAL,P.PROGRAM PROGRAM,P.BACKGROUND,S.STATUS,RTRIM(SUBSTR(A.SQL_TEXT, 1, 80)) SQLFROM V$PROCESS P, V$SESSION S,V$SQLAREA A WHERE P.ADDR = S.PADDR AND S.SQL_ADDRESS = A.ADDRESS (+) AND P.SPID LIKE '%&1%'; 

7. 檢查碎片程序高的表

  1. SQL> 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); 

8.  檢查表空間的 I/O 比例

  1. SQL>SELECT DF.TABLESPACE_NAME NAME,DF.FILE_NAME "FILE",F.PHYRDS PYR, F.PHYBLKRD PBR,F.PHYWRTS PYW, F.PHYBLKWRT PBW FROM V$FILESTAT F, DBA_DATA_FILES DF WHERE F.FILE# = DF.FILE_ID ORDER BY DF.TABLESPACE_NAME; 

9.  檢查文件系統(tǒng)的 I/O 比例

  1. SQL>SELECT SUBSTR(A.FILE#,1,2) "#", SUBSTR(A.NAME,1,30) "NAME", A.STATUS,A.BYTES,B.PHYRDS,B.PHYWRTS FROM V$DATAFILE A, V$FILESTAT B WHERE A.FILE# = B.FILE#; 

10. 檢查死鎖及處理

查詢目前鎖對象信息:

  1. col sid for 999999 
  2. col username for a10 
  3. col schemaname for a10 
  4. col osuser for a16 
  5. col machine for a16 
  6. col terminal for a20 
  7. col owner for a10 
  8. col object_name for a30 
  9. col object_type for a10 
  10. select sid,serial#,username,SCHEMANAME,osuser,MACHINE, 
  11. terminal,PROGRAM,owner,object_name,object_type,o.object_id  
  12. from dba_objects o,v$locked_object l,v$session s  
  13. where o.object_id=l.object_id and s.sid=l.session_id; 

oracle級kill掉該session:

  1. alter system kill session '&sid,&serial#'; 

操作系統(tǒng)級kill掉session:

  1. #>kill -9 pid 

11.查看是否有僵死進程

  1. select spid from v$process where addr not in (select paddr from v$session); 

有些僵尸進程有阻塞其他業(yè)務的正常運行,定期殺掉僵尸進程。

12.  檢查緩沖區(qū)命令中率

高效進行 Oracle 日常巡檢——數據庫性能與安全檢查

13. 檢查共享池命令中率

高效進行 Oracle 日常巡檢——數據庫性能與安全檢查

如低于95%,則需要調整應用程序使用綁定變量,或者調整數據庫參數shared pool的大小。

14.檢查排序區(qū)

高效進行 Oracle 日常巡檢——數據庫性能與安全檢查

如果disk/(memoty+row)的比例過高,則需要調整sortareasize(workareasizepolicy=false)或pgaaggregatetarget(workareasizepolicy=true)。

15. 檢查日志緩中區(qū)

高效進行 Oracle 日常巡檢——數據庫性能與安全檢查

如果redo buffer allocation retries/redo entries 超過1% ,則需要增大log_buffer。

三、檢查數據庫cpu、I/O、內存性能

1. CPU使用情況

  1. top 

高效進行 Oracle 日常巡檢——數據庫性能與安全檢查

2. 內存使用情況

  1. free -m 

 

高效進行 Oracle 日常巡檢——數據庫性能與安全檢查

3. 系統(tǒng)io情況

高效進行 Oracle 日常巡檢——數據庫性能與安全檢查

四、檢查Oracle數據庫的安全性

主要檢查Oracle數據庫的安全性,包含:檢查系統(tǒng)安全信息,定期修改密碼,總共兩個部分。

1. 檢查系統(tǒng)安全日志信息

系統(tǒng)安全日志文件的目錄在/var/log 下,主要檢查登錄成功或失敗的用戶日志信息。

檢查登錄成功的日志:

  1. [root@rac2 ~]# grep -i accepted /var/log/secure 
  2. Jan 8 08:44:43 rac2 sshd[29559]: Accepted password for root from ::ffff:10.10.10.6 port 1119 ssh2…… 

檢查登錄失敗的日志:

  1. [root@rac2 ~]# grep -i inval /var/log/secure &&grep -i failed /var/log/secure 
  2. Jan 9 10:30:44 rac2 sshd[3071]: Invalid user ydbuser from ::ffff:192.168.3.5 
  3. Jan 9 10:30:56 rac2 sshd[3071]: Failed password for invalid user ydbuser from ::ffff:192.168.3.5 port 36005 ssh2 
  4. Jan 9 10:30:56 rac2 sshd[3071]: Failed password for invalid user ydbuser from ::ffff:192.168.3.5 port 36005 ssh2 
  5. Jan 10 22:44:38 rac2 sshd[21611]: Failed password for root from ::ffff:10.10.10.6 port 1723 ssh2 

在出現(xiàn)的日志信息中沒有錯誤(Invalid、refused)提示,如果沒有(Invalid、refused)視為系統(tǒng)正常,出現(xiàn)錯誤提示,應作出系統(tǒng)告警通知。

2.  檢查用戶修改密碼

數據庫系統(tǒng)上往往存在很多的用戶,如:第三方數據庫監(jiān)控系統(tǒng),初始安裝數據庫時的演示用戶,管理員用戶等等,這些用戶的密碼往往是寫定的,被很多人知道,會被別有用心的人利用來攻擊系統(tǒng)甚至進行修改數據。需要修改密碼的用戶包括: 數據庫管理員用戶SYS,SYSTEM;其他用戶。

修改密碼方法:

  1. Sql>alter user USER_NAME identified by PASSWORD; 
責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2019-06-27 08:03:34

Oracle數據庫監(jiān)聽

2021-12-07 08:30:38

Oracle數據庫后端開發(fā)

2011-05-25 09:20:24

Oracle數據庫

2011-03-10 13:24:26

2011-06-14 15:11:59

ORACLE

2012-07-23 14:30:33

Oracle

2010-06-17 12:59:07

Oracle

2011-05-20 10:30:20

ORACLE數據庫性能優(yōu)化

2011-05-18 09:39:19

Oracle數據庫性能優(yōu)化

2022-04-11 06:56:14

數據庫安全數據泄露

2011-05-26 09:46:21

Oracle數據庫安全

2011-03-28 15:44:45

惠普數據庫Oracle數據庫

2010-05-10 15:50:39

Oracle數據庫性能

2011-08-02 13:37:17

2013-07-30 16:54:32

2010-04-09 15:08:17

Oracle 數據庫性

2017-10-18 19:12:24

數據庫Oracle安全管理

2015-03-13 19:34:41

2010-04-12 17:19:16

Oracle數據庫

2010-07-30 09:22:54

DB2實現(xiàn)
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩精品久久久久久 | 欧美色综合天天久久综合精品 | 中文字幕在线观看 | 国产精品久久久久久久7电影 | 久久综合一区二区 | 中国美女撒尿txxxxx视频 | 日本成人在线免费视频 | 国产精品国产精品国产专区不蜜 | 国产欧美日韩在线一区 | 亚洲性视频 | 国产在线一区二区三区 | 国产精品一区二区三区在线 | 成人免费视频观看 | 国产一级片免费看 | 国产日韩精品一区 | 日韩免费看片 | 色99视频| 成人在线视频网 | 51ⅴ精品国产91久久久久久 | 国产 亚洲 网红 主播 | 欧美在线成人影院 | 嫩草研究影院 | 精品久久久久久红码专区 | 日本不卡免费新一二三区 | 伊人婷婷| 欧美日韩专区 | 国产精品高潮呻吟久久aⅴ码 | 韩日一区二区三区 | 精品免费国产视频 | 在线综合视频 | 亚洲一区二区中文字幕 | 免费av一区二区三区 | 91传媒在线观看 | 欧美一级二级在线观看 | 亚洲一二三区在线观看 | 一区二区高清 | 日韩手机在线视频 | 色网站视频 | 2022精品国偷自产免费观看 | 黄色大片免费网站 | 日韩和的一区二在线 |