oracle日常管理與維護_第1頁
oracle日常管理與維護_第2頁
oracle日常管理與維護_第3頁
oracle日常管理與維護_第4頁
oracle日常管理與維護_第5頁
已閱讀5頁,還剩68頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

Oracle數據庫維護教程目錄第1章實例的啟動與關閉第2章數據庫日常檢查與維護第3章使用企業管理器管理數據庫第4章RAC數據庫日常操作與維護第5章數據庫緊急故障處理1實例的啟動與關閉連接數據庫

$sqlplus/nolog啟動SQL*Plus,不連接庫

SQL>sqlplus“/assysdba”以DBA身份連接庫以其它用戶身份連接數據庫SQL>connscott/tiger@db

SQL>connscott/tiger數據庫啟動階段包括3個過程

Nomount:實例啟動Mount:數據庫mount,加載控制文件Open:數據文件全部打開,可以正常訪問

OPENMOUNTNOMOUNTSHUTDOWN實例中控制文件描述的所有文件被打開控制文件打開實例啟動STARTUPSHUTDOWN數據庫啟動階段connect/assysdbaselect*fromv$instance;無法查詢實例信息:實例未啟動或者:操作系統下ps–ef|grepora*Nomount階段數據庫無法啟動到nomount操作系統內核參數是否足夠初始化參數文件是否可讀初始化參數文件內容正確相應參數是否調整過大,導致內存、后臺進程無法分配可以嘗試重啟數據庫服務器后再次啟動數據庫connect/assysdbaselect*fromv$instance;如果信息無法查詢:說明數據庫沒有mount嘗試mount數據庫alterdatabasemount;Mount階段數據庫無法mount檢查初始化參數文件中control_files設置是否可讀檢查操作系統上控制文件是否可讀寫可能控制文件被意外損壞ALTERDATABASE命令改變數據庫狀態從nomount到mount

startupnomount;

alterdatabasemount;從mount狀態到open狀態alterdatabaseopen;ALTERDATABASE命令用來改變數據狀態,及數據文件狀態關閉數據庫AxxxxTxxooIxxxo關閉模式允許新連接等待當前會話終止等待當前事務終止強迫執行一次checkpoint且關閉文件Nxooo關閉模式:NORMALTRANSACTIONALIMMEDIATEABORTYESNOxo關閉選項在ShutdownNormal,ShutdownTransactionalorShutdownImmediate三種模式下Database一致關閉過程:數據庫buffer中的數據寫進數據文件未提交的修改回滾資源釋放開啟過程:不需要實例恢復關閉選項在ShutdownAbort或InstanceFailure或StartupForceDatabase不一致關閉過程:修改過的buffer不寫進數據文件未提交事務不回滾開啟過程:重做日志用于重寫修改Undo用于回滾未提交的修改釋放資源通過監控診斷文件管理實例當實例可操作時,診斷文件包含重要關鍵事件信息

有助于解決問題和更好的進行數據庫日常管理診斷文件種類:alertSID.log

文件Backgroundtracefiles(后臺跟蹤文件)Usertracefiles(用戶跟蹤文件)AlertLogFile(警示文件)alertSID.log文件記錄下數據庫運行時主要事件的命令和結果.用于記錄日常操作信息或診斷數據庫錯誤.文件中每一個條目都一個時間戳.DBA管理alertSID.log文件.存儲位置由BACKGROUND_DUMP_DEST參數指定.BackgroundTraceFiles

(后臺跟蹤文件)每個后臺進程的錯誤都會產生后臺跟蹤文件.用于診斷和解決錯誤.當后臺進程遇到錯誤就產生跟蹤文件存儲位置由BACKGROUND_DUMP_DEST參數指定UserTraceFile

(用戶跟蹤文件)

用戶跟蹤文件由連到Oracle服務器的用戶進程產生.文件中包含被跟蹤的SQL語句的統計信息或用戶錯誤消息.當用戶會話遇到錯誤將會產生此文件serverprocess也可產生此文件

存儲位置由USER_DUMP_DEST參數指定文件大小由MAX_DUMP_FILE_SIZE參數指定,默認值為10M.2數據庫日常檢查與維護檢查數據庫狀態確認數據庫是否在open狀態,正常提供服務。$sqlplus/assysdba

其中“STATUS”表示Oracle當前的實例狀態,必須為“OPEN”;“DATABASE_STATUS”表示Oracle當前數據庫的狀態,必須為“ACTIVE”數據庫的日常檢查檢查數據庫版本

SQL>select*fromv$version;

數據庫的日常檢查數據庫的日常檢查檢查oracle服務進程

$ps-ef|grepora_在檢查Oracle的進程命令輸出后,輸出顯示至少應包括以下一些進程:

.Oracle寫數據文件的進程,輸出顯示為:“ora_dbw0_crsdb”

.Oracle寫日志文件的進程,輸出顯示為:“ora_lgwr_crsdb”

.Oracle監聽實例狀態的進程,輸出顯示為:“ora_smon_crsdb”

.Oracle監聽客戶端連接進程狀態的進程,輸出顯示為:“ora_pmon_crsdb”

.Oracle進行歸檔的進程,輸出顯示為:“ora_arc0_crsdb”

.Oracle進行檢查點的進程,輸出顯示為:“ora_ckpt_crsdb”

.Oracle進行恢復的進程,輸出顯示為:“ora_reco_crsdb”數據庫的日常檢查查看操作系統日志文件#cat/var/adm/syslog/syslog.log|grepfailed

#cat/var/adm/syslog/syslog.log|greperror看是否有與oracle相關的出錯信息數據庫的日常檢查查看oracle日志文件$cat$ORACLE_HOME/log/server1/alterserver1.log|grepora-$cat$ORACLE_HOME/log/server1/alterserver1.log|grepfail$cat$ORACLE_HOME/log/server1/alterserver1.log|greperrorOracle在運行過程中,會在警告日志文件(alert_SID.log)中記錄數據庫的一些運行情況:數據庫的啟動、關閉,啟動時的非缺省參數;數據庫的重做日志切換情況,記錄每次切換的時間,及如果因為檢查點(checkpoint)操作沒有執行完成造成不能切換,會記錄不能切換的原因;對數據庫進行的某些操作,如創建或刪除表空間、增加數據文件;數據庫發生的錯誤,如表空間不夠、出現壞塊、數據庫內部錯誤(ORA-600)等。數據庫的日常檢查定期檢查日志文件,根據日志中發現的問題及時進行處理:問題處理啟動參數不對檢查初始化參數文件因為檢查點操作或歸檔操作沒有完成造成重做日志不能切換如果經常發生這樣的情況,可以考慮增加重做日志文件組;想辦法提高檢查點或歸檔操作的效率;有人未經授權刪除了表空間檢查數據庫的安全問題,是否密碼太簡單;如有必要,撤消某些用戶的系統權限出現壞塊檢查是否是硬件問題(如磁盤本生有壞塊),如果不是,檢查是那個數據庫對象出現了壞塊,對這個對象進行重建表空間不夠增加數據文件到相應的表空間出現ORA-600根據日志文件的內容查看相應的TRC文件,如果是Oracle的bug,要及時打上相應的補丁數據庫的日常檢查查看root用戶和數據庫用戶的email#tail–n200/var/mail/root#tail–n200/var/mail/oracle查看有無與oracle用戶相關出錯信息數據庫的日常檢查檢查Oracle控制文件狀態SQL>selectstatus,namefromv$controlfile;

STATUSNAME----------------------------------------------------------------------

/data/oradata/crsdb/control01.ctl

/data/oradata/crsdb/control02.ctl

/data/oradata/crsdb/control03.ctl輸出結果應該有3條以上(包含3條)的記錄,“STATUS”應該為空。狀態為空表示控制文件狀態正常。數據庫的日常檢查檢查Oracle在線日志狀態SQL>selectgroup#,status,type,memberfromv$logfile;GROUP#STATUSTYPEMEMBER

--------------------------------------------------------------------------------------------------------1ONLINE+DATA/crsdb/onlinelog/group_1.257.8367341812ONLINE+DATA/crsdb/onlinelog/group_2.258.8367341813ONLINE+DATA/crsdb/onlinelog/group_3.265.8367371654ONLINE+DATA/crsdb/onlinelog/group_4.266.836737165輸出結果應該有3條以上(包含3條)記錄,“STATUS”應該為非“INVALID”,非“DELETED”。注:“STATUS”顯示為空表示正常。數據庫的日常檢查檢查Oracle表空間狀態

輸出結果中STATUS應該都為ONLINE。數據庫的日常檢查檢查Oracle表空間所有數據文件狀態SQL>selectname,statusfromv$datafile;NAMESTATUS--------------------------------------------------------------------------------------+DATA/crsdb/datafile/system.259.836734181SYSTEM+DATA/crsdb/datafile/sysaux.260.836734183ONLINE+DATA/crsdb/datafile/undotbs1.261.836734185ONLINE+DATA/crsdb/datafile/undotbs2.263.836734197ONLINE+DATA/crsdb/datafile/users.264.836734199ONLINE輸出結果中“STATUS”應該都為“ONLINE”。或者SQL>selectfile_name,statusfromdba_data_files;輸出的status必須為available數據庫的日常檢查檢查所有回滾段狀態SQL>selectsegment_name,statusfromdba_rollback_segs;數據庫的日常檢查檢查數據庫連接情況SQL>selectcount(*)fromv$session;//查看會話連接數SQL>selectsid,serial#,username,program,machine,statusfromv$session;

//查看會話連接的詳細信息數據庫的日常檢查STATUS:當前這個會話的狀態,ACTIVE表示會話正在執行某些任務,INACTIVE表示當前會話沒有執行任何操作;如果建立了過多的連接,會消耗數據庫的資源,同時,對一些“掛死”的連接可能需要手工進行清理。如果DBA要手工斷開某個會話,則執行:(一般不建議使用這種方式去殺掉數據庫的連接,這樣有時候session不會斷開。容易引起死連接。建議通過sid查到操作系統的spid,使用ps–ef|grepspidno的方式確認spid不是ORACLE的后臺進程。使用操作系統的kill-9命令殺掉連接)altersystemkillsession'SID,SERIAL#';注意:上例中SID為1到10(USERNAME列為空)的會話,是Oracle的后臺進程,不要對這些會話進行任何操作。數據庫的日常檢查檢查系統磁盤空間如果文件系統的剩余空間過小或增長較快,需對其進行確認并刪除不用的文件以釋放空間。數據庫的日常檢查查看表空間使用情況(使用圖形化管理界面查看)如果空閑率%Free小于10%以上(包含10%),則注意要增加數據文件來擴展表空間而不要是用數據文件的自動擴展功能。請不要對表空間增加過多的數據文件,增加數據文件的原則是每個數據文件大小為2G或者4G,自動擴展的最大限制在8G

3使用企業管理器管理數據庫listener.oraListener客戶端服務端tnsnames.orasqlnet.ora遠程管理配置遠程企業管理器遠程連接數據庫

確認遠程客戶端與服務器端是網絡相通的

配置遠程企業管理器監聽工具工具可通過下面命令使用:

$lsnrctlstart//開啟監聽$lsnrctlstatus//查看監聽狀態

$lsnrctlstop//停止監聽

配置遠程企業管理器配置本地網絡服務配置本地網絡服務配置本地網絡服務配置本地網絡服務配置本地網絡服務配置本地網絡服務配置本地網絡服務配置本地網絡服務下一步,直至完成!打開客戶端上安裝的企業管理器,登錄數據庫遠程管理數據庫點擊相應的選項,查看、更改數據庫

上一章的數據庫日常檢查也可以通過企業管理器操作,簡單易讀遠程企業管理器管理數據庫4RAC數據庫的日常操作與維護數據庫的日常操作-RAC

檢查數據庫狀態:是否online

crs_stat–t各項顯示必須是online,否則數據庫可能出處于異常工作狀態數據庫的日常操作-RAC

查看數據庫實例狀態$srvctlstatusdatabase–dcrsdb單個實例的狀態

$srvctlstatusinstance–dcrsdb1–i

server1開啟關閉數據庫實例

$srvctlstartdatabase–dcrsdb$srvctlstartinstance–dcrsdb1–iserver1

$srvctlstopinstance–dcrsdb1–iserver1數據庫的日常操作-RAC

查看ASM實例狀態$srvctlstatusasm–nserver1開啟ASM實例

$srvctlstartasm–nserver1關閉ASM實例$srvctlstopasm

–nserver1數據庫的日常操作-RAC

開啟監聽$srvctlstartlistener–nserver1關閉監聽$srvctlstoplistener–nserver1開啟節點應用

$srvctlstartnodeapps–nserver1關閉節點應用$srvctlstopnodeapps–nserver1數據庫的日常操作-RAC

顯示數據庫配置$srvctlconfigdatabase-dcrsdb顯示指定集群數據庫的所有服務$srvctlconfigservice-dcrsdb顯示節點應用程序的配置$srvctlconfignodeapps-nserver1-a-g-s–l顯示ASM實例的配置$srvctlconfigasm–server1數據庫的日常操作-RAC

啟動RAC集群啟動節點應用程序(虛擬IP、GSD、TNS監聽器和ONS)啟動ASM實例啟動Oracle實例停止RAC集群

停止Oracle實例

關閉ASM實例

關閉節點應用程序常見錯誤RAC數據庫中,其中一個節點處于offine狀態,如圖:常見錯誤造成原因網絡問題資源耗盡(CPU、I/O

等)嚴重的數據庫爭用Oraclebug解決方案:檢查網絡,確保無網絡錯誤,如

UDP

錯誤或

IP

數據包丟失或故障錯誤。檢查網絡配置,確保所有節點上的所有網絡配置均設置正確。檢查服務器是否存在

CPU

負載問題或可用內存不足。檢查數據庫在實例驅逐之前是否正處于掛起狀態或存在嚴重的性能問題。檢查

CHM(ClusterHealthMonitor)

輸出,以查看服務器是否存在

CPU

或內存負載問題、網絡問題或者

lmd

lms

進程出現死循環。如果

OSWatcher

尚未設置,CHM

輸出不可用時,使用

OSWatcher

輸出將有所幫助。

5數據庫緊急故

溫馨提示

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

評論

0/150

提交評論