日常維護(hù)故障定位故障排除_第1頁
日常維護(hù)故障定位故障排除_第2頁
日常維護(hù)故障定位故障排除_第3頁
日常維護(hù)故障定位故障排除_第4頁
日常維護(hù)故障定位故障排除_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

ORACLE日常維護(hù)/故障定位/故障排除

培訓(xùn)手冊/操作指南智能網(wǎng)開發(fā)部二零零四年五月TOC\o"1-5"\h\z目錄2\o"CurrentDocument"第一章、日常維護(hù)3\o"CurrentDocument"一、每天的工作3二、每周的工作(對需要進(jìn)行的數(shù)據(jù)庫的改動部分,一般都有相關(guān)的操作規(guī)范和技術(shù)通\o"CurrentDocument"知,請勿手工操作)5\o"CurrentDocument"三、每月的工作(對于數(shù)據(jù)庫修改部分,一般都通過任務(wù)執(zhí)行,請勿手工操作)5\o"CurrentDocument"第二章、故障定位、故障排除6一、數(shù)據(jù)庫掛起故障62.1由于archive掛起導(dǎo)致數(shù)據(jù)庫掛死6\o"CurrentDocument"2.2init文件中SGA區(qū)設(shè)置太大,導(dǎo)致內(nèi)存不夠用,數(shù)據(jù)庫和系統(tǒng)都掛死7\o"CurrentDocument"2.3由于臨時表空間無法擴(kuò)展導(dǎo)致數(shù)據(jù)庫被掛起7\o"CurrentDocument"2.4由于未打補(bǔ)丁導(dǎo)致RMAN備份時將數(shù)據(jù)庫掛起8二、數(shù)據(jù)庫功能/性能異常8\o"CurrentDocument"2.5由于BLOB類型的表記錄數(shù)太多操作又太頻繁導(dǎo)致數(shù)據(jù)庫效率急差82.6由于未對特大表(達(dá)到或超過100萬條記錄)定期做表分析導(dǎo)致數(shù)據(jù)庫操作特別慢92.7由于空間不夠?qū)е虏迦霐?shù)據(jù)時擴(kuò)展索引失敗9\o"CurrentDocument"2.8由于redolog破壞導(dǎo)致數(shù)據(jù)庫異常9\o"CurrentDocument"2.9由于控制文件被破壞導(dǎo)致數(shù)據(jù)庫無法正常啟動10\o"CurrentDocument"2.10由于數(shù)據(jù)文件丟失或破壞導(dǎo)致數(shù)據(jù)庫無法正常啟動11\o"CurrentDocument"2.11由于空間參數(shù)設(shè)置不合理導(dǎo)致擴(kuò)展表空間、索引等失敗11\o"CurrentDocument"2.12由于時間格式的環(huán)境變量設(shè)置問題導(dǎo)致話單無法入庫11\o"CurrentDocument"2.13由于大事務(wù)未使用大回滾段導(dǎo)致事務(wù)掛起11\o"CurrentDocument"2.14由于數(shù)據(jù)庫連接數(shù)太多導(dǎo)致服務(wù)器進(jìn)程數(shù)多或內(nèi)存耗盡12\o"CurrentDocument"2.15由于使用了MTS方式,導(dǎo)致數(shù)據(jù)庫操作特別慢(包括備份)12\o"CurrentDocument"2.16由于存在一個大事務(wù)操作,導(dǎo)致數(shù)據(jù)庫性能特別差或產(chǎn)生頻繁日志切換12\o"CurrentDocument"2.17由于沒有COMMIT,導(dǎo)致數(shù)據(jù)庫表被鎖住12\o"CurrentDocument"2.18索引創(chuàng)建不合理,導(dǎo)致數(shù)據(jù)庫查詢特別慢13\o"CurrentDocument"2.19由于buffer參數(shù)設(shè)置不合理導(dǎo)致exp失敗132.20由于exp不向上兼容,語言不兼容,導(dǎo)致不同版本、不同字符集的數(shù)據(jù)庫無法導(dǎo)入132.21由于創(chuàng)建表空間時誤將其創(chuàng)建在以‘本地管理’,導(dǎo)致在表空間上的所有對象無法修改其存儲參數(shù)13\o"CurrentDocument"2.22錯誤地在系統(tǒng)表空間上建無關(guān)的數(shù)據(jù)文件14\o"CurrentDocument"2.23ORACLE客戶端在p4上安裝不成功14\o"CurrentDocument"2.24由于listener.ora或tnsnames.ora配置問題導(dǎo)致網(wǎng)絡(luò)問題14\o"CurrentDocument"2.25由于環(huán)境變量設(shè)置問題導(dǎo)致VERSOIN版本啟動問題16\o"CurrentDocument"2.26用戶數(shù)據(jù)、表破壞下的數(shù)據(jù)恢復(fù)16\o"CurrentDocument"2.27由于os層問題導(dǎo)致數(shù)據(jù)庫ORA-600錯誤16三、將導(dǎo)致數(shù)據(jù)庫安裝失敗或打補(bǔ)丁失敗的情況16\o"CurrentDocument"2.28由于環(huán)境變量或沒有安裝make文件導(dǎo)致數(shù)據(jù)庫安裝失敗17\o"CurrentDocument"2.29由于/tmp等文件系統(tǒng)設(shè)置太小導(dǎo)致數(shù)據(jù)庫無法正常安裝17\o"CurrentDocument"2.30HPUX上由于核心參數(shù)設(shè)置不對導(dǎo)致數(shù)據(jù)庫無法正常啟動17\o"CurrentDocument"2.31在64位的oracle817上打32的補(bǔ)丁失敗17\o"CurrentDocument"2.32由于安裝備機(jī)數(shù)據(jù)庫時是使用的拷貝方式,所以導(dǎo)致在備機(jī)上安裝補(bǔ)丁失敗172.33由于安裝oracle時錯誤地在$ORACLE_HOME目錄下創(chuàng)建link,導(dǎo)致將打過補(bǔ)丁后的版本拷貝到備機(jī)失敗18\o"CurrentDocument"2.34ORACLE下的字符集問題18第一章、日常維護(hù)ORACLE數(shù)據(jù)庫管理員應(yīng)按如下方式對ORACLE數(shù)據(jù)庫系統(tǒng)做定期監(jiān)控:.每天對ORACLE數(shù)據(jù)庫的運(yùn)行狀態(tài),日志文件,備份情況,數(shù)據(jù)庫的空間使用情況,系統(tǒng)資源的使用情況進(jìn)行檢查,發(fā)現(xiàn)并解決問題。.每周對數(shù)據(jù)庫對象的空間擴(kuò)展情況,數(shù)據(jù)的增長情況進(jìn)行監(jiān)控,對數(shù)據(jù)庫做健康檢查,對數(shù)據(jù)庫對象的狀態(tài)做檢查。.每月對表和索引等進(jìn)行Analyze,檢查表空間碎片,尋找數(shù)據(jù)庫性能調(diào)整的機(jī)會,進(jìn)行數(shù)據(jù)庫性能調(diào)整,提出下一步空間管理計劃。對ORACLE數(shù)據(jù)庫狀態(tài)進(jìn)行一次全面檢查。一、每天的工作.確認(rèn)所有的INSTANCE狀態(tài)正常登陸到所有數(shù)據(jù)庫或例程,檢測ORACLE后臺進(jìn)程:$ps-ef|grepora.檢查文件系統(tǒng)的使用(剩余空間)。如果文件系統(tǒng)的剩余空間小于20%,需刪除不用的文件以釋放空間。尤其是/zxindata/zxinbak文件系統(tǒng)的空間,該文件系統(tǒng)存放archive日志和數(shù)據(jù)庫備份,一定要保證空間足夠$df-k.檢查日志文件和trace文件記錄alert和trace文件中的錯誤。連接到每個需管理的系統(tǒng)使用'telnet'對每個數(shù)據(jù)庫,cd到bdump目錄,通常是$ORACLE_BASE/admin/<SID>/bdump使用Unix‘tail'命令來查看alert_<SID>.log文件如果發(fā)現(xiàn)任何新的ORA-錯誤,記錄并解決.檢查數(shù)據(jù)庫當(dāng)日備份的有效性。對RMAN備份方式:檢查第三方備份工具的備份日志以確定備份是否成功對EXPORT備份方式:檢查exp日志文件以確定備份是否成功對其他備份方式:檢查相應(yīng)的日志文件.使用DBAstudio檢查數(shù)據(jù)文件的狀態(tài)記錄狀態(tài)不是“online”的數(shù)據(jù)文件,如有非’online’的數(shù)據(jù)文件,請記錄并反饋。命令行方式:Selectfile_namefromdba_data_fileswherestatus='OFFLINE'.使用DBAstudio檢查表空間的使用情況命令行方式:SELECTtablespace_name,max_m,count_blocksfree_blk_cnt,sum_free_m,to_char(100*sum_free_m/sum_m,'99.99')||'%'ASpct_freeFROM(SELECTtablespace_name,sum(bytes)/1024/1024ASsum_mFROMdba_data_filesGROUPBYtablespace_name),(SELECTtablespace_nameASfs_ts_name,max(bytes)/1024/1024ASmax_m,count(blocks)AScount_blocks,sum(bytes/1024/1024)ASsum_free_mFROMdba_free_spaceGROUPBYtablespace_name)WHEREtablespace_name=fs_ts_name.使用DBAstudio檢查剩余表空間命令行方式:SELECTtablespace_name,sum(blocks)asfree_blk,trunc(sum(bytes)/(1024*1024))asfree_m,max(bytes)/(1024)asbig_chunk_k,count(*)asnum_chunksFROMdba_free_spaceGROUPBYtablespace_name;.檢查數(shù)據(jù)庫性能,記錄數(shù)據(jù)庫的cpu使用、IO、buffer命中率等等,如發(fā)現(xiàn)異常,請記錄并反饋使用vmstat,iostat,top等命令.其他日常出現(xiàn)問題的處理。二、每周的工作(對需要進(jìn)行的數(shù)據(jù)庫的改動部分,一般都有相關(guān)的操作規(guī)范和技術(shù)通知,請勿手工操作).檢查數(shù)據(jù)庫對象的空間擴(kuò)展情況根據(jù)本周每天的檢查情況找到空間擴(kuò)展很快的數(shù)據(jù)庫對象,并采取相應(yīng)的措施--刪除歷史數(shù)據(jù),如對bill表進(jìn)行定期的備份,對三個月前的數(shù)據(jù)進(jìn)行定期清理如表空間不夠,可使用如下方式擴(kuò)表空間altertablespace<name>adddatafile‘<file>'size<size>調(diào)整數(shù)據(jù)對象的存儲參數(shù)(要求pctincrease參數(shù)設(shè)置為0)nextextentpct_increase.監(jiān)控數(shù)據(jù)量的增長情況根據(jù)本周每天的檢查情況找到記錄數(shù)量增長很快的數(shù)據(jù)庫對象,并采取相應(yīng)的措施--刪除歷史數(shù)據(jù)擴(kuò)表空間altertablespace<name>adddatafile‘<file>'size<size>.系統(tǒng)健康檢查檢查以下內(nèi)容:init<sid>.oracontrolfileredologfilearchivingtablespace(system,temporary,tablespacefragment)datafiles(autoextend,location)object(numberofextent,nextextent,index)rollbacksegmentlogging&tracing(alert.log,max_dump_file_size,sqlnet,listener.log).檢查無效的數(shù)據(jù)庫對象SELECTowner,object_name,object_typeFROMdba_objectsWHEREstatus='INVALID'三、每月的工作(對于數(shù)據(jù)庫修改部分,一般都通過任務(wù)執(zhí)行,請勿手工操作).AnalyzeTables/Indexes/Clusteranalyzetable<name>estimatestatisticssample50percent;.檢查表空間碎片根據(jù)本月每周的檢查分析數(shù)據(jù)庫碎片情況,找到相應(yīng)的解決方法.尋找數(shù)據(jù)庫性能調(diào)整的機(jī)會比較每天對數(shù)據(jù)庫性能的監(jiān)控報告,確定是否有必要對數(shù)據(jù)庫性能進(jìn)行調(diào)整.數(shù)據(jù)庫性能調(diào)整如有必要,進(jìn)行性能調(diào)整.提出下一步空間管理計劃根據(jù)每周的監(jiān)控,提出空間管理的改進(jìn)方法第二章、故障定位、故障排除根據(jù)我們在實(shí)際商用系統(tǒng)中碰到問題,我們例舉了如下常見故障和解決方法。一、數(shù)據(jù)庫掛起故障2.1由于archive掛起導(dǎo)致數(shù)據(jù)庫掛死故障現(xiàn)象:數(shù)據(jù)庫掛起,sqlplus無法登錄,alert_zxin.log中有如下信息報出:SatJul1321:48:012002ARC0:Beginningtoarchivelog#1seq#61Currentlog#2seq#62mem#0:/zxindata/oracle/redolog/redo02.logARC0:Error19504creatingarchivelogfile'/zxindata/zxinbak/arch/1_61.dbfARC0:Archivingnotpossible:errorcountexceededARC0:Failedtoarchivelog#1seq#61ARCH:Archivalstopped,erroroccurred.WillcontinueretryingSatJul1321:48:012002ORACLEInstancezxin-ArchivalErrorARCH:Connectingtoconsoleport...SatJul1321:48:012002ORA-16014:log1sequence#61notarchived,noavailabledestinationsORA-00312:onlinelog1thread1:'/zxindata/oracle/redolog/redo01.log'ARCH:Connectingtoconsoleport...ARCH:ORA-16014:log1sequence#61notarchived,noavailabledestinationsORA-00312:onlinelog1thread1:'/zxindata/oracle/redolog/redo01.log'SatJul1321:50:372002ARC0:Beginningtoarchivelog#1seq#61ARC0:Archivingnotpossible:NoprimarydestinationsARC0:Failedtoarchivelog#1seq#61故障原因:一般是archive所在的文件系統(tǒng)滿或無操作權(quán)限引起的。故障解決:檢查/zxindata/zxinbak文件系統(tǒng),是否已經(jīng)達(dá)到或接近100%,另外確定其對oracle用戶有可寫權(quán)限。如果文件系統(tǒng)已經(jīng)滿,請執(zhí)行手工刪除/zxindata/zxinbak/arch下的arch文件使用sqlplus/nolog登錄,執(zhí)行:SQL>altersystemarchivelogstart;進(jìn)一步檢查/zxindata/zxinbak文件系統(tǒng)為什么滿:查zxin10用戶下的checkpsfs.shoracle任務(wù)有沒有執(zhí)行:crontab-l|grepcheckpsfs,看是否有...checkpsfs.shoracle...的返回,如沒有,表示定期檢查空間是否滿的任務(wù)沒有執(zhí)行,需要啟動該任務(wù)查zxin10用戶對/zxindata/zxinbak/arch目錄下文件有沒有刪除權(quán)限:ls-l/zxindata/zxinbak/arch對dba組需要有可讀可寫權(quán)限查數(shù)據(jù)庫備份任務(wù)有沒有正常執(zhí)行:crontab-l如果不存在rman或exp方式的數(shù)據(jù)庫備份,則表示沒有執(zhí)行數(shù)據(jù)庫備份任務(wù),需要加上是否是/zxindata/zxinbak文件系統(tǒng)太小,不符合備份和呼叫模型下的最小大小配置。如果文件系統(tǒng)大小不能滿足每天產(chǎn)生的arch日志和兩個全備份的總空間,則需要擴(kuò)展/zxindata/zxinbak文件系統(tǒng),aix下可以直接擴(kuò),hpux下則需要將該文件系統(tǒng)umount以后再擴(kuò)2.2init文件中SGA區(qū)設(shè)置太大,導(dǎo)致內(nèi)存不夠用,數(shù)據(jù)庫和系統(tǒng)都掛死故障現(xiàn)象:操作系統(tǒng)無法使用telnet或ftp登錄,數(shù)據(jù)庫掛起,sqlplus無法登錄故障原因:只能通過維護(hù)臺登錄到主機(jī)(很有可能維護(hù)臺也無法登錄),如果可以登錄,則在aix上使用lsps-a檢查pagingspace是否使用超過50%,hpux下可使用vmstat看內(nèi)存是否已經(jīng)很少。故障解決:如不可以登錄,則強(qiáng)制關(guān)電重起機(jī)器以觸發(fā)主備雙機(jī)倒換;如果可以登錄,則手工以shutdownabort方式停止數(shù)據(jù)庫引發(fā)雙機(jī)倒換。然后調(diào)整initzxin.ora文件中SGA區(qū)大小,主要是減少db_block_buffers的配置,如果物理內(nèi)存小于1G,建議該值配置為:1024*1024/4/4注意同時調(diào)整主備機(jī)配置,然后做雙機(jī)倒換是配置生效。2.3由于臨時表空間無法擴(kuò)展導(dǎo)致數(shù)據(jù)庫被掛起故障現(xiàn)象:數(shù)據(jù)庫掛起,sqlplus無法登錄,alert_zxin.log中看:先是zxin_temp臨時表空間擴(kuò)展失敗,數(shù)據(jù)庫異常退出故障原因:這是ORACLE817的一個bug,當(dāng)一個統(tǒng)計任務(wù)操作一個大表時,其臨時數(shù)據(jù)使用了zxin_temp臨時表空間,而該臨時表空間太小自動擴(kuò)展,擴(kuò)展受文件系統(tǒng)大小限制和pctincrease參數(shù)限制而失敗時,將引發(fā)數(shù)據(jù)庫掛起。故障解決:將oracle817的補(bǔ)丁打到手工擴(kuò)充zxin_temp表空間并增加其所在文件系統(tǒng)大小檢查zxin_temp臨時表空間的pctincrease的值,需要配置為02.4由于未打補(bǔ)丁導(dǎo)致RMAN備份時將數(shù)據(jù)庫掛起故障現(xiàn)象:數(shù)據(jù)庫掛起,sqlplus無法登錄。由于原來使用rman備份方式,當(dāng)這種故障發(fā)生時,數(shù)據(jù)庫備份日志:dbak.log中將有以下信息:RMAN-03022:compilingcommand:backupRMAN-03026:errorrecoveryreleasingchannelresourcesRMAN-08031:releasedchannel:ch1RMAN-00571:==============================RMAN-00569:======ERRORMESSAGESTACKFOLLOWS===============RMAN-00571:====================================================RMAN-03002:failureduringcompilationofcommandRMAN-03013:commandtype:backupRMAN-06003:ORACLEerrorfromtargetdatabase:RMAN-20242:specificationdoesnotmatchanyarchivelogintherecoverycatalog故障原因:是ORACLE817的一個bug故障解決:將補(bǔ)丁打到oracle就可以了。另外建議將數(shù)據(jù)庫備份改為exp方式二、數(shù)據(jù)庫功能/性能異常2.5由于BLOB類型的表記錄數(shù)太多操作又太頻繁導(dǎo)致數(shù)據(jù)庫效率急差故障現(xiàn)象:操作系統(tǒng)CPU占有率很高,數(shù)據(jù)庫操作響應(yīng)很慢。故障原因:這種故障發(fā)生時,數(shù)據(jù)庫能登錄也能操作,但響應(yīng)時間很長,從日志中也看不出什么異常。所以只能使用我們定制的oratool工具,先找出CPU占有率高的語句,再進(jìn)一步分析,當(dāng)時的情況是,發(fā)現(xiàn)version對一個有blob類型的表寫很頻繁,耗去了大量CPU資源,導(dǎo)致數(shù)據(jù)庫總體性能下降。故障解決:不建議使用blob類型的表如果非要使用blob類型,則要定期進(jìn)行數(shù)據(jù)備份和清理,記錄數(shù)不能太多對blob類型的表的操作,在記錄數(shù)多的情況下不能寫的太頻繁,會占用大量的系統(tǒng)資源2.6由于未對特大表(達(dá)到或超過100萬條記錄)定期做表分析導(dǎo)致數(shù)據(jù)庫操作特別慢故障現(xiàn)象:執(zhí)行某個存儲過程或執(zhí)行某個表的數(shù)據(jù)庫操作時,操作系統(tǒng)CPU占有率明顯升高,數(shù)據(jù)庫操作響應(yīng)很慢。故障原因:對一個數(shù)據(jù)量比較大的表(達(dá)到或超過100萬),經(jīng)過長期的讀寫操作后,其索引和數(shù)據(jù)分布沒有及時更新給數(shù)據(jù)庫,導(dǎo)致讀時性能下降。故障解決:對這種類型的表,需要寫任務(wù)定期對表做分析,由于分析比較耗時和耗資源,建議在系統(tǒng)閑時做,頻率不能太高,如每月執(zhí)行一次,分析可以使用5%或10%的抽樣進(jìn)行,如:analyzetabletablelsampleestimatestatistics5percent;2.7由于空間不夠?qū)е虏迦霐?shù)據(jù)時擴(kuò)展索引失敗故障現(xiàn)象:alert_zxin.log日志將報擴(kuò)展表空間失敗的日志,zxcom.log中有擴(kuò)展索引失敗的記錄。故障原因:一般是表所在的表空間不夠,空間擴(kuò)展失敗的情況造成的。故障解決:手工擴(kuò)展表空間所在的文件系統(tǒng),擴(kuò)展表空間如果是表空間的pctincrease設(shè)置的不是0,則將其改為0必要的時候需要rebuild一下擴(kuò)展索引失敗的索引2.8由于redolog破壞導(dǎo)致數(shù)據(jù)庫異常故障現(xiàn)象:如果是數(shù)據(jù)庫啟動情況下redolog被破壞,則alert_zxin.log中會報如下錯誤:ORA-00313:openfailedformembersofloggroup2ofthread1ORA-00312:onlinelog2thread1:'/zxindata/oracle/zxin/redo02.log'ORA-27037:unabletoobtainfilestatus將導(dǎo)致數(shù)據(jù)庫操作異常。sqlplus可以登錄如果是啟動時候redolog損壞,將報:ORA-00313:無法打開日志組1(線程1)的成員ORA-00312:聯(lián)機(jī)日志1線程1:'/zxindata/oracle/zxin/redo01.log'故障原因:redolog破壞,一般是由于:人為誤刪或物理損壞發(fā)生了主備倒換,備機(jī)的共享VG信息不全故障解決:人為誤刪或物理損壞如果未啟動數(shù)據(jù)庫,則啟動到mount狀態(tài),重建日志:(如第1組日志有問題)alterdatabasedroplogfilegroup1;alterdatabaseaddlogfilegroup1'/zxindata/oracle/redolog/redo01.log'size250M;alterdatabaseopen;如果數(shù)據(jù)庫啟動著,則查看一下?lián)p壞文件是否是活動(active)的日志:select*fromv$log;如果是激活的,則進(jìn)行日志切換:altersystemswitchlogfile;如果不是激活的,則執(zhí)行重建:alterdatabasedroplogfilegroup1;alterdatabaseaddlogfilegroup1'/zxindata/oracle/redolog/redo01.log'size250M;發(fā)生了主備倒換,備機(jī)的共享VG信息不全將共享VG信息導(dǎo)入到備機(jī),并修改共享文件系統(tǒng)和裸設(shè)備屬性,使其對oracle用戶具有讀寫權(quán)限2.9由于控制文件被破壞導(dǎo)致數(shù)據(jù)庫無法正常啟動故障現(xiàn)象:數(shù)據(jù)庫操作將異常,sqlplus可以登錄。故障原因:control文件被物理損壞或人為損壞。一般會報:ORA-00210/ORA-00202/ORA-27041/ORA-27037等錯誤,所以數(shù)據(jù)庫事務(wù)將掛起故障解決:只要CONTROL_FILE中還有好的control文件,則只要將其拷貝多份就可以了如果以前做過備份,不能再使用該備份控制文件,因?yàn)閏ontrol文件和數(shù)據(jù)文件會不一致。啟動時報:ORA-01589:要打開數(shù)據(jù)庫則必須使用RESETLOGS或NORESETLOGS選項(xiàng)SQL>alterdatabaseopenresetlogs;ORA-01152:文件1沒有從完備的舊備份中恢復(fù)ORA-01110:數(shù)據(jù)文件1:'/zxindata/oracle/zxin/system01.dbf'只要丟失了所有的備份或修改maxlogfiles或修改數(shù)據(jù)庫名等情況則要重新創(chuàng)建一個controlfile,方式如下:startupmountalterdatabasebackupcontrolfiletotrace;alterdatabaseopen;至U$udump目錄下查看最新的文件中包含兩份重建controlfile的語句,其一是onlinelogs都完好的情況下進(jìn)行數(shù)據(jù)庫完全恢復(fù)的情況其二是onlinelogs損壞,則所有的在線日志都將丟失,所有的備份都將失效。2.10由于數(shù)據(jù)文件丟失或破壞導(dǎo)致數(shù)據(jù)庫無法正常啟動故障現(xiàn)象:一般會導(dǎo)致操作到與該文件有關(guān)的數(shù)據(jù)都將失敗,一般報:ORA-01110/ORA-01116/ORA-27041等錯誤,嚴(yán)重一點(diǎn)的報ORA-03113后數(shù)據(jù)庫異常退出故障原因:故障解決:如果只是將數(shù)據(jù)文件挪了位置,則只要將其mv到原來的位置即可如果確實(shí)損壞了,建議使用數(shù)據(jù)庫備份進(jìn)行恢復(fù)。具體恢復(fù)時,可以嘗試使用:手工創(chuàng)建數(shù)據(jù)文件一>自動恢復(fù)模式,如果不行,只能使用表空間全部恢復(fù)方式了。2.11由于空間參數(shù)設(shè)置不合理導(dǎo)致擴(kuò)展表空間、索引等失敗故障現(xiàn)象:數(shù)據(jù)庫表空間或索引擴(kuò)展失敗。故障原因:可能是表空間的storage參數(shù)設(shè)置的不合理引起的。故障解決:我們一般要求使用如下storage參數(shù):STORAGE(INITIAL20KNEXT20KMINEXTENTS1MAXEXTENTSUNLIMITEDPCTINCREASE0)2.12由于時間格式的環(huán)境變量設(shè)置問題導(dǎo)致話單無法入庫故障現(xiàn)象:在zxcom.log報時間格式問題導(dǎo)致話單插入失敗。導(dǎo)致話單既要到bill文件中故障原因:跟zxin10用戶的NLS_DATE_FORMAT參數(shù)設(shè)置不正確有關(guān)故障解決:需要將zxin10用戶下.profile文件中NLS_DATE_FORMAT設(shè)置為:NLS_DATE_FORMAT="YYYY.MM.DDHH24:MI:SS"2.13由于大事務(wù)未使用大回滾段導(dǎo)致事務(wù)掛起故障現(xiàn)象:大事務(wù)運(yùn)行失敗,表現(xiàn)為表空間用滿(ORA-01560錯誤),回滾段擴(kuò)展到達(dá)參數(shù)MAXEXTENTS的值(ORA-01628)。故障原因:回滾段設(shè)置的太小故障解決:a.由于一個事務(wù)只能使用一個回滾段來存放它的回滾信息,所以建議給大事務(wù)創(chuàng)建專用會滾段創(chuàng)建時將回滾段表空間設(shè)置的大一點(diǎn);增加MAXEXTENTS的值。2.14由于數(shù)據(jù)庫連接數(shù)太多導(dǎo)致服務(wù)器進(jìn)程數(shù)多或內(nèi)存耗盡故障現(xiàn)象:使用psef檢查時有很多oracle進(jìn)程(包含local關(guān)鍵字),使用內(nèi)存檢查命令看可用內(nèi)存已經(jīng)很少。故障原因:使用DEDICATED方式連接到數(shù)據(jù)庫的客戶端一般在服務(wù)器端都對應(yīng)一個進(jìn)程,該進(jìn)程將消耗3?4M的內(nèi)存空間。如果客戶端連接數(shù)比較多,則內(nèi)存將耗盡,進(jìn)程數(shù)也將達(dá)到系統(tǒng)極限或數(shù)據(jù)庫極限。故障解決:增加系統(tǒng)的硬件配置,如增加CPU或擴(kuò)內(nèi)存增加系統(tǒng)最大進(jìn)程數(shù)限制,aix和hpux下都有方法設(shè)置增加oracle進(jìn)程數(shù),在init文件中的processes參數(shù)項(xiàng)2.15由于使用了MTS方式,導(dǎo)致數(shù)據(jù)庫操作特別慢(包括備份)故障現(xiàn)象:使用MTS連接方式的數(shù)據(jù)庫操作將比較慢,尤其是系統(tǒng)資源吃緊的情況下。故障原因:智能網(wǎng)前期對smap等客戶端的策略是使用MTS(共享進(jìn)程)解決方案,后發(fā)現(xiàn)該方案不可行,主要是該連接方式下的數(shù)據(jù)庫操作性能太差。故障解決:共享進(jìn)程只能支持更多的并發(fā)用戶訪問數(shù)據(jù)庫,但不能提高執(zhí)行速度,所以我們商用局中已經(jīng)取消了這種方式。具體可通過檢查initzxin.ora中的配置確認(rèn)。應(yīng)該不包含任何含mts關(guān)鍵字的配置2.16由于存在一個大事務(wù)操作,導(dǎo)致數(shù)據(jù)庫性能特別差或產(chǎn)生頻繁日志切換故障現(xiàn)象:數(shù)據(jù)庫性能下降,觀察alert_zxin.log發(fā)現(xiàn)切換日志很頻繁故障原因:肯定存在一個與呼叫無關(guān)的大事務(wù)在不停的運(yùn)行,導(dǎo)致產(chǎn)生大量日志,引起日志切換。故障解決:使用oratool工具中的sp_who找出活動sql語句通過命令找出消耗cpu、IO資源最大的10條語句查出該語句操作的表的數(shù)據(jù)量和讀寫頻率,檢查是否有應(yīng)用類邏輯性異常并給予糾正。2.17由于沒有commit,導(dǎo)致數(shù)據(jù)庫表被鎖住故障現(xiàn)象:操作某個表的記錄時長時間無響應(yīng),通過sdf進(jìn)行的數(shù)據(jù)庫操作則表現(xiàn)為超時,導(dǎo)致sdf進(jìn)程runtootoolong故障原因:一般跟該表被鎖住有關(guān)故障解決:使用oratool工具中的sp_lock命令查看該表是否有鎖檢查是否在某個SQL語句中對該表進(jìn)行事務(wù)類操作時,沒有使用commit,這種情況一般發(fā)生在手工通過sqlplus修改數(shù)據(jù)的場合,sdf不會出現(xiàn)及時進(jìn)行commit或rollback,解除表鎖,如果不能解除的話,則將與該鎖有關(guān)的進(jìn)程強(qiáng)制殺掉。2.18索引創(chuàng)建不合理,導(dǎo)致數(shù)據(jù)庫查詢特別慢故障現(xiàn)象:表現(xiàn)為查詢特別慢,如果是通過sdf操作,返回超時或觸發(fā):sdfruntootoolong故障原因:有可能是在表的數(shù)據(jù)量比較大的情況下,該表的索引設(shè)置不合理造成的。故障解決:請使用explainplan查看其查詢計劃,看是否使用了全表掃描或不適合的索引,據(jù)此調(diào)整索引或查詢語句。2.19由于buffer參數(shù)設(shè)置不合理導(dǎo)致exp失敗故障現(xiàn)象:使用exp導(dǎo)出某個表不成功故障原因:跟buffer設(shè)置有關(guān)故障解決:一般要求設(shè)置比較大的buffer進(jìn)行exp備份,但當(dāng)物理內(nèi)存不夠的情況下,buffer設(shè)置要合理,這種情況下,可嘗試不設(shè)置buffer進(jìn)行備份2.20由于exp不向上兼容,語言不兼容,導(dǎo)致不同版本、不同字符集的數(shù)據(jù)庫無法導(dǎo)入故障現(xiàn)象:進(jìn)行imp導(dǎo)入時報數(shù)據(jù)格式不正確,數(shù)據(jù)導(dǎo)入失敗故障原因:目前了解816/817數(shù)據(jù)庫導(dǎo)出的格式不兼容,但oracle9i可以向下兼容,導(dǎo)出和導(dǎo)入環(huán)境的字符集不一致,也不能完成導(dǎo)入,但字符集一致、版本一致的數(shù)據(jù)庫在不同llkS平臺上可以互導(dǎo)。故障解決:保證數(shù)據(jù)庫版本的一致性,保證字符集的一致。或使用其他工具。2.21由于創(chuàng)建表空間時誤將其創(chuàng)建在以‘本地管理',導(dǎo)致在表空間上的所有對象無法修改其存儲參數(shù)故障現(xiàn)象:無法修改該表空間及在該表空間上創(chuàng)建的所有對象的storage參數(shù)。故障原因:只有在‘字典中管理’的表空間才可以設(shè)置手工設(shè)置STORAGE參數(shù)故障解決:編輯initzxin.ora,修改參數(shù)compatible」,8.1.0”修改成compatible」,8.1.6”,執(zhí)行:$sqlplussys/change_on_installsql>execdbms_space_admin.Tablespace_Migrate_FROM_Local('ZXIN_BILL');sql>commit;sql>exit這樣,表空間就從'本地管理'修改成DMT數(shù)據(jù)字典管理方式了,然后再手工修改表空間存儲參數(shù)和對象存儲參數(shù)即可2.22錯誤地在系統(tǒng)表空間上建無關(guān)的數(shù)據(jù)文件故障現(xiàn)象:系統(tǒng)表空間上存在著無關(guān)的數(shù)據(jù)文件故障原因:錯誤地在系統(tǒng)表空間上建了無關(guān)的數(shù)據(jù)文件故障解決:如果是創(chuàng)建在OEM_REPOSITORY表空間上,則可以將該表空間刪除后重建,注意不要再包含錯建的數(shù)據(jù)文件如果是其他系統(tǒng)表空間,可以使用:alterdatabasedatafile‘’resizeto1M;命令盡量減少空間浪費(fèi)。2.23oracle客戶端在p4上安裝不成功故障現(xiàn)象:奔四的機(jī)器無法安裝oracle8i客戶端故障原因:oracle8i的一個bug故障解決:1、將ORACLE軟件拷貝到硬盤。2、將硬盤目錄文件\stage\Components\oracle.swd.jre\0/1\DataFiles\Expanded\jre\win32\bin\symcjit.dll的文件改名為symcjit.old3、從\install\win32目錄下運(yùn)行SETUP.exe文件進(jìn)行安裝。2.24由于listener.ora或tnsnames.ora配置問題導(dǎo)致網(wǎng)絡(luò)問題故障現(xiàn)象:lsnrctlstart啟動數(shù)據(jù)庫網(wǎng)絡(luò)服務(wù)不成功;使用tnsping無法ping通數(shù)據(jù)庫服務(wù)器;sdf無法登錄數(shù)據(jù)庫故障原因:listener.ora或tnsnames.ora配置不正確故障解決:請按如下模板配置listener.ora:LISTENER=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=version_sv0(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=version_sv()(PORT=1522))(address=(protocol=ipc)(key=extproc)))SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=zxin)(ORACLE_HOME=/home/oracle/oracle81)(SID_NAME=zxin))(SID_DESC=(SID_NAME=extzxin)(ORACLE_HOME=/home/oracle/oracle81)(PROGRAM=extproc)))請按如下模板配置tnsnames.ora:ZXIN=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=version_sv)(PORT=1522))■)(CONNECT_DATA=(SERVICE_NAME=zxin)))zx10_40_57_163=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=version_sv()(PORT=1522))■)(CONNECT_DATA=(SERVICE_NAME=zxin)(SERVER=DEDICATED)))extproc_connection_data=(description=(address=(protocol=ipc)(key=extproc))(connect_data=(sid=extzxin)))2.25由于環(huán)境變量設(shè)置問題導(dǎo)致VERSOIN版本啟動問題故障現(xiàn)象:如果沒有正確配置ORACLE環(huán)境變量,將導(dǎo)致version啟動時sdf進(jìn)程無法正常啟動或無法正常連接數(shù)據(jù)庫故障原因:請按要求配置zxin10用戶與ORACLE相關(guān)的環(huán)境變量故障解決:請檢查$ORACLE_HOME、$ORACLE_BASE、$LIBPATH、$SHLIB_PATH、$LD_LIBRARY_PATH等環(huán)境變量是否正確。2.26用戶數(shù)據(jù)、表破壞下的數(shù)據(jù)恢復(fù)故障現(xiàn)象:某一個用戶的所有數(shù)據(jù)或單個表的數(shù)據(jù)全部丟失,無法讀取相關(guān)數(shù)據(jù)故障原因:由于人為誤操作或硬件問題導(dǎo)致用戶數(shù)據(jù)或單個表的數(shù)據(jù)全部丟失故障解決:使用imp命令將備份出的數(shù)據(jù)恢復(fù)(注意,只能恢復(fù)到備份時間點(diǎn))對于單表恢復(fù)的命令為:impsystem/managerfromuser=zx沮touser=zxintables=oper_dbuserfAe=zxindb.dmp對于整個用戶數(shù)據(jù)丟失恢復(fù)的情況將該用戶刪除重建:dropuserzxinCASCADE;createuserzxindefauletablespace...temporarytablespace;然后使用imp導(dǎo)入:impsystem/managerfromuser=zxintouser=zxinfle=zxindb.dmp2.27由于os層問題導(dǎo)致數(shù)據(jù)庫ORA-600錯誤故障現(xiàn)象:啟動數(shù)據(jù)庫時報:ORA-600故障原因:ORA-600錯誤一般跟os層的錯誤有關(guān),比如文件、內(nèi)存、I/O問題、硬件故障故障解決:碰到此類錯誤,請檢查:所做的操作目前os層有沒有各類報錯解決os層問題后再重試如果還是不行,只能重裝系統(tǒng),重裝數(shù)據(jù)庫三、將導(dǎo)致數(shù)據(jù)庫安裝失敗或打補(bǔ)丁失敗的情況2.28由于環(huán)境變量或沒有安裝make文件導(dǎo)致數(shù)據(jù)庫安裝失敗故障現(xiàn)象:安裝oracle時進(jìn)行到link階段時報:找不到make文件故障原因:沒有安裝包含make文件的軟件包故障解決:安裝包含make文件的軟件包后重試。(aix下的軟件包為:bos.adt.base)2.29由于/tmp等文件系統(tǒng)設(shè)置太小導(dǎo)致數(shù)據(jù)庫無法正常安裝故障現(xiàn)象:安裝oracle時進(jìn)行到link階段時,在進(jìn)行某個模塊的make時報錯,查看文件系統(tǒng)大小,發(fā)現(xiàn)/tmp文件系統(tǒng)已滿故障原因:/tmp文件系統(tǒng)已滿故障解決:請安裝前保證/tmp文件系統(tǒng)有500M剩余空間2.30HPUX上由于核心參數(shù)設(shè)置不對導(dǎo)致數(shù)據(jù)庫無法正常啟動故障現(xiàn)象:oracle安裝到Link階段時報錯故障原因:hpux上安裝oracle數(shù)據(jù)庫時,一定要先調(diào)整好核心參數(shù)再安裝,否則將無法成功安裝故障解決:按照安裝手冊調(diào)整hpux的核心參數(shù)(一般是通過setup腳本做的,無需手工配置,請檢查setup是否成功執(zhí)行并成功修改了核心參數(shù))2.31在64位的oracle817上打32的補(bǔ)丁失敗故障現(xiàn)象:安裝補(bǔ)丁時,在Link階段報錯,通過安裝日志檢查,發(fā)現(xiàn)連接的動態(tài)庫是32位的故障原因:補(bǔ)丁也分oracle817(64位)和oracle817(32位)的,請下載和打補(bǔ)丁時注意一一匹配。故障解決:將打補(bǔ)丁前的oracle817備份文件恢復(fù),選擇匹配的補(bǔ)丁重新安裝。2.32由于安裝備機(jī)數(shù)據(jù)庫時是使用的拷貝方式,所以導(dǎo)致在備機(jī)上安裝補(bǔ)丁失敗故障現(xiàn)象:在備機(jī)上使用oracle正常打補(bǔ)丁方式時報版本不對,無法正常打補(bǔ)丁。故障原因:由于外面大部分機(jī)器備機(jī)oracle的安裝是通過從主機(jī)拷貝的方式完成的,而部分如/etc目錄下的文件沒有同步到備機(jī),所以導(dǎo)致oracle補(bǔ)丁安裝程序讀不到相關(guān)版本信息,無法完成補(bǔ)丁安裝。故障解決:a.可以采取將主機(jī)打完補(bǔ)丁后將$ORACLE_HOME目錄拷貝到備機(jī)的方式b.可以將/etc下的oratab和oralnst.loc拷貝到備機(jī),再重試補(bǔ)丁安裝2.33由于安裝oracle時錯誤地在$ORACLE_HOME目錄下創(chuàng)建link,導(dǎo)致將打過補(bǔ)丁后的版本拷貝到備機(jī)失敗故障現(xiàn)象:主機(jī)打完oracle補(bǔ)丁后,將主機(jī)$ORACLE_HOME文件同步到備機(jī)時間非常長!故障原因:使用rcp命令同步時,將導(dǎo)致ln下的東西拷雙份故障解決:請檢查主機(jī)上是否有不適合的ln連接,連接目標(biāo)是一個目錄(該目錄下有大量文件),檢查連接的方法是:find.-typel-execls-l{}\;2.34oracle下的字符集問題故障現(xiàn)象:一般中文、英文環(huán)境都可以將oracle服務(wù)器字符集安裝成ZHS16GBK。如果不小心裝成英文字符,則會無法輸入中文字符故障原因:一般是手工建庫的情況導(dǎo)致的,通過crdb.sh執(zhí)行建庫的,不存在這個問題。故障解決:1)首先安裝oracle的時候必須選擇安裝中文字符集的支持2)由于中文字符集是英文字符集的超集,所以如果已經(jīng)安裝英文數(shù)據(jù)庫字符集的話,可以用如下方式轉(zhuǎn)換:SQL>SHUTDOWNIMMEDIATE;--orNORMAL<doafullbackup>SQL>STARTUPMOUNT;SQL>ALTERSYSTEMENABLERESTRICTEDSESSION;SQL>ALTERSYSTEMSETJOB_QUEUE_PROCESSES=0;SQL>ALTERDATABASEOPEN;SQL>ALTERDATABASECHARACTERSETZHS16GBK;SQL>SHUTDOWNIMMEDIATE;--orNORMALSQL>STARTUP;第三章、自定義存儲過程、腳本我們自定義了一些存儲過程和腳本,在進(jìn)行數(shù)據(jù)庫安裝時自動加到數(shù)據(jù)庫里,如果沒有安裝,則可以手工安裝。腳本名稱:oratool.sql檢查是否安裝方法:sqlplus/nologSQL>connect/assysdba

SQL>execsp_helptool如果報sp_helptool找不到則表示沒有安裝。安裝方法:SQL>@oratool.sql使用方法:SQL>setserveroutputonSQL>execsp_helptool;具體的存儲過程包括:sp_whosp_locksp_configuresp_helptextsp_helptbssp_helprbssp_helplogsp_helpdbfSQL>setserveroutputonsize1000000pagesize1000linesize10SQL>execsp_***;:informationaboutallsessionsandthelatestsql具體的存儲過程包括:sp_whosp_locksp_configuresp_helptextsp_helptbssp_helprbssp_helplogsp_helpdbf:informationaboutalllocks:systemparameterconfiguration:sqltextofaprocedure:tablespaceinformation:rollbacksegmentinformation:redologinformation:datafileinformationsp_sysmonsp_usertracesp_sessiontraceitcarefully!!:sp_sysmonsp_usertracesp_sessiontraceitcarefully!!:traceasessionbyusername,!!youshoulduseitcarefully!!:traceasessionbysessionidandserial#,!!youshoulduse具體命令的詳細(xì)幫助可以使用如下方式:SQL>execsp_helptool('sp_who');**************************OracleToolsHelpSystem******************************Beforeusingthetool,enterfollowingcommandsinSQL/PLUSsetserveroutputonsize1000000pagesize1000linesize1000sp_who:informationaboutallsessionsandthelatestsql******columndescription******SID:SessionidentifierSER#:Sessionserialnumber.UsedtoidentifyuniquelyasessionsobjectsPID:OperatingsystemprocessidentifierUSERNAME:OracleusernameOSUSER:OperatingsystemclientusernameSERVER:Servertype:D

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論