ORACLE培訓(xùn)資料(初級(jí)系統(tǒng)管理員)_第1頁(yè)
ORACLE培訓(xùn)資料(初級(jí)系統(tǒng)管理員)_第2頁(yè)
ORACLE培訓(xùn)資料(初級(jí)系統(tǒng)管理員)_第3頁(yè)
ORACLE培訓(xùn)資料(初級(jí)系統(tǒng)管理員)_第4頁(yè)
ORACLE培訓(xùn)資料(初級(jí)系統(tǒng)管理員)_第5頁(yè)
已閱讀5頁(yè),還剩56頁(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系統(tǒng)培訓(xùn)資料·Oracle數(shù)據(jù)庫(kù)介紹系統(tǒng)開(kāi)發(fā)部第2頁(yè)共61頁(yè)福建東網(wǎng)信息產(chǎn)業(yè)有限公司培訓(xùn)資料(初級(jí)系統(tǒng)管理員)培訓(xùn)講義(之Oracle數(shù)據(jù)庫(kù)介紹部分)系統(tǒng)開(kāi)發(fā)部曾忠誠(chéng)FuJianDooneInformationIndustryCompanyDepartmentOfSystemExploiture目錄TOC\o"1-3"一.Oracle產(chǎn)品介紹 41.1Oracle公司及產(chǎn)品介紹 41.2Oracle數(shù)據(jù)庫(kù)的特點(diǎn) 41.3Oracle數(shù)據(jù)庫(kù)的系列產(chǎn)品 51.4Oracle數(shù)據(jù)庫(kù)產(chǎn)品的標(biāo)準(zhǔn)報(bào)價(jià) 71.5用戶基本配置標(biāo)準(zhǔn)報(bào)價(jià) 7二.Oracle數(shù)據(jù)庫(kù)的體系結(jié)構(gòu) 82.1Oracle數(shù)據(jù)庫(kù)的物理文件 82.2Oracle數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu) 92.3Oracle數(shù)據(jù)庫(kù)實(shí)例 102.3.1內(nèi)部存儲(chǔ)結(jié)構(gòu) 102.3.2系統(tǒng)進(jìn)程 112.4Oracle數(shù)據(jù)庫(kù)的用戶及權(quán)限管理 132.4.1Oracle數(shù)據(jù)庫(kù)的用戶 132.4.2Oracle的權(quán)限管理 132.5Oracle數(shù)據(jù)庫(kù)的系統(tǒng)表 142.6Oracle數(shù)據(jù)庫(kù)對(duì)象 14三.數(shù)據(jù)庫(kù)安裝及配置 153.1硬件環(huán)境的檢查及配置: 153.2安裝前環(huán)境設(shè)置: 153.3進(jìn)入交互式安裝過(guò)程: 163.4完成全部安裝過(guò)程 193.5Oracle7serverPatch的安裝 193.6數(shù)據(jù)庫(kù)備份 19四.Oracle數(shù)據(jù)庫(kù)系統(tǒng)管理 194.1數(shù)據(jù)庫(kù)管理員的權(quán)限和工具 194.2Oracle數(shù)據(jù)庫(kù)的啟動(dòng)和關(guān)閉 204.2.1Oracle數(shù)據(jù)庫(kù)的四種狀態(tài) 204.2.2Oracle數(shù)據(jù)庫(kù)的啟動(dòng) 204.2.3Oracle數(shù)據(jù)庫(kù)的關(guān)閉 214.3創(chuàng)建和管理數(shù)據(jù)庫(kù)對(duì)象 214.3.1TABLESPACE的建立、修改和刪除 224.3.2建立、修改、刪除用戶 244.4系統(tǒng)狀態(tài)查詢 274.5系統(tǒng)備份與恢復(fù) 284.5.1Oracle數(shù)據(jù)庫(kù)的備份 284.5.1.1物理備份 284.5.1.2邏輯備份—export 304.5.1.3各種備份方法比較 324.5.1.4一個(gè)完全備份方案樣例 334.5.2Oracle數(shù)據(jù)庫(kù)的恢復(fù) 334.5.2.1故障類(lèi)型 334.5.2.2使用物理備份恢復(fù) 344.5.2.3使用邏輯備份恢復(fù) 364.6網(wǎng)絡(luò)配置 384.6.1配置客戶機(jī)/服務(wù)器結(jié)構(gòu)步驟 384.6.2服務(wù)器的配置 384.6.3客戶端的配置 404.6.4啟動(dòng)和停止SQL*NET 414.6.5客戶機(jī)和服務(wù)器的連結(jié) 414.7多線程的配置 41五.Oracle數(shù)據(jù)庫(kù)性能優(yōu)化 425.1監(jiān)控?cái)?shù)據(jù)庫(kù)運(yùn)行情況及性能的方法 425.2初始化參數(shù)文件 435.3設(shè)計(jì)合理的數(shù)據(jù)庫(kù)結(jié)構(gòu),減少I(mǎi)/O和資源競(jìng)爭(zhēng) 465.4分配和調(diào)整Oracle使用的內(nèi)存(SGA)資源 485.4.1檢測(cè)和調(diào)整共享緩沖區(qū)(sharedpoolarea) 485.4.2調(diào)整數(shù)據(jù)緩存區(qū)(DataBufferPool) 505.4.3調(diào)整redo日志緩存(RedoLogBuffer) 515.4.4調(diào)整排序區(qū)(SortAreas) 515.5優(yōu)化數(shù)據(jù)庫(kù)對(duì)象 525.6優(yōu)化SQL語(yǔ)句 535.8根據(jù)Oracle特性來(lái)優(yōu)化應(yīng)用程序 57六.Oracle與Informix數(shù)據(jù)庫(kù)性能比較 586.1插入數(shù)據(jù)測(cè)試 586.2刪除數(shù)據(jù)測(cè)試 596.3測(cè)試結(jié)論 60Oracle數(shù)據(jù)庫(kù)介紹一.Oracle產(chǎn)品介紹1.1Oracle公司及產(chǎn)品介紹Oracle公司是年收入72億美元全球最大的信息管理軟件供應(yīng)商,也是全球第二大軟件公司,在全世界140多個(gè)國(guó)家為客戶提供數(shù)據(jù)庫(kù)系統(tǒng)、工具、應(yīng)用產(chǎn)品以及相關(guān)的咨詢、培訓(xùn)和支持服務(wù)。1997年數(shù)據(jù)庫(kù)市場(chǎng)份額:UNIX市場(chǎng)WindowsNT市場(chǎng)1.2Oracle數(shù)據(jù)庫(kù)的特點(diǎn)Oracle數(shù)據(jù)庫(kù)的許多卓越性能使oracle公司在數(shù)據(jù)庫(kù)行業(yè)力拔頭籌。1.大型數(shù)據(jù)庫(kù)Oracle7:支持2-32TB數(shù)據(jù)庫(kù)規(guī)模Oracle8:支持512PB數(shù)據(jù)庫(kù)規(guī)模Oracle8i:支持512PB數(shù)據(jù)庫(kù)規(guī)模2.多用戶Oracle7:支持用戶數(shù):幾千Oracle8:支持用戶數(shù):幾萬(wàn)Oracle8i:支持用戶數(shù):幾十萬(wàn)大量的工具Oracle公司提供大量的工具來(lái)支持用戶從前端以屏幕、報(bào)表,甚至數(shù)據(jù)圖表的形式訪問(wèn)數(shù)據(jù)庫(kù)。這些工具也可以與非Oracle數(shù)據(jù)庫(kù)連結(jié),它們目前正不斷擴(kuò)充。開(kāi)放性O(shè)racleRDBMS軟件可以運(yùn)行于100多個(gè)不同的硬件平臺(tái)和操作系統(tǒng)平臺(tái)。Oracle提供和其它軟件連結(jié)的開(kāi)放式接口。通過(guò)加載到Oracle的數(shù)據(jù)庫(kù),可以利用存放在其它數(shù)據(jù)庫(kù)中的信息,如IBM的DB2、Sybase或者M(jìn)icrosoft的Access。反之,也可以在Oracle的數(shù)據(jù)庫(kù)中存放數(shù)據(jù)而在其它軟件中訪問(wèn),如VB、PB等。備份與恢復(fù)在備份與恢復(fù)時(shí),Oracle提供了很多選項(xiàng)。Oracle的備份和恢復(fù)把數(shù)據(jù)丟失的可能性降到最小,并使出現(xiàn)故障的排錯(cuò)時(shí)間最少。安全性標(biāo)準(zhǔn)Oracle數(shù)據(jù)庫(kù)提供許多安全機(jī)制,包括對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限、限制可執(zhí)行的命令、定義對(duì)數(shù)據(jù)的訪問(wèn)級(jí)別等。除此之外,TrustedOracle提供了更高級(jí)別的安全性,它可授予用戶和數(shù)據(jù)庫(kù)對(duì)象的各種安全級(jí)別,能滿足政府和軍隊(duì)的需要。支持多種配置方式支持基于主機(jī)的配置、客戶機(jī)/服務(wù)器結(jié)構(gòu)、分布式處理、基于Internet的Web計(jì)算。1.3Oracle數(shù)據(jù)庫(kù)的系列產(chǎn)品數(shù)據(jù)庫(kù)產(chǎn)品:數(shù)據(jù)庫(kù)服務(wù)器應(yīng)用服務(wù)器開(kāi)發(fā)工具決策支持工具應(yīng)用產(chǎn)品應(yīng)用服務(wù)器應(yīng)用服務(wù)器決策支持工具數(shù)據(jù)庫(kù)服務(wù)器開(kāi)發(fā)工具決策支持工具數(shù)據(jù)庫(kù)服務(wù)器開(kāi)發(fā)工具應(yīng)用產(chǎn)品應(yīng)用產(chǎn)品數(shù)據(jù)庫(kù)服務(wù)器Oracle數(shù)據(jù)庫(kù)服務(wù)器的基本產(chǎn)品關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)OracleRDBMS,提供了所有支持大多數(shù)Oracle用戶的功能,此外,為了滿足用戶需求的其它功能,還提供了一系列可供購(gòu)買(mǎi)的選件:ConTextOption:文檔數(shù)據(jù)選件VideoServerOption:多媒體服務(wù)器選件SpatialDataOption:空間數(shù)據(jù)選件ParallelServerOption:并行數(shù)據(jù)庫(kù)服務(wù)器選項(xiàng)Gateway:與異種數(shù)據(jù)源連結(jié)的產(chǎn)品ServerManagementProduct:系列服務(wù)器管理產(chǎn)品此外還有個(gè)人數(shù)據(jù)庫(kù)PersonalOracle、方便移動(dòng)用戶使用的作為Oracle開(kāi)發(fā)工具的核心數(shù)據(jù)庫(kù)PersonalOracleLite,以及基于工作組的數(shù)據(jù)庫(kù)服務(wù)器OracleWorkgroupServer。應(yīng)用服務(wù)器當(dāng)企業(yè)應(yīng)用邁向網(wǎng)絡(luò)運(yùn)算,標(biāo)準(zhǔn)化的應(yīng)用服務(wù)器將成為必要的支撐軟件組成部分,以運(yùn)行共享式的應(yīng)用程序,從Client/Server環(huán)境轉(zhuǎn)移到Internet時(shí),它能繼續(xù)維持應(yīng)用程序的可用性與高效能.Oracle應(yīng)用服務(wù)器WebApplicationServer提供了一個(gè)開(kāi)放的標(biāo)準(zhǔn)架構(gòu),是開(kāi)發(fā)部署Web上的應(yīng)用的理想平臺(tái)。開(kāi)發(fā)工具SQLToolsSQL*PlusSqlforms&menuSqlreportWriterDesigner/2000Developer/2000Programmer--Precompiler(C、Cobol、Pascal、Fortran、Ada、PL/1、C++)SQL*Plus是標(biāo)準(zhǔn)SQL的應(yīng)用工具,為用戶定義和操作Oracle關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)提供的一個(gè)交互式應(yīng)用開(kāi)發(fā)工具。Sql*forms是一個(gè)功能強(qiáng)大的基于交互式屏幕界面的動(dòng)態(tài)生成工具。Sql*menu是設(shè)計(jì)動(dòng)態(tài)菜單的開(kāi)發(fā)工具。SqlreportWriter是Oracle提供的功能強(qiáng)大的報(bào)表生成程序。Designer/2000和Developer/2000為Oracle客戶機(jī)提供了所需的設(shè)計(jì)、編程、運(yùn)行和維護(hù)系統(tǒng)的解決方案。它們?cè)诳蛻魴C(jī)/服務(wù)器窗口環(huán)境下提供了一個(gè)快速的應(yīng)用開(kāi)發(fā)環(huán)境。兩者與Oracle服務(wù)器緊密集成在一起,共享公共的數(shù)據(jù)存放點(diǎn)。相對(duì)于其它開(kāi)發(fā)工具,Developer/2000提高開(kāi)發(fā)效率67-150%,Designer/2000提高開(kāi)發(fā)效率200-600%。(據(jù)UniversityofMunich1996.9)Programmer是針對(duì)Oracle通用數(shù)據(jù)服務(wù)器開(kāi)發(fā)版的一個(gè)全面的產(chǎn)品套件。它是一個(gè)程序界面的集合,為程序開(kāi)發(fā)者在開(kāi)發(fā)過(guò)程中提供了一個(gè)廣泛的選擇,以充分利用OracleServer的所有功能。Pre*compiler是預(yù)編譯器,提供了豐富的第三代語(yǔ)言接口工具。決策支持工具:Experss業(yè)務(wù)人員利用業(yè)務(wù)系統(tǒng)的數(shù)據(jù)庫(kù)進(jìn)行業(yè)務(wù)處理(OLTP),針對(duì)管理人員則可以利用管理系統(tǒng)的數(shù)據(jù)庫(kù)進(jìn)行管理信息的處理(OLAP)。Oracle為管理人員提供了管理決策支持工具OracleExpress,利用它可以對(duì)數(shù)據(jù)進(jìn)行綜合、分析、快速獲取信息;為日常管理、決策提供科學(xué)依據(jù)。OracleOLAP產(chǎn)品包括:多維數(shù)據(jù)庫(kù)服務(wù)器:ExpressServer開(kāi)發(fā)應(yīng)用工具:ExpressObjects、ExpressAnalyzer、Discover一個(gè)物品可以包含很多特征,如價(jià)格、生產(chǎn)日期等,每一個(gè)特征都可以認(rèn)為是數(shù)據(jù)庫(kù)中的一維,多維數(shù)據(jù)庫(kù)服務(wù)器ExpressServer為管理人員提供了一個(gè)從多維數(shù)角度來(lái)考慮問(wèn)題的工具。ExpressAnalyzer是面向最終用戶(分析人員,管理人員)的數(shù)據(jù)分析工具。ExpressObjects是面向開(kāi)發(fā)人員的OLAP應(yīng)用開(kāi)發(fā)工具.Discover是針對(duì)市場(chǎng)進(jìn)行分析和預(yù)測(cè)的工具。通過(guò)OracleDiscoverer和OracleExpress,Oracle是可以為廠商提供低成本解決方案,為各種復(fù)雜問(wèn)題提供快速解答,滿足接連不斷的商業(yè)智能系統(tǒng)需求。應(yīng)用產(chǎn)品OracleFinancial財(cái)務(wù)軟件OracleManufacturing制造業(yè)軟件OracleHumanResources人力資源軟件OracleApplicationsTM(應(yīng)用產(chǎn)品)所提供的財(cái)務(wù)管理、供應(yīng)鏈管理、生產(chǎn)制造、項(xiàng)目管理系統(tǒng)、人力資源及市場(chǎng)管理等30多個(gè)集成的客戶機(jī)/服務(wù)器軟件模塊可以使企業(yè)實(shí)現(xiàn)自動(dòng)化。1.4Oracle數(shù)據(jù)庫(kù)產(chǎn)品的標(biāo)準(zhǔn)報(bào)價(jià)Oracle標(biāo)準(zhǔn)報(bào)價(jià)(單位:USD)ProductversionUsernumberUsertypeLicenseunitpriceSupportunitpriceTotalamountOracleserver81Con22454502695Expressserver1Con599510807075Videoserver1Con44590535Webapplicationserver1Con29560355SQL*Plus1D7453001045Programmer/20001racledeveloper1D8995180010795Oracledesigner1D8995240011395Oraclediscoverenduser1raclediscoveradmed1N29957503745Expressanalyzer1N8951451040Expressobject1Con745150895Usertype:con=concurrentdevice,N=nameduser,D=developer1.5用戶基本配置標(biāo)準(zhǔn)報(bào)價(jià)用戶基本配置標(biāo)準(zhǔn)報(bào)價(jià)(單位:USD)ProductUsernumberUsertypeLicenseunitpriceLicenseamountSupportunitpriceSupportamountTotalamountOracleserverV8128Con2,245287,36045057,600344,960SQL*Plus2D7451,4903006002,090Programmer/20002D1,4952,9904509003,890Oracledeveloper1D8,9958,9951,8001,80010,795Oracletraining3,910Total365,645注:這里以128用戶為例,實(shí)際可根據(jù)用戶情況而定.二.Oracle數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)Oracle數(shù)據(jù)庫(kù)體系由以下幾方面構(gòu)成:Oracle數(shù)據(jù)庫(kù)的物理文件Oracle數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)Oracle數(shù)據(jù)庫(kù)的實(shí)例Oracle數(shù)據(jù)庫(kù)的用戶及權(quán)限管理Oracle數(shù)據(jù)庫(kù)的系統(tǒng)表Oracle數(shù)據(jù)庫(kù)對(duì)象2.1Oracle數(shù)據(jù)庫(kù)的物理文件每個(gè)Oracle數(shù)據(jù)庫(kù)由多個(gè)物理文件組成:一個(gè)或多個(gè)datafile,兩個(gè)或多個(gè)redlog,一個(gè)或多個(gè)controlfile。它們對(duì)應(yīng)于系統(tǒng)的實(shí)際存儲(chǔ)設(shè)備。數(shù)據(jù)文件(Datafile)數(shù)據(jù)文件是物理上實(shí)際的數(shù)據(jù)存儲(chǔ)設(shè)備??梢允且粋€(gè)文件,也可以是一個(gè)原始設(shè)備。Oracle的表及其它對(duì)象的數(shù)據(jù)均放在數(shù)據(jù)文件中。Redo日志文件(RedoLogfile)Oracle保存所有事務(wù)的日志,這些日志被寫(xiě)入聯(lián)機(jī)日志文件中(onlineredologfile)。在數(shù)據(jù)庫(kù)被破壞時(shí),這些日志文件能夠以正確的順序來(lái)恢復(fù)數(shù)據(jù)事務(wù)。每個(gè)Oracle必須有兩個(gè)以上的日志文件,系統(tǒng)以循環(huán)方式寫(xiě)入日志文件,當(dāng)一個(gè)日志文件寫(xiě)滿時(shí),寫(xiě)第二個(gè)日志文件,依次類(lèi)推,當(dāng)所有日志文件寫(xiě)滿時(shí),又回到第一個(gè)日志文件??刂莆募–ontrolFile)數(shù)據(jù)庫(kù)控制文件用于記錄數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)。它記錄數(shù)據(jù)庫(kù)中所有文件的控制信息,用于維護(hù)內(nèi)部一致性和操作恢復(fù)的引導(dǎo)。在數(shù)據(jù)庫(kù)啟動(dòng)時(shí),使用控制文件來(lái)找到數(shù)據(jù)庫(kù)和redo日志文件的名字和位置;如果控制文件不對(duì),該系統(tǒng)就不能啟動(dòng)。數(shù)據(jù)庫(kù)管理員應(yīng)該保留多個(gè)控制文件的備份。歸檔日志文件(archivelogfile)數(shù)據(jù)庫(kù)可以設(shè)置成archivelog模式,這就是說(shuō)當(dāng)redo日志文件寫(xiě)滿后,它將被拷貝到一個(gè)轉(zhuǎn)儲(chǔ)目標(biāo)。歸檔日志文件的名字和位置可以由數(shù)據(jù)庫(kù)管理員指定。歸檔日志文件完全是redo日志文件的備份。只有在需要恢復(fù)的時(shí)候才會(huì)用到歸檔日志文件。跟蹤文件和修改日志(tracefileandalertlog)在數(shù)據(jù)庫(kù)運(yùn)行的每一個(gè)后臺(tái)進(jìn)程都有一個(gè)跟蹤文件與之相連,跟蹤文件記載后臺(tái)進(jìn)程遇到的重大事件的信息。除了跟蹤進(jìn)程之外,Oracle還有一個(gè)修改日志,它記錄了數(shù)據(jù)庫(kù)運(yùn)行中主要事件的命令及結(jié)果。修改日志是數(shù)據(jù)庫(kù)工作管理器的實(shí)信息源,當(dāng)需要尋找主要失敗的原因時(shí),跟蹤文件就非常有用。跟蹤文件和修改日志的位置在configsid.ora文件的BACKGROUND_DUMP_DEST參數(shù)指定的目錄中。2.2Oracle數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)(LogicalDatabaseStructure)數(shù)據(jù)文件只是存放數(shù)據(jù)的物理空間,一個(gè)表的數(shù)據(jù)到底存放在哪個(gè)數(shù)據(jù)文件中是不確定的。Oracle利用邏輯的存儲(chǔ)結(jié)構(gòu)對(duì)硬盤(pán)空間進(jìn)行管理,從而劃分?jǐn)?shù)據(jù)的歸屬。表空間(tablespaces)是用來(lái)存放數(shù)據(jù)的最大邏輯單元,在表空間內(nèi)部由多個(gè)更小的邏輯單元層組成。從大到小依次是:表空間->段->區(qū)->塊。表空間(Tablespace)表空間是oracle數(shù)據(jù)庫(kù)主要的邏輯存儲(chǔ)結(jié)構(gòu),每個(gè)表空間與一個(gè)或多個(gè)數(shù)據(jù)文件相聯(lián)系。表空間和數(shù)據(jù)庫(kù)都是邏輯上的概念。在磁盤(pán)上真正存在的只是數(shù)據(jù)文件。所有的數(shù)據(jù)文件組合起來(lái),邏輯上我們叫它一個(gè)數(shù)據(jù)庫(kù)。這個(gè)數(shù)據(jù)庫(kù)為了使用方便、易于管理,由從邏輯上劃分為多個(gè)表空間。所以說(shuō),數(shù)據(jù)庫(kù)由一個(gè)或多個(gè)表空間組成;表空間由一個(gè)或多個(gè)數(shù)據(jù)文件組成。表空間和表空間之間是完全獨(dú)立的,一個(gè)數(shù)據(jù)文件只能從屬于一個(gè)表空間。一張表可能跨越多個(gè)數(shù)據(jù)文件存放,但不能跨表空間存放。任何一個(gè)oracle數(shù)據(jù)庫(kù)系統(tǒng)都包含兩類(lèi)表空間:系統(tǒng)表空間(systemtablespace),這是數(shù)據(jù)庫(kù)創(chuàng)建時(shí)自動(dòng)生成的表空間,它是oracle系統(tǒng)必不可少的。應(yīng)用表空間,這是為了某個(gè)應(yīng)用而單獨(dú)建立的表空間。一個(gè)數(shù)據(jù)庫(kù)只需要一個(gè)系統(tǒng)表空間,此外為了提高安全性,建立附加的一個(gè)或多個(gè)應(yīng)用表空間來(lái)把系統(tǒng)數(shù)據(jù)和用戶數(shù)據(jù)分開(kāi)。表空間有兩種狀態(tài):聯(lián)機(jī)(online)和脫機(jī)(offline)。當(dāng)表空間處于聯(lián)機(jī)狀態(tài)時(shí),表空間中的所有數(shù)據(jù)可以為用戶使用。當(dāng)DBA作某種表空間維護(hù)工作時(shí),或執(zhí)行脫機(jī)的表空間備份時(shí),為了不讓其它用戶訪問(wèn)其中的數(shù)據(jù),要使表空間處于脫機(jī)狀態(tài),這時(shí)其中的數(shù)據(jù)不能被用戶訪問(wèn)。塊(Blocks)數(shù)據(jù)塊(datablocks)是Oracle數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)存儲(chǔ)時(shí)最小I/O單元。一個(gè)數(shù)據(jù)塊對(duì)應(yīng)硬盤(pán)上一定字節(jié)的數(shù)據(jù)空間。它的大小依數(shù)據(jù)庫(kù)所在的操作系統(tǒng)平臺(tái)而異。典型值是2K。數(shù)據(jù)塊是用來(lái)存放數(shù)據(jù)的。有兩個(gè)空間管理參數(shù)PCTFREE、PCTUSED允許開(kāi)發(fā)人員控制數(shù)據(jù)塊的分配。PCTFREE:用來(lái)設(shè)置數(shù)據(jù)塊中保持空閑的百分比,缺省值為20%。即向數(shù)據(jù)塊中插入數(shù)據(jù)時(shí),只能使用80%的空間。PCTUSED:當(dāng)數(shù)據(jù)塊已使用空間高于PCTUSED值時(shí),就不允許再插入數(shù)據(jù)了。直到刪除等操作后,數(shù)據(jù)塊已使用空間低于PCTUSED值時(shí),數(shù)據(jù)塊才被認(rèn)為是可以重新插入數(shù)據(jù)了。其缺省值是40%。這兩個(gè)參數(shù)對(duì)系統(tǒng)性能影響很大:常查詢(select)的表:使PCTFREE小一些,以減少存儲(chǔ)空間的浪費(fèi)。常插入(insert)的表:使PCTUSED大一些。常更新(update)的表:使PCTFREE大一些,以給更新操作留出更大空間,減少行移動(dòng)。區(qū)(Extents)一個(gè)區(qū)域(Extent)是一定數(shù)量的連續(xù)數(shù)據(jù)塊(datablocks)??梢岳么鎯?chǔ)參數(shù)來(lái)控制區(qū)的分配。例如:createtable命令中指定storage存儲(chǔ)參數(shù),可以定義為這個(gè)表所分配的區(qū)的大?。篿nitial:分配給表的第一個(gè)區(qū)的字節(jié)數(shù),缺省值為5個(gè)數(shù)據(jù)塊。Next:分配給表的第二個(gè)區(qū)的字節(jié)數(shù),缺省值為5個(gè)數(shù)據(jù)塊。Pctincrease:下一個(gè)要分配的區(qū)比上一個(gè)區(qū)增大的百分比,缺省值為50%。當(dāng)初始創(chuàng)建一個(gè)段時(shí),分配由initial指定的第一個(gè)區(qū);以后當(dāng)區(qū)空間不夠用時(shí),系統(tǒng)按next指定大小分配第二個(gè)區(qū);以后當(dāng)空間還不夠時(shí),按上一個(gè)區(qū)的大小再加上比上一個(gè)區(qū)增加的Pctincrease指定的比率分配下一個(gè)區(qū)。段(Segments)oracle數(shù)據(jù)庫(kù)中包含四種類(lèi)型的段:數(shù)據(jù)段,索引段,回退段,臨時(shí)段。段(segment)是區(qū)(Extents)的集合,每個(gè)段包含著表空間中某種特定數(shù)據(jù)類(lèi)型的所有數(shù)據(jù)。數(shù)據(jù)段(DataSegment)所有的表(Table)的數(shù)據(jù)都存儲(chǔ)在不同的數(shù)據(jù)段(DataSegments)的區(qū)域(Extents)中。索引段(IndexSegment)每個(gè)索引(index)都有一個(gè)索引段(indexsegment)用來(lái)存儲(chǔ)它的所有數(shù)據(jù)。回滾段(RollbackSegment)系統(tǒng)建立一個(gè)或多個(gè)回退段(RollbackSegment)用來(lái)臨時(shí)存儲(chǔ)未完成的事務(wù),其作用在于:保證讀一致性、在數(shù)據(jù)恢復(fù)時(shí)回退未提交的處理。臨時(shí)段(TemporarySegment)當(dāng)執(zhí)行查詢操作時(shí),Oracle往往需要臨時(shí)的空間存放語(yǔ)句執(zhí)行中的數(shù)據(jù)。Oracle自動(dòng)分配一段磁盤(pán)空間稱(chēng)作臨時(shí)段(TemporarySegment)。如果系統(tǒng)可以在內(nèi)存中完成這項(xiàng)操作,則不需要臨時(shí)申請(qǐng)空間。2.3Oracle數(shù)據(jù)庫(kù)實(shí)例Oracle數(shù)據(jù)庫(kù)啟動(dòng)時(shí),系統(tǒng)申請(qǐng)一塊內(nèi)存(SGA)并啟動(dòng)數(shù)個(gè)后臺(tái)進(jìn)程。SGA是一段存儲(chǔ)用戶共享數(shù)據(jù)的內(nèi)存。數(shù)據(jù)庫(kù)的后臺(tái)進(jìn)程和內(nèi)部存儲(chǔ)結(jié)構(gòu)合稱(chēng)一個(gè)實(shí)例(Oracleinstance)。2.3.1內(nèi)部存儲(chǔ)結(jié)構(gòu)Oracle的共享內(nèi)存就是Oracle的SGA區(qū)—系統(tǒng)全局區(qū)(systemglobalarea),SGA存放數(shù)據(jù)庫(kù)中所有用戶的共同數(shù)據(jù)和信息,分配給SGA的內(nèi)存越大,絕大多數(shù)信息均可以從內(nèi)存中得到,而不必訪問(wèn)磁盤(pán),數(shù)據(jù)庫(kù)就運(yùn)行的越快。系統(tǒng)所需的內(nèi)存總量大約為用于Oracle系統(tǒng)的三倍,三倍是最小值,如果存在大量并行用戶(超過(guò)60個(gè)),則這個(gè)數(shù)量將會(huì)大些.SGA由三部分組成:數(shù)據(jù)庫(kù)緩沖區(qū)(databasebufferpool)、共享緩沖池(sharedpoolarea)和redo緩沖區(qū)(redobuffer)。數(shù)據(jù)庫(kù)緩沖區(qū)數(shù)據(jù)庫(kù)緩沖區(qū)由許多與數(shù)據(jù)庫(kù)塊大小相同的內(nèi)存塊組成。當(dāng)用戶訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù)時(shí),先到數(shù)據(jù)庫(kù)緩沖區(qū)中查看是否已經(jīng)存在于內(nèi)存中,若存在則直接從內(nèi)存中讀取,若不在,才激活數(shù)據(jù)庫(kù)讀寫(xiě)進(jìn)程(DBWR)去磁盤(pán)文件中尋找,找到后先把數(shù)據(jù)放進(jìn)數(shù)據(jù)庫(kù)緩沖區(qū)中,再傳遞給用戶。用戶對(duì)數(shù)據(jù)庫(kù)的操作并不是直接寫(xiě)入磁盤(pán)文件,而是先寫(xiě)入數(shù)據(jù)庫(kù)緩沖,等滿足一定的條件后(如緩沖區(qū)裝滿、檢查點(diǎn)發(fā)生),才將自上次寫(xiě)磁盤(pán)文件以來(lái)的所有操作保存在磁盤(pán)文件中。初始化參數(shù)DB_BLOCK_BUFFER控制數(shù)據(jù)庫(kù)緩沖區(qū)的大小。共享緩沖區(qū)SGA中的共享緩沖區(qū)包含兩個(gè)子區(qū):庫(kù)高速緩存(librarycache)、字典高速緩存(dictionarycache)。初始化參數(shù)SHARED_POOL_SIZE控制數(shù)據(jù)庫(kù)緩沖區(qū)的大小。1.庫(kù)高速緩存一條SQL語(yǔ)句的執(zhí)行要經(jīng)過(guò)分析、編譯和運(yùn)行三個(gè)階段,其中分析和編譯要占用70%的時(shí)間。SQL語(yǔ)句被編譯后存儲(chǔ)在庫(kù)高速緩存的共享SQL區(qū)中,存儲(chǔ)在共享SQL區(qū)中的所有SQL語(yǔ)句下一次不經(jīng)分析和編譯就可以直接執(zhí)行。一條SQL語(yǔ)句在編譯之前Oracle會(huì)檢查語(yǔ)句是否已經(jīng)被編譯后存儲(chǔ)在共享SQL區(qū),如果已經(jīng)存在,Oracle會(huì)重用該語(yǔ)句的可執(zhí)行版本,從而縮短了SQL語(yǔ)句占用的分析和編譯時(shí)間,能夠提高性能。調(diào)整SGA的一個(gè)重要問(wèn)題就是確保庫(kù)高速緩存足夠大,以使Oracle能在共享池中保持足夠多的SQL語(yǔ)句。2.?dāng)?shù)據(jù)字典緩存Oracle數(shù)據(jù)字典包含了數(shù)據(jù)庫(kù)中所有表、視圖和參考信息,以及數(shù)據(jù)庫(kù)的結(jié)構(gòu)、用戶定義信息等。執(zhí)行一條SQL語(yǔ)句時(shí),在語(yǔ)句檢查階段要使用數(shù)據(jù)字典進(jìn)行語(yǔ)法和對(duì)象名的有效性檢查。當(dāng)一個(gè)實(shí)例第一次啟動(dòng)時(shí),系統(tǒng)表中的數(shù)據(jù)字典信息就會(huì)從數(shù)據(jù)庫(kù)文件中被讀入到共享緩沖區(qū)的數(shù)據(jù)字典緩存中,如果再次需要執(zhí)行相同的對(duì)象名,就不需要重新訪問(wèn)系統(tǒng)表。REDO緩沖區(qū)REDO緩沖區(qū)是所有數(shù)據(jù)信息在寫(xiě)入REDO日志文件前,在內(nèi)存中的存放區(qū)域。REDO日志緩沖區(qū)中包含了對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行操作時(shí),變化前的數(shù)據(jù)和變化后的數(shù)據(jù),此時(shí)這些數(shù)據(jù)還未寫(xiě)入REDO日志文件。在修改被提交、緩沖區(qū)滿、檢查點(diǎn)到達(dá)時(shí),后臺(tái)進(jìn)程LGWR被激活,將緩沖區(qū)中的內(nèi)容寫(xiě)入REDO日志文件中。初始化參數(shù)LOG_BUFFER控制數(shù)據(jù)庫(kù)緩沖區(qū)的大小。2.3.2系統(tǒng)進(jìn)程O(píng)racle系統(tǒng)進(jìn)程也叫做Oracle后臺(tái)進(jìn)程。有四個(gè)系統(tǒng)進(jìn)程必須永遠(yuǎn)運(yùn)行著,否則數(shù)據(jù)庫(kù)是不能使用的。其他系統(tǒng)進(jìn)程是任選的。這些進(jìn)程在實(shí)例第一次啟動(dòng)時(shí)進(jìn)行初始化,并且在實(shí)例關(guān)閉時(shí)停止運(yùn)行。四個(gè)必須的系統(tǒng)進(jìn)程數(shù)據(jù)庫(kù)寫(xiě)入器日志寫(xiě)入器系統(tǒng)監(jiān)控器進(jìn)程監(jiān)控器數(shù)據(jù)庫(kù)寫(xiě)入器(DBWR)數(shù)據(jù)庫(kù)寫(xiě)入器將數(shù)據(jù)庫(kù)緩沖池中的Oracle塊寫(xiě)回到數(shù)據(jù)庫(kù)存文件中。只有那些被修改的Oracle塊才需要被寫(xiě)回?cái)?shù)據(jù)庫(kù)。在很多時(shí)候都需要寫(xiě)出Oracle塊,例如,在實(shí)例關(guān)閉時(shí);在數(shù)據(jù)庫(kù)緩沖池沒(méi)有空閑塊來(lái)裝入新Oracle塊時(shí);在發(fā)生檢查點(diǎn)操作時(shí),甚至當(dāng)系統(tǒng)空閑時(shí)也會(huì)定期向外寫(xiě)出Oracle塊。日志寫(xiě)入器(LGWR)日志寫(xiě)入器后臺(tái)進(jìn)程將redo日志緩沖區(qū)的修改寫(xiě)入redo日志文件。聯(lián)機(jī)的redo日志文件是輪流使用的——當(dāng)一個(gè)被寫(xiě)滿時(shí),會(huì)自動(dòng)轉(zhuǎn)入下一個(gè)。當(dāng)redo日志緩沖區(qū)寫(xiě)滿時(shí),如果需要新的空閑空間,redo日志寫(xiě)入器就將該緩沖區(qū)的內(nèi)容寫(xiě)出。當(dāng)事備提交改變或回滾時(shí),它也會(huì)將redo日志緩沖區(qū)中的相關(guān)表項(xiàng)寫(xiě)出。系統(tǒng)監(jiān)控器(SMON)當(dāng)實(shí)例或機(jī)器出現(xiàn)故障后,系統(tǒng)監(jiān)控器進(jìn)程自動(dòng)進(jìn)行故障恢復(fù)。在實(shí)例故障發(fā)生時(shí),它自動(dòng)回滾掛起任何修改,并且保證已經(jīng)接受提交成功消息做出的修改,即使當(dāng)實(shí)例故障發(fā)生時(shí),該修改尚在數(shù)據(jù)庫(kù)緩沖池中還沒(méi)有寫(xiě)到數(shù)據(jù)庫(kù)文件中。另外,系統(tǒng)監(jiān)控進(jìn)程還會(huì)刪除那些為排序操作所分配的臨時(shí)段,額外的排序空間在很多情況下都是需要的,例如,當(dāng)對(duì)大量數(shù)據(jù)進(jìn)行排序時(shí)。系統(tǒng)監(jiān)控進(jìn)程也用來(lái)壓縮數(shù)據(jù)文件中的空閑空間,這樣很多數(shù)據(jù)字典表中的表項(xiàng)數(shù)就會(huì)大大減少,如dba_free_space項(xiàng)。進(jìn)程監(jiān)控器(PMON)當(dāng)用戶進(jìn)程失敗后,也許是因?yàn)橛脩暨M(jìn)程被殺死,進(jìn)程監(jiān)控器后臺(tái)進(jìn)程會(huì)進(jìn)行清理工作,它回滾用戶進(jìn)程還沒(méi)有做完的事務(wù),釋放用戶進(jìn)程失敗前所申請(qǐng)的鎖和其他系統(tǒng)資源。這是當(dāng)PMON進(jìn)程定期被喚醒時(shí)自動(dòng)進(jìn)行的。其他系統(tǒng)進(jìn)程除了四個(gè)必須的Oracle后臺(tái)進(jìn)程以外,還有許多其他的后臺(tái)進(jìn)程,如果使用Oracle數(shù)據(jù)庫(kù)的其他功能時(shí),這些進(jìn)程就會(huì)被初始化。轉(zhuǎn)儲(chǔ)器(ARCH)轉(zhuǎn)儲(chǔ)器后臺(tái)進(jìn)程自動(dòng)地將聯(lián)機(jī)redo日志文件拷貝到脫機(jī)日志文件中,如果數(shù)據(jù)庫(kù)管理員將數(shù)據(jù)庫(kù)設(shè)置為轉(zhuǎn)儲(chǔ)日志模式的話。只要當(dāng)redo日志文件寫(xiě)滿后切換到另一個(gè)日志文件時(shí),或者當(dāng)數(shù)據(jù)庫(kù)管理員人工地切換redo日志文件時(shí),就會(huì)進(jìn)行上述拷貝操作?;謴?fù)器(RECO)恢復(fù)器后臺(tái)進(jìn)程自動(dòng)進(jìn)行同步失敗的分布式事務(wù)的恢復(fù)過(guò)程。有些事務(wù)同時(shí)修改多個(gè)數(shù)據(jù)庫(kù),如果該事務(wù)失敗了,那么它在所有數(shù)據(jù)庫(kù)上所做的修改(比如提交)將由此進(jìn)程自動(dòng)處理。檢查點(diǎn)(CKPT)如果設(shè)置了,檢查點(diǎn)進(jìn)程會(huì)用當(dāng)前檢查點(diǎn)的信息更新數(shù)據(jù)庫(kù)文件的文件頭。通常這項(xiàng)工作是由LGWR進(jìn)程完成的,但當(dāng)檢查點(diǎn)有大量的數(shù)據(jù)庫(kù)文件需要LGWR進(jìn)程處理,CKPT進(jìn)程可以減輕它的負(fù)擔(dān)。下面通過(guò)一個(gè)事例來(lái)說(shuō)明實(shí)例的具體運(yùn)作過(guò)程:一個(gè)客戶從銀行柜員機(jī)中查詢存款:selectmoneyfrombankwherename=’cvicse’看到還有1000元錢(qián)后,提取了500元。具體運(yùn)作如下:客戶進(jìn)程通過(guò)SGA把該語(yǔ)句傳給服務(wù)器進(jìn)程。服務(wù)器進(jìn)程檢查共享池中存在的可執(zhí)行版本。如果找到轉(zhuǎn)到4執(zhí)行,否則執(zhí)行3。處理SQL語(yǔ)句,將其可執(zhí)行版本送入共享池。執(zhí)行此SQL語(yǔ)句。該語(yǔ)句處理的數(shù)據(jù)是否在數(shù)據(jù)高速緩存區(qū)?是,轉(zhuǎn)到7,不是轉(zhuǎn)到6。從數(shù)據(jù)庫(kù)文件中把數(shù)據(jù)讀入數(shù)據(jù)高速緩存區(qū)中。在回滾段中記錄原來(lái)數(shù)據(jù)值(1000)。在redolog中生成該事務(wù)的一個(gè)拷貝。將數(shù)據(jù)高速緩存區(qū)中的余額數(shù)據(jù)改成500。10.銀行柜員機(jī)SGA發(fā)出所有工作完成的信號(hào)。11,Redolog中記錄事務(wù)已完成。12.清除回滾段中的恢復(fù)(undo)信息。13.顧客取錢(qián)。2.4Oracle數(shù)據(jù)庫(kù)的用戶及權(quán)限管理2.4.1Oracle數(shù)據(jù)庫(kù)的用戶Oracle采用用戶(User)的管理機(jī)制,每個(gè)用戶設(shè)置有口令,并賦予不同的權(quán)限。對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)都要通過(guò)用戶來(lái)進(jìn)行,使用用戶名向數(shù)據(jù)庫(kù)聯(lián)結(jié)時(shí)必須提供其響應(yīng)口令。一個(gè)用戶只能使用數(shù)據(jù)庫(kù)管理員授予其系統(tǒng)權(quán)限的那些命令。系統(tǒng)中缺省設(shè)置的用戶為SYS、SYSTEM用戶,SYS用戶對(duì)核心數(shù)據(jù)字典具有查詢的權(quán)限,SYSTEM用戶為系統(tǒng)管理員用戶。2.4.2Oracle的權(quán)限管理Oracle的安全機(jī)制是由系統(tǒng)權(quán)限、實(shí)體權(quán)限和角色權(quán)限這三級(jí)體系結(jié)構(gòu)組成的。系統(tǒng)權(quán)限是指對(duì)數(shù)據(jù)庫(kù)系統(tǒng)及系統(tǒng)結(jié)構(gòu)的操作權(quán),Oracle提供了80多種系統(tǒng)權(quán)限,如創(chuàng)建/刪除用戶、表、同義詞、索引等。實(shí)體權(quán)限是指用戶對(duì)數(shù)據(jù)的操作權(quán),如查詢、更新、插入、刪除等等。角色權(quán)限是把幾個(gè)相關(guān)的權(quán)限組合成一個(gè)角色,以簡(jiǎn)化權(quán)限授予工作。角色(role)是某些用戶權(quán)限的集合。ORACLE定義了8個(gè)系統(tǒng)級(jí)的角色:CONNECT、RESOURCE、DBA、IMP_FULL_DATABASE、EXP_FULL_DATABASE、SELECT_CATALOG_ROLE、EXECUTE_CATALOG_ROLE和DELETE_CATALOG_ROLE。其中DBA角色包括了所有的系統(tǒng)級(jí)權(quán)限。這樣的安全控制體系使整個(gè)系統(tǒng)的管理人員及程序開(kāi)發(fā)人員能?chē)?yán)格控制命令的運(yùn)行、數(shù)據(jù)的操作及應(yīng)用程序的執(zhí)行。2.5Oracle數(shù)據(jù)庫(kù)的系統(tǒng)表Oracle數(shù)據(jù)庫(kù)的一個(gè)重要部分是它的系統(tǒng)表。在數(shù)據(jù)庫(kù)創(chuàng)建時(shí)產(chǎn)生這些系統(tǒng)表,系統(tǒng)表總是屬于sys用戶的,并且所有用戶對(duì)某些系統(tǒng)表都有一定的權(quán)限,但用戶是不能手工修改這些系統(tǒng)表的。系統(tǒng)表也被稱(chēng)做Oracle的數(shù)據(jù)字典(DataDictionary)。數(shù)據(jù)字典是一系列只讀的表(tables),用來(lái)描述數(shù)據(jù)庫(kù)中實(shí)體的信息。當(dāng)其中一個(gè)實(shí)體被建立、修改或取消時(shí),數(shù)據(jù)庫(kù)將自動(dòng)修改數(shù)據(jù)字典。數(shù)據(jù)字典可以保存的信息如下:Oracle用戶的用戶名。每個(gè)用戶的權(quán)限(privilege)和角色(role)。各種表、視圖、索引等的名字系統(tǒng)的規(guī)則信息。各個(gè)字段的缺省值。分配的內(nèi)存空間量和當(dāng)前使用量。Oracle數(shù)據(jù)庫(kù)中的數(shù)據(jù)字典主要有以下四類(lèi):ALL_視圖以ALL_開(kāi)頭的視圖包含所有用戶擁有的對(duì)象和對(duì)象的信息.所有合法注冊(cè)的用戶均可以使用該視圖.DBA_視圖以DBA_開(kāi)頭的視圖一般只有Oracle數(shù)據(jù)庫(kù)管理員可以訪問(wèn),它顯示數(shù)據(jù)庫(kù)中所有對(duì)象的信息.USER_視圖以USER_開(kāi)頭的視圖包含當(dāng)前Oracle用戶所擁有的對(duì)象信息.只有該用戶才可以訪問(wèn),其它用戶不能訪問(wèn).V$_視圖V$視圖并不是真正存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)表,它們是一些內(nèi)存表,由Oracle核心自動(dòng)收集系統(tǒng)各方面的運(yùn)行情況來(lái)動(dòng)態(tài)修改,顯示該實(shí)例運(yùn)行情況及性能,在進(jìn)行系統(tǒng)監(jiān)控和性能調(diào)整時(shí)極為重要.這些視圖可通過(guò)SYS及其他具有SELECTANYTABLE權(quán)限的用戶以SQL語(yǔ)句進(jìn)行查詢.2.6Oracle數(shù)據(jù)庫(kù)對(duì)象表表是最主要的數(shù)據(jù)庫(kù)對(duì)象,用來(lái)存放系統(tǒng)及用戶的數(shù)據(jù)。索引索引是用來(lái)加速數(shù)據(jù)訪問(wèn)速度的最重要的方法之一。通過(guò)關(guān)鍵字上的索引,可快速定位所選取的記錄行,否則程序就要做全表掃描,以定位記錄,這需要花費(fèi)更多的時(shí)間。視圖當(dāng)由于安全原因不能查看所有內(nèi)容,或者只關(guān)心表中的某一部分內(nèi)容時(shí),可以通過(guò)select語(yǔ)句選擇表中特定的列進(jìn)行查看。把這些select語(yǔ)句存儲(chǔ)在數(shù)據(jù)庫(kù)中,簡(jiǎn)化以后的再次查詢。這些固定的select語(yǔ)句稱(chēng)為視圖,因?yàn)樗鼈兙拖笠粋€(gè)窗口,執(zhí)行它們時(shí)就象從一個(gè)表中查詢數(shù)據(jù)一樣。同義詞同義詞就是數(shù)據(jù)庫(kù)對(duì)象的別名。用戶對(duì)同義詞的訪問(wèn),可以代替對(duì)表、視圖等的訪問(wèn)。當(dāng)表發(fā)生變化時(shí),通過(guò)同義詞這個(gè)中介的重新定義,可以避免修改大量的應(yīng)用程序。同義詞分為私有同義詞和公共同義詞兩類(lèi)。私有同義詞只有創(chuàng)建它的用戶才能使用;公共同義詞只有數(shù)據(jù)庫(kù)管理員才能創(chuàng)立,但任何用戶都能使用。三.數(shù)據(jù)庫(kù)安裝及配置————(在SCOOpenServer5.0.4上安裝Oracle7Server)3.1硬件環(huán)境的檢查及配置:內(nèi)存:至少32M硬盤(pán)空間:全部安裝至少700Mswap:2-3倍RAM3.2安裝前環(huán)境設(shè)置:1.調(diào)整UNIX系統(tǒng)核心參數(shù),重連內(nèi)核,重起REBOOT。SHMMAX20971520SHMMIN1 SHMMNI100SEMMNS60ULIMIT2113674SEMMNI202.未安裝開(kāi)發(fā)包時(shí)需要安裝SCOOpenServerDevelopmentSystem。3.建立dba用戶組和oracle用戶,oracle用戶的主目錄建在/oracle下。4.設(shè)置oracle的環(huán)境變量(/etc/profile):ORACLE_HOME=/oracle/app/oracle/product/7.3.2;exportORACLE_HOMEORACLE_SID=用戶自定義的名字;exportORACLE_SIDORACLE_TERM=ansi;exportORACLE_TERMTMPDIR=/oracle/tmp;exportTMPDIRLD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:$LD_LIBRARY_PATHexportLD_LIBRARY_PATHPATH=$ORACLE_HOME/bin:$PATH:.exportPATH5.安裝Oracle的Patch:OSPatch0ss459a.以root用戶注冊(cè),用doscp命令將軟盤(pán)上的文件拷貝到/tmp目錄:#doscpa:/oss459a.z/tmp#mvoss459a.zoss459a.Z#uncompressoss459a.Z#mvoss459aVOL.000.000進(jìn)入custom安裝Patch.選擇Software/InstallNew進(jìn)入“Begininstallation”菜單在“SelectMedia”菜單中選擇“MediaImage”在“EnterimageDirectory”菜單中輸入/tmp安裝OSS459Apatch完畢。6.插入光盤(pán),創(chuàng)建光盤(pán)連接:以root用戶注冊(cè)#mkdir/cdrom#chmod777/cdrom#mount-fRCKRDG/dev/cd0/cdrom創(chuàng)建目錄:/oracle/app/oracle/product/7.3.2/orainst及/oracle/tmp(屬oracle用戶、dba組)#cd/cdrom/orainst#./rootpre.sh(執(zhí)行rootpre.sh文件,自動(dòng)設(shè)置OS安裝環(huán)境選擇Y;Y;Y;user:oracle;group:dba;Y;N;)修改/oracle/app/oracle/product/7.3.2/orainst目錄下,iconfiles及orafiles兩文件所屬用戶及組分別為oracle及dba.3.3進(jìn)入交互式安裝過(guò)程:以oracle用戶注冊(cè)$cd/cdrom/orainst$./orainst(執(zhí)行orainst文件,進(jìn)行產(chǎn)品安裝和數(shù)據(jù)庫(kù)創(chuàng)建)安裝信息選項(xiàng)welcomeInstalleractivityInstallationoptionMountpoint/oracleHomelocatorCreateDBobjectsYesLoggingandstatusInformationofreadme.firstSkipreadmePre-installationOSpreparationYesInstallsourceORACLE_SIDNativelanguageRelinkallexecutablesPost-installtionOnlinehelploadInstallUNIX-specificdocumentatiousProductdocumentationlibraryCDinstallpathnamefor$ORACLE_DOCSoftwareassetmanagerSelectsoftware(注2)thenselectinstallOfficialhostnameEnteryourhostnameTCPserverceportEnterpasswdmanagerInformitionofULIMITDBAgroupdbaSelectOSOPERgroupCreatdbobjects:storagetypeCreateDBobjects(F/S)CreateDBobjects(F/S):mountpointlocatorEnterthreemountpointlocator(見(jiàn)注3)andselectYesCharactersetSelectothersthenenterZHS16CGB231280SYSTEMoracleuseridmanagerSYSoracleuseridmanagerDBApasswordTNSlistenerpasswordmanagerMTSconfiguredandSQL*NETCreateDBobjects(F/S)DBdefaults見(jiàn)注4HelpfacilityDemotables進(jìn)入安裝階段安裝完成exit注1:選項(xiàng)中空白處表示選擇缺省設(shè)置。注2:software必選項(xiàng):PL/SQLOracle7ServerPro*cTcp/IPSQL*PlusOracle*XAOracleInstallerOracleServerManager注3:三個(gè)掛接點(diǎn)分布在不同的硬盤(pán)上將增加數(shù)據(jù)庫(kù)的安全性。注4:選擇back,擴(kuò)大system表空間(system01.dbf)至200M,擴(kuò)大日志文件(redosid.log)至10M。注5:安裝中出現(xiàn)問(wèn)題時(shí)可查詢$ORACLE_HOME/orainst/install.log日志文件。注6:完成安裝后在/etc/profile文件中添加以下環(huán)境變量以支持中文輸入。NLS_LANG=AMERICAL_AMERICA.ZHS16CGB231280exportNLS_LANG下面為安裝選項(xiàng)說(shuō)明:安裝活動(dòng)選擇:選擇install,updateorde-installsoftware安裝選項(xiàng)選擇installnewproduct掛接點(diǎn)mount選擇/oracle主目錄位置homelocater缺省為/oracle/app/oracle/product/7.3.2創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象選擇Y將創(chuàng)建與要安裝的軟件有關(guān)的數(shù)據(jù)庫(kù)對(duì)象。Loggingandstatus選擇缺省日志文件列表ORACLE_SIDOracle選用系統(tǒng)標(biāo)識(shí)符(SID)來(lái)區(qū)分每一個(gè)數(shù)據(jù)庫(kù)。輸入一個(gè)能表示數(shù)據(jù)庫(kù)用途的名稱(chēng)。NLS供用戶選擇操作數(shù)據(jù)庫(kù)時(shí)所用語(yǔ)言。多數(shù)情況選擇缺省即可。Relinkallexecutables此屏為用戶說(shuō)明了連結(jié)選項(xiàng),linking是一個(gè)進(jìn)程,通過(guò)它把一系列計(jì)算機(jī)程序、庫(kù)和目標(biāo)代碼連結(jié)成可執(zhí)行文件。Rootinstallscriptfile此屏使用戶能在安裝過(guò)程完后指明一個(gè)要執(zhí)行的root描述文件。documentationoptionsOracle給出的三個(gè)文獻(xiàn)選擇對(duì)話框:OnlinehelploadInstall指明用戶是否安裝服務(wù)器電子幫助文件UNIX-specificdocumentatious指明安裝程序是否拷貝電子UNIX文獻(xiàn)ProductdocumentationlibraryCDinstall指明安裝過(guò)程中是否拷貝產(chǎn)品文獻(xiàn)Softwareassetmanager用來(lái)指明當(dāng)前安裝過(guò)程中要安裝的產(chǎn)品。此屏有4個(gè)基本區(qū)域:from區(qū),它列出可得到的產(chǎn)品。productinstall區(qū)列出已安裝的產(chǎn)品。底部有help、exit等按鈕。選定了要安裝和刪除的產(chǎn)品后要選擇的install/remove按鈕。完成安裝選擇了產(chǎn)品后開(kāi)始安裝,顯示一系列對(duì)話框。Hostname:進(jìn)行安裝工作的服務(wù)器的網(wǎng)絡(luò)名。TCPserviceport:TCP/IP的連結(jié)請(qǐng)求傳往操作系統(tǒng)的通道,推薦值為8888。CreateDBobjects(F/S)mountpointlocator:創(chuàng)建Oracle控制文件的三個(gè)掛接點(diǎn),應(yīng)合理的將三個(gè)控制文件分配在不同的硬盤(pán)上。建議掛在三個(gè)取名為/db1、/db2、/db3的目錄下。3.4完成全部安裝過(guò)程以Root注冊(cè)#cd$ORACLE_HOME/orainst#./root.sh(選擇缺省設(shè)置)#cd/#umount/cdrom3.5Oracle7serverPatch的安裝其安裝步驟與Oracle7server相同:依次執(zhí)行:二.7;三;四注:此盤(pán)只能對(duì)已裝載的software進(jìn)行升級(jí),不能創(chuàng)建原來(lái)未存在的software.3.6數(shù)據(jù)庫(kù)備份以tar命令將/oracle下所有文件備份到磁帶上。以tar命令將三個(gè)掛接點(diǎn)/db1、/db2、/db3上的所有文件備份到磁帶上。四.Oracle數(shù)據(jù)庫(kù)系統(tǒng)管理4.1數(shù)據(jù)庫(kù)管理員的權(quán)限和工具數(shù)據(jù)庫(kù)管理員的權(quán)限數(shù)據(jù)庫(kù)管理員(DBA)一般通過(guò)以下三個(gè)具有數(shù)據(jù)庫(kù)特權(quán)的用戶對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理:1)Internal用戶:負(fù)責(zé)數(shù)據(jù)庫(kù)的啟動(dòng)和關(guān)閉。只有internal用戶才有啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù)的權(quán)限。2)sys用戶:所有系統(tǒng)數(shù)據(jù)字典表和視圖都屬于sys用戶。這些表和視圖對(duì)于Oracle的正常運(yùn)行是至關(guān)重要的。3)system用戶:一些附加的數(shù)據(jù)字典和視圖以及一些Oracle工具用到的表和視圖屬于system用戶。System用戶有對(duì)數(shù)據(jù)庫(kù)的一切實(shí)體查看和更改的權(quán)限。數(shù)據(jù)庫(kù)管理工具1.Servermanager(服務(wù)器管理器)Servermanager是對(duì)數(shù)據(jù)庫(kù)管理的實(shí)用工具,可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行啟動(dòng)關(guān)閉監(jiān)控創(chuàng)建及修改各種實(shí)體。Servermanager有兩種運(yùn)行模式:命令行對(duì)話方式$svrmgrl全屏幕菜單方式$svrmgrm2.SQL*PlusSQL*PLUS也是ORACLE的一個(gè)重要管理工具,它可以用來(lái)執(zhí)行用戶的SQL語(yǔ)句,且用戶可利用SQL語(yǔ)句對(duì)系統(tǒng)進(jìn)行全面的管理和維護(hù)。用戶登錄數(shù)據(jù)庫(kù)的命令為sqlplus,格式為:sqlplus用戶名/口令例:sqlplusSCOTT/TIGER3.Export和import用來(lái)做數(shù)據(jù)備份和恢復(fù)的實(shí)用工具。4.SQL*loader用來(lái)將各種格式的文本信息裝入Oracle數(shù)據(jù)庫(kù)的工具。5.Enterprisemanager(企業(yè)管理器)企業(yè)管理器是一個(gè)具有圖形用戶界面,幫助管理整個(gè)Oracle環(huán)境的管理工具集,通過(guò)這個(gè)工具,可非常方便的管理數(shù)據(jù)庫(kù)的運(yùn)行情況。它由實(shí)例管理器、安全管理器、存儲(chǔ)管理器、SQL工作表單等圖形界面的管理工具組成。4.2Oracle數(shù)據(jù)庫(kù)的啟動(dòng)和關(guān)閉4.2.1Oracle數(shù)據(jù)庫(kù)的四種狀態(tài)Oracle數(shù)據(jù)庫(kù)具有下述四種狀態(tài),它在任何時(shí)候都處于四種狀態(tài)之一。SHUTDOWN狀態(tài):數(shù)據(jù)庫(kù)停機(jī)狀態(tài),所有文件都關(guān)閉,內(nèi)存中不存在SGA和后臺(tái)進(jìn)程,用戶無(wú)法使用。NOMOUNT狀態(tài):數(shù)據(jù)庫(kù)啟動(dòng),根據(jù)初始化文件建立實(shí)例,此時(shí)未裝載數(shù)據(jù)文件,無(wú)法使用數(shù)據(jù)庫(kù),此狀態(tài)只用于創(chuàng)建數(shù)據(jù)庫(kù)。MOUNT狀態(tài):實(shí)例啟動(dòng)并裝載數(shù)據(jù)庫(kù),但并不打開(kāi)數(shù)據(jù)文件。在此狀態(tài)下允許對(duì)數(shù)據(jù)庫(kù)做一些特殊的維護(hù),如:數(shù)據(jù)文件改名、數(shù)據(jù)庫(kù)恢復(fù)等。OPEN狀態(tài):正常Oracle實(shí)例啟動(dòng)之后的狀態(tài),此時(shí)所有文件打開(kāi),所有合法用戶可以登錄數(shù)據(jù)庫(kù)存取數(shù)據(jù)。Oracle數(shù)據(jù)庫(kù)的啟動(dòng)Oracle數(shù)據(jù)庫(kù)的啟動(dòng)步驟: 登陸ORACLE用戶 svrmgrl svrmgr>connectinternal svrmgr>startup svrmgr>exit 啟動(dòng)完成。說(shuō)明:Oracle數(shù)據(jù)庫(kù)必須聯(lián)結(jié)到internal用戶下才能啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù).ORACLE的啟動(dòng)(startup)時(shí)依次執(zhí)行以下步驟:ORACLE實(shí)例(INSTANCE)的啟動(dòng).ORACLE數(shù)據(jù)庫(kù)的掛載.ORACLE數(shù)據(jù)庫(kù)的打開(kāi)。在啟動(dòng)過(guò)程中,ORACLESERVER從初始化參數(shù)文件中讀取系統(tǒng)的配置參數(shù),按照此參數(shù)來(lái)啟動(dòng)ORACLESERVER。除了上例中的啟動(dòng)方式之外,數(shù)據(jù)庫(kù)還可以采用以下幾種方式啟動(dòng): startup數(shù)據(jù)庫(kù)名PFILE=參數(shù)文件名:使用具有特殊參數(shù)的初始化文件啟動(dòng).例:STARTUPOPENsalesPFILE=INITSALE.ORA startupNOMOUNT:只啟動(dòng)實(shí)例,不掛載數(shù)據(jù)庫(kù)空間。 startupMOUNT數(shù)據(jù)庫(kù)名:只啟動(dòng)實(shí)例,掛載數(shù)據(jù)庫(kù)空間,不打開(kāi)數(shù)據(jù)庫(kù)。 startup OPEN數(shù)據(jù)庫(kù)名:?jiǎn)?dòng)實(shí)例,掛載數(shù)據(jù)庫(kù)空間,打開(kāi)數(shù)據(jù)庫(kù)。缺省設(shè)置。startupRESTRICT:有限制啟動(dòng)數(shù)據(jù)庫(kù),僅供有CREATESESSION和RESTRICTEDSESSION系統(tǒng)權(quán)限的系統(tǒng)管理員在數(shù)據(jù)庫(kù)維護(hù)時(shí)使用。startupFORCE:不論當(dāng)前處于什麼狀態(tài),強(qiáng)制啟動(dòng)數(shù)據(jù)庫(kù)。startupRECOVER:如果知道數(shù)據(jù)庫(kù)需要進(jìn)行媒體恢復(fù),以此種方式啟動(dòng)數(shù)據(jù)庫(kù)可以使數(shù)據(jù)庫(kù)進(jìn)行自動(dòng)恢復(fù)。ALTERDATABASEMOUNT:掛載一個(gè)數(shù)據(jù)庫(kù)ALTERDATABASEOPEN:打開(kāi)一個(gè)數(shù)據(jù)庫(kù)4.2.3Oracle數(shù)據(jù)庫(kù)的關(guān)閉 Oracle數(shù)據(jù)庫(kù)的啟動(dòng)的關(guān)閉步驟:登陸DBA用戶組的用戶 $svrmgrl svrmgr>connectinternal svrmgr>shutdown svrmgr>exit 關(guān)閉完成。除此之外,數(shù)據(jù)庫(kù)還可以使用以下命令關(guān)閉: SHUTDOWNNORMAL:為缺省設(shè)置方式,是數(shù)據(jù)庫(kù)正常關(guān)閉操作命令。在發(fā)出此命令后不允許新的聯(lián)結(jié),且當(dāng)前所有聯(lián)結(jié)應(yīng)立即退出.SHUTDOWNIMMEDIATE:立即關(guān)閉數(shù)據(jù)庫(kù)命令,當(dāng)前所有SQL語(yǔ)句立即停止,任何未提交的事務(wù)被回退(rollback),Oracle不等待當(dāng)前所有聯(lián)結(jié)的用戶退出,回退所有回退的事務(wù)并切斷用戶聯(lián)結(jié),在下次重啟實(shí)例時(shí)自動(dòng)進(jìn)行恢復(fù)。它可能終止一個(gè)長(zhǎng)時(shí)間進(jìn)行的過(guò)程。因此DBA在使用前應(yīng)確保沒(méi)有用戶向數(shù)據(jù)庫(kù)提交大型事務(wù)。 SHUTDOWNABORT:強(qiáng)制關(guān)閉數(shù)據(jù)庫(kù)命令,這條語(yǔ)句迫不得已時(shí)才采用。這種狀態(tài)不回滾所有的未提交事務(wù),它僅僅掛起一切幕后進(jìn)程來(lái)退出數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)中的數(shù)據(jù)文件、控制文件、日志文件都處于一種不可知狀態(tài),這可能使備份有問(wèn)題。再次打開(kāi)時(shí)應(yīng)考慮以RESTRICT方式打開(kāi)數(shù)據(jù)庫(kù),觸動(dòng)一些維護(hù)進(jìn)程來(lái)清除上次終止遺留的問(wèn)題,然后再以正常方式關(guān)閉。這保證了數(shù)據(jù)文件、控制文件、日志文件都處于同步狀態(tài)。4.3創(chuàng)建和管理數(shù)據(jù)庫(kù)對(duì)象TABLESPACE的建立、修改和刪除建立表空間建立表空間的命令為CREATETABLESPACE格式為:參數(shù)意義:tablespace tablespace的名字.DATAFILE 建立TABLESPACE的DATAFILE文件名或原始設(shè)備名。AUTOEXTEND 是否允許DATAFILE自動(dòng)擴(kuò)充空間。OFF關(guān)閉自動(dòng)擴(kuò)展。ON 打開(kāi)自動(dòng)擴(kuò)展。NEXT當(dāng)DATAFILE的空間需要擴(kuò)展時(shí)所增加的空間大小。MAXSIZEDATAFILE最大可允許的空間。UNLIMITED對(duì)DATAFILE所占空間設(shè)置為無(wú)限制。DEFAULT STORAGE 設(shè)置STORAGE的缺省參數(shù)。ONLINE 使TABLESPACE對(duì)具有權(quán)限的用戶有效,可使用,為缺省設(shè)置。OFFLINE 使TABLESPACE在建立后不立即生效。PERMANENT 此TABLESPACE用來(lái)保存永久數(shù)據(jù)。缺省設(shè)置。TEMPORARY 此TABLESPACE僅用來(lái)保存臨時(shí)數(shù)據(jù)。例:建立一個(gè)名為T(mén)EST的TABLESPACE:sqlplussqlplus>connectsystem/managersqlplus>CREATETABLESPACEtest DATAFILE'mytest.dat'SIZE20M DEFAULTSTORAGE(INITIAL10KNEXT50K MINEXTENTS1MAXEXTENTS999 PCTINCREASE10) ONLINE修改表空間修改表空間的命令為:ALTERTABLESPACE可對(duì)系統(tǒng)中存在的表空間進(jìn)行如下操作: 增加DATAFILE、更改DATAFILE的文件名、修改缺省的存儲(chǔ)參數(shù)(STORAGEPARAAMETERS)、使表空間ONLINE或OFFLINE、開(kāi)始和停止備份、允許和禁止向表空間寫(xiě)入。修改表空間的條件:用戶具有此權(quán)限;當(dāng)前沒(méi)有寫(xiě)操作在進(jìn)行。命令的格式:參數(shù)說(shuō)明:tablespace 要修改的表空間名稱(chēng)。ADDDATAFILE 為表空間增加DATAFILE。AUTOEXTEND 同CREATETABLESPACERENAMEDATAFILE 更改DATAFILE的文件名。COALESCE 鄰近的空閑EXTENTS連接為大的連續(xù)的EXTENTSDEFAULTSTORAGE 同CREATETABLESPACEONLINE 同CREATETABLESPACEOFFLINE 同CREATETABLESPACEBEGINBACKUP 在線數(shù)據(jù)備份。不可在只讀TABLESPACE上使用。備份過(guò)程中,不能關(guān)閉數(shù)據(jù)庫(kù)以及進(jìn)行其它TABLESPACE的備份。ENDBACKUP 結(jié)束在線備份。READONLY 使TABLESPACE不可寫(xiě)。READWRITE 允許對(duì)TABLESPACE進(jìn)行讀寫(xiě)。PERMANENT 同CREATETABLESPACETEMPORARY 同CREATETABLESPACE例1:開(kāi)始在線備份數(shù)據(jù):ALTERTABLESPACEaccounting BEGINBACKUP例2:更改DATAFILE的文件名:使TABLESPACE變?yōu)镺FFLINE:ALTERTABLESPACEaccountingOFFLINENORMAL利用操作系統(tǒng)的命令將DATAFILE改變文件名。更改DATAFILE的文件名:ALTERTABLESPACEaccounting RENAME DATAFILE'diska:pay1.dbf' TO 'diskb:receive1.dbf'使DATAFILE狀態(tài)為ONLINE。ALTERTABLESPACEaccountingONLINE例3:增加DATAFILE:ALTERTABLESPACEaccounting ADDDATAFILE'disk3:pay3.dbf' AUTOEXTENDON NEXT10K MAXSIZE100K刪除表空間命令為:DROPTABLESPACE例:DROPTABLESPACEmfrg4.3.2建立、修改、刪除用戶建立用戶建立用戶首先應(yīng)具有建立用戶的權(quán)限。命令為CREATEUSER命令的格式為:各個(gè)參數(shù)的意義:USER 要建立的用戶名IDENTIFIEDBYpassword用戶必須經(jīng)過(guò)口令認(rèn)證登錄。EXTERNALLY當(dāng)連接數(shù)據(jù)庫(kù)時(shí)ORACLE檢測(cè)操作系統(tǒng)用戶名與數(shù)據(jù)庫(kù)用戶名是否相同。DEFAULTTABLESPACE把用戶建立的TABLESPACE作為此用戶的缺省TABLESPACE,如忽略此參數(shù),則把系統(tǒng)表空間作為此用戶的缺省TABLESPACE。TEMPORARYTABLESPACE定義用戶的臨時(shí)段,忽略此參數(shù),則把系統(tǒng)表空間作為臨時(shí)段。QUOTA限制用戶在表空間中最大可申請(qǐng)的數(shù)據(jù)空間。UNLIMITED允許用戶無(wú)限制申請(qǐng)數(shù)據(jù)空間。PROFILE指定用戶的類(lèi)型。它可用來(lái)限制用戶的可用資源。如忽略,系統(tǒng)賦予用戶缺省的設(shè)置。例:建立用戶:SIDNEYCREATEUSERsidney IDENTIFIEDBYcarton DEFAULTTABLESPACEcases_ts QUOTA10MONcases_ts QUOTA5MONtemp_ts QUOTA5MONsystem PROFILEengineer用戶具有以下特性:口令:CARTON缺省表空間:CASES_TS,可用空間10M。臨時(shí)表空間:TEMP_TS,可用空間5M。可訪問(wèn)表空間:SYSTEM,可用空間5M。用戶類(lèi)型為ENGINEER。改變用戶設(shè)置利用命令A(yù)LTERUSER,格式為:DEFAULTROLE:更改用戶的缺省角色。用戶建立之后的缺省角色是系統(tǒng)按照缺省值賦予的。其它參數(shù)見(jiàn)CREATEUSER。刪除用戶命令為DROPUSER,格式:CASCADE:刪除用戶時(shí)將此用戶相連的數(shù)據(jù)空間一起刪除。一般刪除用戶時(shí)應(yīng)加此參數(shù)。給用戶賦予系統(tǒng)權(quán)限或角色命令為GRANT,格式為:PUBLIC:表示所有用戶。WITHADMINOPTION:擁有權(quán)限者可將此權(quán)限轉(zhuǎn)給其它用戶或角色?;蛘撸袷綖椋篛BJECT_PRIV包括的權(quán)限為:ALTER、DELETE、EXECUTE、INDEX、INSERT、REFERENCES、SELECT、UPDATE。例:把DBA權(quán)限賦予用戶TESTGRANTDBATOTEST4.4系統(tǒng)狀態(tài)查詢系統(tǒng)管理員對(duì)系統(tǒng)當(dāng)前狀態(tài)的查詢,可以通過(guò)多種方法來(lái)監(jiān)控?cái)?shù)據(jù)庫(kù)的運(yùn)行情況.1.動(dòng)態(tài)性能表—V$視圖V$視圖并不是真正存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)表,它們是一些內(nèi)存表,由Oracle核心自動(dòng)收集系統(tǒng)各方面的運(yùn)行情況來(lái)動(dòng)態(tài)修改,顯示該實(shí)例運(yùn)行情況及性能,在進(jìn)行系統(tǒng)監(jiān)控和性能調(diào)整時(shí)極為重要.這些視圖可通過(guò)SYS及其他具有SELECTANYTABLE權(quán)限的用戶以SQL語(yǔ)句進(jìn)行查詢.2.SERVERMANAGER的屏幕模式servermanager的屏幕模式提供了反映數(shù)據(jù)庫(kù)狀態(tài)的多個(gè)菜單,非常方便地對(duì)數(shù)據(jù)庫(kù)進(jìn)行系統(tǒng)維護(hù)??稍赟COUNIX的X-WINDOWS界面下運(yùn)行svrmgrm,連接數(shù)據(jù)庫(kù),然后選擇所要查看的菜單.3.企業(yè)管理器(EnterpriseManager)在企業(yè)管理器中提供了可視化界面的多種管理器,如實(shí)例管理器、模式管理器、安全管理器等,通過(guò)這些管理器,可以非常方便的查詢數(shù)據(jù)庫(kù)現(xiàn)行的運(yùn)行情況。4.查詢數(shù)據(jù)庫(kù)修改日志文件和跟蹤文件alert日志文件記錄數(shù)據(jù)庫(kù)運(yùn)行中主要事件的命令及結(jié)果,例如:表空間的建立、日志文件的轉(zhuǎn)換、操作系統(tǒng)的恢復(fù)等信息都記錄在修改日志里。在數(shù)據(jù)庫(kù)運(yùn)行的每一個(gè)后臺(tái)進(jìn)程都有一個(gè)跟蹤文件與之相連,跟蹤文件記載后臺(tái)進(jìn)程遇到的重大事件的信息。當(dāng)需要尋找主要失敗的原因時(shí),跟蹤文件就非常有用。跟蹤文件和修改日志的位置由$ORACLE_HOME/dbs/configsid.ora文件中的BACKGROUND_DUMP_DEST參數(shù)指定。4.5系統(tǒng)備份與恢復(fù)設(shè)計(jì)和測(cè)試Oracle數(shù)據(jù)庫(kù)的備份過(guò)程是預(yù)防由介質(zhì)、操作系統(tǒng)、軟件和其它導(dǎo)致重要數(shù)據(jù)庫(kù)文件嚴(yán)重?fù)p壞的唯一安全措施。Oracle由一套較完整的容錯(cuò)機(jī)制來(lái)保證數(shù)據(jù)庫(kù)系統(tǒng)的可靠性。4.5.1Oracle數(shù)據(jù)庫(kù)的備份Oracle數(shù)據(jù)庫(kù)的備份主要包括物理備份和邏輯備份。物理備份實(shí)際上是物理數(shù)據(jù)文件從一處拷貝到另一處的備份。邏輯備份是采用SQL語(yǔ)句從數(shù)據(jù)庫(kù)中抽取數(shù)據(jù)并將其存入二進(jìn)制文件中,這些數(shù)據(jù)可以重新導(dǎo)入數(shù)據(jù)庫(kù)中。4.5.1.1物理備份物理備份包括操作系統(tǒng)備份、數(shù)據(jù)庫(kù)冷備份、熱備份操作系統(tǒng)備份操作系統(tǒng)備份是最簡(jiǎn)單的備份方法,而且它提供了一個(gè)經(jīng)得起考驗(yàn)的備份,其恢復(fù)也是穩(wěn)定且可靠的,但操作系統(tǒng)備份只能恢復(fù)到最后一次執(zhí)行備份的時(shí)刻。常見(jiàn)的策略是采取每周進(jìn)行操作系統(tǒng),每天進(jìn)行用戶文件備份。備份這種備份要求停止一切對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)并完全退出數(shù)據(jù)庫(kù)。這種備份過(guò)程如下:關(guān)閉數(shù)據(jù)庫(kù)和操作系統(tǒng)先關(guān)閉所有應(yīng)用程序,然后關(guān)閉OracleRDBMS。如果以shutdownimmediate|abort方式關(guān)閉,還要再執(zhí)行startup后以shutdown方式正常關(guān)閉。如果在多用戶環(huán)境下,關(guān)閉系統(tǒng)并以單用戶方式啟動(dòng)。這一步確保沒(méi)有用戶應(yīng)用程序運(yùn)行,避免其修改磁盤(pán)上的數(shù)據(jù)。備份所有文件在單用戶下,利用操作系統(tǒng)工具將所有文件備份到磁帶上。啟動(dòng)系統(tǒng)在多用戶方式下啟動(dòng)系統(tǒng)。啟動(dòng)Oracle數(shù)據(jù)庫(kù)并打開(kāi)它,訪問(wèn)應(yīng)用程序。數(shù)據(jù)庫(kù)冷備份數(shù)據(jù)庫(kù)冷備份(cold)也稱(chēng)為脫機(jī)備份(offline)。脫機(jī)備份過(guò)程類(lèi)似與操作系統(tǒng)備份,不同之處在于它只備份與Oracle數(shù)據(jù)庫(kù)相關(guān)的文件。用戶仍可以訪問(wèn)操作系統(tǒng),但不能訪問(wèn)數(shù)據(jù)庫(kù)。關(guān)閉數(shù)據(jù)庫(kù)之前,關(guān)閉可能修改Oracle文件的任何第三方軟件也很重要。一旦數(shù)據(jù)庫(kù)停止使用,拷貝Oracle文件到磁帶上并啟動(dòng)數(shù)據(jù)庫(kù)。脫機(jī)備份也只能恢復(fù)到作備份的那一刻。這種備份過(guò)程如下:準(zhǔn)備備份在操作系統(tǒng)級(jí)創(chuàng)建一個(gè)文本文件,標(biāo)記備份開(kāi)始。禁止登錄到應(yīng)用程序。提供數(shù)據(jù)庫(kù)不能使用的警告信息。關(guān)閉在Oracle上運(yùn)行的所有與Oracle相關(guān)的內(nèi)部或第三方軟件。關(guān)閉Oracle數(shù)據(jù)庫(kù),如果以shutdownimmediate|abort方式關(guān)閉,還要再執(zhí)行startup后以shutdown方式正常關(guān)閉。2)備份Oracle文件從前一天的磁盤(pán)區(qū)域刪除前一天歸檔日志文件把當(dāng)天歸檔日志移至前一天區(qū)域備份Oracle可執(zhí)行代碼、配置文件、控制文件。備份所有數(shù)據(jù)文件、redo日志文件。啟動(dòng)數(shù)據(jù)庫(kù)。啟動(dòng)數(shù)據(jù)庫(kù)使之能登錄到應(yīng)用程序拷貝數(shù)據(jù)庫(kù)備份文件到磁帶熱備份脫機(jī)備份只能用于數(shù)據(jù)庫(kù)關(guān)閉時(shí),當(dāng)Oracle數(shù)據(jù)庫(kù)處在ARCHIVELOG模式下,在數(shù)據(jù)庫(kù)打開(kāi)和操作時(shí)也能進(jìn)行備份,這種備份叫熱備份或聯(lián)機(jī)備份(online)。熱備份要避免在大量批作業(yè)運(yùn)行時(shí)進(jìn)行,最好在數(shù)據(jù)庫(kù)操作最少時(shí)執(zhí)行。這種備份過(guò)程分為如下三個(gè)部分:數(shù)據(jù)庫(kù)應(yīng)處于archivelog模式,否則,通過(guò)下述命令設(shè)置為archivelog狀態(tài):svrmgr>connectinternalsvrmgr>startupmountsvrmgr>alterdatabasearchivelogsvrmgr>archivelogstartsvrmgr>alterdatabaseopen通過(guò)下列命令得到最早的redo日志序列號(hào):svrmgr>archiveloglist顯示:oldestonlinelogsequence59則備份時(shí)要保存從序列號(hào)59開(kāi)始的所有歸檔日志文件.3.備份每個(gè)表空間的數(shù)據(jù)文件:設(shè)置表空間為備份狀態(tài)備份表空間的數(shù)據(jù)文件將表空間恢復(fù)為正常狀態(tài)例如備份system表空間:svrmgr>connectinternalsvrmgr>altertablespaceSYSTEMbeginbackupsvrmgr>!tar–cvf/dev/rmt/0hc/db1/oracle/cc1/sys01.dbfsvrmgr>altertablespaceSYSTEMendbackup再次執(zhí)行archiveloglist命令,得到當(dāng)前日志序列號(hào).使用下列命令強(qiáng)制日志切換,使oracle把當(dāng)前日志創(chuàng)建為一個(gè)歸檔日志文件.這是要求備份的最后一個(gè)歸檔日志.svrmgr>altersystemswitchlogfile5.備份歸檔的日志文件通過(guò)alterdatabasebackupcontrofile命令備份控制文件svrmgr>connectinternalsvrmgr>alterdatabasebackupcontrofileto‘/db1/oracle/cc1/controlfile.bck’svrmgr>exittar–rvf/dev/rmt/0hc/db1/oracle/cc1/controlfile.bck4.5.1.2邏輯備份—export邏輯備份是拷貝數(shù)據(jù)庫(kù)中的數(shù)據(jù),而不是記錄數(shù)據(jù)位置的備份過(guò)程。Oracle的export導(dǎo)出工具拷貝數(shù)據(jù)和數(shù)據(jù)庫(kù)定義信息,并在二進(jìn)制操作系統(tǒng)中以oracle內(nèi)部格式保留它。Export的命令格式有三種格式運(yùn)行export:exp用戶名/口令PAPFILE=文件名這是將其余參數(shù)放在指定文件中的做法。exp用戶名/口令…后面跟控制export運(yùn)行的各種參數(shù)。exp用戶名/口令進(jìn)入交互式命令方式,export會(huì)提示所需的信息。用exphelp=y命令可以在屏幕上顯示出所有的控制參數(shù)。Export的控制參數(shù)參數(shù)缺省值描述USERIDBUFFERFILEGRANTSINDEXESROWSCONSTRAINTSCOMPRESSFULLOWNERTABLESRECORDLENGTHINCTYPERECORDPARFILE未定義取決于操作系統(tǒng)expdat.dmp是是是是是否當(dāng)前用戶未定義取決于操作系統(tǒng)未定義是未定義用戶進(jìn)行導(dǎo)出的用戶名/口令用于讀取數(shù)據(jù)的緩沖區(qū)字節(jié)尺寸在操作系統(tǒng)級(jí)導(dǎo)出創(chuàng)建的二進(jìn)制文件名指示是否導(dǎo)出權(quán)限指示是否導(dǎo)出索引指示是否導(dǎo)出表行,如果為no,則只導(dǎo)出表格定義而不導(dǎo)出數(shù)據(jù)指示是否導(dǎo)出限制指示導(dǎo)出時(shí)是否將表數(shù)據(jù)壓縮到一個(gè)區(qū)間內(nèi)指示是否導(dǎo)出整個(gè)數(shù)據(jù)庫(kù)中的數(shù)據(jù)所要導(dǎo)出對(duì)象的用戶名所要導(dǎo)出的表名文件記錄的字節(jié)長(zhǎng)度增量導(dǎo)出的類(lèi)型,分別為complete,cumulative,incremental指示是否在數(shù)據(jù)庫(kù)表、SYS.INCVID和SYS.INCEXP中記錄增量導(dǎo)出標(biāo)志包含一個(gè)或多個(gè)導(dǎo)出參數(shù)的參數(shù)文件名Export的導(dǎo)出方法Export實(shí)用程序提供兩種方法導(dǎo)出表數(shù)據(jù)。規(guī)范路徑導(dǎo)出(conventionalpathexport)讀取數(shù)據(jù)到數(shù)據(jù)庫(kù)緩沖區(qū),利用SQL層創(chuàng)建導(dǎo)出文件。直接路徑導(dǎo)出(directpathexport)完全跳過(guò)SQL層,從數(shù)據(jù)庫(kù)緩沖區(qū)直接將數(shù)據(jù)寫(xiě)到文件中,速度快。利用DIRECT=Y命令可以指定directpathexport。Export導(dǎo)出模式Full方式輸出整個(gè)數(shù)據(jù)庫(kù),讀出整個(gè)數(shù)據(jù)字典,并且將用于重建完整數(shù)據(jù)所要的DDL語(yǔ)句也寫(xiě)入輸出文件中。通過(guò)full=y選項(xiàng)來(lái)啟用。Full方式導(dǎo)出可進(jìn)一步分為complete、cumlutive、incremental方式。Complete導(dǎo)出方式將整個(gè)數(shù)據(jù)庫(kù)導(dǎo)出。為進(jìn)行這種導(dǎo)出應(yīng)在導(dǎo)出命令中設(shè)置參數(shù)inctype=complete。每次complete導(dǎo)出之后,在它之前的cumulative和incremental導(dǎo)出文件就不再需要。例如:$expuserid=system/managerfull=yinctype=completecontraints=yfile=full_export_filenamecumulative導(dǎo)出方式只導(dǎo)出自最近c(diǎn)umulative和complete導(dǎo)出操作以后被修改和創(chuàng)建的新的數(shù)據(jù)信息。要進(jìn)行這種導(dǎo)出,應(yīng)設(shè)置參數(shù)inctype=cumulative,每次cumulative導(dǎo)出之后,前面的incremental導(dǎo)出文件就不再

溫馨提示

  • 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)論