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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

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

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

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

SQL>connscott/tiger數(shù)據(jù)庫啟動階段包括3個過程

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

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

startupnomount;

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

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

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

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

(用戶跟蹤文件)

用戶跟蹤文件由連到Oracle服務(wù)器的用戶進程產(chǎn)生.文件中包含被跟蹤的SQL語句的統(tǒng)計信息或用戶錯誤消息.當(dāng)用戶會話遇到錯誤將會產(chǎn)生此文件serverprocess也可產(chǎn)生此文件

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

其中“STATUS”表示Oracle當(dāng)前的實例狀態(tài),必須為“OPEN”;“DATABASE_STATUS”表示Oracle當(dāng)前數(shù)據(jù)庫的狀態(tài),必須為“ACTIVE”數(shù)據(jù)庫的日常檢查檢查數(shù)據(jù)庫版本

SQL>select*fromv$version;

數(shù)據(jù)庫的日常檢查數(shù)據(jù)庫的日常檢查檢查oracle服務(wù)進程

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

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

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

.Oracle監(jiān)聽實例狀態(tài)的進程,輸出顯示為:“ora_smon_crsdb”

.Oracle監(jiān)聽客戶端連接進程狀態(tài)的進程,輸出顯示為:“ora_pmon_crsdb”

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

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

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

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

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

/data/oradata/crsdb/control01.ctl

/data/oradata/crsdb/control02.ctl

/data/oradata/crsdb/control03.ctl輸出結(jié)果應(yīng)該有3條以上(包含3條)的記錄,“STATUS”應(yīng)該為空。狀態(tài)為空表示控制文件狀態(tài)正常。數(shù)據(jù)庫的日常檢查檢查Oracle在線日志狀態(tài)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輸出結(jié)果應(yīng)該有3條以上(包含3條)記錄,“STATUS”應(yīng)該為非“INVALID”,非“DELETED”。注:“STATUS”顯示為空表示正常。數(shù)據(jù)庫的日常檢查檢查Oracle表空間狀態(tài)

輸出結(jié)果中STATUS應(yīng)該都為ONLINE。數(shù)據(jù)庫的日常檢查檢查Oracle表空間所有數(shù)據(jù)文件狀態(tài)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輸出結(jié)果中“STATUS”應(yīng)該都為“ONLINE”?;蛘逽QL>selectfile_name,statusfromdba_data_files;輸出的status必須為available數(shù)據(jù)庫的日常檢查檢查所有回滾段狀態(tài)SQL>selectsegment_name,statusfromdba_rollback_segs;數(shù)據(jù)庫的日常檢查檢查數(shù)據(jù)庫連接情況SQL>selectcount(*)fromv$session;//查看會話連接數(shù)SQL>selectsid,serial#,username,program,machine,statusfromv$session;

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

3使用企業(yè)管理器管理數(shù)據(jù)庫listener.oraListener客戶端服務(wù)端tnsnames.orasqlnet.ora遠程管理配置遠程企業(yè)管理器遠程連接數(shù)據(jù)庫

確認(rèn)遠程客戶端與服務(wù)器端是網(wǎng)絡(luò)相通的

配置遠程企業(yè)管理器監(jiān)聽工具工具可通過下面命令使用:

$lsnrctlstart//開啟監(jiān)聽$lsnrctlstatus//查看監(jiān)聽狀態(tài)

$lsnrctlstop//停止監(jiān)聽

配置遠程企業(yè)管理器配置本地網(wǎng)絡(luò)服務(wù)配置本地網(wǎng)絡(luò)服務(wù)配置本地網(wǎng)絡(luò)服務(wù)配置本地網(wǎng)絡(luò)服務(wù)配置本地網(wǎng)絡(luò)服務(wù)配置本地網(wǎng)絡(luò)服務(wù)配置本地網(wǎng)絡(luò)服務(wù)配置本地網(wǎng)絡(luò)服務(wù)下一步,直至完成!打開客戶端上安裝的企業(yè)管理器,登錄數(shù)據(jù)庫遠程管理數(shù)據(jù)庫點擊相應(yīng)的選項,查看、更改數(shù)據(jù)庫

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

檢查數(shù)據(jù)庫狀態(tài):是否online

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

查看數(shù)據(jù)庫實例狀態(tài)$srvctlstatusdatabase–dcrsdb單個實例的狀態(tài)

$srvctlstatusinstance–dcrsdb1–i

server1開啟關(guān)閉數(shù)據(jù)庫實例

$srvctlstartdatabase–dcrsdb$srvctlstartinstance–dcrsdb1–iserver1

$srvctlstopinstance–dcrsdb1–iserver1數(shù)據(jù)庫的日常操作-RAC

查看ASM實例狀態(tài)$srvctlstatusasm–nserver1開啟ASM實例

$srvctlstartasm–nserver1關(guān)閉ASM實例$srvctlstopasm

–nserver1數(shù)據(jù)庫的日常操作-RAC

開啟監(jiān)聽$srvctlstartlistener–nserver1關(guān)閉監(jiān)聽$srvctlstoplistener–nserver1開啟節(jié)點應(yīng)用

$srvctlstartnodeapps–nserver1關(guān)閉節(jié)點應(yīng)用$srvctlstopnodeapps–nserver1數(shù)據(jù)庫的日常操作-RAC

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

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

停止Oracle實例

關(guān)閉ASM實例

關(guān)閉節(jié)點應(yīng)用程序常見錯誤RAC數(shù)據(jù)庫中,其中一個節(jié)點處于offine狀態(tài),如圖:常見錯誤造成原因網(wǎng)絡(luò)問題資源耗盡(CPU、I/O

等)嚴(yán)重的數(shù)據(jù)庫爭用Oraclebug解決方案:檢查網(wǎng)絡(luò),確保無網(wǎng)絡(luò)錯誤,如

UDP

錯誤或

IP

數(shù)據(jù)包丟失或故障錯誤。檢查網(wǎng)絡(luò)配置,確保所有節(jié)點上的所有網(wǎng)絡(luò)配置均設(shè)置正確。檢查服務(wù)器是否存在

CPU

負載問題或可用內(nèi)存不足。檢查數(shù)據(jù)庫在實例驅(qū)逐之前是否正處于掛起狀態(tài)或存在嚴(yán)重的性能問題。檢查

CHM(ClusterHealthMonitor)

輸出,以查看服務(wù)器是否存在

CPU

或內(nèi)存負載問題、網(wǎng)絡(luò)問題或者

lmd

lms

進程出現(xiàn)死循環(huán)。如果

OSWatcher

尚未設(shè)置,CHM

輸出不可用時,使用

OSWatcher

輸出將有所幫助。

5數(shù)據(jù)庫緊急故

溫馨提示

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

評論

0/150

提交評論