Oracle巡檢管理守則_第1頁
Oracle巡檢管理守則_第2頁
Oracle巡檢管理守則_第3頁
Oracle巡檢管理守則_第4頁
Oracle巡檢管理守則_第5頁
免費預覽已結束,剩余6頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、巡檢內容一、檢查數據庫基本狀況主要對數據庫的基本狀況進行檢查,其中包含:檢查 Oracle實例狀態, 檢查Oracle服務進程,檢查Oracle監聽進程,總共三個部分。1.1 檢查Oracle實例其中“STATUS表示Oracle當前的實例狀態,必須為 “OPEN ;“DATABASE_STATUS示Oracle當前數據庫的狀態,必須為“ACTIVE其中,“LOG_MODM示Oracle當前的歸檔方式。 “ARCHIVELOG表示 數據庫運行在歸檔模式下,“NOARCHIVEtOGl示數據庫運行在非歸檔模 式下。為了數據庫的安全性,強烈建議數據庫運行在歸檔模式下。1.2 檢查Oracle服務進

2、程在運行Oracle的進程命令輸出后,輸出顯示至少應包含一下一些進程:Oracle寫數據文件的進程,輸出顯示為:“ora_dbw0_ORCL ; I I 1P * ,Oracle寫日志文件的進程,輸出顯示為:“ora_lgwr_ORCL' ;Oracle監聽實例狀態的進程,輸出顯示為:“ora_smon_ORCL ;Oracle監聽客戶端連接進程狀態的進程,輸出顯示為: “ora_pmon_ORCL ;Oracle進行歸檔的進程,輸出顯示為:“ora_arc0_ORCL' ;Oracle進行檢查點的進程,輸出顯示為:“ora_ckpt_ORCL' ;Oracle進行恢復

3、的進程,輸出顯示為:“ora_reco_ORCL' ;j v一 一1.3 檢查Oracle監聽狀態“Services Summary”項標識Oracle的監聽進程正在監聽哪些數據庫實例,輸出顯示中至少應該有 “ORCL這一項。檢查監聽進程是否存在:二、檢查系統和 Oracle日志文件檢查相關的日志文件,包含:檢查操作系統的日志文件,檢查 Oracle日 志文件,檢查Oracle核心轉儲目錄,檢查root用戶和oracle用戶的 email ,檢查數據庫的字符集,總共五個部分。2.1 檢查操作系統日志文件查看是否有與Oracle用戶相關的出錯信息。2.2 檢查Oracle日志文件Orac

4、le在運行過程中,會在警告日志文件(alert_SID.log)中記錄數據庫的一些運行情況:數據庫的啟動、關閉,啟動時的非缺省參數;數據庫的 重做日志切換情況,記錄每次切換的時間,及如果因為檢查點 (checkpoint)操作沒有執行完成造成不能切換,會記錄不能切換的原因; 對數據庫進行的某些操作,如創建或刪除表空間、增加數據文件;數據庫 發生的錯誤,如表空間不夠、出現壞塊、數據庫內部錯誤(OR- 600)等。定期檢查日志文件,根據日志中發現的問題及時進行處理:問題處理啟動參數不對檢查初始化參數文件因為檢查點操作或歸檔操作沒有完成造 成重做日志不能切換如果經常發生這樣的情況,可以考慮增加重做日

5、志 文件組;想辦法提高檢查點或歸檔操作的效率;有人未經授權刪除了表空間檢查數據庫的安全問題,是否密碼太簡單;如有必 要,撤消某些用戶的系統權限出現壞塊累 1 f 一 3 二r x. x 檢查是否是硬件問題(如磁盤本生有壞塊),如果不 是,檢查是那個數據庫對象出現了壞塊,對這個對 象進行重建表空間不夠增加數據文件到相應的表空間出現 ORA-600根據日志文件的內密查看相應的TRC文件,如果是Oracle的bug,要及時打上相應的補丁Listener 日志:$ORACLE_HOME/network/log/sqlnet.log2.3 檢查 Oracle 核心轉儲目錄如果上面命令的結果每天都在增長,

6、則說明 Oracle進程經常發生核心轉 儲。這說明某些用戶進程或者數據庫后臺進程由于無法處理的原因而異常 退出。頻繁的核心轉儲特別是數據庫后臺進程的核心轉儲會導致數據庫異 常終止。2.4 檢查root用戶和 Oracle 用戶的email查看有誤與Oracle用戶相關的出錯信息。2.5 檢查當前數據庫的字符集設定適合的字符集可以解決亂碼問題。三、檢查Oracle對象情況主要檢查相關Oracle對象的情況,包含:檢查 Oracle控制文件情況,檢 查Oracle在線日志情況,檢查 Oracle表空間的情況,檢查 Oracle所有 數據文件情況,檢查Oracle所有表、索引、存儲過程、觸發器、包等

7、對 象的情況,檢查Oracle所有回滾段的情況,總共六個部分。3.1 檢查Oracle控制文件狀態輸出結果應該有2條以上(包含2條)的記錄,“STATUS應該為空。狀 態為空表示控制文件狀態正常。*1吟 1/ I,二 J3.2 檢查Oracle 在線日志情況輸出結果應該有3條以上(包含3條)記錄,“STATUS應該為非 “INVALID',非"DELETED。注:“STATUS顯示為空表示正常。3.3 檢查Oracle表空間情況一; ;'1輸出結果中STATUS5該者B為ONLINE3.4 檢查Oracle所有數據文件情況輸出結果中“STATUS應該都為“ONLINE

8、。 I; 或者:輸出結果中“STATUS應該都為“AVAILABLE 。 I3.5 檢查對象情況3.5.1 檢查對象類別和大小合理分配資源,將冗余以及臨時表定期進行清理,釋放資源空間。3.5.2 檢查無效對象如果有記錄返回,則說明存在無效對象。若這些對象與應用相關,那么需 要重新編譯生成這個對象。3.6 檢查回滾段情況3.6.1 檢查回滾段狀態輸出結果中所有回滾段的“STATUS應該為“ONLINE 。3.6.2 檢查是否有回滾段爭用發生回滾段爭用時,需要審視爭用情況,即哪些用戶正在使用回滾段資源如果有用戶正在使用,根據業務實際情況采取措施。四、檢查Oracle相關資源的使用情況主要檢查Ora

9、cle相關資源的使用情況,包含:檢查 Oracle初始化文件中 相關的參數值,檢查數據庫連接情況,檢查系統磁盤空間,檢查 Oracle 各個表空間使用情況,檢查一些擴展異常的對象,檢查system表空間內的內容,檢查對象的下一擴展與表空間的最大擴展值,總共七個部分。4.1 檢查Oracle初始化文件中相關參數值若 LIMIT_VALU-MAX_UTILIZATION<=5則表明與 RESOURCE_NAME的 Oracle初始化參數需要調整。可以通過修改 Oracle初始化參數文件 $ORACLE_BASE/dbs/spfileORCL.ora 來修改。 f I I )* 飛 '

10、4.2 檢查數據庫連接情況查看當前會話連接數是否屬于正常范圍。其中:SID,即會話(session)的ID號;SERIAL#即會話的序列號,和SID 一起用來唯一標識一個會話;USERNAM EP建立該會話的用戶名;PROGRA MP這個會話是用什么工具連接到數據庫的;STATUS即當前這個會話的狀態,ACTIVE示會話正在執行某些任務, INACTIVE表示當前會話沒有執行任何操作;如果建立了過多的連接,會消耗數據庫的資源,同時,對一些“掛死”的 連接可能需要手工進行清理。如果要手工斷開某個會話,則執行:(一般 不建議使用這種方式去殺掉數據庫的連接,這樣有時候session不會斷開容易引起死

11、連接。建議通過 sid查到操作系統的spid,使用ps - ef|grep spidno的方式確認spid不是ORACL的后臺進程。使用操作系統的 kill -9命令殺掉連接)。【注】USERNAME為空)的會話,是Oracle的后臺進程,不要對這些會話 進行任何操作。4.3 檢查系統磁盤空間如果文件系統的剩余空間過小或增長較快,需對其進行確認并刪除不用的 文件以釋放空間。4.4 檢查表空間使用情況如果空閑表空間比率小于10蛆上(包含10% ,則注意要增加數據文件 來擴展表空間而不要是用數據文件的自動擴展功能。請不要對表空間增加 過多的數據文件,增加數據文件的原則是每個數據文件大小為2G或者4

12、G,自動擴展的最大限制在8G4.5 檢查一些擴展異常的對象如果有記錄返回,則這些對象的擴展已經快達到它定義時的最大擴展值。對于這些對象要修改它的存儲結構參數。J j I ;4.6 檢查system 表空間內的內容如果記錄返回,則表明system表空間內存在一些非system和sys用戶的 對象。應該進一步檢查這些對象是否與我們應用相關。如果相關請把這些 對象移到非System表空間,同時應該檢查這些對象屬主的缺省表空間值。4.7 檢查對象的下一擴展與表空間的最大擴展值如果有記錄返回,則表明這些對象的下一個擴展大于該對象所屬表空間的 最大擴展值,需調整相應表空間的存儲參數。五、檢查Oracle數

13、據庫備份結果主要檢查Oracle數據庫備份結果,包含:檢查數據庫備份日志信息,檢查backup卷中文件產生的時間,檢查 oracle用戶的email ,總共三個部5.1 檢查數據庫備份日志信息假設:備份的臨時目錄為/backup/hotbakup ,我們需要檢查2015年05月06日的備份結果,則用下面的命令來檢查:如果文件中存在“ERROR:,則表明備份沒有成功,存在問題需要檢查。5.2 檢查backup卷中文件產生的時間 backup卷是備份的臨時目錄,查看輸出結果中文件的日期,觀察是否是在 所設定的時間范圍內完成的備份。如果時間不對則表明熱備份腳本沒執行 成功。5.3 檢查oracle用

14、戶的email熱備份腳本是通過Oracle用戶的cron去執行的。cron執行完后操作系統 就會發一條Email通知Oracle用戶任務已經完成。查看 Oracle email中 在備份計劃的時間內有無 ORA- Error , Failed等出錯信息,如果有則表 明備份不正常。六、檢查Oracle數據庫性能主要檢查Oracle數據庫性能情況,包含:檢查數據庫的等待事件,檢查 死鎖及處理,檢查cpu、I/O、內存性能,查看是否有僵死進程,檢查行鏈 接/遷移,定期做統計分析,檢查緩沖區命中率,檢查共享池命中率,檢 查排序區,檢查日志緩沖區,總共十個部分。6.1 檢查數據庫的等待事件如果數據庫長時

15、間持續出現大量像latch free , enqueue, buffer busywaits , db file sequential read , db file scattered read等等待事件時,需要對其進行分析,可能存在問題的語句。16.2 Disk Read 最高的SQL語句的獲取6.3 查找前十條性能差的SQL語句6.4 等待時間最多的 5個系統等待事件的獲取 I :T-、 “ I ;6.5 檢查運行很久的 SQL6.6 檢查消耗CPU最高的進程6.7 檢查碎片程度高的表6.8 檢查表空間的I/O比例6.9 檢查文件系統的I/O比例6.10 檢查死鎖及處理查看死鎖若有結果,則

16、oracle 級kill 掉該session操作系統kill 掉session6.11 檢查數據庫 CPU、I/O、內存性能記錄數據庫的cpu使用、IO、內存等使用情況,使用 vmstat,iostat,sar,top等命令進行信息收集并檢查這些信息,判斷資源使用情況。CPU®用情況內存使用情況系統I/O情況系統負載情況6.12 查看是否有僵死進程有些僵死進程有阻塞其他業務的正常運行,定期殺掉僵尸進程。I之一6.13 檢查行鏈接/遷移注:含有long raw列的表有行鏈接是正常的,找到遷移行保存到 f I I 尸.<、-chained_rows 表中,如沒有該表執行./rdbm

17、s/admin/utlchain.sqlSql>analyze table tablename list chained rows;可通過表 chained_rows 中table_name,head_rowid 看出哪些行是遷移行如:Sql>create table aa as select a.* from sb_zsxx a,chained_rowsb where a.rowid=b.head_rowid and b.table_name ='SB_ZSXX' I .,-sql>delete from sb_zsxx where rowid in (se

18、lect head_rowid fromchained_rows where table_name = 'SB_ZSXX'); 一;I .sql>insert into sb_zsxx select * from chained_row wheretable_name = 'SB_ZSXX'6.14 定期做統計分析對于采用Oracle Cost-Based-Optimizer 的系統,需要定期對數據對象的 統計信息進行采集更新,使優化器可以根據準備的信息作出正確的 explain plan 。在以下情況更需要進行統計信息的更新:1、應用發生變化2、大規模數

19、據遷移、歷史數據遷出、其他數據的導入等3、數據量發生變化查看表或索引的統計信息是否需更新,如:若num_rows與count(*)的行數相差很多,則該表需要更新統計信息。exec dbms_stats.gather_table_stats(ownname =>'SYS' ,tabname =>'UTIL_RECOMP_SORTED' .granularity =>'AUTO' , cascade => TRUE); |6.15 檢查緩沖區命中率如果命中率低于90%則需加大數據庫參數db_cache_size。6.16 檢查

20、共享池命中率如低于95%則需要調整應用程序使用綁定變量,或者調整數據庫參數shared pool 的大小。6.17 檢查排序區如果disk/(memoty+row)的比例過高,則需要調整 sort_area_size(workarea_size_policy=false) 或Pga_aggregate_target(workarea_size_policy=true) 。6.18 檢查日志緩沖區如果 redo buffer allocation retries/redo entries超過 1% ,貝U需要增大 log_buffer。七、檢查數據庫安全性主要檢查 Oracle數據庫的安全性,包

21、含:檢查系統安全信息,定期修改 密碼,總共兩個部分。7.1 檢查系統安全日志信息系統安全日志文件的目錄在/var/log 下,主要檢查登錄成功或失敗的用戶日志信息。檢查登錄成功的日志檢查登錄失敗的日志在出現的日志信息中沒有錯誤(Invalid 、refused)提示,如果沒有(Invalid 、refused)視為系統正常,出現錯誤提示,應作出系統告警通知。7.2 檢查用戶修改密碼在數據庫系統上往往存在很多的用戶,如:第三方數據庫監控系統,初始 安裝數據庫時的演示用戶,管理員用戶等等,這些用戶的密碼往往是寫定 的,被很多人知道,會被別有用心的人利用來攻擊系統甚至進行修改數據。 需要修改密碼的用戶包括:數據庫管理員用戶SYS SYSTEM其他用戶。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論