ORACLE數(shù)據(jù)庫(kù)培訓(xùn)講義_第1頁(yè)
ORACLE數(shù)據(jù)庫(kù)培訓(xùn)講義_第2頁(yè)
ORACLE數(shù)據(jù)庫(kù)培訓(xùn)講義_第3頁(yè)
ORACLE數(shù)據(jù)庫(kù)培訓(xùn)講義_第4頁(yè)
ORACLE數(shù)據(jù)庫(kù)培訓(xùn)講義_第5頁(yè)
已閱讀5頁(yè),還剩104頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

ORACLE數(shù)據(jù)庫(kù)培訓(xùn)講義DBA第一部分目的:1、了解ORACLE數(shù)據(jù)庫(kù)體系結(jié)構(gòu)。2、初步從整體上認(rèn)識(shí)ORACLE。3、學(xué)會(huì)基礎(chǔ)的ORACLE配置。目錄:

ORACLE體系結(jié)構(gòu)開(kāi)始ORACLEORACLE實(shí)例管理創(chuàng)建數(shù)據(jù)庫(kù)管理控制文件管理聯(lián)機(jī)日志文件管理表空間和數(shù)據(jù)庫(kù)文件管理表、索引、數(shù)據(jù)完整性管理用戶、權(quán)限、角色。11、ORACLE體系結(jié)構(gòu)

Oracle整體結(jié)構(gòu)圖1-1PasswordfileInstanceSGARedoLog

BufferSharedPoolData

Dictionary

CacheLibraryCacheDBWRSMONPMONCKPTLGWROthersUser

processServer

processPGAControlfilesDatabase

BufferCacheRedoLogfilesJava

PoolLarge

PoolArchivedLogfilesParameterfileArchivedLogfilesDatafilesORACLE數(shù)據(jù)庫(kù)服務(wù)器1-2Oracleserver一個(gè)ORACLE數(shù)據(jù)庫(kù)服務(wù)器:就是一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng),它對(duì)信息提供了一種開(kāi)放的、全面的、完整的管理。由一個(gè)ORACLE數(shù)據(jù)庫(kù)和一個(gè)ORACLE數(shù)據(jù)庫(kù)實(shí)例組成。ORACLE數(shù)據(jù)庫(kù)實(shí)例1-3InstanceSGARedoLog

BufferSharedPoolDataDictionary

CacheLibraryCacheDBWRSMONPMONCKPTLGWROthersDatabase

BufferCacheJavaPoolLargePool內(nèi)存結(jié)構(gòu)后臺(tái)進(jìn)程一個(gè)ORACLE數(shù)據(jù)庫(kù)實(shí)例:就是一個(gè)訪問(wèn)數(shù)據(jù)庫(kù)的方法或方式對(duì)應(yīng)于一個(gè)也是只能一個(gè)打開(kāi)的數(shù)據(jù)庫(kù)由內(nèi)存結(jié)構(gòu)和多個(gè)后臺(tái)服務(wù)器進(jìn)程組成。ORACLE數(shù)據(jù)庫(kù)1-5一個(gè)ORACLE數(shù)據(jù)庫(kù):由控制文件、REDO文件、數(shù)據(jù)文件三種文件類型組成有邏輯和物理二種結(jié)構(gòu)PasswordfileParameterfileArchivedLogfilesControlfilesDatafilesRedoLogfilesOracleDatabase物理結(jié)構(gòu)1-6ORACLE數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)指的是一組在數(shù)據(jù)庫(kù)中,由多個(gè)操作系統(tǒng)文件組合在一起的集合,包括:控制文件,包含了用于維護(hù)和校驗(yàn)數(shù)據(jù)庫(kù)完整性的信息。REDO文件,包含了數(shù)據(jù)庫(kù)的最近的操作記錄日志數(shù)據(jù)文件,最重要部分,包含了數(shù)據(jù)的信息PasswordfileParameterfileArchivedLogfilesControlfilesDatafilesRedoLogfilesOracleDatabase內(nèi)存結(jié)構(gòu)1-7ORACLE數(shù)據(jù)庫(kù)內(nèi)存結(jié)構(gòu)包括二個(gè)內(nèi)存區(qū)域:

SystemGlobalArea(SGA):在實(shí)例啟動(dòng)時(shí)分配,它是實(shí)例中的一個(gè)基礎(chǔ)組件。

ProgramGlobalArea(PGA):在服務(wù)器進(jìn)程啟動(dòng)的時(shí)候分配。作InstanceSGARedoLog

BufferSharedPoolDataDictionary

CacheLibraryCacheDBWRSMONPMONCKPTLGWROthersPGADatabase

Buffer

CacheJavaPoolLargePoolSystemGlobalArea1-8SGA由幾種內(nèi)存結(jié)構(gòu)組成:共享池(SharedPool)數(shù)據(jù)庫(kù)緩沖區(qū)(DatabaseBufferCache)REDO日志緩沖池(RedoLogBuffer)大型池(LargePool)JAVA緩沖池(JavaPool)InstanceSGARedoLog

BufferSharedPoolDataDictionary

CacheLibraryCacheDatabase

Buffer

CacheJavaPoolLargePoolSystemGlobalArea1-9是動(dòng)態(tài)的,可在ORACLE運(yùn)行期間進(jìn)行調(diào)整。大小由參數(shù)SGA_MAX_SIZE決定。在SGA中分配、管理內(nèi)存時(shí),都是以粒度為單位的,粒度由以下決定:相鄰內(nèi)存塊的分配?;赟GA_MAX_SIZE:

4M,SGA_MAX_SIZE<128M 16MSGA_MAX_SIZE>128M共享池(Sharedpool)1-10Sharedpool用于存放:最近執(zhí)行過(guò)的SQL語(yǔ)句最近用過(guò)的數(shù)據(jù)定義Sharedpool有二個(gè)性能有關(guān)的內(nèi)存結(jié)構(gòu):LibraryCacheDataDictionaryCacheSharedpool大小由SHARED_POOL_SIZESharedPoolData

DictionaryCacheLibraryCacheALTERSYSTEMSETSHARED_POOL_SIZE=64M;LibraryCache1-11LibraryCache用于存放最近執(zhí)行過(guò)的SQL語(yǔ)句、PL/SQL程序。管理內(nèi)存分配用LRU(leastrecentlyused)算法。由二個(gè)內(nèi)存結(jié)構(gòu)組成: 共享SQL語(yǔ)句區(qū)域 共享PL/SQL區(qū)域大小由SharedPool的大小決定。SharedPoolData

DictionaryCacheLibraryCacheDataDictionaryCache1-12DataDictionaryCache用于存放最近使用的用戶定義,包括數(shù)據(jù)文件、表、索引、用戶、權(quán)限等。在SQL、PL/SQL語(yǔ)句編繹期間,服務(wù)器進(jìn)程會(huì)在DataDictionaryCache中查找最近訪問(wèn)的用戶定義,而不會(huì)去數(shù)據(jù)庫(kù)文件中找,通過(guò)這種方式,加快處理速度,提高系統(tǒng)的性能。DataDictionaryCache大小由SharedPool大小決定。SharedPoolData

DictionaryCacheLibraryCacheDatabaseBufferCache1-13用于存儲(chǔ)從數(shù)據(jù)庫(kù)文件中讀取出來(lái)的數(shù)據(jù)塊復(fù)制。在讀取數(shù)據(jù)或更新數(shù)據(jù)操作中,通過(guò)DatabaseBuffterCache能使性能得到很大的提高。DatabaseBufferCache內(nèi)存管理通過(guò)LRU算法實(shí)現(xiàn)。DB_BLOCK_SIZE決定數(shù)據(jù)塊的大小。由下面互不關(guān)系的子Cache組成:DB_CACHE_SIZEDB_KEEP_CACHE_SIZEDB_RECYCLE_CACHE_SIZEDatabaseBuffer

CacheRedoLogBuffer1-14記錄數(shù)據(jù)塊記錄的變化日志主要是用于數(shù)據(jù)庫(kù)的恢復(fù)變化記錄也被稱之為重做體(REDOENTRIES),重做體包括了重構(gòu)的信息或重做的變化。大小由LOG_BUFFER決定。RedoLog

BufferLargePool1-15在SGA中,是可選的內(nèi)存區(qū)。用于減輕SharedPool的負(fù)擔(dān)。用于: 共享連接的SESSION內(nèi)存區(qū)(UGA)。

I/O服務(wù)進(jìn)程 備份、恢復(fù)操作或RMAN管理 并行執(zhí)行的消息緩沖區(qū)內(nèi)存管理不有LRU算法大小用LARGE_POOL_SIZE可以動(dòng)態(tài)調(diào)整JavaPool1-16用于ORACLE中內(nèi)嵌JAVA程序,如JSQL。大小由JAVA_POOL_SIZE決定,大小一般都要在20M以上。如果不用,把配置值設(shè)置為1M。ProgramGlobalArea1-17User

processPGAServer

process為連接到數(shù)據(jù)庫(kù)的用戶所用的內(nèi)存區(qū)。當(dāng)用戶進(jìn)程創(chuàng)建時(shí)進(jìn)行分配。當(dāng)用戶進(jìn)程退出時(shí)回收。內(nèi)存為非共享的,分配時(shí)只能分配給一個(gè)用戶使用。ProcessStructure1-18ORACLE數(shù)據(jù)庫(kù)在運(yùn)行期間使用下面幾種進(jìn)程:用戶進(jìn)程:一個(gè)數(shù)據(jù)庫(kù)用戶請(qǐng)求連接到ORACLE服務(wù)器時(shí)啟動(dòng)。服務(wù)器進(jìn)程:連接到ORACLE數(shù)據(jù)庫(kù)實(shí)例,當(dāng)一個(gè)用戶創(chuàng)建一個(gè)SESSION時(shí)啟動(dòng)。后臺(tái)進(jìn)程:數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)時(shí)啟動(dòng)。用戶進(jìn)程(UserProcess)1-19一個(gè)和ORACLE數(shù)據(jù)庫(kù)請(qǐng)求交互的程序。和ORACLE建立連接。不和ORACLE數(shù)據(jù)庫(kù)直接交互。DatabaseuserServer

processUser

processConnection

established服務(wù)器進(jìn)程(ServerProcess)1-20一個(gè)和ORACLE數(shù)據(jù)庫(kù)直接交互的程序。進(jìn)行普通的調(diào)用并返回結(jié)果。有二種進(jìn)行連接方式:專用連接、共享連接。ConnectionestablishedSessioncreatedDatabaseuserUser

processServer

processOracleserver后臺(tái)進(jìn)程(BackgroupProcess)1-21用于維護(hù)和管理ORACLE數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)和儲(chǔ)結(jié)構(gòu)之間的關(guān)系。主要后臺(tái)進(jìn)程包括:

DBWn PMON CKPT LGWR SMON 可選后臺(tái)進(jìn)行包括:

ARCn

LMDn

QMNn CJQ0 LMON RECO

Dnnn LMS Snnn

LCKn

PnnnInstance

DBWRSMONPMONCKPTLGWROthers

數(shù)據(jù)庫(kù)寫(xiě)進(jìn)程(DBWn)1-22InstanceSGADatabaseDBWnDatabaseBuffer

CacheControlfilesDatafilesRedoLogfilesDatabaseDBWn進(jìn)程完成把數(shù)據(jù)庫(kù)緩沖區(qū)的內(nèi)容寫(xiě)回?cái)?shù)據(jù)庫(kù)文件,開(kāi)始啟動(dòng)于:CheckPoint完成沒(méi)有空閑的數(shù)據(jù)緩沖區(qū)設(shè)置時(shí)間已到有RACping請(qǐng)求表空間脫機(jī)(offline)表空間修改為只讀刪除表、或truncate表表空間開(kāi)始beginbackup日志寫(xiě)(LGWR)1-23LGWR進(jìn)程完成把重做日志緩沖區(qū)的內(nèi)容寫(xiě)到REDO文件,開(kāi)始啟動(dòng):Commit進(jìn)行提交事務(wù)Redo緩沖區(qū)1/3時(shí)在redo緩沖區(qū)有1M日志每三秒啟動(dòng)一次在DBWn進(jìn)程寫(xiě)之前InstanceSGARedo

LogBufferDBWnLGWRDatabaseControlfilesDatafilesRedoLogfilesDatabase系統(tǒng)監(jiān)控進(jìn)程(SMON)1-24SMON進(jìn)程主要用于:數(shù)據(jù)庫(kù)實(shí)例恢復(fù)管理空閑表空間回收臨時(shí)表空間InstanceSGASMONDatabaseControlfilesDatafilesRedoLogfilesDatabase進(jìn)程監(jiān)控進(jìn)程(PMON)1-25用于服務(wù)器進(jìn)程運(yùn)行失敗后的清理工作,包括:回滾事務(wù)釋放鎖資源釋放相關(guān)的其他資源重啟死的發(fā)器dispatchers

)PGAareaInstanceSGAPMON檢查點(diǎn)進(jìn)程(CKPT)1-26CKPT進(jìn)程主要負(fù)責(zé):更新文件頭信息更新控制文件信息喚醒DBWn進(jìn)程InstanceSGADatabaseControlfilesDatafilesRedoLogfilesDatabaseDBWnLGWRCKPT歸檔進(jìn)程(ARCn)1-27是可選的后臺(tái)進(jìn)程當(dāng)歸檔(ARCHIVELOG

)模式已設(shè)置的時(shí)候,完成聯(lián)機(jī)日志的自動(dòng)歸檔。保存在數(shù)據(jù)庫(kù)操作中產(chǎn)生的所有日志變化記錄,這些記錄全部保存在歸檔日志中。ARCnArchivedredologfilesControlfilesDatafilesRedologfiles邏輯結(jié)構(gòu)1-28ORACLE體系結(jié)構(gòu)中的邏輯結(jié)構(gòu)是指數(shù)據(jù)庫(kù)中的物理空間如何分配使用。它由一個(gè)層次體系結(jié)構(gòu)組成:表空間(tablespace)-段(segment)-區(qū)(extent)–block(塊)一個(gè)數(shù)據(jù)庫(kù)由一組表空間組成,一個(gè)表空間由一個(gè)或多個(gè)段(segment)組成,一個(gè)段由多個(gè)區(qū)組成,一個(gè)區(qū)由多個(gè)數(shù)據(jù)塊組成,塊是數(shù)據(jù)庫(kù)中讀寫(xiě)操作中最小的組織單位。TablespaceDatafileSegmentBlocksExtentSegment22、開(kāi)始ORACLE數(shù)據(jù)庫(kù)管理維護(hù)工具2-1工具描述OracleUniversalInstaller(OUI)用于安裝、更新、刪除ORACLE組件。OracleDatabaseConfigurationAssistant是一個(gè)圖形化操作工具,用于交互式的創(chuàng)建、刪除、修改數(shù)據(jù)庫(kù)SQL*Plus用于訪問(wèn)、操作數(shù)據(jù)庫(kù)的交互式工具。OracleEnterpriseManager圖形化操作工具,用于管理、監(jiān)控、性能調(diào)整等操作。數(shù)據(jù)庫(kù)管理維護(hù)工具-OUI2-2數(shù)據(jù)庫(kù)管理維護(hù)工具-DBCA2-3數(shù)據(jù)庫(kù)管理維護(hù)工具-SQLPLUS2-4數(shù)據(jù)庫(kù)管理維護(hù)工具-OEM2-533、管理ORACLE實(shí)例初始化參數(shù)文件3-1spfiledb01.oraCONNECT/ASSYSDBASTARTUPOracleInstanceSGARedoLog

BufferSharedPoolData

Dictionary

CacheLibraryCacheDBW0SMONPMONCKPTLGWROthersDatabase

BufferCacheJavaPoolLarge

Pool初始化參數(shù)文件3-2數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)時(shí)所用的配置參數(shù)。有二種類型:明確指定的,在參數(shù)文件中配置說(shuō)明。默認(rèn)的,在參數(shù)文件中不指定,采用系統(tǒng)默認(rèn)值。一個(gè)數(shù)據(jù)庫(kù)中可有多個(gè)參數(shù)文件,但只有一個(gè)是默認(rèn)的,INIT<SID>.ORA或SPFILE<SID>.ORA有二種類型靜態(tài)文本文件,PFILE二進(jìn)制文件,SPFILE,在數(shù)據(jù)庫(kù)運(yùn)行期間可修改。啟動(dòng)數(shù)據(jù)庫(kù)操作3-3啟動(dòng)數(shù)據(jù)庫(kù)時(shí),默認(rèn)讀取參數(shù)次序:SPFILE<SID>.ORA默認(rèn)SPFILEINIT<SID>.ORA默認(rèn)PFILESTARTUPPFILE=$ORACLE_HOME/dbs/initDBA1.oraPFILE可以引用到SPFILE中:SPFILE=/database/startup/spfileDBA1.oraSTARTUP指定PFILE可以忽略讀取參數(shù)次序,直接有用指定PFILE啟動(dòng)數(shù)據(jù)庫(kù)過(guò)程3-4OPENMOUNTNOMOUNTSHUTDOWNAllfilesopenedasdescribedbythecontrolfileforthisinstanceControlfileopenedforthisinstanceInstance

startedSTARTUPSHUTDOWN關(guān)閉數(shù)據(jù)庫(kù)3-5ANoNoNoNoTNoNoYesYesINoNoNoYesShutdownModeAllownewconnectionsWaituntilcurrentsessionsendWaituntilcurrenttransactionsendForceacheckpointandclosefilesNNoYesYesYes關(guān)閉模式:A=ABORTI=IMMEDIATET=TRANSACTIONALN=NORMALSHUTDOWN[immediate]/[abort]/[transactional]3-6通過(guò)診斷文件監(jiān)控?cái)?shù)據(jù)庫(kù)診斷文件:包含了實(shí)例運(yùn)行期間所發(fā)生的事件相關(guān)的信息。用于分析解決問(wèn)題。用于的基于日常的數(shù)據(jù)庫(kù)管理比較好的方式診斷文件有幾種類型:alert<SID>.log文件,包括了數(shù)據(jù)庫(kù)日常操作事件。位置由參數(shù)backgroup_dump_dest決定后臺(tái)進(jìn)程跟蹤文件,存放當(dāng)后臺(tái)進(jìn)程運(yùn)行出錯(cuò)時(shí)輸出的信息。位置由參數(shù)backgroup_dump_dest決定。用戶跟蹤文件,存放用戶操作發(fā)生錯(cuò)誤信息或用戶直接導(dǎo)出(一般通過(guò)DUMP)的相關(guān)信息。位置由參數(shù):user_dump_dest決定。44、創(chuàng)建數(shù)據(jù)庫(kù)4-1創(chuàng)建數(shù)據(jù)庫(kù)先決條件創(chuàng)建數(shù)據(jù)庫(kù)前,必須有下列先決條件:一個(gè)用戶帳號(hào),這個(gè)帳號(hào)的認(rèn)證方式是下列其中之一:操作系統(tǒng)認(rèn)證密碼文件認(rèn)證足夠內(nèi)存啟動(dòng)實(shí)例(一個(gè)實(shí)例最少內(nèi)存要求50M以上)足夠的硬盤(pán)空間(一個(gè)基本的數(shù)據(jù)庫(kù)要求1G以上)4-2操作系統(tǒng)環(huán)境配置在操作系統(tǒng)中設(shè)置下列的環(huán)境變量:ORACLE_BASEORACLE_HOMEORACLE_SIDORA_NLS33PATHLD_LIBRARY_PATH4-3DatabaseConfigurationAssistant用DatabaseConfigurationAssistant,完成下列的功能:創(chuàng)建數(shù)據(jù)庫(kù)配置數(shù)據(jù)庫(kù)選項(xiàng)刪除數(shù)據(jù)庫(kù)管理數(shù)據(jù)庫(kù)模板通過(guò)預(yù)定義模板配置生成新的模板從當(dāng)前存在的數(shù)據(jù)庫(kù)中生成新的模板刪除數(shù)據(jù)庫(kù)模板4-4用DBCA創(chuàng)建數(shù)據(jù)庫(kù)1、選擇數(shù)據(jù)庫(kù)選項(xiàng)(創(chuàng)建、刪除、修改數(shù)據(jù)庫(kù)等)2、指定數(shù)據(jù)庫(kù)類型(數(shù)據(jù)倉(cāng)庫(kù)、通用、新數(shù)據(jù)庫(kù)等)3、指定全局?jǐn)?shù)據(jù)庫(kù)名和SID4、選擇特性(專用模式、共享模式)5、選擇數(shù)據(jù)庫(kù)可選項(xiàng)(只有類型是創(chuàng)建新數(shù)據(jù)庫(kù)才會(huì)出現(xiàn))6、指定內(nèi)存、字符集、數(shù)據(jù)庫(kù)文件大小、文件位置等選項(xiàng)。7、定義數(shù)據(jù)庫(kù)存儲(chǔ)選項(xiàng)。8、最后一項(xiàng):創(chuàng)建數(shù)據(jù)庫(kù)保存為模板產(chǎn)生數(shù)據(jù)庫(kù)創(chuàng)建腳本55、管理控制文件5-1控制文件ControlfilesDatabase是一個(gè)二進(jìn)制文件定義物理數(shù)據(jù)庫(kù)的當(dāng)前狀態(tài)用于維護(hù)數(shù)據(jù)庫(kù)的完整性數(shù)據(jù)庫(kù)啟動(dòng)到MOUNT狀態(tài)時(shí)要讀控制文件一組控制文件對(duì)于一個(gè)數(shù)據(jù)庫(kù)控制文件丟失時(shí),要進(jìn)行數(shù)據(jù)庫(kù)的恢復(fù)控制文件大小在數(shù)據(jù)庫(kù)創(chuàng)建時(shí)指定,或重建控制文件時(shí)指定。5-2控制文件內(nèi)含信息ControlfilesDatabase一個(gè)控制文件包含下面的信息:數(shù)據(jù)庫(kù)名稱和標(biāo)識(shí)數(shù)據(jù)庫(kù)創(chuàng)建的時(shí)間戳表空間名數(shù)據(jù)庫(kù)文件和聯(lián)機(jī)日志文件的名稱和所處位置當(dāng)有在線聯(lián)機(jī)日志的序列號(hào)檢查點(diǎn)(CHECKPOINT)信息聯(lián)機(jī)日志歸檔信息備份信息5-3多重控制文件CONTROL_FILES=$HOME/ORADATA/u01/ctrl01.ctl,$HOME/ORADATA/u02/ctrl02.ctlDisk1(u01)Disk2(u02)

ctrl02.ctl

ctrl01.ctl為了防止控制文件的損壞導(dǎo)致數(shù)據(jù)庫(kù)無(wú)法正常運(yùn)行,一個(gè)數(shù)據(jù)庫(kù)中會(huì)設(shè)置多個(gè)相同控制文件的COPY,這就是多重控制文件。5-4使用SPFILE實(shí)現(xiàn)多重控制文件ALTERSYSTEMSETcontrol_files='$HOME/ORADATA/u01/ctrl01.ctl','$HOME/ORADATA/u02/ctrl02.ctl'SCOPE=SPFILE;cp $HOME/ORADATA/u01/ctrl01.ctl $HOME/ORADATA/u02/ctrl02.ctlstartupshutdownimmediate修改SPFILE正常關(guān)閉數(shù)據(jù)庫(kù)創(chuàng)建額外的控制文件啟動(dòng)數(shù)據(jù)庫(kù)5-5使用PFILE實(shí)現(xiàn)多重控制文件shutdownimmediateCONTROL_FILES=$HOME/ORADATA/u01/ctrl01.ctl, $HOME/ORADATA/u02/ctrl02.ctl)cp $HOME/ORADATA/u01/ctrl01.ctl $HOME/ORADATA/u02/ctrl02.ctlstartup正常關(guān)閉數(shù)據(jù)庫(kù)創(chuàng)建額外的控制文件編輯PFILE文件,增加控制文件配置信息到PFILE參數(shù)文件啟動(dòng)數(shù)據(jù)庫(kù)5-6在數(shù)據(jù)庫(kù)中查詢控制文件信息控制文件狀態(tài)和的位置等相關(guān)信息可以通過(guò)下列查詢視圖的SQL語(yǔ)句獲得:V$CONTROLFILE:顯示與實(shí)例相關(guān)的所有控制文件的名稱和狀態(tài)。V$PARAMETER:顯示所有參數(shù)的名稱和狀態(tài)。SHOWPARAMETERCONTROL_FILES:顯示控制文件的名稱、狀態(tài)、和位置。66、管理聯(lián)機(jī)日志文件6-1聯(lián)機(jī)日志文件介紹記錄數(shù)據(jù)生產(chǎn)的所有變化。提供了恢復(fù)機(jī)制,用于數(shù)據(jù)庫(kù)實(shí)例破壞的數(shù)據(jù)恢復(fù)。以組的形式組織管理。最少要有二個(gè)組,每個(gè)組以一個(gè)到多個(gè)文件組成。當(dāng)一個(gè)組有多個(gè)文件的時(shí)候,建議不要把所有文件放在同一個(gè)地方。Redologfiles6-2聯(lián)機(jī)文件結(jié)構(gòu)Group2Group3Group1MemberDisk1Disk2MemberMemberMemberMemberMember6-3聯(lián)機(jī)文件工作方式聯(lián)機(jī)日志文件的以循環(huán)的方式進(jìn)行使用的。當(dāng)一個(gè)聯(lián)機(jī)日志文件記錄的日志信息滿的時(shí)候,LGRW進(jìn)程會(huì)把把日志寫(xiě)到下一組的文件。即發(fā)生下列動(dòng)作:調(diào)用日志交換(altersystemswitchlogfile。檢查點(diǎn)(checkpoint)操作。相關(guān)信息寫(xiě)入控制文件。6-4手工聯(lián)機(jī)日志switch和checkpointALTERSYSTEMCHECKPOINT;ALTERSYSTEMSWITCHLOGFILE;FAST_START_MTTR_TARGET=600手工聯(lián)機(jī)日志交換:手工checkpoint用ALTERSYSTEMCHECKPOINT命令:通過(guò)設(shè)置下列參數(shù)進(jìn)行定期Checkpoint:FAST_START_MTTR_TARGET.6-5增加聯(lián)機(jī)日志組Group1Group2Group3ALTERDATABASEADDLOGFILEGROUP3('$HOME/ORADATA/u01/log3a.rdo','$HOME/ORADATA/u02/log3b.rdo')SIZE1M;log3b.rdolog3a.rdolog1a.rdolog1b.rdolog2a.rdolog2b.rdo6-6增加聯(lián)機(jī)日志組文件成員ALTERDATABASEADDLOGFILEMEMBER'$HOME/ORADATA/u04/log1c.rdo'TOGROUP1,'$HOME/ORADATA/u04/log2c.rdo'TOGROUP2,'$HOME/ORADATA/u04/log3c.rdo'TOGROUP3;log1a.rdolog1b.rdolog2a.rdolog2b.rdolog1c.rdolog2c.rdolog3a.rdolog3b.rdolog3c.rdoGroup1Group2Group36-7刪除聯(lián)機(jī)日志組ALTERDATABASEDROPLOGFILEGROUP3;log1a.rdolog2a.rdolog3a.rdoGroup1Group2Group36-8刪除聯(lián)機(jī)日志組文件成員ALTERDATABASEDROPLOGFILEMEMBER'$HOME/ORADATA/u04/log3c.rdo';Group1Group2log1b.rdolog1c.rdolog1a.rdolog1b.rdolog2c.rdolog1a.rdo6-9聯(lián)機(jī)日志文件信息查詢聯(lián)機(jī)日志組和文件相關(guān)的信息可以通過(guò)查詢下列的視圖取得:V$LOGV$LOGFILE6-10歸檔日志文件已寫(xiě)滿的聯(lián)機(jī)日志文件可以歸檔到某一指定地方。在數(shù)據(jù)庫(kù)運(yùn)行中,以歸檔模式運(yùn)有二個(gè)方面的好處:恢復(fù):數(shù)據(jù)庫(kù)的文件備份、加上歸檔文件和聯(lián)機(jī)日志,可以保存所有的已處理的事務(wù)。當(dāng)數(shù)據(jù)庫(kù)發(fā)生破壞時(shí),通過(guò)這些文件可以完成數(shù)據(jù)庫(kù)的恢復(fù)。備份:在運(yùn)行的數(shù)據(jù)庫(kù)中,可以進(jìn)行備份。默認(rèn)的情況下,數(shù)據(jù)庫(kù)是運(yùn)行在非歸檔模式下的。歸檔主要是由進(jìn)程ARCn進(jìn)程自動(dòng)完成??梢酝ㄟ^(guò)SQL語(yǔ)句手工進(jìn)行歸檔。通過(guò)配置,可以進(jìn)行日志的多份歸檔。77、管理表空間和數(shù)據(jù)文件7-1表空間和數(shù)據(jù)文件

ORACLE數(shù)據(jù)的存儲(chǔ),在邏輯上講,是存儲(chǔ)在表空間里;在物理上講,是存儲(chǔ)在數(shù)據(jù)文件中。表空間:一個(gè)表空間只能屬于一個(gè)數(shù)據(jù)庫(kù)。一個(gè)表空間由多個(gè)數(shù)據(jù)文件組成。進(jìn)一步劃分,可以分成邏輯上的多個(gè)存儲(chǔ)單元。數(shù)據(jù)文件:一個(gè)數(shù)據(jù)庫(kù)文件只能屬于其中一個(gè)表空間。是具體存放數(shù)據(jù)的地方。DatabaseTablespaceDatafiles7-2表空間類型系統(tǒng)表空間數(shù)據(jù)庫(kù)創(chuàng)建的時(shí)候一起創(chuàng)建。包含了系統(tǒng)字典表信息。包含了系統(tǒng)回滾空間非系統(tǒng)表空間由用戶進(jìn)行管理分配。用于存儲(chǔ)用戶數(shù)據(jù)。分為臨時(shí)表空間、回滾表空間、普通表空間。7-3表空間的空間管理方式本地管理表空間管理:表空間空閑空間部分由表空間自己進(jìn)行管理。通過(guò)位圖進(jìn)行空閑空間的記錄。位圖每一位對(duì)應(yīng)一個(gè)塊或一組塊。位圖每一位用0或1表示,1表示對(duì)應(yīng)的空間已用,0表示未用。字典管理表空間管理:表空間空閑空間部分由數(shù)據(jù)字典表進(jìn)行管理。當(dāng)表空間進(jìn)行分配或回收時(shí),字典表記錄會(huì)進(jìn)行更新操作。7-4創(chuàng)建表空間CREATETABLESPACEuserdata DATAFILE'/u01/oradata/userdata01.dbf'SIZE5M;創(chuàng)建表空間用createtablespace

命令:創(chuàng)建本地管理表空間:CREATETABLESPACEuserdataDATAFILE'/u01/oradata/userdata01.dbf'SIZE500MEXTENTMANAGEMENTLOCALUNIFORMSIZE128K;創(chuàng)建字典管理表空間:CREATETABLESPACEuserdataDATAFILE'/u01/oradata/userdata01.dbf'SIZE500MEXTENTMANAGEMENTDICTIONARY DEFAULTSTORAGE(initial1MNEXT1MPCTINCREASE0);7-5回滾表空間用于存儲(chǔ)回滾記錄信息。不能包含其他對(duì)象。管理都是以本地表空間方式進(jìn)行管理。管理方式建議采用自動(dòng)管理方式(9I以后)CREATEUNDOTABLESPACEundo1DATAFILE'/u01/oradata/undo01.dbf'SIZE40M;7-6臨時(shí)表空間用于數(shù)據(jù)處理過(guò)程中的排序操作??梢杂啥鄠€(gè)用戶進(jìn)行共享。不能包含任何長(zhǎng)期保留的信息。強(qiáng)烈建議以本地表空間的管理方式進(jìn)行臨時(shí)表空間的管理CREATETEMPORARYTABLESPACEtempTEMPFILE'/u01/oradata/temp01.dbf'SIZE20MEXTENTMANAGEMENTLOCALUNIFORMSIZE4M;7-7只讀表空間通過(guò)下列SQL語(yǔ)句把表空間修改為只讀表空間:ALTERTABLESPACEuserdataREADONLY;數(shù)據(jù)只能進(jìn)行讀,不能進(jìn)行寫(xiě)(如更新數(shù)據(jù))操作。對(duì)象(如表、索引)可以從表空間中刪除。7-8查詢表空間信息獲取表空間和數(shù)據(jù)文件的相關(guān)信息可以查詢下列視圖:表空間信息:dba_tablespacesV$tablespace數(shù)據(jù)文件信息:dba_data_filesv$datafile臨時(shí)表空間信息:dba_temp_filesv$tempfile88、管理表、索引、數(shù)據(jù)完整性8-1用戶數(shù)據(jù)存儲(chǔ)方式RegulartableClusterPartitioned

tableIndex-organized

table8-2ORACLE內(nèi)置數(shù)據(jù)類型CHAR(N),NCHAR(N)

VARCHAR2(N),

NVARCHAR2(N)NUMBER(P,S)DATE

TIMESTAMPRAW(N)

BLOB,CLOB,NCLOB,BFILELONG,LONGRAWROWID,UROWIDVARRAY

TABLEREFDatatypeBuilt-inUser-definedScalarRelationshipCollection8-3創(chuàng)建表CREATETABLEhr.employees(employee_idNUMBER(6),first_name VARCHAR2(20), last_nameVARCHAR2(25),emailVARCHAR2(25),phone_numberVARCHAR2(20),hire_dateDATEDEFAULTSYSDATE,job_id VARCHAR2(10),salaryNUMBER(8,2),commission_pctNUMBER(2,2),manager_idNUMBER(6),department_idNUMBER(4))TABLESPACEUSERS;8-4創(chuàng)建表原則把表分布在不同的表空間。創(chuàng)建的表不能放在SYSTEM表空間、UNDO表空間、TEMPORARY表空間。盡量使用本地管理表空間,減少表空間的碎片。在業(yè)務(wù)量繁忙、數(shù)據(jù)量大的情況下,表和索引盡量放在不同的表空間。當(dāng)數(shù)據(jù)量非常大的時(shí)候,可考慮分區(qū)表。8-5創(chuàng)建臨時(shí)表創(chuàng)建臨時(shí)表用GLOBALTEMPORARY

句:CREATEGLOBALTEMPORARYTABLEhr.employees_tempASSELECT*FROMhr.employees;臨時(shí)表只存在于一個(gè)事務(wù)、一個(gè)連接SESSION活動(dòng)期間。DML操作沒(méi)有鎖的概念??梢栽谂R時(shí)表上進(jìn)行創(chuàng)建索引、視圖、觸發(fā)器等。8-6Truncate、delete、Drop表TRUNCATETABLEhr.employees;Truncate表相當(dāng)于刪除一個(gè)表的所有數(shù)據(jù),同時(shí)回收表空間。Deletefromhr.departments;正常刪除一個(gè)表的所有數(shù)據(jù),不會(huì)回收使用的空間。Droptablehr.departments;正常刪除表,回收使用的空間。8-7索引分類從邏輯上分:?jiǎn)瘟谢蚨嗔薪M合索引唯一或非唯一索引函數(shù)索引Domain索引從物理上分:分區(qū)索引和非分區(qū)索引B-TREE索引和反轉(zhuǎn)索引位圖索引8-8B-TREE索引IndexentryheaderKeycolumnlengthKeycolumnvalueROWIDRootBranchLeafIndexentry8-9位圖索引<Blue,10.0.3,12.8.3,1000100100010010100><Green,10.0.3,12.8.3,0001010000100100000><Red,10.0.3,12.8.3,0100000011000001001><Yellow,10.0.3,12.8.3,0010001000001000010>keystartROWIDendROWID

bitmapTableIndexBlock10Block11Block12File38-10B-TREE索引、位圖索引比較B-tree B-tree索引Bitmap索引適合于高基數(shù)的情況下適合于低基數(shù)的情況下修改索引值消耗少的資源修改索引值消耗非常多的資源在query語(yǔ)句中,不能用于邏輯運(yùn)算在query語(yǔ)句中,可以直接用于邏輯運(yùn)算多用于OLTP系統(tǒng)多用于DSS系統(tǒng)8-11創(chuàng)建索引B-tree CREATEINDEXhr.employees_last_name_idxONhr.employees(last_name)PCTFREE30STORAGE(INITIAL200KNEXT200K PCTINCREASE0 MAXEXTENTS50)TABLESPACEindx;創(chuàng)建B-TREE索引:CREATEBITMAPINDEXorders_region_id_idxONorders(region_id)PCTFREE30STORAGE(INITIAL200KNEXT200K PCTINCREASE0 MAXEXTENTS50)TABLESPACEindx;創(chuàng)建BITMAP索引:8-12數(shù)據(jù)完整性約束名描述Notnull指定某一列值不能為空。unique列值或組合列值是唯一的。Primarykey指定某一列值或組合列值作為表的主健值,即唯一。Foreignkey指定某一列值或組合列值必須來(lái)源于另一表的某一列值或組合列值。check指明某一列值或組合列值必須滿足指定條件。8-13數(shù)據(jù)完整性檢查過(guò)程DMLstatementChecknondeferredconstraintsCOMMITCheckdeferredconstraints8-14創(chuàng)建表時(shí)定義約束CREATETABLEhr.employee(

idNUMBER(7)

CONSTRAINTemployee_id_pkPRIMARYKEY

DEFERRABLE

USINGINDEX

STORAGE(INITIAL100KNEXT100K)

TABLESPACEindx,last_nameVARCHAR2(25)

CONSTRAINTemployee_last_name_nnNOTNULL,dept_idNUMBER(7))TABLESPACEusers;8-15創(chuàng)建約束實(shí)例alter

tableEMP

add

constraintPK_EMP_NOprimary

key(EMPNO);創(chuàng)建主鍵:創(chuàng)建外鍵:alter

tableEMP

add

constraintFK_DEPT_NOforeign

key(DEPTNO)

referencesdept(DEPTNO);創(chuàng)建check:alter

tableEMP

add

constraintCK_EMP_ID

check(empno>1000and

empno<9999);99、管理用戶、權(quán)限、角色9-1用戶、安全機(jī)制Account

lockingTablespace

quotasTemporarytablespaceDefaulttablespaceRoleprivilegesResourcelimitsSecuritydomainDirectprivilegesAuthenticationmechanism9-2數(shù)據(jù)庫(kù)方案SchemaObjectsTablesTriggersConstraintsIndexesViewsSequencesStoredprogramunitsSynonymsUser-defineddatatypesDatabaselinks一個(gè)方案就是對(duì)象集合的命名。當(dāng)創(chuàng)建一個(gè)用戶的時(shí)候、相對(duì)應(yīng)的方案也會(huì)自動(dòng)創(chuàng)建。用戶刪除的時(shí)候、對(duì)應(yīng)的方案也會(huì)刪除。一個(gè)用戶只能和一個(gè)方案相關(guān)聯(lián)。即一個(gè)用戶只能有一個(gè)方案。用戶名和方案名可以交替使用。9-3創(chuàng)建用戶步聚確定用戶用于存儲(chǔ)數(shù)據(jù)的表空間。設(shè)定每個(gè)表空間用戶可用空間的限制。分配默認(rèn)表空間、默認(rèn)臨時(shí)表空間。創(chuàng)建用戶、指定密碼。對(duì)用戶進(jìn)行授權(quán)、包括系統(tǒng)權(quán)限、角色權(quán)限。CREATEUSERaaronIDENTIFIEDBYsoccerDEFAULTTABLESPACEdataTEMPORARYTABLESPACEtempQUOTA15MONdataQUOTA10MONusersPASSWORDEXPIRE;9-4刪除用戶直接正常刪除用戶:DROPUSERaaron;刪除已有對(duì)象的用戶:DROPUSERaaronCASCADE;當(dāng)一個(gè)用戶目前已連接到數(shù)據(jù)庫(kù)上的時(shí)候,該用戶不能刪除。等用戶退出系統(tǒng)出才可以刪除。9-5管理權(quán)限ORACLE數(shù)據(jù)庫(kù)用戶有二種權(quán)限:系統(tǒng)權(quán)限:指用戶能在數(shù)據(jù)庫(kù)中進(jìn)行指定的操作。如創(chuàng)建表、創(chuàng)始存儲(chǔ)過(guò)程,啟動(dòng)/停止數(shù)據(jù)庫(kù)等。整個(gè)數(shù)據(jù)庫(kù)有超過(guò)100個(gè)系統(tǒng)權(quán)限。有any關(guān)鍵字的系統(tǒng)權(quán)限的用戶都意味著在任何方案都有這個(gè)權(quán)限。用grant進(jìn)行授權(quán)、用revoke進(jìn)行回收權(quán)限。對(duì)象權(quán)限:指用戶能在指定

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論