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

下載本文檔

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

文檔簡(jiǎn)介

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

$sqlplus/nolog啟動(dòng)SQL*Plus,不連接庫(kù)

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

SQL>connscott/tiger數(shù)據(jù)庫(kù)啟動(dòng)階段包括3個(gè)過(guò)程

Nomount:實(shí)例啟動(dòng)Mount:數(shù)據(jù)庫(kù)mount,加載控制文件Open:數(shù)據(jù)文件全部打開(kāi),可以正常訪(fǎng)問(wèn)

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

startupnomount;

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

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

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

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

(用戶(hù)跟蹤文件)

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

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

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

SQL>select*fromv$version;

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

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

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

.Oracle寫(xiě)日志文件的進(jìn)程,輸出顯示為:“ora_lgwr_crsdb”

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

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

.Oracle進(jìn)行歸檔的進(jìn)程,輸出顯示為:“ora_arc0_crsdb”

.Oracle進(jìn)行檢查點(diǎn)的進(jìn)程,輸出顯示為:“ora_ckpt_crsdb”

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

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

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

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

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

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

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

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

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

配置遠(yuǎ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ù)下一步,直至完成!打開(kāi)客戶(hù)端上安裝的企業(yè)管理器,登錄數(shù)據(jù)庫(kù)遠(yuǎn)程管理數(shù)據(jù)庫(kù)點(diǎn)擊相應(yīng)的選項(xiàng),查看、更改數(shù)據(jù)庫(kù)

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

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

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

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

$srvctlstatusinstance–dcrsdb1–i

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

$srvctlstartdatabase–dcrsdb$srvctlstartinstance–dcrsdb1–iserver1

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

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

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

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

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

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

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

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

停止Oracle實(shí)例

關(guān)閉ASM實(shí)例

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

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

UDP

錯(cuò)誤或

IP

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

CPU

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

CHM(ClusterHealthMonitor)

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

CPU

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

lmd

lms

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

OSWatcher

尚未設(shè)置,CHM

輸出不可用時(shí),使用

OSWatcher

輸出將有所幫助。

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論