版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
ORACLEDBAJan-15-20001數(shù)據(jù)庫管理員(DBA)預(yù)備知識SQL語句PL/SQL關(guān)系數(shù)據(jù)庫基本原理相關(guān)知識UNIXNT網(wǎng)絡(luò)Jan-15-20002ORACLE數(shù)據(jù)庫簡介
當(dāng)前主流數(shù)據(jù)庫及其簡介
ORACLE SYSBASE INFORMIX SQLSERVER DB2 關(guān)系數(shù)據(jù)庫概念簡介 ORACLE數(shù)據(jù)庫結(jié)構(gòu)Jan-15-20003關(guān)系數(shù)據(jù)庫簡介關(guān)系數(shù)據(jù)庫元素實(shí)體和聯(lián)系鍵(key)數(shù)據(jù)完整性SQL語言Jan-15-20004關(guān)系數(shù)據(jù)庫元素Jan-15-20005實(shí)體和聯(lián)系實(shí)體(Entity):客觀存在的并可相互區(qū)分的“事物”實(shí)體通常成為表,表由行和列組成,每一行描述實(shí)體的一個(gè)示例,每一列描述實(shí)體的一個(gè)特征實(shí)體在邏輯數(shù)據(jù)庫設(shè)計(jì)時(shí)被確定聯(lián)系(Relation):實(shí)體之間存在的對應(yīng)或連接關(guān)系一對一關(guān)系(1:1):表中的一行與相關(guān)表中的零行或多行相關(guān)一對多關(guān)系(1:n):表中的一行與相關(guān)表中的零行或多行相關(guān)多對多關(guān)系(n:m):表中的多行與相關(guān)表中的零行或多行相關(guān)聯(lián)系的實(shí)現(xiàn):在關(guān)系數(shù)據(jù)庫設(shè)計(jì)中,聯(lián)系通常利用邏輯鍵來實(shí)現(xiàn)。Jan-15-20006鍵(key)主鍵超鍵(SuperKey):在一個(gè)關(guān)系中能唯一表示元組的屬性集侯選鍵(CandidateKey):一個(gè)屬性集能唯一標(biāo)識元組而又不含多余的屬性主鍵(PrimaryKey):被選用的侯選鍵外鍵公共鍵(CommonKey):兩個(gè)關(guān)系中具有相容(或相同)的屬性或?qū)傩越M外鍵(ForeignKey):如果公共鍵是其中一個(gè)關(guān)系的主鍵,那么這個(gè)公共鍵在另一個(gè)關(guān)系中稱為外鍵組合鍵組合鍵(CompositKey):由兩個(gè)或兩個(gè)以上屬性(列)組成的鍵Jan-15-20007數(shù)據(jù)完整性(DataIntergrity)實(shí)體完整性關(guān)系中的元組在組成主鍵的屬性上不能有空值,也不能有重復(fù)值,否則就不能起到唯一標(biāo)識元組的作用域完整性關(guān)系中的屬性取值的正確性限制,包括數(shù)據(jù)類型、精度、取值范圍、是否允許空值等參照完整性反映了實(shí)體之間存在的某種約束條件。要求外鍵的值不允許參照不存在的主鍵的值,它使主鍵和外鍵之間的值保持一致或相容,來維護(hù)數(shù)據(jù)庫數(shù)據(jù)的一致性或相容性業(yè)務(wù)規(guī)則一般包括數(shù)據(jù)完整性、參照完整性、遵循組織的任一其他需求,以便保證業(yè)務(wù)的正確運(yùn)行Jan-15-20008SQL語言(StructureQueryLanguage)
數(shù)據(jù)操縱語言(DML)SELECTDELETEINSERTUPDATE數(shù)據(jù)定義語言(DDL)CREATE定義數(shù)據(jù)庫實(shí)體結(jié)構(gòu)ALTER修改數(shù)據(jù)庫實(shí)體結(jié)構(gòu)DROP刪除數(shù)據(jù)庫實(shí)體GRANT/REVOKE數(shù)據(jù)庫對象的權(quán)限管理數(shù)據(jù)控制語言(DCL)COMMIT/ROLLBACKSAVEPOINTJan-15-20009SQL*PLUS
SQL*NET
字符集 SQL*PLUS 數(shù)據(jù)庫對象介紹Jan-15-200010TNSTNS是TransparentNetworkSubstrate(透透明網(wǎng)網(wǎng)絡(luò)層層)的的縮寫寫如何配配置TNS使CLIENT同同SERVER建立立聯(lián)系系服務(wù)器器上監(jiān)監(jiān)聽進(jìn)進(jìn)程與與listener.ora文件件客戶機(jī)機(jī)上tnsnames.ora文文件如何配配置BDE使DELPHI同同ORACLE建立立聯(lián)系系Jan-15-200011listener.oraLISTENER=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=00)(PORT=1521)))SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=ora1)(ORACLE_HOME=/oracle/app/oracle/product/8.0.5)))Jan-15-200012tnsnames.orayy1=(description=(address=(protocol=tcp)(host=00)(port=1521))(connect_data=(sid=ora1)))Jan-15-200013SQL*PLUSSQL*PLUS常常用命命令介介紹DUAL空空表的的作用用SQL語語句SQL常用用函數(shù)數(shù)介紹紹SQL*PLUS使使用常常用技技巧Jan-15-200014SQL*PLUS常常用命命令介介紹SET(設(shè)設(shè)置當(dāng)當(dāng)前的的SQL*PLUS的系系統(tǒng)環(huán)環(huán)境)):ECHO,,HEADING,,SERVEROUPUT,,TIMING,TIME,,LONG,LINESIZE,,ARRAYSIZE,,AUTOCOMMIT,COPYCOMMIT,,PAUSESHOW((顯示示當(dāng)前前的系系統(tǒng)環(huán)環(huán)境)):USERSAVE存存儲當(dāng)當(dāng)前的的內(nèi)容容到某某一文文件::SAVE文文件件名GET讀取取某一一文件件的內(nèi)內(nèi)容::GET文文件名名RUN和/((運(yùn)行行當(dāng)前前的文文件或或某一一特定定的文文件)):RUN可運(yùn)運(yùn)行當(dāng)當(dāng)前緩緩沖區(qū)區(qū)中的的內(nèi)容容也可可運(yùn)行行某一一特定定的文文件。CONN連連接某某一用用戶::CONNusername/password@aliasJan-15-200015SQL*PLUS常常用命命令介介紹DISC從從某一一連接接中退退出::DISCCOLUMN格格式化化某一一列的的顯示示格式式:COLUMNCOLUMN_NAMEFORMATAXXXDESC查查看某某一對對象的的描述述:DESCOBJECT_NAMEEDIT編編輯當(dāng)當(dāng)前緩緩沖區(qū)區(qū)中的的內(nèi)容容或某某一特特定的的文件件:EDIT或或EDLIST顯顯示當(dāng)當(dāng)前緩緩沖區(qū)區(qū)中的的內(nèi)容容:LIST或或LSPOOL把運(yùn)運(yùn)行結(jié)結(jié)果重重定向向:SPOOL某某一文文件,,結(jié)束束SPOOLOFF,,默認(rèn)認(rèn)的擴(kuò)擴(kuò)展名名為LSTJan-15-200016SQL*PLUS常常用命命令EXIT::退出出當(dāng)前前的連連接@和@@::運(yùn)行行單獨(dú)獨(dú)的腳腳本和和在腳腳本中中運(yùn)行行腳本本@cre.sql@@cre.sqlAPPEND::在當(dāng)當(dāng)前的的語句句的末末尾增增加內(nèi)內(nèi)容append或aCHANGE::改變變當(dāng)前前最后后一行行的內(nèi)內(nèi)容,,用特特定的的內(nèi)容容替換換指定定的內(nèi)內(nèi)容。。C/student/teacher清屏命令:SHIFT+DEL(clearscr)Jan-15-200017SQL語句句SELECT:作用:根據(jù)WHERE條件從表表,視圖,SNAPSHOT中獲取取數(shù)據(jù)。語法:selectdistinct(alldefault)column_name(expt,*)fromtable(view,snapshot,subquery[selectlist])@dblinkwhere(startwithcondition)(connectbycondition)groupbyexpr(havingcondition)union(unionall,minus,intersect)orderby(expr,position,c_alias)asc(desc)forupdateof(table,viewsnapshot)columnnowaitJan-15-200018SQL語句句UPDATE:作用:該語句用于修修改表或基表表的VIEW中的已存在在的數(shù)據(jù),如如果要執(zhí)行該語句必須須擁有UPDATEPRIVILEGE。語法:updatetable(view,snapshot)@dblinkt_aliasset(column_arraay)=subquery2orcolumn=valueor=subquery3whereconditionJan-15-200019SQL語句句INSERT:作用:該語句用于插插入單條或一一組記錄到相相應(yīng)的表和基基于單表的VIEW,如果要執(zhí)行該該語句必須擁擁有INSERTPRIVILEGE。語法:insertintoschema.table(vieworsubquery1)@dblink(column_name)values(column_values)(orsubquery2)(asselect…………from…………)Jan-15-200020SQL語語句句DELETE:作用用::該命命令令用用于于從從表表或或基基于于單單表表的的VIEW中中刪刪除除一一些些記記錄錄,,如如果果要要執(zhí)行行該該語語句句必必須須擁擁有有DELETEPRIVELEGE。。語法法::delete[from]table(view)@dblinkaliaswhereconditionCOMMIT::ROLLBACK::Jan-15-200021SQL語語句句CREATETABLE::CREATETABLE((COLUMNNAME))CREATETABLEASSELECTCOLUMNNAME(*)FROMTABLE_NAMECOPYFROMTOREPLACE(CREATE)ALTERTABLE::DROPTABLE::CREATE((ALTER/DROP)INDEX::Jan-15-200022常用用SQL函函數(shù)數(shù)NVL::把把空空值值用用某某一一特特定定值值進(jìn)進(jìn)行行替替換換DECODE::作作用用是是對對特特定定的的值值進(jìn)進(jìn)行行選選擇擇,,并并指指定定一一默默認(rèn)認(rèn)值值TO_CHAR::把把某某一一數(shù)數(shù)據(jù)據(jù)類類型型轉(zhuǎn)轉(zhuǎn)換換成成CHAR型型TO_DATE::把把某某一一數(shù)數(shù)據(jù)據(jù)類類型型轉(zhuǎn)轉(zhuǎn)換換成成DATE型型,,須須考考慮慮特特定定的的數(shù)數(shù)據(jù)據(jù)格格式式TO_NUMBER::把把某某一一數(shù)數(shù)據(jù)據(jù)類類型型轉(zhuǎn)轉(zhuǎn)換換成成NUMBER型型LTRIM::把把某某一一CHAR型型數(shù)數(shù)據(jù)據(jù)的的左左邊邊空空格格刪刪除除RTRIM::把把某某一一CHAR型型數(shù)數(shù)據(jù)據(jù)的的右右邊邊空空格格刪刪除除INSTR::獲獲取取某某些些字字符符在在某某一一字字符符串串中中的的位位置置SUBSTR::把把某某一一字字符符串串截截取取特特定定長長度度,,得得到到另另一一字字符符串串Jan-15-200023常用用SQL函函數(shù)數(shù)LPAD::把把某某一一字字符符串串按按照照一一定定位位數(shù)數(shù)進(jìn)進(jìn)行行特特定定字字符符的的左左擴(kuò)擴(kuò)展展RPAD::把把某某一一字字符符串串按按照照一一定定位位數(shù)數(shù)進(jìn)進(jìn)行行特特定定字字符符的的右右擴(kuò)擴(kuò)展展CHR::把把某某一一10進(jìn)進(jìn)制制的的的的NUMBER轉(zhuǎn)轉(zhuǎn)換換成成相相應(yīng)應(yīng)的的CHARREPLACE:把某某一字符符串的內(nèi)內(nèi)容用某某一特定定的字符符進(jìn)行替替換ADD_MONTHS:把某某一日期期進(jìn)行加加一個(gè)月月處理COUNT:對對某一數(shù)數(shù)據(jù)進(jìn)行行個(gè)數(shù)統(tǒng)統(tǒng)計(jì)SUM::對某一一NUMBER型數(shù)據(jù)據(jù)進(jìn)行相相加處理理MAX::提取某某一NUMBER型數(shù)數(shù)據(jù)的最最大值MIN::提取某某一NUMBER型數(shù)數(shù)據(jù)的最最小值Jan-15-200024其他通配符:完全通配配符:%可匹配配任意各各字符。。部分通配配符:_可匹配配單個(gè)字字符偽列類型型:CURRVAL和NEXTVAL:提取SEQUENCE中的當(dāng)當(dāng)前值和和下一值值。在使使用時(shí)應(yīng)應(yīng)先使用用NEXTVAL,才才能使用CURRVALLEVEL:對于SELECT語句句中的層層次查詢詢返回的的層次ROWID:數(shù)據(jù)的物物理地址址,類似似于指針針,由18位組組成,BLOCKID(8位位).COLUMNID(4位).FILEID((4位))ROWNUM:得到返回回的行的的個(gè)數(shù)Jan-15-200025SQL*PLUS使用用常用技技巧在SQL*PLUS環(huán)環(huán)境中如如何進(jìn)行行交互式式輸入::利用替代代符&如何利用用SQL生成SQL腳腳本:SPOOL的的功能如何在兩個(gè)數(shù)數(shù)據(jù)庫中進(jìn)行行數(shù)據(jù)的復(fù)制制:COPYFROM……TO…[APPEND,CREATE,INSERT,REPLACE]Jan-15-200026數(shù)據(jù)庫對象介介紹CLUSTERDATABASELINKFUNCTIONINDEXTABLEPROCEDUREPACKAGEPACKAGEBODYSEQUENCESYNONYMTRIGGERVIEWJan-15-200027DBA日常工工作數(shù)據(jù)庫管理員員(DBA))職責(zé):數(shù)據(jù)庫物理設(shè)設(shè)計(jì)數(shù)據(jù)庫啟動(dòng)/關(guān)閉數(shù)據(jù)庫安裝,,配置數(shù)據(jù)庫存儲管管理數(shù)據(jù)庫安全管管理數(shù)據(jù)庫故障檢檢測網(wǎng)絡(luò)管理數(shù)據(jù)庫性能檢檢測及優(yōu)化數(shù)據(jù)庫備份與與恢復(fù)Jan-15-200028定時(shí)檢查alert.log文件用utlbstat/utlestat產(chǎn)生數(shù)數(shù)據(jù)庫性能報(bào)報(bào)告對應(yīng)用進(jìn)行跟跟蹤分析*對OPS定時(shí)檢測沖沖突情況定時(shí)對數(shù)據(jù)庫庫中的表和索索引進(jìn)行統(tǒng)計(jì)計(jì)和分析數(shù)據(jù)庫用戶和和安全管理數(shù)據(jù)庫表空間間管理協(xié)助應(yīng)用開發(fā)發(fā)人員進(jìn)行設(shè)設(shè)計(jì)和分析數(shù)據(jù)庫故故障處理理(數(shù)據(jù)據(jù)庫補(bǔ)丁?。?..Jan-15-200029ORACLE數(shù)數(shù)據(jù)庫結(jié)結(jié)構(gòu)SGA((SystemGlobalArea)DatabasebufferSharepoolRedobuffer用戶進(jìn)程程DBWRSMONPMONLGWRARCHRECOLcknDnnnCKPTDatafilesControlfilesRedologfilesJan-15-200030ORACLE實(shí)實(shí)例(instance)DBWRLGWRCKPTSMONPMONinstanceSGADatabufferRedoLogbufferLibrarycacheDatadictionarycacheSharedpoolControlfilesControlfilesControlfilesdatafilesControlfilesRedologfilesALTERfileParameterfilePasswordfileUserProcessServerProcessPGABackgroundprocessARCHArchivedlogfilesJan-15-200031OracleServerControlfilesControlfilesUserProcessServerProcessClientServerPGAJan-15-200032UserprocessServerprocessSELECT*FROMempORDERBYename;statementhandlehandleresultsOKOKparseExecuteFetchDML語句執(zhí)執(zhí)行過過程Jan-15-200033DBWRLGWRCKPTSMONPMONinstanceSGADatabufferRedoLogbufferLibrarycacheDatadictionarycacheSharedpoolARCHControlfilesControlfilesControlfilesdatafilesControlfilesRedologfilesServerProcessUPDATEempSETsal=sal*2WHEREempname=‘王海?!?3452DML語句執(zhí)行過過程Jan-15-200034COMMIT語句句執(zhí)行過程程DBWRLGWRCKPTSMONPMONinstanceSGADatabufferRedoLogbufferLibrarycacheDatadictionarycacheSharedpoolARCHControlfilesControlfilesControlfilesdatafilesControlfilesRedologfilesServerProcessUserProcess1234Jan-15-200035系統(tǒng)管理工具具svrmgrl/svrmgrmsqldbaorapwdSQL*LoaderExport/ImportOEMJan-15-200036svrmgrl常用命令令Jan-15-200037啟動(dòng)與關(guān)閉數(shù)數(shù)據(jù)庫步驟SHUTDOWNNOMOUNTMOUNTOPEN實(shí)例啟動(dòng)打開實(shí)例所需要的控制文件打開控制文件中定義的所有文件12Jan-15-200038ORACEL數(shù)據(jù)庫啟動(dòng)動(dòng)啟動(dòng)命令STARTUP[FORCE][RESTRICT][PFILE=filename][EXCLUSIVE|PARALLEL|SHARED][OPEN[RECOVER][database]|MOUNT|NOMOUNT]并行數(shù)據(jù)庫啟啟動(dòng)步驟-啟動(dòng)DLM鎖-startupparallel-啟動(dòng)監(jiān)聽聽進(jìn)程Jan-15-200039ORACLE數(shù)據(jù)庫關(guān)閉閉關(guān)閉數(shù)據(jù)庫命命令shutdown[normal|transactional|immediate|abort]關(guān)閉數(shù)據(jù)庫步步驟-停止監(jiān)聽聽進(jìn)程-查看系統(tǒng)統(tǒng)中是否存在在活動(dòng)進(jìn)程-用normal方式式或shutdownimmediate關(guān)關(guān)閉數(shù)據(jù)庫Jan-15-200040SHUTDOWN方式Jan-15-200041ORACLE安裝配置設(shè)置環(huán)境變量量NTORADMIN80-NEW-SIDTEST-INTPWDpassword-STARTMODEauto-PFILEinittest.oraUNIXORACLE_HOMEORACLE_SID......數(shù)據(jù)庫安裝參數(shù)數(shù)設(shè)設(shè)置置Jan-15-200042創(chuàng)建建數(shù)數(shù)據(jù)據(jù)庫庫spoolcrdbtest.lststartupnomountpfile=inittest.oraCreatedatabasetestmaxlogfiles10maxlogmembers5maxdatafiles100maxloghistory100logfilegroup1(‘‘/dev/rdrd/drd4’’,’’/dev/rdrd/drd5’’)size10m,group2(‘‘/dev/rdrd/drd6’’,’’/dev/rdrd/drd7’’)size10mdatafile‘/dev/rdrd/drd10’’size100mcharactersetzhs16cgb231280;Jan-15-200043創(chuàng)建數(shù)數(shù)據(jù)庫庫--創(chuàng)建數(shù)數(shù)據(jù)字字典sql.bsq創(chuàng)建數(shù)數(shù)據(jù)庫庫基表表catalog.sql數(shù)據(jù)字字典視視圖catproc.sqlPL/SQLdbms*.sql&prvt*.plb數(shù)據(jù)庫庫包體體/包包頭pupbld.sqlJan-15-200044創(chuàng)建數(shù)數(shù)據(jù)庫庫--故障處處理監(jiān)控日日志文文件install.logmake.logholdfile.log常見安裝裝問題解解決Jan-15-200045控制文件件管理控制文件件作用控制文件件信息數(shù)據(jù)庫名名稱數(shù)據(jù)文件件定位重做日志志文件定定位表空間名名稱當(dāng)前sequence號checkpoint信息備份信息息...控制文件件管理備份重建保持控制制文件的的多個(gè)復(fù)復(fù)本Jan-15-200046V$CONTROLFILENAMEV$PARAMETERNAME(control_file)V$CONTROLFILE_RECORD_SECTIONTYPERECORDS_SIZERECORDS_TOTALRECORDS_USED控制文件件Jan-15-200047數(shù)據(jù)庫邏邏輯結(jié)構(gòu)構(gòu)DatabaseTablespaceSegmentExtentOracleBlockO/SBlockDatafileLogicalPhysicalJan-15-200048數(shù)據(jù)庫表表空間管管理表空間管管理Createtablespacealtertablespacedroptablespace回滾段管管理createrollbacksegmentalterrollbacksegmentdroprollbacksegmentJan-15-200049表空間管管理DBA_TABLESPACEDBA_DATA_FILESDBA_SEGMENTSDBA_EXTENTSDBA_FREE_SPACEDBA_FREE_SPACE_COALESCEDJan-15-200050重做日志(redolog)文件件重做日志文文件作用歸檔模式重做日志文文件管理-ALTERSYSTEMSWITCHLOGFILE;-ALTERSYSTEMCHECKPOINT;-ALTERDATABASEADDLOGFILE-ALTERDATABASEADDLOGFILEMEMBER-ALTERDATABASERENAMEFILE-ALTERDATABASEDROPLOGFILE-ALTERDATABASEDROPLOGFILEMEMBER-ALTERDATBASECLEARLOGFILE-ARCHIVELOGLISTJan-15-200051歸檔模式datafiles5051controlfile100101t1t2WithoutarchivingWitharchivingdatafiles5051controlfile100101t1t25151515151519952Jan-15-200052重做日志(redolog)文件V$DATABASEV$INSTANCEV$THREADV$LOGV$LOGFILEJan-15-200053數(shù)據(jù)庫用戶戶管理用戶管理createuseralteruserdropuser用戶權(quán)限.profileJan-15-200054數(shù)據(jù)庫備份份方案數(shù)據(jù)庫的備備份方案有有以下幾種種:全部或部分分卸出備份份(exp)增量卸出備備份冷備份熱備份歸檔備份整個(gè)文件系系統(tǒng)的復(fù)制制Jan-15-200055卸出備份((exp))exphelp=yExample:expscott/tigerfile=exp.dmplog=exp.logbuffer=4096000full=y/nindexes=[y]/nrows=[y]/ncompress=[y]/nOWNERlistofownerusernamesTABLESlistoftablenamesGRANTSexportgrants(Y)INCTYPEincrementalexporttypeINDEXESexportindexes(Y)CONSTRAINTSexportconstraints(Y)CONSISTENTcross-tableconsistencySTATISTICSanalyzeobjects(ESTIMATE)Jan-15-200056歸檔備份((必須和冷冷/熱備份份結(jié)合使用用)1.數(shù)據(jù)庫庫必須運(yùn)行行在archive模式下svrmgrl>startupmountsvrmgrl>alterdatabasearchivelog;2.冷/熱熱備份3.數(shù)據(jù)庫庫控制文件件備份Jan-15-200057數(shù)據(jù)庫恢復(fù)復(fù)數(shù)據(jù)庫恢復(fù)復(fù):數(shù)據(jù)表空間間/數(shù)據(jù)恢恢復(fù)控制文件恢恢復(fù)根據(jù)據(jù)備備份份方方案案的的不不同同,,恢恢復(fù)復(fù)也也有有以以下下兩兩種種方方法法::1.數(shù)數(shù)據(jù)據(jù)imp((倒倒入入))2.表表空空間間recoverJan-15-200058imphelp=yExample:impscott/tigerfile=exp.dmpfull=yrows=yindex=ylog=imp.log注意意::由于于在在imp的的過過程程中中,,部部分分約約束束及及角角色色將將由由于于對對象象倒倒入入的的先先后后順順序而而丟丟失失,,必必須須用用手手工工重重新新創(chuàng)創(chuàng)建建或或進(jìn)進(jìn)行行第第二二次次imp((不不倒倒入入數(shù)數(shù)據(jù)據(jù)))對比imp.log和exp.log文件件,觀觀察是是否存存在數(shù)數(shù)據(jù)未未倒入入Jan-15-200059表空間間恢復(fù)復(fù)臨時(shí)表表空間間:臨時(shí)表表空間間并不不包含含真正正的數(shù)數(shù)據(jù),,恢復(fù)復(fù)的方方法是是刪除除臨時(shí)時(shí)表空空間并重重建即即可系統(tǒng)表表空間間:系統(tǒng)處處于noarchivelog模模式下下或備備份不不可用用,重重建數(shù)數(shù)據(jù)庫庫系統(tǒng)處處于archivelog模模式下下,恢恢復(fù)步步驟同同用戶戶表空空間回滾表表空間間:刪除回回滾段段,刪刪除回回滾表表空間間,重重建回回滾表表空間間及回回滾段段Jan-15-200060用戶表表空間間:錯(cuò)誤現(xiàn)現(xiàn)象::在啟動(dòng)動(dòng)數(shù)據(jù)據(jù)庫時(shí)時(shí)出現(xiàn)現(xiàn)ORA-01157,ORA-01110或或操作作系統(tǒng)統(tǒng)級錯(cuò)錯(cuò)誤如如ORA-07360;;在關(guān)關(guān)閉數(shù)數(shù)據(jù)庫庫(使使用shutdown或或shutdownimmediate)時(shí)時(shí)出現(xiàn)現(xiàn)錯(cuò)誤誤ORA-01116,ORA-01110及及操作作系統(tǒng)統(tǒng)級錯(cuò)錯(cuò)誤ORA-073681.用戶的的表空間可可以被輕易易地重建最近導(dǎo)出的的對象是可可用的或表表空間中的的對象可以以被輕易地地重建等.在這種情況況下,最簡簡單的方法法是offline并刪除該該數(shù)據(jù)文件件,刪除表表空間并重建建表空間以以及所有的的對象并重重建表空間間及所有對對象.2.數(shù)據(jù)據(jù)庫運(yùn)行在在archivemode下下,恢復(fù)步步驟為:將備份回拷拷覆蓋被損損壞的數(shù)據(jù)據(jù)文件;回回拷(冷/熱)備份份后生成的的所有日志文文件svrmgrl>recoverdatafilefilename;svrmgrl>alterdatabaseopenresetlogs;Jan-15-200061控制文件的的恢復(fù):1.存在在一個(gè)或多多個(gè)控制文文件可用關(guān)閉數(shù)據(jù)庫庫,復(fù)制可可用的控制制文件2.所有有的控制文文件均被破破壞重建控制文文件:svrmgrl>startupnomountsvrmgrl>@cre.sql ----重建建控制文件件腳本Jan-15-200062CREATECONTROLFILEREUSEDATABASE"YY1"NORESETLOGSNOARCHIVELOGMAXLOGFILES32MAXLOGMEMBERS2MAXDATAFILES256MAXINSTANCES8MAXLOGHISTORY800LOGFILEGROUP1'/dev/rdrd/drd1'SIZE10M,GROUP2'/dev/rdrd/drd2'SIZE10M,GROUP3'/dev/rdrd/drd6'SIZE10M,DATAFILE‘/usr/ora/db/system.dbf',’/usr/ora/db/rbs.dbf',’……...';RECOVERDATABASEALTERDATABASEOPEN;Jan-15-200063數(shù)據(jù)據(jù)庫庫優(yōu)優(yōu)化化數(shù)據(jù)據(jù)庫庫優(yōu)優(yōu)化化工工作作重重要要性性數(shù)據(jù)據(jù)庫庫優(yōu)優(yōu)化化過過程程數(shù)據(jù)據(jù)庫庫優(yōu)優(yōu)化化基基礎(chǔ)礎(chǔ)知知識識數(shù)據(jù)據(jù)庫庫優(yōu)優(yōu)化化內(nèi)內(nèi)容容數(shù)據(jù)據(jù)庫庫性性能能診診斷斷工工具具優(yōu)化化技技巧巧及及腳腳本本ORACLE技技術(shù)術(shù)熱熱線線Jan-15-200064數(shù)據(jù)庫基基礎(chǔ)知識識ORACLE數(shù)數(shù)據(jù)庫系系統(tǒng)數(shù)據(jù)據(jù)存儲的的物理結(jié)結(jié)構(gòu)和邏邏輯結(jié)構(gòu)構(gòu)模式對象象的組成成ORACLE數(shù)數(shù)據(jù)庫系系統(tǒng)的進(jìn)進(jìn)程以及及內(nèi)存結(jié)結(jié)構(gòu)構(gòu)成成ORACLE鎖鎖的概念念介紹二階段提提交的概概念用戶、角角色、權(quán)權(quán)限的概概念的介介紹舉例介紹ORACLE是如何何處理一個(gè)個(gè)事務(wù)Jan-15-200065ORACLE事務(wù)處處理過程首先必須有有一臺主機(jī)機(jī)或數(shù)據(jù)庫庫服務(wù)器運(yùn)運(yùn)行一個(gè)ORACLEINSTANCE工作站運(yùn)行行一個(gè)應(yīng)用用,它試圖圖通過適當(dāng)當(dāng)?shù)腟QL*NET驅(qū)動(dòng)同服服務(wù)器取得得聯(lián)系如果該服務(wù)務(wù)器也正在在運(yùn)行適當(dāng)當(dāng)?shù)腟QL*NET驅(qū)動(dòng)。服服務(wù)器檢測測到應(yīng)用的的連接請求求,開始為為此用戶進(jìn)進(jìn)程創(chuàng)建一一個(gè)專用的的服務(wù)器進(jìn)進(jìn)程客戶端的用用戶執(zhí)行一一個(gè)SQL語句并提提交此進(jìn)程程服務(wù)器進(jìn)程程收到此SQL語句句,并開始始檢驗(yàn)在ORACLE的共享享池中是否否存在同樣樣的SQL語句。如如果在共享享池中發(fā)現(xiàn)現(xiàn)該SQL語句,服服務(wù)器進(jìn)程程開始檢驗(yàn)驗(yàn)該用戶是是否對請求求的數(shù)據(jù)有有操作的權(quán)權(quán)限,然后后使用在共共享池中的的SQL語語句去執(zhí)行行該語句。。如果該SQL語句句在共享池池中不存在在,就為此此語句分配配一個(gè)新的的共享池區(qū)區(qū)以便它能能夠被解析析、執(zhí)行服務(wù)器進(jìn)程程從實(shí)際的的數(shù)據(jù)文件件或共享池池中取回必必須的數(shù)據(jù)據(jù)服務(wù)器進(jìn)程程在在共享享池中修改改數(shù)據(jù)。在在上述所作作的生效之之后,DBWR后臺臺進(jìn)程把修修改后的數(shù)數(shù)據(jù)塊永久久的寫入硬硬盤。在此此事務(wù)提交交成功之后后,LGWR進(jìn)程立立即把此事事務(wù)記錄到到在線的redologfile如果此事務(wù)務(wù)成功,服服務(wù)器進(jìn)程程通過網(wǎng)絡(luò)絡(luò)返回一個(gè)個(gè)成功的信信息給應(yīng)用用程序。如如果該事務(wù)務(wù)不成功,,將返回一一個(gè)適當(dāng)?shù)牡男畔⒃谏鲜龅氖率聞?wù)過程中中,其余的的后臺進(jìn)程程同樣在運(yùn)運(yùn)行,等待待著條件符符合而被觸觸發(fā)。此外外,數(shù)據(jù)庫庫服務(wù)器還還管理著其其他用戶的的事務(wù),并并且在不同同事務(wù)之間間提供數(shù)據(jù)據(jù)一致性,,防止不同同事務(wù)對相相同數(shù)據(jù)操操作Jan-15-200066數(shù)據(jù)庫優(yōu)化化內(nèi)容數(shù)據(jù)庫建庫庫優(yōu)化數(shù)據(jù)庫初始始化文件數(shù)據(jù)庫空間間優(yōu)化系統(tǒng)設(shè)計(jì)優(yōu)優(yōu)化SQL語句句優(yōu)化SGA優(yōu)化化I/O、CPU優(yōu)化化系統(tǒng)性能瓶瓶頸分析常見問題分分析Jan-15-200067數(shù)據(jù)庫空間間設(shè)計(jì)優(yōu)化化表空間設(shè)計(jì)計(jì)的原則為為:把由用戶創(chuàng)創(chuàng)建的其余余表空間同同SYSTEM表空空間進(jìn)行分分離把系統(tǒng)的數(shù)數(shù)據(jù)表空間間同索引表表空間分離離把操作頻繁繁和不經(jīng)常常操作的表表劃分在不不同的表空空間中分離用戶數(shù)數(shù)據(jù)和回滾滾段的數(shù)據(jù)據(jù)以防止某某個(gè)磁盤出出現(xiàn)故障丟丟失數(shù)據(jù)為特殊類型型的數(shù)據(jù)庫庫使用保留留某個(gè)表空空間回滾表空間間分配原則則臨時(shí)表空間間分配原則則Jan-15-200068回滾段空間間分配原則則一個(gè)事務(wù)的的回退信息息可以寫到到當(dāng)前例程程中正在被被使用的任任何的一個(gè)個(gè)回滾段中中一個(gè)事務(wù)的的所有回退退信息只能能寫入一個(gè)個(gè)回滾段中中多個(gè)事務(wù)的的回退信息息可以同時(shí)時(shí)寫入同一一個(gè)回滾段段中,甚至至可以同時(shí)時(shí)寫入一個(gè)個(gè)EXTENT中當(dāng)回滾段的的EXTENT中的的所有事務(wù)務(wù)都被提交交或回退了了,此EXTENT就可以被被重新使用用一旦回滾滾段的某某個(gè)EXTENT被重重新使用用,在此此EXTENT中的所所有信息息都不在在可用在系統(tǒng)需需要更多多的空間間時(shí),如如果回滾滾段的下下一個(gè)EXTENT中中有活動(dòng)動(dòng)事務(wù),,例程就就會(huì)擴(kuò)展展此回滾滾段select、、insert、update、delete語語句都可可能會(huì)使使數(shù)據(jù)庫庫從多個(gè)個(gè)回滾段段去讀數(shù)數(shù)據(jù)回滾段的的頭永遠(yuǎn)遠(yuǎn)不會(huì)移移入當(dāng)前前被rollback的事務(wù)務(wù)為所占占用的extent中中當(dāng)回滾段段的頭進(jìn)進(jìn)行擴(kuò)展展時(shí),他他是按順順序的,,不會(huì)跳跳過環(huán)中中的EXTENT如果回滾滾段的頭頭不能使使用下一一個(gè)extent,它它就會(huì)另另外分配配一個(gè)extent,,并把它它插入環(huán)環(huán)中Jan-15-200069系統(tǒng)設(shè)計(jì)計(jì)時(shí)作的的優(yōu)化ORACLE存存儲基基本單位位----BLOCK建表參數(shù)數(shù)建索引參參數(shù)索引結(jié)構(gòu)構(gòu)Jan-15-200070系統(tǒng)設(shè)計(jì)計(jì)時(shí)作的的優(yōu)化----建表參參數(shù)Jan-15-200071SQL語語句優(yōu)化化ORACLE優(yōu)化方式式COST_BASED(基于于代價(jià)))RULE_BASED(基于于規(guī)則))索引的使使用如何寫高高效的SQL語語句寫相同的的SQL語句,,保證程程序能夠夠利用共共享池的的內(nèi)容,,加快程程序的執(zhí)執(zhí)行速度度寫能夠利利用索引引并且能能夠符合合基于代代價(jià)的優(yōu)優(yōu)化條件件的SQL語句句盡量利用用PL/SQL的特性性減少網(wǎng)網(wǎng)絡(luò)的傳傳輸使用存儲儲過程,,以減少少網(wǎng)絡(luò)的的傳輸和和提高系系統(tǒng)的編編譯速度度Jan-15-200072無法使用用到索引引的SQL語句句COLUMN1>(<,>=,<=)COLUMN2其中COLUMN1和和COLUMN2在同同一張表表中COLUMNIS(ISNOT)NULLCOLUMNNOTINCOLUMN!=EXPRCOLUMNLIKE‘‘%ANYTHING’在上述條條件中不不管COLUMN上是是否有建建索引,,SQL語句都都不會(huì)利利用索引引。EXPR是一個(gè)個(gè)表達(dá)式式,它用用運(yùn)算符符或函數(shù)數(shù)操作在在該列上上例如:EXPR*COLUMN=ANYTHINGNOTEXISTSSUBQUERY不包含未未被索引引的列的的任何條條件在LIKE表達(dá)達(dá)式中如如果模糊糊的列為為數(shù)字或或日期的的話在ORACLE內(nèi)部的的本身的的數(shù)據(jù)轉(zhuǎn)轉(zhuǎn)換Jan-15-200073數(shù)據(jù)庫常常見性能能分析表空間的的剩余空空間的問問題表的鎖的的問題表的鏈接接問題索引的查查找速度度降慢問問題表操作作速度度降慢慢的問問題Jan-15-200074性能檢檢測工工具EXPLAIN的使使用介介紹EXPLAINPLAN的的加強(qiáng)強(qiáng)版TKPROF的的使用用介紹紹UTLBSTAT/UBLESTAT使用用介紹紹第三方方產(chǎn)品品Jan-15-200075EXPLAINEXPLIANPLAN作作用執(zhí)行EXPLAINPLAN前前期準(zhǔn)準(zhǔn)備工工作EXPLAIN語語法explainplan((setstatementid='text’’)forstatementPLAN_TABLE結(jié)構(gòu)Jan-15-200076EXPLAINPLANSelectid,parent_id,position,operation,options,object_name,object_type,costfromplan_table;PLAN_TABLE表表的主主要字字段介介紹::Statement_id該該值由由系統(tǒng)統(tǒng)在執(zhí)執(zhí)行EXPLAINPLAN時(shí)時(shí)進(jìn)行行賦值值Operation表表示示該語語句每每一步步要進(jìn)進(jìn)行的的操作作Options表表示該該語句句每一一步要要進(jìn)行行的動(dòng)動(dòng)作Object_name表表示示語句句中涉涉及到到的數(shù)數(shù)據(jù)庫庫對象象名Object_type表表示示語句句中涉涉及到到的數(shù)數(shù)據(jù)庫庫對象象類別別Id執(zhí)執(zhí)行行計(jì)劃劃數(shù)的的節(jié)點(diǎn)點(diǎn)值Parent_id執(zhí)執(zhí)行行計(jì)劃劃的節(jié)節(jié)點(diǎn)值值的父父節(jié)點(diǎn)點(diǎn)值Position表表示示對具具有相相同parent_id的的執(zhí)行行順序序Cost執(zhí)執(zhí)行行該該語語句句的的代代價(jià)價(jià)Jan-15-200077TKPROF使用TKPROF工具步步驟:1.svrmgrl>@utlxplan.sql修改init.ora文文件,設(shè)置TIMED_STATISTICS=TRUE2.sql>executedbms_system.set_sql_trace_in_session(sid,serial#,true)3.sql>executedbms_system.set_sql_trace_in_session(sid,serial#,false)4.tkproftrc_filetext_filesys=y/nexplain=user/passwdJan-15-200078TKPROFTKPROF輸出的文件件中關(guān)鍵字含含義:count一一個(gè)語句被被語法分析、、執(zhí)行和取數(shù)數(shù)的次數(shù)cpu 對語語句的所有語語法分析,執(zhí)執(zhí)行或取數(shù)調(diào)調(diào)用的總CPU時(shí)間(以以秒計(jì))elapsed 對語句句的所有語法法分析,執(zhí)行行或取數(shù)調(diào)用用的總耗費(fèi)時(shí)時(shí)間(以秒計(jì)計(jì))disk對對所有語法分分析,執(zhí)行或或取數(shù)調(diào)用的的,從磁盤數(shù)數(shù)據(jù)文件上數(shù)數(shù)據(jù)塊物理讀的總數(shù)query對對所有有語法法分析析,執(zhí)執(zhí)行或或取數(shù)數(shù)調(diào)用用的,,以一一致方方式檢檢索的的緩沖沖區(qū)總總數(shù),,對查詢詢來說說,通通常用用一致致性方方式檢檢索緩緩沖區(qū)區(qū)current以以當(dāng)前前方式式檢索索的緩緩沖區(qū)區(qū)總數(shù)數(shù)。對對INSERT,UPDATE和和DELETE語句通常常用當(dāng)當(dāng)前方方式檢檢索緩緩沖區(qū)區(qū)Query和和current的的和是是存取取的緩緩沖區(qū)區(qū)的總數(shù)rows由由SQL語句句處理理的總總行數(shù)數(shù)。對對于SELECT語語句而而言,,返回回的行行數(shù)出出現(xiàn)在取數(shù)數(shù)的步步驟,,對UPDATE、、DELETE和INSERT語語句而而言,,處理理的行數(shù)出出現(xiàn)在在執(zhí)行行步驟驟Jan-15-200079Example:在在執(zhí)行行tkprofora_1000.trcout.txtexplain=sys/syssys=no后輸輸出如如下::…...SELECTWORK_TYPE_IDFROMWORK_AREAW,STAFF_MEMBERSWHEREW.WORK_AREA_ID=:b1ANDS.WORK_AREA_ID=:b1ANDS.STAFF_ID=:b3ANDS.STS='A'callcountcpuelapseddiskquerycurrentrows------------------------------------------------------------------Parse00.000.000000Execute10.000.000001Fetch123.00.003223022243993----------------------------------------------------------------------total223.000.003993022243993………RowsExecutionPlan----------------------------------------------------------0SELECTSTATEMENTGOAL:CHOOSE1NESTEDLOOPS43993TABLEACCESSGOAL:ANALYZED(FULL)OF'STAFF_MEMBER'29TABLEACCESSGOAL:ANALYZED(BYROWID)OF'WORK_AREA'29INDEXGOAL:ANALYZED(UNIQUESCAN)OF'SYS_C007339'(UNIQUE)…...Jan-15-200080UTLBSTAT/UTLESTAT:設(shè)置TIMED_STATISTICS=TRUEsvrmgrl>@utlbstatsvrmgrl>@utlestat系統(tǒng)將將生成成report.txt文本本文件件便于于分析析優(yōu)化技技巧和和常用用腳本本:Jan-15-200081ORACLE技技術(shù)支支持網(wǎng)網(wǎng)站Jan-15-200082I.oerrerror_typeerror_noORACLE提提供了了一個(gè)個(gè)非常常實(shí)用用的故故障判判斷命命令oerr,,格式式:oerroraerror_no,使使用該該命令令能夠夠解決決大多多數(shù)使使用ORACLE中中所遇遇到的的“故故障””:Example1:$oerrora30100301,00000,"errorinaddinglogfile'%s'-filecannotbecreated"http://*Cause:Thecreationofthelogfilefailed//*Action:Check:1)thereisenoughspaceonthedevice//2)thenameofthefileisvalid//3)thedeviceisonline//4)anIOerroroccurred//consultassociatederrorsforfurtherinformation.Jan-15-200083Example2:$oerrora154201542,00000,"tablespace'%s'isoffline,cannotallocatespaceinit"http://*Cause:Triedtoallocatespaceinanofflinetablespace//*Action:Bringthetablespaceonlineorcreatetheobjectin//othertablespaceJan-15-200084Example3:$oerrora403104031,00000,"unabletoallocate%sbytesofsharedmemory(\"%s\",\"%s\",\"%s\")"http://*Cause:Moresharedmemoryisneededthanwasallocatedinthe//sharedpool.//*Action:Eitherusethedbms_shared_poolpackagetopinlarge//packages,reduceyouruseofsharedmemory,orincreasethe//amountofavailablesharedmemorybyincreasingthevalueofthe//init.oraparameter"shared_pool_size".Jan-15-200085II.無法自行解解決錯(cuò)誤對于以下錯(cuò)錯(cuò)誤,一般般是由于ORACLE的bug引起,,需要通過過ORACLE技術(shù)術(shù)支持解決決:ORA-00600錯(cuò)誤00600,00000,"internalerrorcode,arguments:[%s],[%s],[%s],[%s],[%s],[%s],[%s],[%s]”//*Cause:ThisisthegenericinternalerrornumberforOracleprogram//exceptions.Thisindicatesthataprocesshasencounteredan//exceptionalcondition.//*Action:Reportasabug-thefirstargumentistheinternalerrornumberORA-07445錯(cuò)誤Jan-1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版小學(xué)四年級體育上冊全冊教案
- 福建師范大學(xué)協(xié)和學(xué)院《國際市場營銷》2021-2022學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《羽毛球》2021-2022學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《信號分析與控制》2021-2022學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《書法》2021-2022學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《籃球》2022-2023學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《環(huán)境資源法》2023-2024學(xué)年第一學(xué)期期末試卷
- 福建師范大學(xué)《光學(xué)實(shí)驗(yàn)一》2022-2023學(xué)年第一學(xué)期期末試卷
- 綠色旅游課件教學(xué)課件
- 2024年拉薩小型客運(yùn)從業(yè)資格證理論考試題
- 2024-2025學(xué)年人教版八年級物理上學(xué)期期中綜合模擬試卷
- Unit 4 Time to celebrate 第3課時(shí)教學(xué)設(shè)計(jì) -2024-2025學(xué)年外研版英語七年級上冊
- 2024公安機(jī)關(guān)人民警察高級執(zhí)法資格考試題(解析版)
- 備戰(zhàn)2025年高考語文易錯(cuò)題(新高考專用)易錯(cuò)題11 小說文本閱讀之?dāng)⑹绿卣鞣治鲱}-對敘事特征范疇理清不清含答案
- 國開2024年秋《機(jī)電控制工程基礎(chǔ)》形考任務(wù)4答案
- 第二單元測試卷-2024-2025學(xué)年語文三年級上冊統(tǒng)編版
- 教學(xué)計(jì)劃(教學(xué)計(jì)劃)-2024-2025學(xué)年大象版四年級科學(xué)上冊
- 湖北省2025屆高三(9月)起點(diǎn)考試 化學(xué)試卷(含答案)
- 大一統(tǒng)王朝的鞏固(課件) 2024-2025學(xué)年七年級歷史上冊同步教學(xué)課件(統(tǒng)編版2024)
- 幼兒園大班韻律《兔子與農(nóng)夫》課件
- 6《芣苢》《插秧歌》公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)統(tǒng)編版高中語文必修上冊
評論
0/150
提交評論