Oracle數(shù)據(jù)庫(kù)維護(hù)培訓(xùn)-華為_第1頁(yè)
Oracle數(shù)據(jù)庫(kù)維護(hù)培訓(xùn)-華為_第2頁(yè)
Oracle數(shù)據(jù)庫(kù)維護(hù)培訓(xùn)-華為_第3頁(yè)
Oracle數(shù)據(jù)庫(kù)維護(hù)培訓(xùn)-華為_第4頁(yè)
Oracle數(shù)據(jù)庫(kù)維護(hù)培訓(xùn)-華為_第5頁(yè)
已閱讀5頁(yè),還剩211頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Oracle數(shù)據(jù)庫(kù)維護(hù)培訓(xùn)膠片集成產(chǎn)品部?Oracle體系結(jié)構(gòu)

?

目標(biāo)通過這部分課程的學(xué)習(xí),您將了解以下內(nèi)容:描述Oracle服務(wù)器的體系結(jié)構(gòu)及其主要構(gòu)件列舉用戶連接到Oracle實(shí)例所涉及的結(jié)構(gòu)雙機(jī)模式:RAC/HOTSTANDBY?主要組件一覽實(shí)例系統(tǒng)全局區(qū)重做日志緩沖區(qū)共享池?cái)?shù)據(jù)字典緩沖區(qū)庫(kù)緩沖區(qū)DBWRSMONPMONCKPTLGWROthers用戶端進(jìn)程服務(wù)器進(jìn)程程序全局區(qū)控制文件數(shù)據(jù)文件歸檔日志文件參數(shù)文件密碼文件重做日志文件數(shù)據(jù)庫(kù)數(shù)據(jù)塊高速緩沖區(qū)?Oracle服務(wù)器一個(gè)Oracle服務(wù)器:是一個(gè)提供開放式的、全面的、綜合性信息管理服務(wù)的數(shù)據(jù)庫(kù)管理系統(tǒng)由一個(gè)Oracle數(shù)據(jù)庫(kù)和一個(gè)Oracle實(shí)例組成Oracle服務(wù)器?Oracle實(shí)例一個(gè)Oracle實(shí)例:是一種訪問Oracle數(shù)據(jù)庫(kù)的基本方式總是打開一個(gè)且只打開一個(gè)數(shù)據(jù)庫(kù)由內(nèi)存結(jié)構(gòu)和進(jìn)程結(jié)構(gòu)組成后臺(tái)進(jìn)程內(nèi)存結(jié)構(gòu)SGARedolog

buffercacheDatabase

buffercacheSharedpoolDBWRSMONPMONCKPTLGWROthersDataDict.

cacheLibrarycache實(shí)例?創(chuàng)建連接和會(huì)話創(chuàng)建連接創(chuàng)建對(duì)話數(shù)據(jù)庫(kù)用戶用戶進(jìn)程Oracle服務(wù)器服務(wù)器進(jìn)程?Oracle數(shù)據(jù)庫(kù)Oracle數(shù)據(jù)庫(kù):是作為一個(gè)單元對(duì)待的數(shù)據(jù)的集合體由三種文件類型組成控制文件數(shù)據(jù)文件

歸檔日志文件參數(shù)文件密碼文件重做日志文件Oracle數(shù)據(jù)庫(kù)?物理結(jié)構(gòu)

Oracle數(shù)據(jù)庫(kù)的物理存儲(chǔ)是由實(shí)際的操作系統(tǒng)文件決定控制文件數(shù)據(jù)文件重做日志文件控制文件數(shù)據(jù)文件(包括數(shù)據(jù)字典)標(biāo)題聯(lián)機(jī)重做日志文件?內(nèi)存結(jié)構(gòu)Oracle的內(nèi)存結(jié)構(gòu)由以下兩個(gè)內(nèi)存區(qū)域構(gòu)成:

系統(tǒng)全局區(qū)(SGA):在實(shí)例啟動(dòng)的時(shí)候分配,是Oracle實(shí)例中的一個(gè)基本成分程序全局區(qū)(PGA):服務(wù)器進(jìn)程啟動(dòng)時(shí)分配?系統(tǒng)全局區(qū)系統(tǒng)全局區(qū)(SGA)由幾部分內(nèi)存區(qū)域組成:共享池?cái)?shù)據(jù)塊高速緩沖區(qū)重做日志緩沖區(qū)

有兩個(gè)可選擇的內(nèi)存結(jié)構(gòu)能配置在系統(tǒng)全局區(qū)內(nèi):大型池JAVA池?系統(tǒng)全局區(qū)系統(tǒng)全局區(qū)分配大小上限由SGA_MAX_SIZE參數(shù)決定.系統(tǒng)全局區(qū)分配原則依賴其中的組件:分配鄰近的虛擬內(nèi)存大小基于SGA_MAX_SIZE?共享存儲(chǔ)區(qū)用來存儲(chǔ)最近最多執(zhí)行的SQL語(yǔ)句和最近最多使用的數(shù)據(jù)定義.它由兩個(gè)主要的內(nèi)存存結(jié)構(gòu)組成:庫(kù)緩沖區(qū)數(shù)據(jù)字典緩沖區(qū)大小由參數(shù)SHARED_POOL_SIZE決定.SharedpoolDatadictionarycacheLibrarycacheALTERSYSTEMSETSHARED_POOL_SIZE=64M;?庫(kù)緩存區(qū)庫(kù)緩沖區(qū)存儲(chǔ)最近使用的SQL和PL/SQL語(yǔ)句信息:它能夠使普遍使用的語(yǔ)句能夠共享通過LRU算法進(jìn)行管理由兩種結(jié)構(gòu)組成:共享SQL區(qū)域共享PL/SQL區(qū)域其中各自的大小由共享池內(nèi)部指定?數(shù)據(jù)字典緩沖區(qū)數(shù)據(jù)字典緩沖區(qū)是數(shù)據(jù)庫(kù)里最經(jīng)常使用的對(duì)象定義的集合.它包括數(shù)據(jù)文件名、表、索引、列、用戶權(quán)限和其它數(shù)據(jù)庫(kù)對(duì)象等信息.在解析期間,服務(wù)器進(jìn)程會(huì)查找數(shù)據(jù)字典獲取允許接入的關(guān)聯(lián)對(duì)象信息.緩存數(shù)據(jù)字典信息在內(nèi)存區(qū)能提高查詢數(shù)據(jù)的響應(yīng)時(shí)間.它的大小由共享池的大小決定.?數(shù)據(jù)塊高速緩沖區(qū)

數(shù)據(jù)塊高速緩沖區(qū)儲(chǔ)存以前從數(shù)據(jù)文件中取出過的數(shù)據(jù)塊的拷貝信息.當(dāng)你得到或修改數(shù)據(jù)時(shí),它能使性能得到提高.它通過LRU算法進(jìn)行管理.由DB_BLOCK_SIZE決定大小.Databasebuffer

cache?數(shù)據(jù)塊高速緩沖區(qū)由獨(dú)立的子緩存組成:DB_CACHE_SIZEDB_KEEP_CACHE_SIZEDB_RECYCLE_CACHE_SIZE數(shù)據(jù)庫(kù)緩沖區(qū)可以動(dòng)態(tài)的改變尺寸.DB_CACHE_ADVICE可以設(shè)置以收集統(tǒng)計(jì)信息用來預(yù)測(cè)不同的緩沖大小ALTERSYSTEMSETDB_CACHE_SIZE=96M;?重做日志緩沖區(qū)重做日志緩沖區(qū)記錄數(shù)據(jù)塊的所有變化.首要目的是恢復(fù).記錄的信息可用來重做改變.尺寸大小由LOG_BUFFER定義.Redolog

buffercache?大型池大型池是在SGA內(nèi)一種可選擇的存貯區(qū)域,只配置在共享服務(wù)器環(huán)境中.能減輕在共享池的負(fù)擔(dān).用在UGA、備份和恢復(fù)等操作中.不使用LRU列表算法.大小由LARGE_POOL_SIZE決定.ALTERSYSTEMSETLARGE_POOL_SIZE=64M;?Java區(qū)Java區(qū)是為了解開Java命令:如果安裝并使用Java是必需的.在數(shù)據(jù)庫(kù)表格中,它存貯的方式非常像PL/SQL.它的尺寸由JAVA_POOL_SIZE參數(shù)決定.?User

process程序全局區(qū)PGA是為每個(gè)用戶進(jìn)程連接Oracle數(shù)據(jù)庫(kù)分配的區(qū)域StackspaceSessioninformationsortarea,cursorinformationSGASharedSQLareasSGASessioninformationPGADedicatedserverSharedserverServer

processSharedSQLareasStackspacesortarea,cursorinformation?進(jìn)程結(jié)構(gòu)Oracle進(jìn)程是一種程序,依賴它要求信息的類型,執(zhí)行一系列的步驟或者實(shí)施一項(xiàng)具體的任務(wù).

用戶進(jìn)程:當(dāng)數(shù)據(jù)庫(kù)用戶要求連接到Oracle服務(wù)器時(shí)開始啟動(dòng).服務(wù)器進(jìn)程:連接Oracle實(shí)例,當(dāng)用戶建立一個(gè)會(huì)話時(shí)開始啟動(dòng).后臺(tái)進(jìn)程:Oracle實(shí)例啟動(dòng)即可用.?用戶進(jìn)程用戶進(jìn)程是要求Oracle服務(wù)器交互的一種進(jìn)程:它必須首先建立一個(gè)連接.不直接和Oracle服務(wù)器交互.DatabaseuserServer

processUser

processConnectionestablished?服務(wù)進(jìn)程 服務(wù)進(jìn)程是直接和Oracle服務(wù)器交互的一段程序.它響應(yīng)用戶要求,向服務(wù)器發(fā)起呼叫并返回結(jié)果給用戶.可用專用服務(wù)器模式,也可用共享服務(wù)器模式創(chuàng)建對(duì)話.ConnectionestablishedSessioncreatedDatabaseuserUser

processOracleserverServer

process?后臺(tái)進(jìn)程保持物理和內(nèi)存結(jié)構(gòu)的關(guān)系.必須的后臺(tái)進(jìn)程DBWn PMON CKPTLGWR SMON RECO可選擇的后臺(tái)進(jìn)程ARCn LMON SnnnQMNn LMDn CJQ0 PnnnLCKn Dnnn?InstanceSGADatabasebuffer

cacheDBWnControlfilesDatafilesRedologfiles數(shù)據(jù)庫(kù)復(fù)寫器DBWn開始寫:檢查點(diǎn)執(zhí)行臟塊上限數(shù)到達(dá)緩存區(qū)沒有自由空間超時(shí)連接RAC要求表空間脫機(jī)表空間只讀清空和刪除表表空間開始備份Database?InstanceSGADBWnRedologbuffer日志復(fù)寫器LGWR開始寫:提交時(shí)三分之一緩沖區(qū)滿的時(shí)候當(dāng)有1MB日志的時(shí)候 每三秒在DBWn寫之前ControlfilesDatafilesRedologfilesLGWRDatabase?InstanceSGASMON系統(tǒng)監(jiān)控進(jìn)程責(zé)任:實(shí)例恢復(fù):回滾日志文件中的改變信息打開數(shù)據(jù)庫(kù),讓用戶進(jìn)入回滾未提交的事務(wù)每三秒接合空閑空間回收臨時(shí)段ControlfilesDatafilesRedologfilesInstanceSGASMONDatabase?InstanceSGAPMON進(jìn)程監(jiān)控器處理失敗后進(jìn)行清理:回滾事務(wù)釋放鎖釋放其它資源重啟死的dispatchsPGAarea?InstanceSGADWW0RedoLogBufferLGWRInstanceSGADBWnLGWRCKPTControlfilesDatafilesRedologfiles檢查點(diǎn)負(fù)責(zé):給DBWn發(fā)信號(hào)修改數(shù)據(jù)文件塊頭修改控制文件信息?歸檔進(jìn)程(ARCn)

可選擇的后臺(tái)進(jìn)程當(dāng)ARCHIVELOG模式被設(shè)置時(shí)自動(dòng)歸檔聯(lián)機(jī)重做日志文件保存所有數(shù)據(jù)庫(kù)變化ControlfilesDatafilesRedologfilesArchivedRedologfilesARCn?邏輯結(jié)構(gòu)Oracle體系的邏輯結(jié)構(gòu)描述了數(shù)據(jù)庫(kù)的物理空間怎樣運(yùn)用,包括表空間、段、片區(qū)和塊.TablespaceDatafileSegmentBlocksExtentSegment?RAC方式原理結(jié)構(gòu)圖?RAC方式優(yōu)點(diǎn)良好的可伸縮性高可用性先進(jìn)的CacheFusion技術(shù)降低硬件成本切換時(shí)間短缺點(diǎn)管理復(fù)雜對(duì)網(wǎng)絡(luò)有較高要求

?HOTSTANDBY(雙機(jī)熱備)方式原理結(jié)構(gòu)圖?HOTSTANDBY(雙機(jī)熱備)方式優(yōu)點(diǎn)管理較為簡(jiǎn)單運(yùn)行較為穩(wěn)定缺點(diǎn)切換時(shí)間較長(zhǎng)在系統(tǒng)切換的過程中,客戶端與服務(wù)器之間的數(shù)據(jù)庫(kù)連接會(huì)中斷,需重新連接備用機(jī)閑置,不能實(shí)現(xiàn)負(fù)載均衡?總結(jié)通過這部分課程的學(xué)習(xí),您應(yīng)該已經(jīng)了解:解釋數(shù)據(jù)庫(kù)文件:數(shù)據(jù)文件、控制文件、聯(lián)機(jī)重做日志.解釋系統(tǒng)全局區(qū)內(nèi)存結(jié)構(gòu):數(shù)據(jù)塊高速緩沖區(qū)、共享池、重做日志緩沖區(qū).解釋主要的后臺(tái)進(jìn)程:

DBWn,LGWR,CKPT,PMON,SMON,和ARCn雙機(jī)模式:RAC/HOTSTANDBY?管理表空間和數(shù)據(jù)文件?目標(biāo)通過這部分課程的學(xué)習(xí),您將了解以下內(nèi)容:數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)創(chuàng)建表空間改變表空間的大小為臨時(shí)段分配空間改變表空間的狀態(tài)改變表空間的存儲(chǔ)參數(shù)設(shè)置?概觀ControlfilesDatafilesRedologfilesDatabase?Database邏輯上物理上TablespaceDatafileOSblockOracle

blockSegmentExtent數(shù)據(jù)庫(kù)的存儲(chǔ)層次?系統(tǒng)和非系統(tǒng)表空間系統(tǒng)表空間:隨著數(shù)據(jù)庫(kù)創(chuàng)建被創(chuàng)建包含數(shù)據(jù)字典信息包含系統(tǒng)回滾段非系統(tǒng)表空間:不同的segments分開存放(如:回滾段,臨時(shí)段,應(yīng)用數(shù)據(jù))控制分配給用戶對(duì)象的空間容量?表空間的管理本地管理的表空間:自由擴(kuò)展信息被記錄在本身的位圖中位圖中的每一位都對(duì)應(yīng)一個(gè)數(shù)據(jù)塊或一組數(shù)據(jù)塊位圖中的標(biāo)志位顯示數(shù)據(jù)塊使用或未使用狀態(tài)信息字典管理的表空間:缺省的表空間管理方式自由擴(kuò)展信息被記錄在數(shù)據(jù)字典中?本地管理的表空間簡(jiǎn)化了數(shù)據(jù)字典中的內(nèi)容空間分配和回收不產(chǎn)生回滾信息沒有接合鄰近extents的要求CREATETABLESPACEuserdataDATAFILE'/u01/oradata/userdata01.dbf'SIZE500MEXTENTMANAGEMENTLOCALUNIFORMSIZE256K;?字典管理的表空間Extents在數(shù)據(jù)字典中管理每個(gè)存儲(chǔ)在表空間的segments都可以有不同的存儲(chǔ)參數(shù)設(shè)置有鄰近接合extents的要求CREATETABLESPACEuserdataDATAFILE'/u01/oradata/userdata01.dbf'SIZE500MEXTENTMANAGEMENTDICTIONARY DEFAULTSTORAGE(initial1MNEXT1M);?回滾段表空間用來存儲(chǔ)回滾段信息不能包含其它對(duì)象Extents本地管理在創(chuàng)建時(shí)僅僅能使用DATAFILEandEXTENTMANAGEMENT條件CREATEUNDOTABLESPACEundo1DATAFILE'/u01/oradata/undo101.dbf'SIZE40M;?臨時(shí)表空間用來做排序操作不能包含固定的對(duì)象最好使用本地表空間管理CREATETEMPORARYTABLESPACEtempTEMPFILE'/u01/oradata/temp01.dbf'SIZE500MEXTENTMANAGEMENTLOCALUNIFORMSIZE10M;?缺省臨時(shí)表空間的限制直到新的缺省表空間被使用時(shí)才能刪除不能下線.不能將缺省的臨時(shí)表空間修改成永久表空間?刪除表空間DROPTABLESPACEuserdataINCLUDINGCONTENTSANDDATAFILES;從數(shù)據(jù)字典中刪除表空間信息通過ANDDATAFILES條件可在操作系統(tǒng)上刪除表空間的數(shù)據(jù)文件:?改變表空間的大小

增加數(shù)據(jù)文件改變數(shù)據(jù)文件大小:自動(dòng)手動(dòng)app_data_02.dbfapp_data_01.dbfapp_data_03.dbf100M100M200M100MTablespaceAPP_DATA?app_data_02.dbfapp_data_01.dbfapp_data_03.dbf100M100M200M200Mapp_data_04.dbf手動(dòng)改變數(shù)據(jù)文件大小

ALTERDATABASE DATAFILE'/u03/oradata/userdata02.dbf'RESIZE200M;100MTablespaceAPP_DATA?TablespaceAPP_DATAapp_data_02.dbfapp_data_01.dbfapp_data_03.dbf100M100M200M100M在表空間中增加一個(gè)數(shù)據(jù)文件ALTERTABLESPACEapp_dataADDDATAFILE'/u01/oradata/userdata03.dbf'SIZE200M;?移動(dòng)數(shù)據(jù)文件(修改表空間)表空間必須為下線狀態(tài)。目標(biāo)數(shù)據(jù)文件必須存在.ALTERTABLESPACEuserdataRENAMEDATAFILE '/u01/oradata/userdata01.dbf'TO '/u01/oradata/userdata01.dbf';?獲取表空間信息表空間信息:DBA_TABLESPACESV$TABLESPACE數(shù)據(jù)文件信息:DBA_DATA_FILESV$DATAFILE臨時(shí)文件信息:DBA_TEMP_FILESV$TEMPFILE?總結(jié)通過這部分內(nèi)容的學(xué)習(xí),您應(yīng)該已經(jīng)了解:怎樣使用表空間分開存放數(shù)據(jù)改變表空間大小:增加數(shù)據(jù)文件擴(kuò)展數(shù)據(jù)文件使用本地管理表空間使用臨時(shí)表空間?練習(xí)練習(xí)包括以下幾個(gè)主題:創(chuàng)建表空間修改表空間56管理重做日志文件?目標(biāo)通過這部分課程的學(xué)習(xí),您將了解以下內(nèi)容:在線重做日志文件的作用在線重做日志文件的結(jié)構(gòu)控制日志文件切換和檢查點(diǎn)執(zhí)行多路復(fù)用在線重做日志文件?使用重做日志文件重做日志文件記錄數(shù)據(jù)所有的修改信息并提供一種介質(zhì)失敗時(shí)的恢復(fù)機(jī)制.重做日志文件分組管理.一個(gè)Oracle數(shù)據(jù)庫(kù)要求至少有兩組重做日志文件.組中每個(gè)日志文件被稱作一個(gè)組成員.RedologfilesDatabase?重做日志文件的結(jié)構(gòu)Group2Group3Group1MemberDisk1Disk2MemberMemberMemberMemberMember?重做日志文件怎樣工作重做日志文件循環(huán)使用當(dāng)一個(gè)重做日志文件充滿時(shí),LGWR將日志寫入到下個(gè)重做日志組.這個(gè)被叫做日志切換檢查點(diǎn)執(zhí)行動(dòng)作被觸發(fā)相關(guān)信息寫入控制文件?強(qiáng)迫日志切換并執(zhí)行檢查點(diǎn)日志切換能使用命令A(yù)LTERSYSTEMSWITCHLOGFILE.檢查點(diǎn)被迫使執(zhí)行:設(shè)置FAST_START_MTTR_TARGET參數(shù)ALTERSYSTEMCHECKPOINT命令A(yù)LTERSYSTEMCHECKPOINT;?log2b.rdolog1b.rdo增加在線重做日志組Group1Group2Group3ALTERDATABASEADDLOGFILEGROUP3('$HOME/ORADATA/u01/log3a.rdo','$HOME/ORADATA/u02/log3b.rdo')SIZE1M;log3b.rdolog2a.rdolog3a.rdolog1a.rdo?增加在線重做日志組成員ALTERDATABASEADDLOGFILEMEMBER'$HOME/ORADATA/u04/log1c.rdo'TOGROUP1,'$HOME/ORADATA/u04/log2c.rdo'TOGROUP2,'$HOME/ORADATA/u04/log3c.rdo'TOGROUP3;log2c.rdolog2a.rdoGroup1log1c.rdolog1b.rdolog1a.rdoGroup2log2c.rdolog2b.rdolog2a.rdoGroup3log3c.rdolog3b.rdolog3a.rdo?log2a.rdolog1a.rdoGroup1Group2Group3log3a.rdo刪除在線重做日志組ALTERDATABASEDROPLOGFILEGROUP3;?log1a.rdolog1a.rdo刪除在線重做日志組成員ALTERDATABASEDROPLOGFILEMEMBER'$HOME/ORADATA/u04/log3c.rdo';log2c.rdolog1c.rdoGroup1Group2log1b.rdolog1b.rdo?清空,重新指定位置或更名在線重做日志文件

清空在線重做日志文件:重新指定位置、更名在線重做日志文件能通過增加新日志文件,刪除舊日志文件代替.ALTERDATABASECLEARLOGFILE'$HOME/ORADATA/u01/log2a.rdo';?獲取日志組及其成員信息通過查詢下列數(shù)據(jù)字典獲取日志組及其成員信息V$LOGV$LOGFILE?歸檔日志文件裝滿的在線重做日志文件能被歸檔.歸檔在線重做日志文件兩種優(yōu)勢(shì):恢復(fù):一套一致的數(shù)據(jù)文件完整備份與在線重做日志文件、歸檔日志文件一起能保證所有已經(jīng)提交的事務(wù)恢復(fù)到先前狀態(tài).備份:能在數(shù)據(jù)庫(kù)打開的情況下進(jìn)行.缺省數(shù)據(jù)庫(kù)以非歸檔模式創(chuàng)建.?歸檔日志文件歸檔日志文件能通過ARCn或手工SQL歸檔得到.控制文件中記錄有歸檔日志名稱、日志序列號(hào),在線日志文件成功歸檔時(shí)最高、最低的SCN.一個(gè)裝滿的在線日志文件需要在檢查點(diǎn)發(fā)生、在線日志文件被ARCn歸檔完成以后才能重新使用,否則等待.歸檔日志文件能多路復(fù)用.?總結(jié)通過這部分課程的學(xué)習(xí),您應(yīng)該已經(jīng)了解:在線重做日志文件的作用怎樣獲取在線重做日志文件信息控制日志切換和檢查點(diǎn)執(zhí)行多路復(fù)用管理多個(gè)在線重做日志文件?練習(xí)這部分練習(xí)包括以下主題:創(chuàng)建和增加重做日志文件組及其成員.刪除重做日志文件組及其成員.?管理用戶和權(quán)限?目標(biāo)通過這部分課程的學(xué)習(xí),您將了解以下內(nèi)容:創(chuàng)建新的數(shù)據(jù)庫(kù)用戶修改和刪除存在的數(shù)據(jù)庫(kù)用戶監(jiān)控已存在用戶的信息識(shí)別系統(tǒng)和對(duì)象權(quán)限授予和回收權(quán)限?數(shù)據(jù)庫(kù)模式SchemaObjectsTablesTriggersConstraintsIndexesViewsSequencesStoredprogramunitsSynonymsUser-defineddatatypesDatabaselinks模式是一種命名的對(duì)象集合一個(gè)用戶被創(chuàng)建,對(duì)應(yīng)的模式就被創(chuàng)建一個(gè)用戶僅僅對(duì)應(yīng)一個(gè)模式用戶名其實(shí)就等同于模式名?創(chuàng)建用戶所涉及內(nèi)容確定用戶需要將對(duì)象存儲(chǔ)在哪個(gè)表空間決定每個(gè)表空間中該用戶的使用限額.指派缺省表空間和臨時(shí)表空間.開始創(chuàng)建一個(gè)用戶.賦予權(quán)限和角色給用戶.?創(chuàng)建用戶:數(shù)據(jù)庫(kù)級(jí)鑒別

設(shè)定初始口令:CREATEUSERaaronIDENTIFIEDBYsoccerDEFAULTTABLESPACEdataTEMPORARYTABLESPACEtempQUOTA15mONdataPASSWORDEXPIRE;?刪除用戶使用CASCADE條件刪除用戶及其用戶中包含的所有對(duì)象.當(dāng)前正連接到Oracle服務(wù)器的用戶不能被刪除

DROPUSERaaron;DROPUSERaaronCASCADE;?獲取用戶相關(guān)信息獲取用戶相關(guān)信息能通過查詢以下數(shù)據(jù)字典.DBA_USERSDBA_TS_QUOTAS?系統(tǒng)權(quán)限有100多種ANY關(guān)鍵字是指用戶在任何模式下都具有GRANT命令由于授予權(quán)限REVOKE命令回收權(quán)限?系統(tǒng)權(quán)限舉例Category Examples

INDEX

CREATEANYINDEX

ALTERANYINDEX

DROPANYINDEX TABLE CREATETABLE

CREATEANYTABLE

ALTERANYTABLE

DROPANYTABLE

SELECTANYTABLE

UPDATEANYTABLE

DELETEANYTABLESESSION CREATESESSION

ALTERSESSION

RESTRICTEDSESSIONTABLESPACE CREATETABLESPACE

ALTERTABLESPACE

DROPTABLESPACE

UNLIMITEDTABLESPACE?授予系統(tǒng)權(quán)限GRANTCREATESESSIONTOemi;GRANTCREATESESSIONTOemiWITHADMINOPTION;?回收系統(tǒng)權(quán)限REVOKECREATETABLEFROMemi;?授予對(duì)象權(quán)限GRANTEXECUTEONdbms_outputTOjeff;GRANTUPDATEONemi.customersTOjeffWITHGRANTOPTION;?回收對(duì)象權(quán)限REVOKESELECTONemi.ordersFROMjeff;?獲取權(quán)限信息查詢數(shù)據(jù)字典DBA_SYS_PRIVSSESSION_PRIVSDBA_TAB_PRIVSDBA_COL_PRIVS?總結(jié)通過這部分課程的學(xué)習(xí),您應(yīng)該已經(jīng)了解:創(chuàng)建用戶時(shí)指定適當(dāng)?shù)目诹顧C(jī)制控制用戶對(duì)空間的使用控制系統(tǒng)和對(duì)象權(quán)限?練習(xí)這部分練習(xí)包括以下主題:創(chuàng)建用戶顯示用戶在數(shù)據(jù)字典中的相關(guān)信息移去用戶表空間配額?問題和解答?管理一個(gè)ORACLE實(shí)例?目標(biāo)通過這部分課程的學(xué)習(xí),您將了解以下內(nèi)容:創(chuàng)建和管理初始化參數(shù)文件啟動(dòng)和關(guān)閉實(shí)例監(jiān)控和使用診斷文件?OracleInstanceSGARedolog

bufferDatabuffer

cacheSharedpoolDatadict.

cacheLibrarycacheDBW0SMONPMONCKPTLGWROthersspfiledb01.ora初始化參數(shù)文件

SQL>CONNECT/ASSYSDBASQL>STARTUP?初始化參數(shù)文件

訪問實(shí)例的入口存在兩種類型參數(shù):顯性的:在文件中有個(gè)入口隱性的:在文件中沒有入口,但被指派了缺省的值在不同的環(huán)境下可使用不同的初始化文件優(yōu)化單個(gè)數(shù)據(jù)庫(kù)的執(zhí)行.改變文件中參數(shù)設(shè)置并使其生效依賴使用的初始化參數(shù)文件類型;靜態(tài)初始化參數(shù)文件PFILE

延續(xù)性初始化參數(shù)文件SPFILE?PFILE

initSID.ora

PFILE是一個(gè)能被操作系統(tǒng)編輯器修改的文本文件.手動(dòng)對(duì)該文件進(jìn)行修改.下次數(shù)據(jù)庫(kù)啟動(dòng)修改才能生效.它的缺省路徑是$ORACLE_HOME/dbs.?PFILE舉例#InitializationParameterFile:initdb01.oradb_name=db01instance_name=db01control_files=(/u03/oradata/db01/control01db01.ctl,/u03/oradata/db01/control02db01.ctl)db_block_size=4096db_block_buffers=500shared_pool_size=31457280#30MSharedPooldb_files=1024max_dump_file_size=10240background_dump_dest=/u05/oracle9i/admin/db01/bdumpuser_dump_dest=/u05/oracle9i/admin/db01/udumpcore_dump_dest=/u05/oracle9i/admin/db01/cdumpundo_management=autoundo_tablespace=undtbs...?SPFILE

spfileSID.ora是一個(gè)不用重啟數(shù)據(jù)庫(kù)而能將改變生效的二進(jìn)制文件保存在ORACLE服務(wù)器端能通過ALTERSYSTEM命令直接對(duì)參數(shù)進(jìn)行修改能指定改變臨時(shí)在內(nèi)存中生效還是從現(xiàn)在開始永久生效修改的值能被刪除重置到實(shí)例缺省的值A(chǔ)LTERSYSTEMSETundo_tablespace='UNDO2';?創(chuàng)建SPFILESPFILE能使用命令CREATESPFILE命令從initSID.ora中創(chuàng)建,并且在數(shù)據(jù)庫(kù)開啟前或開啟后都能執(zhí)行CREATESPFILEFROMPFILE;97SPFILE舉例*.background_dump_dest='$ORACLE_HOME/admin/db01/bdump'*.compatible='9.0.0'*.control_files='/u03/oradata/db01/ctrl01db01.ctl','/u03/oradata/db01/ctrl02db01.ctl'*.core_dump_dest='$ORACLE_HOME/admin/db01/cdump'*.db_block_buffers=500*.db_block_size=4096*.db_files=40*.db_name='db01'*.instance_name='db01'*.remote_login_passwordfile='exclusive'*.shared_pool_size=31457280#30MSharedPool*.undo_management='AUTO'db01.undo_tablespace='UNDOTBS01'db02.undo_tablespace='UNDOTBS02'...?啟動(dòng)一個(gè)數(shù)據(jù)庫(kù)

NOMOUNTOPENMOUNTNOMOUNTSHUTDOWN實(shí)例啟動(dòng)STARTUPSHUTDOWN?啟動(dòng)一個(gè)數(shù)據(jù)庫(kù)

MOUNTOPENMOUNTNOMOUNTSHUTDOWN控制文件打開實(shí)例啟動(dòng)STARTUPSHUTDOWN?啟動(dòng)一個(gè)數(shù)據(jù)庫(kù)

OPENOPENMOUNTNOMOUNTSHUTDOWN實(shí)例中控制文件描述的所有文件被打開控制文件打開實(shí)例啟動(dòng)STARTUPSHUTDOWN?STARTUP命令STARTUP啟動(dòng)實(shí)例并打開數(shù)據(jù)庫(kù):STARTUPPFILE=$ORACLE_HOME/dbs/initdb01.ora?TheALTERDATABASECommand改變數(shù)據(jù)庫(kù)的狀態(tài)(UNMOUNTTOMOUNT):ALTERDATABASEdb01MOUNT;打開數(shù)據(jù)庫(kù):ALTERDATABASEdb01OPEN;?關(guān)閉數(shù)據(jù)庫(kù)關(guān)閉模式:NORMALTRANSACTIONALIMMEDIATEABORTAxxxxTxxooIxxxo關(guān)閉模式允許新的接入等待直到當(dāng)前的會(huì)話都結(jié)束等待直到當(dāng)前的事務(wù)都結(jié)束強(qiáng)制執(zhí)行checkpoint并關(guān)閉所有文件NxoooYESNOxo?關(guān)閉對(duì)象DuringaShutdownNormal,ShutdownTransactionalorShutdownImmediate一致性的數(shù)據(jù)庫(kù)(干凈的數(shù)據(jù)庫(kù))這種方式關(guān)閉:數(shù)據(jù)塊高速緩沖區(qū)內(nèi)容寫入數(shù)據(jù)文件未提交的事務(wù)回滾釋放資源這之后重新啟動(dòng)數(shù)據(jù)庫(kù):不用做實(shí)例恢復(fù)?關(guān)閉對(duì)象DuringaShutdownAbortorInstanceFailureorStartupForce不一致的數(shù)據(jù)庫(kù)(臟數(shù)據(jù)庫(kù))這樣關(guān)閉:已經(jīng)修改的數(shù)據(jù)塊緩沖區(qū)的內(nèi)容不寫入數(shù)據(jù)文件未提交的事務(wù)不被回滾這之后重新啟動(dòng)數(shù)據(jù)庫(kù):改變的信息將被重新寫入重做日志文件必須使用回滾段來回滾未提交的改變釋放資源?通過檢查診斷文件來管理實(shí)例診斷文件包含實(shí)例運(yùn)行過程中所遇到的重要的事件信息.作為日常管理數(shù)據(jù)庫(kù)的基礎(chǔ),能為解決問題提供幫助.存在以下幾種診斷文件:警告日志文件(alertSID.log)后臺(tái)跟蹤文件用戶跟蹤文件?警告日志文件警告日志文件記錄了數(shù)據(jù)庫(kù)運(yùn)行中的一些操作命令和主要事件結(jié)果.它被用來診斷日常數(shù)據(jù)庫(kù)運(yùn)行錯(cuò)誤信息.每條都對(duì)應(yīng)有時(shí)間戳信息.它所在路徑定義在初始化參數(shù)BACKGROUND_DUMP_DEST中.?后臺(tái)跟蹤文件后臺(tái)跟蹤文件記錄有被后臺(tái)進(jìn)程檢測(cè)到的錯(cuò)誤信息.當(dāng)后臺(tái)進(jìn)程遇到錯(cuò)誤時(shí)才被創(chuàng)建它所在路徑定義在初始化參數(shù)BACKGROUND_DUMP_DEST中?用戶跟蹤文件用戶跟蹤文件當(dāng)用戶進(jìn)程通過服務(wù)器進(jìn)程連接到Oracle服務(wù)器時(shí)產(chǎn)生。一個(gè)用戶跟蹤文件包含跟蹤到的SQL執(zhí)行語(yǔ)句或用戶通訊錯(cuò)誤信息.當(dāng)用戶會(huì)話過程中遇到錯(cuò)誤信息時(shí)產(chǎn)生.它的路徑定義在USER_DUMP_DEST中.它的大小定義在MAX_DUMP_FILE_SIZE中,缺省為10M.?打開或關(guān)閉用戶跟蹤

用戶跟蹤文件能在會(huì)話或?qū)嵗?jí)別使用下列命令、參數(shù)打開或關(guān)閉:會(huì)話級(jí)別使用ALTERSESSION命令:ALTERSESSIONSETSQL_TRACE=TRUE會(huì)話級(jí)別也可以通過執(zhí)行DBMS包:dbms_system.SET_SQL_TRACE_IN_SESSION實(shí)例級(jí)別可通過設(shè)置初始化文件中的參數(shù): SQL_TRACE=TRUE?總結(jié)通過這部分內(nèi)容的學(xué)習(xí),您應(yīng)該了解:創(chuàng)建和管理初始化參數(shù)文件啟動(dòng)和關(guān)閉實(shí)例、數(shù)據(jù)庫(kù)監(jiān)控和使用診斷文件?總結(jié)練習(xí)練習(xí)包括以下主題:創(chuàng)建SPFILE文件通過不同的方式啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù)113SQL*Plus使用介紹?目標(biāo)通過這部分課程的學(xué)習(xí),您將了解以下內(nèi)容:登錄到SQL*Plus環(huán)境編輯SQL命令SQL*Plus命令格式化并輸出結(jié)果結(jié)合腳本文件執(zhí)行?登錄到SQL*Plus.描述表的結(jié)構(gòu).編輯SQL語(yǔ)句.在SQL*Plus中執(zhí)行SQL.保存或插入SQL語(yǔ)句到文件SQL*Plus主要內(nèi)容?登錄到SQL*Plus從Windows環(huán)境:

通過命令行:sqlplus[username[/password

[@database]]]?NameNull?Type-------------------------------------------DEPARTMENT_IDNOTNULLNUMBER(4)DEPARTMENT_NAMENOTNULLVARCHAR2(30)MANAGER_IDNUMBER(6)LOCATION_IDNUMBER(4)顯示表的結(jié)構(gòu)內(nèi)容SQL>DESCRIBEdepartments?SQL*Plus編輯命令A(yù)[PPEND]text C[HANGE]/old/new C[HANGE]/text/CL[EAR]BUFF[ER] DEL DELn

DELmn?SQL*Plus編輯命令I(lǐng)[NPUT]I[NPUT]textL[IST]L[IST]nL[IST]mnR[UN]nntext0text?

1SELECTlast_name2*FROMemployeesSQL>LIST1*SELECTlast_nameSQL>A,job_id1*SELECTlast_name,job_id1SELECTlast_name,job_id2*FROMemployees使用LIST,n,andAPPENDSQL>1SQL>L?

1*SELECT*fromemployeesSQL>L

1*SELECT*fromdepartmentsSQL>c/employees/departments

1*SELECT*fromdepartments使用CHANGE命令SQL>L?SQL*Plus文件命令SAVEfilenameGETfilenameSTARTfilename@filenameEDITfilenameSPOOLfilenameEXIT?Createdfilemy_querySQL>STARTmy_querySQL>L1SELECTlast_name,manager_id,department_id2*FROMemployeesSQL>SAVEmy_query使用SAVE和START命令LAST_NAMEMANAGER_IDDEPARTMENT_ID------------------------------------------------King90Kochhar10090...20rowsselected.?小結(jié)SQL*Plus環(huán)境下:執(zhí)行SQL語(yǔ)句編輯SQL語(yǔ)句格式化輸出與腳本文件交互?邏輯備份恢復(fù)簡(jiǎn)介?目標(biāo)邏輯備份的概念Oracle數(shù)據(jù)庫(kù)邏輯備份使用工具Oracle數(shù)據(jù)庫(kù)邏輯備份形式?用途物理備份的補(bǔ)充不同版本數(shù)據(jù)庫(kù)的遷移不同平臺(tái)數(shù)據(jù)庫(kù)的遷移?與物理備份的比較占用較小的空間更為靈活,有四種方式需要確認(rèn)字符集?備份工具備份工具EXPORT(使用命令EXP)恢復(fù)工具IMPORT(使用命令I(lǐng)MP)?備份形式全庫(kù)備份按用戶備份按表備份表空間備份?OracleExport和Import工具作用歸檔歷史數(shù)據(jù)存儲(chǔ)表的定義在不同平臺(tái)及版本間轉(zhuǎn)換數(shù)據(jù)在不同數(shù)據(jù)庫(kù)間移植表空間?運(yùn)行EXPORT工具的方法以交互式對(duì)話的方式命令行參數(shù)文件通過OEM啟動(dòng)?全數(shù)據(jù)庫(kù)模式TablesdefinitionsTablesdataGrantsIndexesTablesconstraintsExport模式表模式TabledefinitionsTabledata(allorselectedrows)Owner’stablegrantsOwner’stableindexesTableconstraints用戶模式TablesdefinitionsTablesdataOwner’sgrants

Owner’sindexesTablesconstraints表空間模式TabledefinitionsGrantsIndexesTableconstraintsTriggers?Export命令語(yǔ)法舉例exphr/hrTABLES=(employees,departments)rows=y file=exp1.dmpexpkeyword=(value,value2,…,valuen)expsystem/managerOWNER=hrdirect=y

file=expdat.dmpexpsystem/managerFULL=yinctype=cumulativefile=expcum1.dmpexpsystem/managerTRANSPORT_TABLESPACE=yTABLESPACES=(ts_emp)log=ts_emp.log?使用Import工具恢復(fù)獲取建表定義從一個(gè)有效的輸出文件中獲取數(shù)據(jù)如有用戶錯(cuò)誤,可以從相應(yīng)文件中恢復(fù)?Import模式模式 描述Table 獲取指定的表.User 獲取一個(gè)用戶的所有對(duì)象Tablespace 獲取一個(gè)表空間的所有對(duì)象FullDatabase 獲取輸出文件的所有對(duì)象?Import工具的命令行語(yǔ)法舉例imphr/hrTABLES=(employees,departments)rows=yfile=exp1.dmpimpkeyword=valueorkeyword=(value,value2,…valuen)impsystem/managerFROMUSER=hrfile=exp2.dmpimpsystem/managerTRANSPORT_TABLESPACE=yTABLESPACES=ts_employees?Import處理順序新表產(chǎn)生導(dǎo)入數(shù)據(jù)建立索引導(dǎo)入觸發(fā)器導(dǎo)入一致性約束導(dǎo)入其余形式的索引?國(guó)際化語(yǔ)言支持Export文件定義字符集Import工具把原字符集轉(zhuǎn)化為本數(shù)據(jù)庫(kù)的字符集多字節(jié)的字符集必須對(duì)應(yīng)相同特征的字符集?總結(jié)和練習(xí)Export和Import工具的使用Export和Import工具概念和結(jié)構(gòu)執(zhí)行Export和Import操作使用Export和Import的一些原則?數(shù)據(jù)庫(kù)的日常檢查?數(shù)據(jù)庫(kù)的日常檢查檢查數(shù)據(jù)庫(kù)狀態(tài)確認(rèn)數(shù)據(jù)庫(kù)是否在open狀態(tài),正常提供服務(wù)。oracle%sqlplus"/assysdba"SQL>selectstatus,instance_rolefromv$instance;STATUSINSTANCE_ROLE------------------------------OPENPRIMARY_INSTANCE?數(shù)據(jù)庫(kù)的日常檢查數(shù)據(jù)庫(kù)版本檢查數(shù)據(jù)庫(kù)應(yīng)該打了最新的patchset;8i要求是;9i要求是或者更高的補(bǔ)丁版本。SQL>select*fromv$version;?查看SGA區(qū)域SGA區(qū)各項(xiàng)buffer之和應(yīng)該小于系統(tǒng)物理內(nèi)存的一半檢查數(shù)據(jù)庫(kù)SGA區(qū):SQL>showsga檢查系統(tǒng)物理內(nèi)存:Solaris:$/usr/sbin/prtconf|grep-i"Memorysize"HP:$grepPhysical/var/adm/syslog/syslog.logAIX:$/usr/sbin/lsattr-E-lsys0-arealmem數(shù)據(jù)庫(kù)的日常檢查?回滾段競(jìng)爭(zhēng)檢查8i:返回值應(yīng)該低于2%。如果該值過高,8i需要手工建立更多的回滾段。SQL>select'Theaverageofwaits/getsis'||round((sum(waits)/sum(gets))*100,2)||'%'Fromv$rollstat;9i:Nospace值應(yīng)該為0。如果持續(xù)存在非零值,建議增加回滾表空間的大SQL>selectdistinctnospaceerrcntasnospaceFromv$undostatWherebegin_time>sysdate-(1/12);數(shù)據(jù)庫(kù)的日常檢查?查看日志文件數(shù)據(jù)庫(kù)運(yùn)行時(shí),可以通過查詢v$log_history來觀察logswitch的切換時(shí)間。推薦聯(lián)機(jī)日志最好是業(yè)務(wù)非高峰期每小時(shí)切換一次,業(yè)務(wù)高峰期20分鐘左右切換一次。SQL>selectto_char(first_time,'yyyy-mm-ddhh24:mi:ss')change_timefromv$log_history;CHANGE_TIME-------------------2004-04-0610:02:522004-04-0610:10:452004-04-0610:17:01數(shù)據(jù)庫(kù)的日常檢查?查看表空間查看各個(gè)表空間所占的大小,剩余空間,使用空間百分比等信息特別是當(dāng)業(yè)務(wù)表空間的剩余空間低于50M或者使用空間百分比大于90%時(shí),需要考慮增加表空間的大小。SQL>selecta.tablespace_name,a.bytestotalbytes,sum(b.bytes)freebytesfromdba_data_filesa,dba_free_spacebwherea.file_id=b.file_idgroupbya.tablespace_name,a.bytes;TABLESPACE_NAMETOTALBYTESFREEBYTES-----------------------------------------CWMLITE2097152011141120數(shù)據(jù)庫(kù)的日常檢查?檢查job狀態(tài)Broken列應(yīng)該為N;如果Broken列為Y,檢查oracle告警日志,分析job失敗的原因。解決后運(yùn)行:execdbms_job.run(:job);SQL>selectjob,what,to_char(next_date,’yyyy/mm/ddhh24:mi:ss’),broken,failuresfromdba_jobs;數(shù)據(jù)庫(kù)的日常檢查?查看數(shù)據(jù)庫(kù)連接用戶查看當(dāng)前數(shù)據(jù)庫(kù)連接的用戶進(jìn)程的具體信息,包括連接的數(shù)據(jù)庫(kù)用戶名,機(jī)器名,運(yùn)行的程序名,進(jìn)程狀態(tài)。selectusername,machine,program,statusfromv$sessionwhereosuser<>'oracle';USERNAMEMACHINEPROGRAMSTATUS---------------------------------------------------------------CORPRINGCHINA\MENGWEIINACTIVESYSTEMCHINA\H36922dbsnmp.exeINACTIVE數(shù)據(jù)庫(kù)的日常檢查?Network配置

目標(biāo)監(jiān)聽管理本地服務(wù)名配置處理簡(jiǎn)單的連接問題數(shù)據(jù)庫(kù)故障緊急處理?監(jiān)聽進(jìn)程listener.oraListener客戶端服務(wù)端tnsnames.orasqlnet.ora?配置listener.ora文件listener.ora的缺省配置:Listenername LISTENERPort 1521Protocols TCP/IPandIPCSIDname 缺省實(shí)例Hostname 缺省主機(jī)名?listener.ora例子1. LISTENER=2. (ADDRESS_LIST=3. (ADDRESS=(PROTOCOL=TCP)(Host=stc-sun02)(Port=1521)) )4. SID_LIST_LISTENER=5.(SID_LIST=6. (SID_DESC=7.(ORACLE_HOME=/home/oracle)(GLOBAL_DBNAME=ORCL.)9. (SID_NAME=ORCL) )10. ...sampleadditionalSIDdescription... )?監(jiān)聽工具(LSNRCTL)工具可通過下面命令使用UNIX命令語(yǔ)法:提示符:管理非缺省的監(jiān)聽$lsnrctl<commandname>LSNRCTL><commandname>LSNRCTL>setcurrent_listenerlistener02?監(jiān)聽程序的管理查看監(jiān)聽程序的狀態(tài):%lsnrctlstatus從其他集群節(jié)點(diǎn)上測(cè)試監(jiān)聽程序:%tnspingtns_alias啟動(dòng)監(jiān)聽程序進(jìn)程:%lsnrctlstart關(guān)閉監(jiān)聽程序進(jìn)程:%lsnrctlstop如果數(shù)據(jù)庫(kù)配置文件listener.ora中配置的監(jiān)聽名稱不是缺省的LISTENER時(shí),啟動(dòng)、關(guān)閉監(jiān)聽必須帶上監(jiān)聽名稱,例如:lsnrctlstartlistener_rac1?配置本地網(wǎng)絡(luò)服務(wù)名?服務(wù)名添加?指定oracle版本?輸入數(shù)據(jù)庫(kù)服務(wù)名?網(wǎng)絡(luò)協(xié)議?主機(jī)名和Listener端口?測(cè)試和連接?連接測(cè)試結(jié)果?自己命名網(wǎng)絡(luò)服務(wù)名?保存?tnsnames.ora#TNSNAMES.ORANetworkConfigurationFile:/u03/ora9i/rel12/network/admin/tnsnames.ora#GeneratedbyOracleconfigurationtools.MY_SERVICE.US.ORACLE.COM=(DESCRIPTION=(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=1521)))(CONNECT_DATA=

(SERVICE_NAME=TEST.)))?sqlnet.ora#SQLNET.ORANetworkConfigurationFile:/u03/ora9i/rel12/network/admin/sqlnet.ora#GeneratedbyOracleconfigurationtools.NAMES.DEFAULT_DOMAIN=NAMES.DIRECTORY_PATH=(TNSNAMES,HOSTNAME)SQLNET.EXPIRE_TIME=0sqlplussystem/manager@MY_SERVICESQL*Plus:Release.0-BetaonTueFeb2710:11:002001(c)Copyright2000OracleCorporation.Allrightsreserved.Connectedto:Oracle9iEnterpriseEditionRelease.0-BetaJServerRelease.0-BetaSQL>?客戶端常見問題處理ORA-12154“TNS:couldnotresolveservicename”O(jiān)RA-12198“TNS:couldnotfindpathtodestination”O(jiān)RA-12203“TNS:unabletoconnecttodestination”O(jiān)RA-12533“TNS:illegalADDRESSparameters”O(jiān)RA-12541“TNS:nolistener”常見錯(cuò)誤:?數(shù)據(jù)庫(kù)故障緊急處理

數(shù)據(jù)庫(kù)故障緊急處理錯(cuò)誤信息查看工具oerroracle提供了一個(gè)實(shí)用程序oerr,利用它可以得到oracle錯(cuò)誤信息的說明。UNIX平臺(tái)下可以使用oerr工具快速獲得oracle錯(cuò)誤信息的詳細(xì)描述。oerr工具的具體語(yǔ)法為:oerr錯(cuò)誤類型錯(cuò)誤代碼例如:查詢ORA-2336,鍵入"oerrora2236"?數(shù)據(jù)庫(kù)故障緊急處理Oracle常見錯(cuò)誤ORA-1652到ORA-1655ORA-165X錯(cuò)誤信息是指表空間沒有足夠的空間可分配,包括ora-1652、ora-1653、ora-1654和ora-1655。ORA-01555(snapshottooold)9i引入了undotablespace,只要把undotablespace設(shè)的足夠大,并把undo_retention設(shè)的足夠大(大于完成大事務(wù)所需的時(shí)間),就有可能徹底解決ORA-1555錯(cuò)(但太大會(huì)引起系統(tǒng)性能下降)?數(shù)據(jù)庫(kù)故障緊急處理Oracle常見錯(cuò)誤ORA-04031如果shared_pool_size參數(shù)值已經(jīng)很大(大于350M),那ORA-4031錯(cuò)發(fā)生的原因很可能是因?yàn)閛racle數(shù)據(jù)庫(kù)的BUG或是應(yīng)用程序未能很好的使用綁定變量(bindvariable)。清空當(dāng)前的shared_pool,可以暫時(shí)解決ora-4031錯(cuò)的問題ORA-600內(nèi)部錯(cuò)誤第一個(gè)參數(shù)提供了實(shí)際錯(cuò)誤信息(例如1579代表塊中斷錯(cuò)誤),而其他參數(shù)提供相關(guān)其他信息(例如上述塊中斷錯(cuò)誤中,顯示Oracle想要讀的塊號(hào)和實(shí)際讀的塊號(hào))ORA-600錯(cuò)誤會(huì)導(dǎo)致系統(tǒng)生成一個(gè)或多個(gè)跟蹤文件?數(shù)據(jù)庫(kù)故障緊急處理業(yè)務(wù)恢復(fù)處理RAC數(shù)據(jù)庫(kù)出現(xiàn)故障時(shí),要迅速查看數(shù)據(jù)庫(kù)告警日志文件,確認(rèn)出現(xiàn)問題的原因,影響的范圍,故障的現(xiàn)象。比如:數(shù)據(jù)庫(kù)故障是出現(xiàn)一次還是反復(fù)出現(xiàn)數(shù)據(jù)庫(kù)故障是否能夠比較容易的恢復(fù),繞過,解決數(shù)據(jù)庫(kù)故障發(fā)生后業(yè)務(wù)是否能正常運(yùn)行如果RAC數(shù)據(jù)庫(kù)的某個(gè)節(jié)點(diǎn)數(shù)據(jù)庫(kù)異常終止服務(wù),但其他節(jié)點(diǎn)正常運(yùn)行時(shí),可以先嘗試手工啟動(dòng)出現(xiàn)問題的數(shù)據(jù)庫(kù),恢復(fù)數(shù)據(jù)庫(kù)到運(yùn)行狀態(tài)。?數(shù)據(jù)庫(kù)故障緊急處理手工收集現(xiàn)場(chǎng)信息錯(cuò)誤現(xiàn)象的具體描述數(shù)據(jù)庫(kù)告警日志文件:alert_{ORACLE_SID}.log數(shù)據(jù)庫(kù)跟蹤文件:*.TRC初始化參數(shù)文件:SPFILE不能直接閱讀,需要轉(zhuǎn)為文本網(wǎng)絡(luò)配置文件:listener.ora,tnsnames.ora,sqlnet.ora數(shù)據(jù)庫(kù)版本操作系統(tǒng)的類型和版本?數(shù)據(jù)庫(kù)故障緊急處理使用ORACLERDA收集現(xiàn)場(chǎng)信息RDA是由ORACLE開發(fā)的一個(gè)shell程序,用于全面收集oracle軟件的環(huán)境信息,供遠(yuǎn)程故障診斷工程師參考。RDA安裝:為RDA建立一個(gè)獨(dú)立的目錄,不要在同一目錄中包含有就版本的RDA。腳本執(zhí)行完畢將在RDA_Output目錄下產(chǎn)生htm和txt文檔形式的信息報(bào)告,以及這些文檔的一個(gè).tar.Z的打包。使用RDA需要注意的問題:確定數(shù)據(jù)庫(kù)是否已經(jīng)起來并能夠連接上確認(rèn)FTP過程使用BIN方式,并且下載沒有錯(cuò)誤。確定tar解開后的shell文件具有可執(zhí)行權(quán)限。?總結(jié)主機(jī)名方法本地服務(wù)名方法使用配置助理處理簡(jiǎn)單常見問題數(shù)據(jù)庫(kù)故障緊急處理?數(shù)據(jù)庫(kù)推薦書目介紹幾本oracle入門的好書Oracle8i備份恢復(fù)手冊(cè)O(shè)racle8I初學(xué)者指南Oracle8iPLSQL程序設(shè)計(jì)Oracle8數(shù)據(jù)庫(kù)管理員手冊(cè)O(shè)racle9statspack高性能調(diào)整OCP的教學(xué)用書ORACLE隨機(jī)手冊(cè)?數(shù)據(jù)庫(kù)推薦網(wǎng)站?問題和解答?演講完畢,謝謝觀看!附錄資料:不需要的可以自行刪除?oracle數(shù)據(jù)庫(kù)培訓(xùn)內(nèi)容*基本概念*Oracle的體系結(jié)構(gòu)SQL*Plus的使用及常用命令*SQL*NET的配置和使用數(shù)據(jù)庫(kù)的備份(exp/imp)其它常見問題?一、基本概念什么是數(shù)據(jù)庫(kù):是存儲(chǔ)在一起的相關(guān)數(shù)據(jù)的集合。這些數(shù)據(jù)無有害或不必要的冗余,為多種應(yīng)用服務(wù)。數(shù)據(jù)的存儲(chǔ)獨(dú)立于使用它的應(yīng)用程序。對(duì)數(shù)據(jù)庫(kù)插入新數(shù)據(jù)、修改和檢索原有數(shù)據(jù)均能用一種公用的和可控的方法進(jìn)行。數(shù)據(jù)庫(kù)能做什么:數(shù)據(jù)庫(kù)的基本功能就是存儲(chǔ)數(shù)據(jù),而且能夠?yàn)橛脩籼峁┍憬?、快速的查找、修改、添加和刪除數(shù)據(jù)等功能。什么是SQL語(yǔ)言:是運(yùn)用于數(shù)據(jù)庫(kù)的語(yǔ)言。它除了具有數(shù)據(jù)庫(kù)查詢、插入、刪除、修改等功能外,可以獨(dú)立使用,也可以嵌入其它主語(yǔ)言中使用。它的語(yǔ)法類似于英語(yǔ)。?什么是oracle:oracle是以高級(jí)結(jié)構(gòu)化查詢語(yǔ)言(SQL)為基礎(chǔ)的大型關(guān)系數(shù)據(jù)庫(kù),通俗地講它是用方便邏輯管理的語(yǔ)言操縱大量有規(guī)律數(shù)據(jù)的集合。是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)之一。?二、Oracle的體系結(jié)構(gòu)(1)物理結(jié)構(gòu)

ORACLE數(shù)據(jù)庫(kù)在物理上是存儲(chǔ)于硬盤的各種文件。它是活動(dòng)的,可擴(kuò)充的,隨著數(shù)據(jù)的添加和應(yīng)用程序的增大而變化。datafilesredologfilescontrolfilesparameterfile

數(shù)據(jù)文件日志文件控制文件參數(shù)文件

datafilesredologfilescontrolfileparameterfiles*.dbf*.logInitoraid.ora*.ctl?(2)session(連接)

Oracle是多用戶、多任務(wù)、可分布式管理的數(shù)據(jù)庫(kù),同

時(shí)可有許多個(gè)用戶對(duì)數(shù)據(jù)庫(kù)操作。oracleuseruserusersession……?

ORACLE數(shù)據(jù)庫(kù)在邏輯上是由許多表空間構(gòu)成。主要分為系統(tǒng)表空間和非系統(tǒng)表空間。非系統(tǒng)表空間內(nèi)存儲(chǔ)著各項(xiàng)應(yīng)用的數(shù)據(jù)、索引、程序等相關(guān)信息。我們準(zhǔn)備上馬一個(gè)較大的ORACLE應(yīng)用系統(tǒng)時(shí),應(yīng)該創(chuàng)建它所獨(dú)占的表空間,同時(shí)定義物理文件的存放路徑和所占硬盤的大小。Oracle數(shù)據(jù)存儲(chǔ)單位a、block數(shù)據(jù)塊:2k最小的I-O單位,伴隨database產(chǎn)生而產(chǎn)生,不可變b、extent一組連續(xù)的數(shù)據(jù)塊:是用戶所能分配存儲(chǔ)的最小單位c、segment段:有共同結(jié)構(gòu)的一個(gè)或幾個(gè)區(qū)域(extent)d、tablespace表空間:一組物理數(shù)據(jù)的邏輯組合,(象邏輯間數(shù)據(jù)倉(cāng)庫(kù))e、file文件:屬于某個(gè)表空間的物理文件f、database數(shù)據(jù)庫(kù):一組表空間所構(gòu)成的邏輯的可共享的數(shù)據(jù)。(3)存儲(chǔ)結(jié)構(gòu)?表空間tablespacesystemRBSnosystem把system表空間單獨(dú)放在一個(gè)硬盤上做成一組鏡像toolsuserstempapplicationdataapplicationindex分開存放減少爭(zhēng)用?segment段的分類data數(shù)據(jù)段存儲(chǔ)對(duì)象object(table,view,index,sequence...)index索引段temporary臨時(shí)段用做(join,groupby,orderbysorting操作)rollback回滾段用于記錄修改前后信息bootstrap啟動(dòng)段存儲(chǔ)數(shù)據(jù)字典系統(tǒng)信息不能讀寫,放在系統(tǒng)表空間內(nèi),約占40幾個(gè)block?datasegment中可能有十種不同類型的存儲(chǔ)對(duì)象(1)table(2)view實(shí)為一個(gè)select語(yǔ)句(3)index(一個(gè)表不多于3個(gè))(4)cluster(簇)(5)sequence序列(6)synonyms用于定義某個(gè)遠(yuǎn)程數(shù)據(jù)庫(kù)同義詞,實(shí)現(xiàn)分式數(shù)據(jù)庫(kù)管理透明(7)snapsot快照(8)storedprocedure(function)(9)package程序包(10)dbtrigger數(shù)據(jù)觸發(fā)器,處理updata,delete,insert中可能出現(xiàn)的問題?常用的ORACLE的數(shù)據(jù)庫(kù)字段類型字段類型中文說明限制條件其它說明CHAR固定長(zhǎng)度字符串最大長(zhǎng)度2000bytesVARCHAR2可變長(zhǎng)度的字符串最大長(zhǎng)度4000bytes可做索引的最大長(zhǎng)度749DATE日期(日-月-年)LONG超長(zhǎng)字符串最大長(zhǎng)度2G(231-1)足夠存儲(chǔ)大部頭著作RAW固定長(zhǎng)度的二進(jìn)制數(shù)據(jù)最大長(zhǎng)度2000bytes可存放多媒體圖象聲音等LONGRAW可變長(zhǎng)度的二進(jìn)制數(shù)據(jù)最大長(zhǎng)度2G同上NUMBER(P,S)數(shù)字類型P為整數(shù)位,S為小數(shù)位INTEGER整數(shù)類型小的整數(shù)FLOAT浮點(diǎn)數(shù)類型NUMBER(38),雙精度REAL實(shí)數(shù)類型NUMBER(63),精度更高……?三、SQL*Plus的使用及常用命令進(jìn)入sql*plus;數(shù)據(jù)查詢操作(select);改變數(shù)據(jù)操作(insert、update、delete);其它常用sql和sql*plus命令(spool、create、drop、desc、connect、grant……)。?數(shù)據(jù)查詢操作簡(jiǎn)單查詢select列名1,列名2,列名3……from表名where條件orderby列名1,列名2……;?邏輯運(yùn)算符>>=<<=<>或!=其它(not)inis(not)betweenandandor單值函數(shù)nvl----空值替換函數(shù)abs---絕對(duì)值函數(shù)mod---求模函數(shù)power---求冪函數(shù)sqrt-----平方根函數(shù)exp,ln,log----對(duì)數(shù)函數(shù)sin,cos等----三角函數(shù)?唯一性查詢關(guān)鍵字:distinctselectdistinct列名from表名where條件;?模糊查詢select列名1,列名2,列名3……from表名where列名1like‘_%mm’orderby列名1,列名2……;關(guān)鍵字:(not)like通配符:%_?聯(lián)接查詢select表名1.列名1,表名2.列名2,列名3……from表名1,表名2……where條件orderby表名1.列名1,表名2.列名2……;?子查詢單值子查詢

多值子查詢select列名1,列名2,列名3……from表名1where列名1=(select列名1from表名2where條件)orderby列名1,列名2……;select列名1,列名2,列名3……from表名1where列名1in(select列名1from表名2where條件)orderby列名1,列名2……;?組值函數(shù)avg---平均值函數(shù)count---非空值數(shù)目max---最大值函數(shù)min---最小值函數(shù)sum---求和函數(shù)distinct---唯一性函數(shù)分組查詢select列名1,列名2,sum(列名3)……from表名where條件groupby列名1,列名2……;關(guān)鍵字:groupby?改變數(shù)據(jù)操作Insert插入操作insertinto表名1(列名1,列名2……)values(值1,值2……);注意:⑴值表中的數(shù)據(jù)用逗號(hào)間隔;⑵字符型和日期型要用單引號(hào)括起來;⑶缺省的日期格式為dd-man-yy。insertinto表名1usingselect列名1,列名2……from表名2where條件;?Update修改操作可修改單個(gè)字段、修改多行、修改單個(gè)列。update表名set列名=值或表達(dá)式where條件;?Delete刪除deletefrom表名where條件;注意⑴不能只刪除行的一部分⑵where子句決定哪一行將被刪除。如里省略了where子句,則所有的行都將被刪除。?其它常用sql命令Createtable---創(chuàng)建表;例子Droptable--

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論