自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

高效進行Oracle日常巡檢:數(shù)據(jù)庫性能與安全檢查

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

相關(guān)文章《高效進行 Oracle 日常巡檢之數(shù)據(jù)庫基本情況檢查

前言

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

[[269462]]

一、檢查oracle相關(guān)資源的使用情況

主要檢查Oracle相關(guān)資源的使用情況,包含:

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

總共七個部分。

1. 檢查oracle初始化文件中相關(guān)參數(shù)

高效進行 Oracle 日常巡檢——數(shù)據(jù)庫性能與安全檢查

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

2. 檢查數(shù)據(jù)庫連接情況

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

高效進行 Oracle 日常巡檢——數(shù)據(jù)庫性能與安全檢查

高效進行 Oracle 日常巡檢——數(shù)據(jù)庫性能與安全檢查

其中:

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

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

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

高效進行 Oracle 日常巡檢——數(shù)據(jù)庫性能與安全檢查

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

高效進行 Oracle 日常巡檢——數(shù)據(jù)庫性能與安全檢查

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

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

高效進行 Oracle 日常巡檢——數(shù)據(jù)庫性能與安全檢查

如果有記錄返回,則這些對象的擴展已經(jīng)快達到它定義時的最大擴展值。對于這些對象要修改它的存儲結(jié)構(gòu)參數(shù)。

6. 檢查system表空間內(nèi)的內(nèi)容

高效進行 Oracle 日常巡檢——數(shù)據(jù)庫性能與安全檢查

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

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

高效進行 Oracle 日常巡檢——數(shù)據(jù)庫性能與安全檢查

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

二、檢查數(shù)據(jù)庫的性能

檢查Oracle數(shù)據(jù)庫性能情況,包含:

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

總共十個部分。

1. 檢查數(shù)據(jù)庫的等待事件

  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%'; 

如果數(shù)據(jù)庫長時間持續(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è)務(wù)的正常運行,定期殺掉僵尸進程。

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

高效進行 Oracle 日常巡檢——數(shù)據(jù)庫性能與安全檢查

13. 檢查共享池命令中率

高效進行 Oracle 日常巡檢——數(shù)據(jù)庫性能與安全檢查

如低于95%,則需要調(diào)整應(yīng)用程序使用綁定變量,或者調(diào)整數(shù)據(jù)庫參數(shù)shared pool的大小。

14.檢查排序區(qū)

高效進行 Oracle 日常巡檢——數(shù)據(jù)庫性能與安全檢查

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

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

高效進行 Oracle 日常巡檢——數(shù)據(jù)庫性能與安全檢查

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

三、檢查數(shù)據(jù)庫cpu、I/O、內(nèi)存性能

1. CPU使用情況

  1. top 

高效進行 Oracle 日常巡檢——數(shù)據(jù)庫性能與安全檢查

2. 內(nèi)存使用情況

  1. free -m 

 

高效進行 Oracle 日常巡檢——數(shù)據(jù)庫性能與安全檢查

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

高效進行 Oracle 日常巡檢——數(shù)據(jù)庫性能與安全檢查

四、檢查Oracle數(shù)據(jù)庫的安全性

主要檢查Oracle數(shù)據(jù)庫的安全性,包含:檢查系統(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)錯誤提示,應(yīng)作出系統(tǒng)告警通知。

2.  檢查用戶修改密碼

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

修改密碼方法:

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

2019-06-27 08:03:34

Oracle數(shù)據(jù)庫監(jiān)聽

2021-12-07 08:30:38

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

2011-05-25 09:20:24

Oracle數(shù)據(jù)庫

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

2022-04-11 06:56:14

數(shù)據(jù)庫安全數(shù)據(jù)泄露

2011-05-20 10:30:20

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

2011-05-18 09:39:19

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

2010-05-10 15:50:39

Oracle數(shù)據(jù)庫性能

2011-05-26 09:46:21

Oracle數(shù)據(jù)庫安全

2011-03-28 15:44:45

惠普數(shù)據(jù)庫Oracle數(shù)據(jù)庫

2011-08-02 13:37:17

2010-04-09 15:08:17

Oracle 數(shù)據(jù)庫性

2013-07-30 16:54:32

2017-10-18 19:12:24

數(shù)據(jù)庫Oracle安全管理

2010-07-30 09:22:54

DB2實現(xiàn)

2010-04-27 16:41:07

Oracle性能

2010-11-15 16:13:24

Oracle數(shù)據(jù)庫性能
點贊
收藏

51CTO技術(shù)棧公眾號