版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Oracle基礎(chǔ)培訓(xùn)
郭亞光
培訓(xùn)內(nèi)容體系結(jié)構(gòu)實(shí)例管理表空間管理備份與恢復(fù)第一章Oracle體系結(jié)構(gòu)目標(biāo)完成本課后,您應(yīng)當(dāng)能夠執(zhí)行下列操作:描述Oracle服務(wù)器的體系結(jié)構(gòu)及其主要組件列出將用戶連接到Oracle實(shí)例所涉及的結(jié)構(gòu)4專業(yè)英語(yǔ)Tablespace 表空間Segment 段,節(jié),片斷Extend 擴(kuò)充,延伸,伸展,擴(kuò)大Block 木塊,石塊,塊,街區(qū),滑輪Schema 計(jì)劃,圖解,大綱,模型Oracle的歷史公司起源
傳奇故事從IBM公司一名員工的論文開(kāi)始。
1970年的6月,IBM公司的研究員發(fā)表了篇著名的論文《大型共享數(shù)據(jù)庫(kù)數(shù)據(jù)的關(guān)系模型》。這是數(shù)據(jù)庫(kù)發(fā)展史上的一個(gè)轉(zhuǎn)折。
1977年6月,LarryEllison與BobMiner和EdOates在硅谷共同創(chuàng)辦了一家名為軟件開(kāi)發(fā)實(shí)驗(yàn)室(SoftwareDevelopmentLaboratories,SDL)的計(jì)算機(jī)公司。隨著第一位員工BruceScott的加盟,SDL開(kāi)始策劃構(gòu)建可商用的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。 很快他們推出了商品的demo,并且在一次政府的投標(biāo)中將項(xiàng)目命名為ORACLE(“神諭,預(yù)言”,一切智慧的源泉)。1982年,公司更名為ORACLE。發(fā)展與壯大
1981-1983年:第一個(gè)運(yùn)行在大型機(jī)和小型機(jī)上的RDBMS(關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng))
1984年:推出了Oracle4,達(dá)到了讀一致性
1987年:銷售額達(dá)到1億3千萬(wàn)美元
1988-1989年:推出了Oracle6,銷售額達(dá)五億美元
1990-1991年:10億標(biāo)志
1997年:發(fā)布Oracle8,銷售額達(dá)56億8千萬(wàn)美元
1999年:推出Oracle8i 2000年:推出Oracle9i現(xiàn)今 最新的產(chǎn)品是Oracle11g(網(wǎng)格), 通過(guò)匯集基于行業(yè)標(biāo)準(zhǔn)的服務(wù)器和存儲(chǔ)設(shè)備,使它們成為具有適應(yīng)能力并能滿足需求變化的架構(gòu),可以幫助用戶節(jié)省50%的IT運(yùn)營(yíng)成本。提供信息管理軟件,包括數(shù)據(jù)庫(kù)管理,應(yīng)用開(kāi)發(fā),商務(wù)智能以及基于Internet的商務(wù)應(yīng)用。并且提供范圍廣泛的支持服務(wù),包括世界上最大的教育/培訓(xùn)公司、咨詢,無(wú)論項(xiàng)目大小,都提供完全的系統(tǒng)集成服務(wù)。一般可分為5個(gè)領(lǐng)域:Oracle數(shù)據(jù)庫(kù)(Oracle10g)Oracle10g應(yīng)用服務(wù)數(shù)據(jù)倉(cāng)庫(kù)和企業(yè)級(jí)開(kāi)發(fā)Oracle電子商務(wù)集成服務(wù)Internet開(kāi)發(fā)集成服務(wù)10Oracle數(shù)據(jù)庫(kù)簡(jiǎn)介1-1對(duì)象關(guān)系型的數(shù)據(jù)庫(kù)管理系統(tǒng)(ORDBMS)在管理信息系統(tǒng)、企業(yè)數(shù)據(jù)處理、因特網(wǎng)及電子商務(wù)等領(lǐng)域使用非常廣泛在數(shù)據(jù)安全性與數(shù)據(jù)完整性控制方面性能優(yōu)越跨操作系統(tǒng)、跨硬件平臺(tái)的數(shù)據(jù)互操作能力Oracle數(shù)據(jù)庫(kù)的主要特點(diǎn)支持多用戶、大事務(wù)量的事務(wù)處理數(shù)據(jù)安全性和完整性控制支持分布式數(shù)據(jù)處理可移植性11Oracle數(shù)據(jù)庫(kù)簡(jiǎn)介1-2Oracle數(shù)據(jù)庫(kù)基于客戶端/服務(wù)器技術(shù)客戶端應(yīng)用程序通過(guò)向服務(wù)器請(qǐng)求并接收信息的方式與數(shù)據(jù)庫(kù)進(jìn)行交互。它充當(dāng)用戶與數(shù)據(jù)庫(kù)之間的接口請(qǐng)求響應(yīng)數(shù)據(jù)庫(kù)服務(wù)器對(duì)數(shù)據(jù)庫(kù)表進(jìn)行最佳管理,處理多個(gè)客戶端對(duì)同一數(shù)據(jù)的并發(fā)訪問(wèn)。全面地保持?jǐn)?shù)據(jù)完整性,并控制數(shù)據(jù)庫(kù)訪問(wèn)權(quán)限等安全性需求網(wǎng)絡(luò)服務(wù)器Oracle體系結(jié)構(gòu)Oracle服務(wù)器Oracle數(shù)據(jù)庫(kù)Oracle實(shí)例Oracle數(shù)據(jù)庫(kù)是一個(gè)數(shù)據(jù)的集合,該集合被視為一個(gè)邏輯單元管理數(shù)據(jù)庫(kù)的后臺(tái)進(jìn)程和內(nèi)存結(jié)構(gòu)的集合稱為Oracle實(shí)例
數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)是指數(shù)據(jù)庫(kù)的組成、工作過(guò)程與原理,以及數(shù)據(jù)在數(shù)據(jù)庫(kù)中的組織與管理機(jī)制Oracle服務(wù)器提供開(kāi)放、全面和綜合的信息管理,它由Oracle數(shù)據(jù)庫(kù)和Oracle實(shí)例組成13Oracle主要組件
實(shí)例內(nèi)存結(jié)構(gòu)后臺(tái)進(jìn)程PMONSMONDBWRLGWRCKPT其他
數(shù)據(jù)庫(kù)數(shù)據(jù)文件數(shù)據(jù)文件數(shù)據(jù)文件控制文件控制文件日志文件日志文件參數(shù)文件歸檔日志文件口令文件SGA用戶進(jìn)程服務(wù)器進(jìn)程PGA共享池?cái)?shù)據(jù)緩沖區(qū)日志緩沖區(qū)Oracle實(shí)例Oracle實(shí)例是后臺(tái)進(jìn)程和內(nèi)存結(jié)構(gòu)的集合Oracle實(shí)例系統(tǒng)全局區(qū)后臺(tái)進(jìn)程分配啟動(dòng)Oracle數(shù)據(jù)庫(kù)Oracle數(shù)據(jù)庫(kù)由操作系統(tǒng)文件組成,這些文件為數(shù)據(jù)庫(kù)信息提供實(shí)際物理存儲(chǔ)區(qū)Oracle數(shù)據(jù)庫(kù)包括邏輯結(jié)構(gòu)和物理結(jié)構(gòu)物理結(jié)構(gòu)邏輯結(jié)構(gòu)物理結(jié)構(gòu)包含數(shù)據(jù)庫(kù)中的一組操作系統(tǒng)文件。邏輯結(jié)構(gòu)指數(shù)據(jù)庫(kù)創(chuàng)建之后形成的邏輯概念之間的關(guān)系Oracle數(shù)據(jù)庫(kù)Oracle實(shí)例內(nèi)存結(jié)構(gòu)系統(tǒng)全局區(qū)(SGA)程序全局區(qū)(PGA)Oracle實(shí)例啟動(dòng)時(shí)分配系統(tǒng)全局區(qū)當(dāng)服務(wù)器進(jìn)程啟動(dòng)時(shí)分配程序全局區(qū)Oracle的內(nèi)存結(jié)構(gòu)包含以下兩個(gè)內(nèi)存區(qū):內(nèi)存區(qū)系統(tǒng)全局區(qū)2-1數(shù)據(jù)庫(kù)信息存儲(chǔ)于SGA,由多個(gè)數(shù)據(jù)庫(kù)進(jìn)程共享共享池?cái)?shù)據(jù)緩沖區(qū)日志緩沖區(qū)SGA的內(nèi)存結(jié)構(gòu)系統(tǒng)全局區(qū)2-2共享池共享池是對(duì)SQL、PL/SQL程序進(jìn)行語(yǔ)法分析、編譯、執(zhí)行的內(nèi)存區(qū)域共享池由庫(kù)緩存和數(shù)據(jù)字典緩存組成。共享池的大小直接影響數(shù)據(jù)庫(kù)的性能。數(shù)據(jù)緩沖區(qū)用于存儲(chǔ)從磁盤(pán)數(shù)據(jù)文件中讀入的數(shù)據(jù),所有用戶共享。服務(wù)器進(jìn)程將讀入的數(shù)據(jù)保存在數(shù)據(jù)緩沖區(qū)中,當(dāng)后續(xù)的請(qǐng)求需要這些數(shù)據(jù)時(shí)可以在內(nèi)存中找到,不需要再?gòu)拇疟P(pán)讀取,提高了讀取速度。數(shù)據(jù)緩沖區(qū)的大小對(duì)數(shù)據(jù)庫(kù)的讀取速度有直接的影響。日志緩沖區(qū)日志記錄數(shù)據(jù)庫(kù)的所有修改信息,日志信息首先產(chǎn)生于日志緩沖區(qū)。當(dāng)日志緩沖區(qū)的日志數(shù)據(jù)達(dá)到一定數(shù)量時(shí),由后臺(tái)進(jìn)程將日志數(shù)據(jù)寫(xiě)入日志文件中。相對(duì)來(lái)說(shuō),日志緩沖區(qū)對(duì)數(shù)據(jù)庫(kù)的性能影響較小。程序全局區(qū)程序全局區(qū)(PGA)包含單個(gè)服務(wù)器進(jìn)程所需的數(shù)據(jù)和控制信息PGA是在用戶進(jìn)程連接到數(shù)據(jù)庫(kù)并創(chuàng)建一個(gè)會(huì)話時(shí)自動(dòng)分配的,保存每個(gè)與Oracle數(shù)據(jù)庫(kù)連接的用戶進(jìn)程所需的信息PGA為非共享區(qū),只能單個(gè)進(jìn)程使用,當(dāng)一個(gè)用戶會(huì)話結(jié)束,PGA釋放會(huì)話會(huì)話是用戶與Oracle服務(wù)器的單個(gè)連接當(dāng)用戶與服務(wù)器建立連接時(shí)創(chuàng)建會(huì)話當(dāng)用戶與服務(wù)器斷開(kāi)連接時(shí)關(guān)閉會(huì)話啟動(dòng)Oracle實(shí)例使用SQL*Plus連接至數(shù)據(jù)庫(kù)創(chuàng)建用戶進(jìn)程創(chuàng)建服務(wù)器進(jìn)程提交SQL查詢Oracle實(shí)例進(jìn)程結(jié)構(gòu)Oracle實(shí)例有幾種不同類型的進(jìn)程,它們是:實(shí)例進(jìn)程用戶進(jìn)程服務(wù)器進(jìn)程后臺(tái)進(jìn)程用戶進(jìn)程是一個(gè)需要與Oracle服務(wù)器進(jìn)行交互的程序。當(dāng)用戶運(yùn)行一個(gè)應(yīng)用程序準(zhǔn)備向數(shù)據(jù)庫(kù)服務(wù)器發(fā)送請(qǐng)求時(shí),即創(chuàng)建了用戶進(jìn)程服務(wù)器進(jìn)程用于處理連接到該實(shí)例的用戶進(jìn)程的請(qǐng)求。當(dāng)用戶連接至Oracle數(shù)據(jù)庫(kù)實(shí)例創(chuàng)建會(huì)話時(shí),即產(chǎn)生服務(wù)器進(jìn)程后臺(tái)進(jìn)程是Oracle數(shù)據(jù)庫(kù)為了保持最佳系統(tǒng)性能和協(xié)調(diào)多個(gè)用戶請(qǐng)求而設(shè)置的。Oracle實(shí)例啟動(dòng)時(shí)即創(chuàng)建一系列后臺(tái)進(jìn)程后臺(tái)進(jìn)程2-1后臺(tái)進(jìn)程PMON實(shí)例的各種后臺(tái)進(jìn)程是:SMONDBWRLGWRCKPT其他后臺(tái)進(jìn)程2-2PMON進(jìn)程監(jiān)控進(jìn)程清理出現(xiàn)故障的進(jìn)程。釋放所有當(dāng)前掛起的鎖定。釋放故障進(jìn)程使用的資源。SMON系統(tǒng)監(jiān)控進(jìn)程在實(shí)例失敗之后,重新打開(kāi)數(shù)據(jù)庫(kù)時(shí)自動(dòng)恢復(fù)實(shí)例。整理數(shù)據(jù)文件的自由空間,將相鄰區(qū)域結(jié)合起來(lái)。釋放不再使用的臨時(shí)段。DBWR數(shù)據(jù)寫(xiě)入進(jìn)程管理數(shù)據(jù)緩沖區(qū),將最近使用過(guò)的塊保留在內(nèi)存中。將修改后的緩沖區(qū)數(shù)據(jù)寫(xiě)入數(shù)據(jù)文件中。LGWR日志寫(xiě)入進(jìn)程負(fù)責(zé)將日志緩沖區(qū)中的日志數(shù)據(jù)寫(xiě)入日志文件。系統(tǒng)有多個(gè)日志文件,該進(jìn)程以循環(huán)的方式將數(shù)據(jù)寫(xiě)入文件。Oracle物理組件物理組件就是Oracle數(shù)據(jù)庫(kù)所使用的操作系統(tǒng)物理文件。物理文件可分為三類:物理組件數(shù)據(jù)文件控制文件日志文件數(shù)據(jù)文件用于存儲(chǔ)數(shù)據(jù)庫(kù)數(shù)據(jù),如表、索引數(shù)據(jù)等。控制文件是記錄數(shù)據(jù)庫(kù)物理結(jié)構(gòu)的二進(jìn)制文件。日志文件記錄對(duì)數(shù)據(jù)庫(kù)的所有修改信息,用于故障恢復(fù)Oracle邏輯組件3-1數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)是從邏輯的角度分析數(shù)據(jù)庫(kù)的組成。Oracle的邏輯組件包括:數(shù)據(jù)庫(kù)表空間段區(qū)數(shù)據(jù)塊
模式Oracle邏輯組件3-2表空間是數(shù)據(jù)庫(kù)中最大的邏輯單位,一個(gè)Oracle數(shù)據(jù)庫(kù)至少包含一個(gè)表空間,就是名為SYSTEM的系統(tǒng)表空間。每個(gè)表空間是由一個(gè)或多個(gè)數(shù)據(jù)文件組成的,一個(gè)數(shù)據(jù)文件只能與一個(gè)表空間相關(guān)聯(lián)。表空間的大小等于構(gòu)成該表空間的所有數(shù)據(jù)文件大小之和。CREATETABLESPACEtablespacenameDATAFILE‘filename’[SIZEinteger[K|M]][AUTOEXTEND[OFF|ON]];創(chuàng)建表空間的語(yǔ)法是:Oracle邏輯組件3-3段段是構(gòu)成表空間的邏輯存儲(chǔ)結(jié)構(gòu),段由一組區(qū)組成。按照段所存儲(chǔ)數(shù)據(jù)的特征,將段分為四種類型,即數(shù)據(jù)段、索引段、回退段和臨時(shí)段。區(qū)區(qū)為段分配空間,它由連續(xù)的數(shù)據(jù)塊組成。當(dāng)段中的所有空間已完全使用時(shí),系統(tǒng)自動(dòng)為該段分配一個(gè)新區(qū)。區(qū)不能跨數(shù)據(jù)文件存在,只能存在于一個(gè)數(shù)據(jù)文件中。數(shù)據(jù)塊數(shù)據(jù)塊是Oracle服務(wù)器所能分配、讀取或?qū)懭氲淖钚〈鎯?chǔ)單元。Oracle服務(wù)器以數(shù)據(jù)塊為單位管理數(shù)據(jù)文件的存儲(chǔ)空間。模式模式是對(duì)用戶所創(chuàng)建的數(shù)據(jù)庫(kù)對(duì)象的總稱。模式對(duì)象包括表、視圖、索引、同義詞、序列、過(guò)程和程序包等。Oracle網(wǎng)絡(luò)配置2-1Oracle產(chǎn)品安裝完成后,服務(wù)器和客戶端都需要進(jìn)行網(wǎng)絡(luò)配置才能實(shí)現(xiàn)網(wǎng)絡(luò)連接。服務(wù)器端配置監(jiān)聽(tīng)器,客戶端配置網(wǎng)絡(luò)服務(wù)名。tnsnames.oraOracle客戶端listener.oraOracle服務(wù)器Oracle網(wǎng)絡(luò)配置2-2服務(wù)器端監(jiān)聽(tīng)器配置信息包括監(jiān)聽(tīng)協(xié)議、地址及其他相關(guān)信息。配置信息保存在名為listener.ora的文件中。在安裝服務(wù)器軟件時(shí)自動(dòng)配置一個(gè)監(jiān)聽(tīng)器客戶端的網(wǎng)絡(luò)服務(wù)名配置信息包括服務(wù)器地址、監(jiān)聽(tīng)端口號(hào)和數(shù)據(jù)庫(kù)SID等,與服務(wù)器的監(jiān)聽(tīng)器建立連接。配置信息保存在名為tnsnames.ora的文件中Oracle中的NetConfigurationAssistant和NetManager工具都能用來(lái)配置監(jiān)聽(tīng)器和網(wǎng)絡(luò)服務(wù)名Oracle查詢工具Oracle查詢工具SQL*PlusiSQL*PlusPL/SQLOracle提供的工具非常容易使用。Oracle的查詢工具包括:SQL*Plus是Oracle最常用的工具之一,用于接受和執(zhí)行SQL命令以及PL/SQL塊。iSQL*Plus可以執(zhí)行能用SQL*Plus完成的所有任務(wù)。該工具的優(yōu)勢(shì)在于能通過(guò)瀏覽器訪問(wèn)它。
PL/SQL是SQL的擴(kuò)展。PL/SQL結(jié)合了SQL語(yǔ)言的數(shù)據(jù)操縱能力和過(guò)程語(yǔ)言的流程控制能力Oracle企業(yè)管理器Oracle企業(yè)管理器為管理員提供了圖形化的用戶界面,并集成了管理數(shù)據(jù)庫(kù)的工具Oracle默認(rèn)用戶只有用合法的用戶帳號(hào)才能訪問(wèn)Oracle數(shù)據(jù)庫(kù)Oracle有幾個(gè)默認(rèn)的數(shù)據(jù)庫(kù)用戶
Oracle默認(rèn)用戶SYSSYSTEMSCOTT數(shù)據(jù)庫(kù)中所有數(shù)據(jù)字典表和視圖都存儲(chǔ)在SYS模式中。SYS用戶主要用來(lái)維護(hù)系統(tǒng)信息和管理實(shí)例。SYSTEM是默認(rèn)的系統(tǒng)管理員,該用戶擁有Oracle管理工具使用的內(nèi)部表和視圖。通常通過(guò)SYSTEM用戶管理數(shù)據(jù)庫(kù)用戶、權(quán)限和存儲(chǔ)等SCOTT用戶是Oracle數(shù)據(jù)庫(kù)的一個(gè)示范帳戶,在數(shù)據(jù)庫(kù)安裝時(shí)創(chuàng)建系統(tǒng)用戶和系統(tǒng)權(quán)限Sys用戶 具有DBA權(quán)限,擁有所有數(shù)據(jù)字典和系統(tǒng)視圖,其他用戶不能操作sys用戶,并且不能在sys用戶下創(chuàng)建任何表。System用戶 System用戶容易和sys用戶混淆,也具有dba權(quán)限。System創(chuàng)建一些與管理有關(guān)的表格或視圖,以及存放一些數(shù)據(jù)庫(kù)的組件和工具的內(nèi)部表或視圖。Sysdba和sysoper系統(tǒng)權(quán)限
oracle默認(rèn)的登錄方式有兩種:sysdba和sysoper。都具有基本的數(shù)據(jù)庫(kù)管理功能,與其他權(quán)限或角色不同的是sysdba和sysoper能夠在數(shù)據(jù)還沒(méi)有啟動(dòng)時(shí)啟動(dòng)數(shù)據(jù)庫(kù)。當(dāng)用sysdba或sysoper連接時(shí),sysdba默認(rèn)方案是sys。Sysoper的默認(rèn)方案是public。系統(tǒng)權(quán)限可以執(zhí)行的操作Sysdba啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù)Alterdatabase,createdatabase;Dropdatabase;createspfile;Alterdatabasearchivelog;Alterdatabaserecover;包括restricted會(huì)話權(quán)限Sysoper啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù);Alterdatabase,createspfile;Alterdatabasearchivelog;Alterdatabaserecover(僅限于完全恢復(fù))Windows中的Oracle服務(wù)3-1Oracle9i的每個(gè)實(shí)例在Windows中都作為一項(xiàng)服務(wù)啟動(dòng)服務(wù)是在Windows注冊(cè)表中注冊(cè)的可執(zhí)行進(jìn)程,由Windows操作系統(tǒng)管理
“服務(wù)”對(duì)話框中的各項(xiàng)Oracle服務(wù)如圖所示:Windows中的Oracle服務(wù)3-2OracleHOME_NAMETNSListener該服務(wù)啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)器的監(jiān)聽(tīng)器,監(jiān)聽(tīng)器接受來(lái)自客戶端應(yīng)用程序的連接請(qǐng)求若監(jiān)聽(tīng)器未啟動(dòng),則客戶端將無(wú)法連接到數(shù)據(jù)庫(kù)服務(wù)器OracleServiceSID該服務(wù)啟動(dòng)系統(tǒng)標(biāo)識(shí)符為SID的數(shù)據(jù)庫(kù)實(shí)例,其中SID是在安裝Oracle9i時(shí)輸入的數(shù)據(jù)庫(kù)名稱OracleHOME_NAMEAgentOracle企業(yè)管理器組件智能代理服務(wù),此智能代理用于執(zhí)行作業(yè)和監(jiān)控Oracle服務(wù)或?qū)ο蟮男阅茉谑褂肙racle管理服務(wù)器網(wǎng)絡(luò)的環(huán)境中必須啟動(dòng)此服務(wù)Windows中的Oracle服務(wù)3-3OracleHOME_NAMEHTTPServer該服務(wù)用于啟動(dòng)OracleHTTP服務(wù)器,它提供文檔信息、基于Web的企業(yè)管理器和iSQL*Plus等服務(wù)OracleHOME_NAMEManagementServer該服務(wù)啟動(dòng)Oracle管理服務(wù)器,它用于維護(hù)管理控制臺(tái)對(duì)各個(gè)被管理服務(wù)器節(jié)點(diǎn)之間的集中的、智能的和分布式的控制該服務(wù)必須經(jīng)過(guò)企業(yè)管理器配置向?qū)渲猛瓿珊蟛艅?chuàng)建總結(jié)Oracle服務(wù)器由Oracle數(shù)據(jù)庫(kù)和Oracle實(shí)例組成Oracle實(shí)例由系統(tǒng)全局區(qū)內(nèi)存結(jié)構(gòu)和用于管理數(shù)據(jù)庫(kù)的后臺(tái)進(jìn)程組成Oracle中用于訪問(wèn)數(shù)據(jù)庫(kù)的主要查詢工具有SQL*Plus、iSQL*Plus和PL/SQLOracle企業(yè)管理器是用于管理、診斷和調(diào)整多個(gè)數(shù)據(jù)庫(kù)的工具Oracle中的SYSTEM用戶和SYS用戶具有管理權(quán)限,而SCOTT用戶只有基本的權(quán)限Oracle服務(wù)在Windows注冊(cè)表中注冊(cè),并由Windows操作系統(tǒng)管理第二章Oracle9i的安裝與配置系統(tǒng)配置安裝步驟卸載系統(tǒng)配置PentiumIV以上的CPU;
1G以上的內(nèi)存;
4GB以上的空閑硬盤(pán)空間。軟件配置(以Windows操作系統(tǒng)為例):
Windows2003Server或WindowsNT4.0+ServicePack6;
安裝步驟(1)安裝步驟(2)安裝步驟(3)安裝步驟(4)安裝步驟(5)安裝步驟(6)安裝步驟(7)安裝步驟(8)安裝步驟(9)安裝步驟(10)安裝步驟(11)安裝步驟(12)安裝步驟(13)安裝步驟(14)安裝步驟(15)安裝步驟(16)
卸載ORACLE
ORACLE的卸載是比較麻煩的事情,而且很難真正的刪除干凈。1.到WINDOWS的服務(wù),停止所有Oracle服務(wù)。2.運(yùn)行SetUp.exe文件,選擇卸裝所有Oracle產(chǎn)品。3.運(yùn)行regedit,選擇HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,刪除這個(gè)入口。4.選擇HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,刪除所有Oracle入口。5.選擇HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,刪除所有Oracle入口。6、刪除環(huán)境變量CLASSPATH和PATH中有關(guān)Oracle的設(shè)定7、刪除桌面、STARTUP(啟動(dòng))組、程序菜單中所有有關(guān)Oracle的組和圖標(biāo)第三章管理數(shù)據(jù)庫(kù)實(shí)例目標(biāo)學(xué)完這個(gè)課程,你應(yīng)該可以掌握以下內(nèi)容:啟動(dòng)和停止數(shù)據(jù)庫(kù)實(shí)例數(shù)據(jù)庫(kù)創(chuàng)建網(wǎng)絡(luò)配置3.2oracle的啟動(dòng)與關(guān)閉Oracle數(shù)據(jù)啟動(dòng)三個(gè)階段:1、啟動(dòng)oracle實(shí)例2、裝載數(shù)據(jù)庫(kù)到實(shí)例中3、打開(kāi)數(shù)據(jù)庫(kù)
startup[nomount]選項(xiàng)僅啟動(dòng)一個(gè)實(shí)例,[mount]選項(xiàng)啟動(dòng)實(shí)例,裝載數(shù)據(jù)庫(kù);
startup[open]啟動(dòng)、裝載、打開(kāi)Sqlplus方法Oracle9i數(shù)據(jù)庫(kù)啟動(dòng)要求Oracle9i引入了服務(wù)器參數(shù)文件spfile的概念,在數(shù)據(jù)庫(kù)啟動(dòng)時(shí),系統(tǒng)缺省使用spfile參數(shù)啟動(dòng)數(shù)據(jù)庫(kù)。如果沒(méi)有spfile參數(shù)文件,則使用pfile啟動(dòng)數(shù)據(jù)庫(kù)。如果兩個(gè)文件同時(shí)存在,則系統(tǒng)優(yōu)先使用spfile。如果沒(méi)有spfile、pfile則出現(xiàn)錯(cuò)誤。oracle的啟動(dòng)與關(guān)閉Oracle數(shù)據(jù)庫(kù)啟動(dòng)三個(gè)階段:1、啟動(dòng)oracle實(shí)例2、裝載數(shù)據(jù)庫(kù)到實(shí)例中3、打開(kāi)數(shù)據(jù)庫(kù)
startup[nomount]選項(xiàng)僅啟動(dòng)一個(gè)實(shí)例,[mount]選項(xiàng)啟動(dòng)實(shí)例,裝載數(shù)據(jù)庫(kù);
startup[open]啟動(dòng)、裝載、打開(kāi)數(shù)據(jù)庫(kù)的關(guān)閉:
1、shutdownnormal,normal為默認(rèn)選項(xiàng),該命令發(fā)出后,任何新的連接不被允許連接數(shù)據(jù)庫(kù),關(guān)閉之前,oracle將等待已連接的所有用戶從數(shù)據(jù)庫(kù)退出,然后開(kāi)始關(guān)閉。2、shutdownimmediate快速關(guān)閉,執(zhí)行時(shí),正在被處理的sql語(yǔ)句立即中斷,沒(méi)有提交的事物回滾。數(shù)據(jù)庫(kù)創(chuàng)建手動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)通過(guò)DBCA創(chuàng)建數(shù)據(jù)庫(kù)手動(dòng)創(chuàng)建數(shù)據(jù)創(chuàng)建過(guò)程:1.確定一個(gè)唯一的實(shí)例名稱、數(shù)據(jù)庫(kù)名,選擇字符集,確定數(shù)據(jù)庫(kù)塊的大小和物理文件位置等。2.設(shè)置操作系統(tǒng)環(huán)境變量。ORACLE_HOME、ORACLE_SID3.設(shè)置初始化參數(shù),創(chuàng)建一個(gè)參數(shù)文件4.創(chuàng)建服務(wù)器參數(shù)文件5.啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例,可以用sql*plus工具,以sysdba身份連接,并且以startupnomount命令啟動(dòng)數(shù)據(jù)庫(kù)。使用createdatabase命令建立一個(gè)數(shù)據(jù)庫(kù)。執(zhí)行一個(gè)腳本文件生成數(shù)據(jù)字典。通過(guò)DBCA創(chuàng)建數(shù)據(jù)庫(kù)
Dbca又稱做oracle數(shù)據(jù)庫(kù)配置助手,可以創(chuàng)建、修改、刪除數(shù)據(jù)庫(kù)。Oracleolap提供創(chuàng)建和部署聯(lián)機(jī)分析處理的工具Oraclespatial提供用來(lái)管理和維護(hù)類似地圖坐標(biāo)之類的空間信息的組件Oracledatamining在數(shù)據(jù)庫(kù)中增加一組用于數(shù)據(jù)挖掘的分析工具和擴(kuò)展算法Oracleultrasearch提供在oracle數(shù)據(jù)庫(kù)內(nèi)執(zhí)行擴(kuò)展文本和搜索的能力Oraclelabelsecurity提供一種控制對(duì)數(shù)據(jù)庫(kù)內(nèi)敏感信息訪問(wèn)的機(jī)制示例方案提供一些指導(dǎo)數(shù)據(jù)庫(kù)配置和使用的示例共享服務(wù)器模式,也叫做多線程服務(wù)器模式。在這種模式下,Oracle數(shù)據(jù)庫(kù)允許多個(gè)用戶進(jìn)程共享非常少的服務(wù)器進(jìn)程。優(yōu)點(diǎn)是客戶端進(jìn)程多對(duì)一,增加了數(shù)據(jù)庫(kù)可以支持的用戶數(shù)。缺點(diǎn)就是各個(gè)用戶共享一個(gè)進(jìn)程,對(duì)用戶訪問(wèn)數(shù)據(jù)庫(kù)的性能有所影響。具體的來(lái)說(shuō),在以下應(yīng)用情景下,可以選擇采用共享服務(wù)器模式。1、前臺(tái)客戶端數(shù)量比較多。
2、服務(wù)器內(nèi)存限制比較大:共享服務(wù)器模式下,當(dāng)連接用戶增加時(shí),其內(nèi)存使用率增加不會(huì)很多。
3、某些特定功能要求采用共享服務(wù)器模式:某一些特定的功能,仍然需要數(shù)據(jù)庫(kù)管理員在共享服務(wù)器模式下,才能夠啟用。比較典型的,如Oracle數(shù)據(jù)庫(kù)服務(wù)器的連接共享、連接集中與負(fù)載均衡技術(shù)等等。他們必須在共享模式下才能夠運(yùn)行。
在專用服務(wù)器模式下,數(shù)據(jù)庫(kù)服務(wù)器要求每個(gè)用戶擁有一個(gè)專用服務(wù)器進(jìn)程。專用服務(wù)器模式由于客戶端與服務(wù)器端進(jìn)程是一一對(duì)應(yīng)的,所以,其性能上可能會(huì)比較有優(yōu)勢(shì)。但是,當(dāng)用戶比較多的時(shí)候,則其對(duì)服務(wù)器的硬件資源,特別是內(nèi)存,會(huì)產(chǎn)生比較大的壓力。若企業(yè)應(yīng)用場(chǎng)景符合如下特征的話,則采用專用服務(wù)器模式能夠取得比較好的效果。
1、只有少數(shù)客戶端。
2、為數(shù)據(jù)倉(cāng)庫(kù)搭建的數(shù)據(jù)庫(kù)系統(tǒng)。
3、聯(lián)機(jī)事務(wù)處理系統(tǒng)。非歸檔模式只能做冷備份,并且恢復(fù)時(shí)只能做完全備份.最近一次完全備份到系統(tǒng)出錯(cuò)期間的數(shù)據(jù)不能恢復(fù).歸檔模式可以做熱備份,并且可以做增量備份,可以做部分恢復(fù).可以在創(chuàng)建后修改,此時(shí)如果選擇歸檔日志模式,會(huì)增加20%的創(chuàng)建時(shí)間卸載數(shù)據(jù)庫(kù)手動(dòng)卸載
startupmount,需要把數(shù)據(jù)庫(kù)啟動(dòng)到mount模式。然后
Dropdatabase通過(guò)dbca卸載數(shù)據(jù)庫(kù)Oracle的簡(jiǎn)單網(wǎng)絡(luò)配置服務(wù)器網(wǎng)絡(luò)配置Oracle客戶端的配置服務(wù)器網(wǎng)絡(luò)配置1、使用網(wǎng)絡(luò)配置助手配置 通過(guò)使用網(wǎng)絡(luò)配置助手可以修改監(jiān)聽(tīng)。2、修改監(jiān)聽(tīng)配置文件 可以直接修改配置文件配置監(jiān)聽(tīng),文件位于服務(wù)器的oracle_home%\network\admin目錄下。 主要配置listener內(nèi)的address段內(nèi)容。protocol可配置內(nèi)容:tcp、tcps、ipc、nmpHost:數(shù)據(jù)庫(kù)服務(wù)器名稱,也可為ip地址。Port:一般默認(rèn)為1521。Oracle客戶端的配置如果客戶端和數(shù)據(jù)庫(kù)服務(wù)器在同一計(jì)算機(jī)上,客戶端一般不需要配置,如果在不同的計(jì)算機(jī)上,客戶端必須配置本地網(wǎng)絡(luò)服務(wù)。配置本地網(wǎng)絡(luò)服務(wù)后,通過(guò)oem和sql*plus工具就能通過(guò)配置的網(wǎng)絡(luò)服務(wù)訪問(wèn)服務(wù)器。第四章oracle數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)文件目標(biāo)學(xué)完這個(gè)課程,你應(yīng)該可以掌握你下內(nèi)容:Oracle數(shù)據(jù)存儲(chǔ)對(duì)象數(shù)據(jù)文件創(chuàng)建表空間管理表空間管理段管理區(qū)管理數(shù)據(jù)塊一個(gè)數(shù)據(jù)庫(kù)被劃分成一個(gè)或多個(gè)叫表空間的邏輯存儲(chǔ)單元;一個(gè)表空間被分割成一種叫數(shù)據(jù)段的邏輯單位;一個(gè)段又進(jìn)一步分割為區(qū)間。區(qū)間則是一系列連續(xù)的數(shù)據(jù)塊。
一個(gè)Oracle數(shù)據(jù)庫(kù)包含一個(gè)或多個(gè)邏輯存儲(chǔ)單元—表空間,表空間用來(lái)存儲(chǔ)數(shù)據(jù)的所有數(shù)據(jù)。數(shù)據(jù)庫(kù)的每一個(gè)表空間包含一個(gè)或多個(gè)數(shù)據(jù)文件,數(shù)據(jù)文件是一種與Oracle運(yùn)行操作系統(tǒng)相關(guān)的物理結(jié)構(gòu)。數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)在構(gòu)成數(shù)據(jù)庫(kù)的表空間的數(shù)據(jù)文件中。表空間和數(shù)據(jù)文件Oracle在表空間里存儲(chǔ)邏輯信息數(shù)據(jù),在數(shù)據(jù)文件里存儲(chǔ)物理信息數(shù)據(jù)表空間:只能同時(shí)屬于一個(gè)數(shù)據(jù)庫(kù)可以由一個(gè)或多個(gè)數(shù)據(jù)文件組成可以被更進(jìn)一步的劃分為細(xì)小的邏輯存儲(chǔ)單元數(shù)據(jù)文件: 只能同時(shí)屬于一個(gè)表空間和同一個(gè)數(shù)據(jù)庫(kù)它是用戶對(duì)象數(shù)據(jù)的容器DatabaseTablespaceDatafiles 表空間的大小就是構(gòu)成表空間的數(shù)據(jù)文件的大小。而數(shù)據(jù)庫(kù)的大小則是各個(gè)表空間大小的累計(jì)。擴(kuò)大數(shù)據(jù)庫(kù)的三種方法:
1、給表空間增加數(shù)據(jù)文件
ALTERTABLESPACETablespaceNameADDDATAFILE‘Datafielpath/DatafileName’2、增加新的表空間
CREATETABLESPACETablespaceNameDATAFILE‘Datafielpath/DatafileName’3、增加數(shù)據(jù)文件大小
ALTERDATABASEDATAFILE'DatafileName'AUTOEXTENDONNEXT20MMAXSIZE1000M;系統(tǒng)表空間每一個(gè)Oracle數(shù)據(jù)庫(kù)都包含一個(gè)SYSTEM表空間,數(shù)據(jù)創(chuàng)建的時(shí)候Oracle自動(dòng)創(chuàng)建的,數(shù)據(jù)被打開(kāi)時(shí),該系統(tǒng)表空間總是在線的。為了更好利用本地管理表空間的優(yōu)點(diǎn),你可以創(chuàng)建一個(gè)本地管理系統(tǒng)表空間或者把現(xiàn)存的字典管理系統(tǒng)表空間變更為本地管理方式。在一個(gè)本地管理表空間的數(shù)據(jù)庫(kù)環(huán)境中,是無(wú)法創(chuàng)建字典管理表空間的。在字典管理表空間中使用傳輸特性是可能的,但是卻不能置為可寫(xiě)的。在系統(tǒng)表空間中包含了整個(gè)數(shù)據(jù)的數(shù)據(jù)字典表;和相應(yīng)的PL/SQL程序單元(存儲(chǔ)過(guò)程、函數(shù)、包、觸發(fā)器等等)數(shù)據(jù)庫(kù)管理員可以用表空間來(lái)完成以下工作:創(chuàng)建新表空間在表空間中增加數(shù)據(jù)我呢間設(shè)置或更改表空間的段的缺省存儲(chǔ)參數(shù)設(shè)置使表空間只讀或讀寫(xiě)使表空間成為臨時(shí)表空間或永久表空間刪除表空間數(shù)據(jù)段數(shù)據(jù)段是一系列區(qū)間,在這個(gè)特定邏輯存儲(chǔ)結(jié)構(gòu)存儲(chǔ)的數(shù)據(jù)都在一個(gè)表空間內(nèi).例如對(duì)于每一種數(shù)據(jù)庫(kù)對(duì)象(表、索引),數(shù)據(jù)庫(kù)都會(huì)分配一個(gè)或一段區(qū)間構(gòu)成其對(duì)象的數(shù)據(jù)段。Oracle數(shù)據(jù)庫(kù)中,一個(gè)獨(dú)立的數(shù)據(jù)段保存以下所有情況的數(shù)據(jù):一個(gè)非分區(qū)表或非簇的表分區(qū)表的一個(gè)分區(qū)表的一個(gè)簇 當(dāng)使用Create語(yǔ)句創(chuàng)建表或簇的時(shí)候,Oracle會(huì)自動(dòng)創(chuàng)建該數(shù)據(jù)段。 表或簇的存儲(chǔ)參數(shù)決定了該數(shù)據(jù)段的區(qū)間如何分配。存儲(chǔ)參數(shù)也影響了與該對(duì)象相關(guān)的數(shù)據(jù)段的存儲(chǔ)和數(shù)據(jù)的查詢。表與段的關(guān)系如何查找一個(gè)表所表與段的關(guān)系對(duì)應(yīng)的所有段,包含4個(gè)部分:--普通表段,對(duì)于分區(qū)表每個(gè)區(qū)對(duì)應(yīng)一個(gè)分區(qū)段--BLOB段,普通表每個(gè)BLOB字段一個(gè)段;分區(qū)表每個(gè)分區(qū)一個(gè)BLOB段--BLOB索引段,同上--普通索引段,全局索引每個(gè)索引一個(gè)段;分區(qū)索引每個(gè)索引則一個(gè)段 區(qū)間是數(shù)據(jù)庫(kù)存儲(chǔ)空間分配的邏輯單位,由一些連續(xù)數(shù)據(jù)塊組成。一個(gè)或多個(gè)區(qū)間又構(gòu)成了一個(gè)段。當(dāng)現(xiàn)有的空間部分被完全使用的時(shí)候,Oracle就會(huì)為段分配一個(gè)新的區(qū)間。
區(qū)間的分配當(dāng)創(chuàng)建一個(gè)表的時(shí)候,Oracle會(huì)分配一定數(shù)目的數(shù)據(jù)塊的初始區(qū)間給相應(yīng)的表的數(shù)據(jù)段。盡管還沒(méi)有插入行數(shù)據(jù),對(duì)應(yīng)初始區(qū)間的Oracle數(shù)據(jù)塊仍然為表記錄保留了這些空間。如果一個(gè)段初始區(qū)間的數(shù)據(jù)塊已滿,并且需要更多的空間來(lái)滿足新數(shù)據(jù),Oracle將自動(dòng)為該段分配增量區(qū)間。一個(gè)增量區(qū)間大小等同或者大于該段內(nèi)的先前的區(qū)間大小。出于維護(hù)目的,每個(gè)數(shù)據(jù)段的第一個(gè)數(shù)據(jù)塊都包含了該段的區(qū)間目錄。 區(qū)間大小和數(shù)量存儲(chǔ)參數(shù)適用于各種類型的數(shù)據(jù)段。它控制著Oracle如何給某一數(shù)據(jù)段分配可用得數(shù)據(jù)庫(kù)空間。例如,你可以決定為一個(gè)數(shù)據(jù)段保留多少初始空間,也可以通過(guò)指定存儲(chǔ)參數(shù)限制區(qū)間分配數(shù)量。如果沒(méi)有指定表的存儲(chǔ)參數(shù),那么它將使用表空間的缺省存儲(chǔ)參數(shù)。 如何分配區(qū)間Oracle使用不同的算法來(lái)分配區(qū)間,主要取決于他們采用本地管理方式或字典管理方式。對(duì)于本地管理表空間,Oralce會(huì)首先確定表空間的相應(yīng)數(shù)據(jù)文件,然后搜索數(shù)據(jù)文件的位圖來(lái)尋找所需數(shù)量的相鄰空閑數(shù)據(jù)塊,從而搜尋可用空間以分配給一個(gè)新的區(qū)間。如果數(shù)據(jù)文件沒(méi)有足夠的可用相鄰空間,Oracle將會(huì)尋找另外的數(shù)據(jù)文件Oracle存儲(chǔ)數(shù)據(jù)的最小單位是數(shù)據(jù)塊。Oracle管理數(shù)據(jù)庫(kù)數(shù)據(jù)文件的存儲(chǔ)空間被稱為數(shù)據(jù)塊,一個(gè)數(shù)據(jù)塊是數(shù)據(jù)庫(kù)使用的最小數(shù)據(jù)單位。對(duì)應(yīng)的操作系統(tǒng)層面上,所有數(shù)據(jù)都是以字節(jié)形式存儲(chǔ)的。每一種操作系統(tǒng)都有自己的塊大小。Oracle對(duì)數(shù)據(jù)的請(qǐng)求是Oracle數(shù)據(jù)塊的倍數(shù),而非操作系統(tǒng)塊。標(biāo)準(zhǔn)的塊大小是通過(guò)初始化參數(shù)DB_BLOCK_SIZE指定的,Oracle允許指定最多5種非標(biāo)準(zhǔn)塊。為了避免不必要的I/O開(kāi)銷,數(shù)據(jù)塊大小應(yīng)當(dāng)是操作系統(tǒng)塊大小的整數(shù)倍。管理物理文件數(shù)據(jù)文件的管理控制文件的管理日志文件的管理警告日志文件的管理數(shù)據(jù)文件的管理數(shù)據(jù)文件或臨時(shí)文件邏輯上屬于表空間,數(shù)據(jù)文件中存儲(chǔ)了表空間上的各個(gè)對(duì)象.Oracle數(shù)據(jù)庫(kù)中至少有一個(gè)屬于system表空間的數(shù)據(jù)文件,數(shù)據(jù)文件應(yīng)該和重做日志文件放在不同的物理磁盤(pán)中,數(shù)據(jù)文件和表空間一起創(chuàng)建,可以修改調(diào)整文件大小.管理日志文件日志文件用來(lái)保存數(shù)據(jù)庫(kù)發(fā)生的變化,恢復(fù)數(shù)據(jù)庫(kù)一般都需要重做日志文件,至少需要兩組日志文件.Oracle服務(wù)器將數(shù)據(jù)庫(kù)所有的修改先記錄到重做日志緩沖區(qū)內(nèi),然后日志寫(xiě)進(jìn)程將重做日志區(qū)的內(nèi)容寫(xiě)到日志文件中。日志文件在數(shù)據(jù)庫(kù)運(yùn)行時(shí)被打開(kāi)和讀寫(xiě),所以又被稱為聯(lián)機(jī)重做日志文件。Oracle數(shù)據(jù)庫(kù)的日志文件以組方式管理,這類組又稱作聯(lián)機(jī)日志文件組。
建立日志文件建立數(shù)據(jù)庫(kù)或控制文件時(shí),會(huì)建立重做日志文件,也可以使用數(shù)據(jù)庫(kù)命令改變重做日志文件,如增加、重命名、或刪除等。
配置日志文件配置日志文件時(shí),最佳的配置是配置最少的日志文件組,判斷日志文件是否合理,可以看lgwr進(jìn)程(該進(jìn)程執(zhí)行將緩沖區(qū)寫(xiě)入數(shù)據(jù)文件,是負(fù)責(zé)緩沖存儲(chǔ)區(qū)管理的一個(gè)Oracle后臺(tái)進(jìn)程)跟蹤文件和數(shù)據(jù)庫(kù)警告日志文件的內(nèi)容,如果發(fā)現(xiàn)LGWR進(jìn)程因?yàn)闄z查點(diǎn)未完成或者組未歸檔而頻繁地等待,就應(yīng)該考慮增加一個(gè)日志文件組。日志文件大?。喝罩疚募M的最小大小是50KB,最大大小由操作系統(tǒng)決定,日志文件的同組成員間的大小必須一樣,但組間可以不一樣。鏡像日志文件:為防止日志文件遭到破壞,可以將日志文件進(jìn)行多個(gè)相同的備份,這就是鏡像日志文件。對(duì)日志文件鏡像時(shí),應(yīng)盡量將同組成員放到不同的磁盤(pán)中,一旦一個(gè)磁盤(pán)損壞,還可以從其他磁盤(pán)內(nèi)獲得重做數(shù)據(jù)。管理控制文件控制文件是數(shù)據(jù)庫(kù)運(yùn)行必不可少的文件,啟動(dòng)數(shù)據(jù)庫(kù)時(shí),oracle必須讀取控制文件。控制文件內(nèi)存儲(chǔ)了數(shù)據(jù)庫(kù)的結(jié)構(gòu)。初始化參數(shù)control_files指定數(shù)據(jù)庫(kù)使用的控制文件列表,實(shí)例啟動(dòng)時(shí)首先打開(kāi)它,然后根據(jù)控制文件內(nèi)容打開(kāi)需要的數(shù)據(jù)文件、日志文件等文件,如果找不到控制文件,就找不到數(shù)據(jù)文件、日志文件等文件。Oracle數(shù)據(jù)庫(kù)至少應(yīng)該有兩個(gè)控制文件,數(shù)據(jù)庫(kù)物理結(jié)構(gòu)發(fā)生以下改動(dòng)時(shí)應(yīng)該備份控制文件:增加、刪除或重命名數(shù)據(jù)文件;增加或刪除表空間,或改變了表空間的讀寫(xiě)狀態(tài);增加或刪除日志組或成員。管理歸檔日志文件一個(gè)歸檔日志文件是一個(gè)已經(jīng)寫(xiě)滿的聯(lián)機(jī)日志文件的拷貝,包括這個(gè)日志文件的所有重要條目以及惟一的日志序號(hào)。 在ARCHIVELOG模式下,日志寫(xiě)進(jìn)程在日志組沒(méi)有歸檔前不允許被重用和覆蓋。啟動(dòng)自動(dòng)歸檔后歸檔進(jìn)程能夠自動(dòng)進(jìn)行歸檔操作。Oracle會(huì)自動(dòng)啟動(dòng)多個(gè)歸檔進(jìn)程以避免聯(lián)機(jī)重做日志組歸檔落后。 歸檔日志文件具有以下作用:使用歸檔日志文件可以恢復(fù)數(shù)據(jù)庫(kù);使用歸檔日志文件可以更新備用數(shù)據(jù)庫(kù);使用logminer分析歸檔日志文件可以獲得數(shù)據(jù)庫(kù)的歷史信息Noarchivelog與archivelog模式: 啟用Noarchivelog模式后,也就停用了聯(lián)機(jī)重做日志的歸檔。啟用archivelog模式后,也就啟用了聯(lián)機(jī)日志的歸檔。 日志文件組歸檔有以下優(yōu)點(diǎn):將數(shù)據(jù)庫(kù)備份與聯(lián)機(jī)重做日志文件和歸檔重做日志文件一起使用,當(dāng)操作系統(tǒng)或磁盤(pán)失敗后能保證恢復(fù)所有已經(jīng)提交的事務(wù);如果保存了歸檔日志文件,可以在數(shù)據(jù)庫(kù)打開(kāi)時(shí)備份數(shù)據(jù)庫(kù);備份數(shù)據(jù)庫(kù)可以不斷地應(yīng)用原數(shù)據(jù)庫(kù)的歸檔日志文件,以保證備用數(shù)據(jù)庫(kù)與原數(shù)據(jù)庫(kù)的數(shù)據(jù)一致控制歸檔方式1、啟動(dòng)歸檔:可以用alterdatabase的noarchivelog或archivelog子句切換歸檔模式。 (1)關(guān)閉數(shù)據(jù)庫(kù)實(shí)例 (2)備份數(shù)據(jù)庫(kù),(3)編輯初始化參數(shù)文件,設(shè)定歸檔目標(biāo)位置。(4)啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例,裝配數(shù)據(jù)庫(kù),但是不打開(kāi)數(shù)據(jù)庫(kù)(5)改變數(shù)據(jù)庫(kù)的歸檔方式,打開(kāi)數(shù)據(jù)庫(kù)
2、啟動(dòng)自動(dòng)歸檔:如果操作系統(tǒng)允許的話,能夠啟用聯(lián)機(jī)重做日志文件的自動(dòng)歸檔,啟動(dòng)自動(dòng)歸檔后,如果日志文件組被填滿,不需要復(fù)制一個(gè)組。因?yàn)閛racle會(huì)自動(dòng)對(duì)它進(jìn)行歸檔。Oracle必須工作在archivelog方式才能進(jìn)行自動(dòng)歸檔日志。3、停止自動(dòng)歸檔 任何時(shí)候都能停止聯(lián)機(jī)日志組的自動(dòng)歸檔。一旦自動(dòng)歸檔被停用,必須及時(shí)手工歸檔日志組。 要停用自動(dòng)歸檔,必須有系統(tǒng)管理員權(quán)限。4、手動(dòng)歸檔 如果數(shù)據(jù)庫(kù)運(yùn)行在archivelog模式下,就必須歸檔那些寫(xiě)滿了的不活動(dòng)的聯(lián)機(jī)重做日志組,如果自動(dòng)歸檔沒(méi)有啟動(dòng),則必須手工歸檔聯(lián)機(jī)日志組,作用如下: (1)如果沒(méi)有啟動(dòng)自動(dòng)歸檔,管理員必須及時(shí)手工地歸檔那些被寫(xiě)滿了的不活動(dòng)的聯(lián)機(jī)重做日志組。(2)啟動(dòng)自動(dòng)歸檔后,如果想歸檔重做日志組成員到其他地點(diǎn),就只能使用手工歸檔。第四章數(shù)據(jù)庫(kù)對(duì)象的操作3.1界面操作表數(shù)據(jù)3.2命令操作表數(shù)據(jù)3.3默認(rèn)值約束3.4索引3.5簇3.6同義詞3.7數(shù)據(jù)庫(kù)連接3.8數(shù)據(jù)完整性3.1界面操作表數(shù)據(jù)表數(shù)據(jù)編輯器3.1界面操作表數(shù)據(jù)更新表格模式3.1界面操作表數(shù)據(jù)圖形化選擇模式3.1界面操作表數(shù)據(jù)3.1界面操作表數(shù)據(jù)自由SQL模式3.1界面操作表數(shù)據(jù)插入表記錄3.1界面操作表數(shù)據(jù)刪除表記錄3.1界面操作表數(shù)據(jù)修改表記錄3.2命令操作表數(shù)據(jù)通過(guò)SQL*PLUS工具完成插入表記錄 語(yǔ)法格式:
Insertintotable_name[column_list]
Values(constant1,constant2)注意:1.插入時(shí),列表值必須與列名表的順序和數(shù)據(jù)類型一致,若列名表未給定,列表值應(yīng)包含表中的每一列,切順序和數(shù)據(jù)類型與原表中字段一致2.VALUES中的值應(yīng)是一個(gè)常量、變量或表達(dá)式.字符型的字段必須用單引號(hào)括起來(lái),對(duì)于日期型的字段需要的話可用函數(shù)轉(zhuǎn)換TO_DATE3.空值用NULL表示,若列值指定為默認(rèn)值,用DEFAULT表示3.2命令操作表數(shù)據(jù)常用數(shù)據(jù)函數(shù)1.用于測(cè)試和計(jì)算的DUAL表
dual是Oracle與數(shù)據(jù)字典一起自動(dòng)創(chuàng)建的一個(gè)表﹐它只有一
列﹕DUMMY﹐其數(shù)據(jù)類型為﹕VARCHAR2(1)。
dual中只有一行數(shù)據(jù)﹕‘X’。dual屬于sys用戶﹐但所有用戶都
可以使用dual名稱訪問(wèn)它
用SELECT計(jì)算常量表達(dá)式時(shí)常用該表﹐因?yàn)樗环祷匾恍袛?shù)據(jù)
﹐而使用其它表時(shí)可能返回多個(gè)數(shù)據(jù)行。例如:select4+2fromdual;
結(jié)果4+2
--------
63.2命令操作表數(shù)據(jù)常用數(shù)據(jù)函數(shù)2.數(shù)值型函數(shù)
CEIL(n)大于等于數(shù)值n的最小整數(shù)
例如:selectceil(20.6)fromdual;21
FLOOR(n)小于等于數(shù)值n的最大整數(shù)
例如:selectfloor(20.6)fromdual;20
POWER(m,n)m的n次方
例如:selectpower(4,2)fromdual;16
ROUND(n,m)將n四舍五入,保留小數(shù)點(diǎn)后m位
例如:selectround(1234.5678,2)1234.573.2命令操作表數(shù)據(jù)常用數(shù)據(jù)函數(shù)2.數(shù)值型函數(shù)
SIGN(n)若n=0,返回0;否則n>0,返回1;n<0,返回-1
例如:selectsign(15)fromdual;1
SORT(n)n的平方根
例如:selectsort(49)fromdual;73.2命令操作表數(shù)據(jù)常用數(shù)據(jù)函數(shù)3.字符型函數(shù)
INITCAP(char)把字符串的第一個(gè)字母換成大寫(xiě)
例如:selectinitcap(‘string’)fromdual;String
LOWER(char)整個(gè)字符串換成小寫(xiě)
例如:selectlower(‘AbCd’)fromdual;abcd
REPLACE(char,str1,str2)把字符串中所有str1換成str2
例如:selectreplace(‘woiteo’,’o’,’r’)fromdual;writer
SUBSTR(char,m,n)取出從m字符開(kāi)始的n個(gè)字符的子串
例如:selectsubstr(‘ABCDEF’,2,2)fromdual;BC3.2命令操作表數(shù)據(jù)常用數(shù)據(jù)函數(shù)3.字符型函數(shù)
LENGTH(char)求字符串的長(zhǎng)度
例如:selectlength(‘a(chǎn)bcdefg’)fromdual;7
并置運(yùn)算符”||”表示字符串的連接
例如:select‘ABC’||’DEF’fromdual;ABCDEF
3.2命令操作表數(shù)據(jù)常用數(shù)據(jù)函數(shù)4.日期型函數(shù)
SYSDATE當(dāng)前系統(tǒng)日期和時(shí)間
例如:selectsysdatefromdual;08-9月-06
LAST_DAY(d)月的最后一天
例如:selectlast_day(sysdate)fromdual;30-9月-06
ADD_MONTHS(d,n)日期d后n個(gè)月
例如:selectadd_months(sysdate,3)fromdual;08-9月-06
MONTHS_BETWEEN(f,s)日期f和s間相差的月數(shù)
例如:selectmonths_between(sysdate,’08-2月-06’)fromdual;73.2命令操作表數(shù)據(jù)常用數(shù)據(jù)函數(shù)4.日期型函數(shù)
NEXT_DAY(d,day)d后第一周的day日期
例如:selectnext_day(sysdate,’星期一’)fromdual;11-9月-065.特殊格式的日期型數(shù)據(jù)
Y(YY,YYY,YYYY)年的最后一位(兩位\三位\四位)
例如:selectTO_CHAR(SYSDATE,’YYY’)FROMdual;006其中:TO_CHAR表示將任意類型的數(shù)據(jù)轉(zhuǎn)換成字符類型,類似地有TO_NUMBER表示將一個(gè)合法的數(shù)字字符串轉(zhuǎn)換為數(shù)值;TO_DATE表示將適當(dāng)格式的字符串?dāng)?shù)據(jù)轉(zhuǎn)換成日期型數(shù)據(jù)
3.2命令操作表數(shù)據(jù)常用數(shù)據(jù)函數(shù)5.特殊格式的日期型數(shù)據(jù)
Q季度例如:selectTO_CHAR(SYSDATE,’Q’)FROMdual;3
MM月份數(shù)例如:selectTO_CHAR(SYSDATE,’MM’)FROMdual;09MONTH月份例如:selectTO_CHAR(SYSDATE,’MOUTH’)FROMdual;9月
DD日期數(shù)例如:selectTO_CHAR(SYSDATE,’DD’)FROMdual;08W本月的第幾周例如:selectTO_CHAR(SYSDATE,’W’)FROMdual;23.2命令操作表數(shù)據(jù)常用數(shù)據(jù)函數(shù)5.特殊格式的日期型數(shù)據(jù)
D周內(nèi)第幾天例如:selectTO_CHAR(SYSDATE,’D’)FROMdual;6
HH(HH12)12進(jìn)制小時(shí)數(shù)/下午15點(diǎn)53分18秒例如:selectTO_CHAR(SYSDATE,’HH’)FROMdual;03HH2424進(jìn)制小時(shí)數(shù)例如:selectTO_CHAR(SYSDATE,’HH24’)FROMdual;15MI分鐘數(shù)(0-59)
例如:selectTO_CHAR(SYSDATE,’MI’)FROMdual;53SS秒數(shù)(0-59)
例如:selectTO_CHAR(SYSDATE,’SS’)FROMdual;183.2命令操作表數(shù)據(jù)刪除表記錄1.使用DELETE命令 語(yǔ)法格式:
Deletefromtable_name/view_name[wherecondition]2.使用TRUNCATE命令 語(yǔ)法格式:
TruncateTable
table_name
3.2命令操作表數(shù)據(jù)修改表記錄 語(yǔ)法格式:
UPDATEtable_name|view_name SETcolumn_name=expression,[..n]
[wherecondition]
第四章備份與恢復(fù)目標(biāo)了解數(shù)據(jù)庫(kù)備份與恢復(fù)的基礎(chǔ)知識(shí)理解在Oracle環(huán)境中可能發(fā)生的故障類型掌握導(dǎo)出和導(dǎo)入實(shí)用程序(重點(diǎn))了解數(shù)據(jù)庫(kù)歸檔模式(重點(diǎn))專業(yè)英語(yǔ)Archive 存檔,檔案文件Recovery 恢復(fù),痊愈,防御Backup 后援,支持,阻塞,做備份備份與恢復(fù)簡(jiǎn)介備份是數(shù)據(jù)庫(kù)中數(shù)據(jù)的副本,它可以保護(hù)數(shù)據(jù)在出現(xiàn)意外損失時(shí)最大限度的恢復(fù)Oracle數(shù)據(jù)庫(kù)的備份包括以下兩種類型:邏輯備份(導(dǎo)出)物理備份(脫機(jī)備份,聯(lián)機(jī)備份)
備份物理備份邏輯備份物理備份是對(duì)數(shù)據(jù)庫(kù)的操作系統(tǒng)物理文件(如數(shù)據(jù)文件、控制文件和日志文件等)的備份邏輯備份是對(duì)數(shù)據(jù)庫(kù)邏輯組件(如表、視圖和存儲(chǔ)過(guò)程等數(shù)據(jù)庫(kù)對(duì)象)的備份故障類型故障類型語(yǔ)句故障介質(zhì)故障實(shí)例故障用戶進(jìn)程故障導(dǎo)致數(shù)據(jù)庫(kù)操作中止的故障包括四種類型:在執(zhí)行SQL語(yǔ)句過(guò)程中發(fā)生的邏輯故障可導(dǎo)致語(yǔ)句故障。如果用戶編寫(xiě)的SQL語(yǔ)句無(wú)效,就會(huì)發(fā)生邏輯故障當(dāng)用戶程序出錯(cuò)而無(wú)法訪問(wèn)數(shù)據(jù)庫(kù)時(shí)發(fā)生用戶進(jìn)程故障。導(dǎo)致用戶進(jìn)程故障的原因是異常斷開(kāi)連接或異常終止進(jìn)程
當(dāng)Oracle的數(shù)據(jù)庫(kù)實(shí)例由于硬件或軟件問(wèn)題而無(wú)法繼續(xù)運(yùn)行時(shí),就會(huì)發(fā)生實(shí)例故障在數(shù)據(jù)庫(kù)無(wú)法正確讀取或?qū)懭肽硞€(gè)數(shù)據(jù)庫(kù)文件時(shí),會(huì)發(fā)生介質(zhì)故障
導(dǎo)出和導(dǎo)入實(shí)用程序4-1導(dǎo)出和導(dǎo)入實(shí)用程序用于實(shí)施數(shù)據(jù)庫(kù)的邏輯備份和恢復(fù)導(dǎo)出實(shí)用程序?qū)?shù)據(jù)庫(kù)中的對(duì)象定義和數(shù)據(jù)備份到一個(gè)操作系統(tǒng)二進(jìn)制文件中導(dǎo)入實(shí)用程序讀取二進(jìn)制導(dǎo)出文件并將對(duì)象和數(shù)據(jù)載入數(shù)據(jù)庫(kù)中導(dǎo)出和導(dǎo)入實(shí)用程序4-2導(dǎo)出和導(dǎo)入實(shí)用程序的特點(diǎn)有:可以按時(shí)間保存表結(jié)構(gòu)和數(shù)據(jù)允許導(dǎo)出指定的表,并重新導(dǎo)入到新的數(shù)據(jù)庫(kù)中可以把數(shù)據(jù)庫(kù)遷移到另外一臺(tái)異構(gòu)服務(wù)器上在兩個(gè)不同版本的Oracle數(shù)據(jù)庫(kù)之間傳輸數(shù)據(jù)在聯(lián)機(jī)狀態(tài)下進(jìn)行備份和恢復(fù)可以重新組織表的存儲(chǔ)結(jié)構(gòu),減少鏈接及磁盤(pán)碎片導(dǎo)出和導(dǎo)入實(shí)用程序4-3使用以下三種方法調(diào)用導(dǎo)出和導(dǎo)入實(shí)用程序:調(diào)用導(dǎo)出和導(dǎo)入程序
命令行參數(shù)參數(shù)文件交互提示符在命令行指定執(zhí)行程序的參數(shù)和參數(shù)值。以交互的方式提示用戶逐個(gè)輸入?yún)?shù)的值。允許用戶將運(yùn)行參數(shù)和參數(shù)值存儲(chǔ)在參數(shù)文件中,以便重復(fù)使用參數(shù)導(dǎo)出和導(dǎo)入實(shí)用程序
4-4導(dǎo)出和導(dǎo)入數(shù)據(jù)庫(kù)對(duì)象的四種模式是:導(dǎo)出導(dǎo)入模式完全數(shù)據(jù)庫(kù)表空間表用戶導(dǎo)出和導(dǎo)入整個(gè)數(shù)據(jù)庫(kù)中的所有對(duì)象導(dǎo)出和導(dǎo)入一個(gè)或多個(gè)指定的表或表分區(qū)導(dǎo)出和導(dǎo)入一個(gè)用戶模式中的所有對(duì)象導(dǎo)出和導(dǎo)入一個(gè)或多個(gè)指定的表空間中的所有對(duì)象1、導(dǎo)出export定義:將包含在數(shù)據(jù)庫(kù)中的數(shù)據(jù)連同數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)(即重建表、索引和其他數(shù)據(jù)庫(kù)對(duì)象所必須的結(jié)構(gòu)信息)寫(xiě)入一個(gè)操作系統(tǒng)文件(稱為導(dǎo)出存儲(chǔ)文件)的過(guò)程。三種模式:1)全局模式:導(dǎo)出數(shù)據(jù)庫(kù)中的所有對(duì)象,包括所有數(shù)據(jù)、數(shù)據(jù)定義和用來(lái)重建數(shù)據(jù)庫(kù)的存儲(chǔ)對(duì)象。2)用戶模式:導(dǎo)出用戶所有對(duì)象以及對(duì)象中的數(shù)據(jù)。3)表模式:導(dǎo)出表和相關(guān)的數(shù)據(jù)字典信息。導(dǎo)出模式:交互模式/命令行模式/參數(shù)文件模式注:在服務(wù)器端可用c:\exp類似命令方式,在客戶端需要用類似于c:\expsystem/manager@xscj的格式導(dǎo)出命令基本格式:Expuserid=username/passwordparameter=(value1,value2,…,valuen)注:1)導(dǎo)出的用戶必須擁有exp_all_database的角色信息
2)為了避免在導(dǎo)出過(guò)程中由于數(shù)據(jù)庫(kù)的更新造成數(shù)據(jù)的不一致性,可指定導(dǎo)出參數(shù)consistent=Y。例如:1)、表模式導(dǎo)出C:\exphr/passwordtables=employeesfile=test.dmp--單張表C:\exphr/passwordtables=(employees,jobs)file=test.dmp--多張表2)、用戶模式導(dǎo)出C:\exphr/passwordowner=hrfile=test.dmp例如:3)、完全數(shù)據(jù)庫(kù)導(dǎo)出C:\expsystem/passwordfull=Yconstraint=Yfile=test.dmp因?yàn)橥耆珜?dǎo)出數(shù)據(jù)庫(kù)需要很長(zhǎng)時(shí)間,可以通過(guò)改變執(zhí)行方式的方法來(lái)提高效率,可將參數(shù)direct設(shè)置為Y,采用直接方式導(dǎo)出時(shí)繞過(guò)緩沖區(qū)。C:\expsystem/passwordfull=Yconstraint=Yfile=test.dmpdirect=Y2、導(dǎo)入import定義:從導(dǎo)出文件中讀取所需對(duì)象的定義和相關(guān)的數(shù)據(jù),然后將它們重新導(dǎo)入到數(shù)據(jù)庫(kù)中。三種模式:1)全局模式2)用戶模式3)表模式導(dǎo)入模式:交互模式/命令行模式導(dǎo)入命令基本格式:impuserid=username/passwordparameter=(value1,value2,…,valuen)注:1)導(dǎo)入的用戶必須擁有imp_all_database的角色信息
2)導(dǎo)入操作中,應(yīng)避免參數(shù)之間互相沖突造成的錯(cuò)誤。例如:1)、表模式導(dǎo)入C:\impsystem/passwordfromuser=hrtouser=testtables=jobsfile=test.dmp2)、用戶模式導(dǎo)出C:\impsystem/passwordfromuser=hrtouser=testfile=test.dmp數(shù)據(jù)導(dǎo)出:
1、expsystem/manager@TESTfile=d:\daochu.dmpfull=y2、expsystem/manager@TESTfile=d:\daochu.dmpowner=(system,sys)3、expaichannel/aichannel@TESTDB2file=d:\data\newsmgnt.dmptables=(inner_notify,notify_staff_relat)
將數(shù)據(jù)庫(kù)TEST完全導(dǎo)出,用戶名system密碼manager導(dǎo)出到D:\daochu.dmp中將數(shù)據(jù)庫(kù)中system用戶與sys用戶的表導(dǎo)出將數(shù)據(jù)庫(kù)中的表inner_notify、notify_staff_relat導(dǎo)出數(shù)據(jù)導(dǎo)出:4、expsystem/manager@TESTfile=d:\daochu.dmptables=(table1)query=\"wherefiled1like'00%'\"將數(shù)據(jù)庫(kù)中的表table1中的字段filed1以"00"打頭的數(shù)據(jù)導(dǎo)出數(shù)據(jù)的導(dǎo)入:
1、impsystem/manager@TESTfile=d:\daochu.dmpfull=yignore=y2、impsystem/manager@TESTfile=d:\daochu.dmptables=(table1)
將D:\daochu.dmp中的數(shù)據(jù)導(dǎo)入TEST數(shù)據(jù)庫(kù)中。以上操作可能會(huì)出現(xiàn)問(wèn)題,因?yàn)橛械谋硪呀?jīng)存在,就會(huì)出現(xiàn)報(bào)錯(cuò),對(duì)該表就不進(jìn)行導(dǎo)入。在后面加上ignore=y就可以解決。將d:\daochu.dmp中的表table1導(dǎo)入3、使用導(dǎo)出/導(dǎo)入向?qū)Чぞ邤?shù)據(jù)庫(kù)對(duì)導(dǎo)出/導(dǎo)入操作分別提供了兩個(gè)對(duì)應(yīng)的工具OracleImportUtility--impOracleExportUtility--exp導(dǎo)出工具導(dǎo)出工具導(dǎo)出工具導(dǎo)出工具導(dǎo)入工具導(dǎo)入工具數(shù)據(jù)庫(kù)歸檔方式3-1Oracle數(shù)據(jù)庫(kù)可以運(yùn)行在兩種歸檔方式:非歸檔日志方式歸檔日志方式非歸檔日志方式可以避免實(shí)例故障,但無(wú)法避免介質(zhì)故障。在此方式下,數(shù)據(jù)庫(kù)只能實(shí)施冷備份歸檔日志方式產(chǎn)生歸檔日志,用戶可以使用歸檔日志完全恢復(fù)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)歸檔方式3-2非歸檔日志方式下數(shù)據(jù)庫(kù)的工作原理:表空間脫機(jī)備份表空間恢復(fù)表空間表空間聯(lián)機(jī)數(shù)據(jù)庫(kù)歸檔方式3-3歸檔日志方式下數(shù)據(jù)庫(kù)的工作原理:日志文件1填滿清空日志文件2向日志文件2寫(xiě)入信息準(zhǔn)備向日志文件2寫(xiě)入信息備份日志文件2配置歸檔日志方式4-1配置數(shù)據(jù)庫(kù)在歸檔日志方式下運(yùn)行,包括以下三個(gè)步驟:確保數(shù)據(jù)庫(kù)當(dāng)前不處于歸檔方式設(shè)置相關(guān)數(shù)據(jù)庫(kù)初始化參數(shù)在歸檔日志方式下啟動(dòng)數(shù)據(jù)庫(kù)174配置歸檔日志方式4-2查看當(dāng)前數(shù)據(jù)庫(kù)的歸檔方式175設(shè)置相關(guān)啟動(dòng)參數(shù)配置歸檔日志方式4-3配置歸檔日志方式4-4以歸檔方式啟動(dòng)數(shù)據(jù)庫(kù)自動(dòng)歸檔和手動(dòng)歸檔歸檔日志方式下的數(shù)據(jù)庫(kù)自動(dòng)歸檔手動(dòng)歸檔數(shù)據(jù)庫(kù)的日志歸檔方式有兩種:手動(dòng)歸檔允許用戶手動(dòng)歸檔非活動(dòng)日志文件文件的已填充組自動(dòng)歸檔對(duì)非活動(dòng)日志文件文件進(jìn)行自動(dòng)歸檔獲取歸檔日志信息SQL>SELECTDEST_ID,DEST_NAME,STATUS,DESTINATIONFROMV$ARCHIVE_DESTWHERESTATUS='VALID';目標(biāo)位置名稱目標(biāo)位置的狀態(tài)歸檔日志文件的路徑可以通過(guò)數(shù)據(jù)字典視圖查看歸檔日志信息V$ARCHIVE_DEST-顯示當(dāng)前所有歸檔日志存儲(chǔ)位置及其狀態(tài)V$ARCHIVE_LOG-顯示歷史歸檔日志信息SQL>SELECTDEST_ID,NAME,ARCHIVEDFROMV$ARCHIVED_LOG;目標(biāo)位置編號(hào)歸檔日志文件名及完整路徑是否已歸檔冷備份又稱脫機(jī)備份,必須在數(shù)據(jù)庫(kù)已經(jīng)正常關(guān)閉的情況下進(jìn)行,此時(shí),系統(tǒng)會(huì)提供給用戶一個(gè)完整的數(shù)據(jù)庫(kù)。冷備份時(shí)可以將數(shù)據(jù)庫(kù)使用的每個(gè)文件都備份下來(lái),這些文件包括:所有控制文件(文件后綴名為.CTL,默認(rèn)路徑Oracle\oradata\oradb)所有數(shù)據(jù)文件(文件后綴名為.DBF,默認(rèn)路徑Oracle\oradata\oradb)所有聯(lián)機(jī)REDOLOG文件(文件形式為REDO*.*,默認(rèn)路徑Oracle\oradata\oradb)初始化文件pfile(可選)(默認(rèn)路徑Oracle\admin\oradb\pfile)冷備份與恢復(fù)冷備份是最簡(jiǎn)單和最安全的方法。冷備份的優(yōu)點(diǎn)是:(1)是非常簡(jiǎn)單的備份方法(只需拷貝文件)。(2)容易歸檔(簡(jiǎn)單拷貝即可)。(3)容易恢復(fù)到某個(gè)時(shí)間點(diǎn)上(只需將文件再拷貝回去)。(4)能與歸檔方法相結(jié)合,作數(shù)據(jù)庫(kù)“最新?tīng)顟B(tài)”的恢復(fù)。(5)低度維護(hù),高度安全。
熱備份(又稱聯(lián)機(jī)備份)要求數(shù)據(jù)庫(kù)必須在歸檔方式下操作,由于熱備份需要消耗較多的系統(tǒng)資源,因此DBA應(yīng)安排在數(shù)據(jù)庫(kù)不使用或使用率較低的情況下進(jìn)行。熱備份的優(yōu)點(diǎn)是:(1)可在表空間或數(shù)據(jù)文件級(jí)備份,備份時(shí)間短。(2)備份時(shí)數(shù)據(jù)庫(kù)仍可使用。(3)可達(dá)到秒級(jí)恢復(fù)(恢復(fù)到某一時(shí)間點(diǎn)上)。(4)可對(duì)幾乎所有數(shù)據(jù)庫(kù)實(shí)體作恢復(fù)。(5)恢復(fù)是快速的,在大多數(shù)情況下在數(shù)據(jù)庫(kù)仍工作時(shí)恢復(fù)。熱備份與恢復(fù)熱備份的不足是:(1)不能出錯(cuò),否則后果嚴(yán)重。(2)若熱備份不成功,所得結(jié)果不可用于時(shí)間點(diǎn)的恢復(fù)。(3)較難維護(hù),必須仔細(xì)小心,不允許失敗??梢允褂肧QL*Plus程序和OEM中的備份向?qū)煞N方法進(jìn)行熱備份。備份過(guò)程:(1)查看數(shù)據(jù)庫(kù)是否己經(jīng)啟動(dòng)歸檔日志:archiveloglist;如果歸檔日志模式?jīng)]有啟動(dòng),則打開(kāi)數(shù)據(jù)庫(kù)的歸檔日志模式,先使用shutdownimmediate命令關(guān)閉數(shù)據(jù)庫(kù),然后使用如下命令啟動(dòng)數(shù)據(jù)庫(kù):startupmount;(2)修改數(shù)據(jù)庫(kù)的歸檔日志模式:alterdatabasearchivelog;(3)查看數(shù)據(jù)庫(kù)中的表空間文件:selectfilenamefromdba_data_files;(4)使數(shù)據(jù)庫(kù)表空間處于熱備份狀態(tài);altertablespaceexamplebeginbackup;(5)此時(shí)可以直接將表空間數(shù)據(jù)文件復(fù)制到另一個(gè)目錄中進(jìn)行備份,復(fù)制完成后使用如下命令完成數(shù)據(jù)的備份:altertablespaceexampleendbackup;恢復(fù):(1)首先使出現(xiàn)問(wèn)題的表空間處于脫機(jī)狀態(tài):SQL>alterdatabasedatafile'd:\oracle\oradata\oradb\example0l.dbfoffline’;(2)將原先備份的表空間文件復(fù)制到其原來(lái)所在的目錄,并覆蓋原有文件。(3)使用recover命令進(jìn)行介質(zhì)恢復(fù),恢復(fù)example表空間:SQL>recoverdatafile‘d:\oracle\oradata\oradb\example0l.dbf’;(4)將表空間恢復(fù)為聯(lián)機(jī)狀態(tài):SQL>alterdatabasedatafile'd:\oracle\oradata\oradb\example0l.dbfonline’;至此表空間數(shù)據(jù)恢復(fù)完成。1.基于Cancel的恢復(fù)使用基于Cancel的恢復(fù),可以把數(shù)據(jù)庫(kù)恢復(fù)到錯(cuò)誤發(fā)生前的某一狀態(tài)。具體步驟如下:(1)當(dāng)遇到數(shù)據(jù)庫(kù)錯(cuò)誤時(shí),首先使用shutdownimmediate命令關(guān)閉數(shù)據(jù)庫(kù),然后將備份的數(shù)據(jù)復(fù)制到相應(yīng)的目錄中。(2)使用startupmount命令啟動(dòng)數(shù)據(jù)庫(kù)。(3)使用recover命令對(duì)數(shù)據(jù)庫(kù)進(jìn)行基于Cancel的恢復(fù):SQL>recoverdatabaseuntilcancel;(4)恢復(fù)完成后,使用RESETLOGS模式啟動(dòng)數(shù)據(jù)庫(kù)即可:SQL>alterdatabaseopenresetlogs;幾種非完全恢復(fù)方法2.基于時(shí)間的恢復(fù)使用基于時(shí)間的恢復(fù),可以把數(shù)據(jù)庫(kù)恢復(fù)到錯(cuò)誤發(fā)生前的某一時(shí)間的狀態(tài)。具體步驟如下:(1)當(dāng)遇到數(shù)據(jù)庫(kù)錯(cuò)誤時(shí),首先使用shutdownimmediate命令關(guān)閉數(shù)據(jù)庫(kù),然后將備份的數(shù)據(jù)復(fù)制到相應(yīng)的目錄中。(2)使用startupmount命令啟動(dòng)數(shù)據(jù)庫(kù)。(3)使用recover命令對(duì)數(shù)據(jù)庫(kù)進(jìn)行基于時(shí)間的恢復(fù):SQL>recoverdatabaseuntiltime'12-20-2003,08:17:48';(4)恢復(fù)完成后,使用RESETLOGS模式啟動(dòng)數(shù)據(jù)庫(kù)即可:SQL>alterdatabaseopenresetlogs;3.基于SCN的恢復(fù)使用基于SCN的恢復(fù),可以把數(shù)據(jù)庫(kù)恢復(fù)到錯(cuò)誤發(fā)生前的某一個(gè)事務(wù)前的狀態(tài)。具體步驟如下:(1)當(dāng)遇到數(shù)據(jù)庫(kù)錯(cuò)誤時(shí),首先使用shutdownimmediate命令關(guān)閉數(shù)據(jù)庫(kù),然后將備份的數(shù)據(jù)復(fù)制到相應(yīng)的目錄中。(2)使用startupmount命令啟動(dòng)數(shù)據(jù)庫(kù)。(3)使用recover命令對(duì)數(shù)據(jù)庫(kù)進(jìn)行基于SCN的恢復(fù):SQL>recoverdatabaseuntilchange470786058;(4)恢復(fù)完成后,使用RESETLOGS模式啟動(dòng)數(shù)據(jù)庫(kù)即可:SQL>alterdatabaseopenresetlogs;比較總結(jié)數(shù)據(jù)庫(kù)備份用于保護(hù)數(shù)據(jù)庫(kù)中的數(shù)據(jù),有兩種類型的備份:物理備份和邏輯備份導(dǎo)致數(shù)據(jù)庫(kù)操作中止的故障類型有:語(yǔ)句故障、用戶進(jìn)程故障、實(shí)例故障和介質(zhì)故障Oracle提供導(dǎo)出和導(dǎo)入實(shí)用程序?qū)嵤?shù)據(jù)庫(kù)的邏輯備份導(dǎo)出導(dǎo)入實(shí)用程序有四種工作模式:完全數(shù)據(jù)庫(kù)、表、用戶和表空間數(shù)據(jù)庫(kù)可在兩種方式下運(yùn)行:非歸檔日志方式和歸檔日志方式冷備和熱備的備份和恢復(fù)方法。第五章系統(tǒng)安全管理5.1用戶管理5.2權(quán)限管理5.3利用角色進(jìn)行權(quán)限管理5.4概要文件管理7.5數(shù)據(jù)字典視圖(1)對(duì)用戶登錄進(jìn)行身份驗(yàn)證.(2)對(duì)用戶操作進(jìn)行權(quán)限控制.兩者都可以稱為阻止未授權(quán)用戶訪問(wèn),前者稱為非法用戶,后者稱為用戶權(quán)限不夠.對(duì)用戶登錄一般采用三種用戶認(rèn)證方法:口令認(rèn)證
/操作系統(tǒng)認(rèn)證/全局認(rèn)證數(shù)據(jù)庫(kù)的安全性1.用戶與用戶帳號(hào)的區(qū)別2.建立、修改和刪除用戶帳號(hào)(1)建立用戶帳號(hào)
createuser用戶名
identifiedby口令
[defaulttablespace表空間名]--默認(rèn)表空間
[temporarytablespace表空間名]--臨時(shí)表空間
[passwordexpire]--密碼是否過(guò)期
[account{lock|unlock}]--鎖定和解鎖用戶帳號(hào)5.1用戶管理例如:
Createuserzouping
indentifiedbyfhzk03;(2)修改用戶帳號(hào)
Alteruser用戶名
Indentifiedby新口令 5.1用戶管理例如:
Alteruserzouping
indentifiedbyz12345;(3)刪除用戶帳號(hào)
Dropuser用戶名如被刪除的用戶帳號(hào)擁有數(shù)據(jù)庫(kù)對(duì)象(表、索引、視圖等),則刪除用戶帳號(hào)時(shí)需要采用帶CASCADE的命令。
Dropuser用戶名CASCADE;例如:
DropuserzoupingCASCADE;3.更改用戶的表空間設(shè)置
ALTERUSER用戶名
defaulttablespace表空間名--默認(rèn)表空間
temporarytablespace表空間名--臨時(shí)表空間5.1用戶管理例如:
Alteruserzouping
defaulttablespaceuser
temporarytablespaceusertemp;4.鎖定和解鎖用戶帳戶為什么要進(jìn)行用戶帳戶的鎖定和解鎖?
ALTERUSER用戶名
accountlock|unlock;5.1用戶管理例如:
Alteruserzouping
accountlock;--鎖定帳戶Alteruserzouping
accountunlock;
--解鎖帳戶權(quán)限是執(zhí)行特定SQL語(yǔ)句和訪問(wèn)對(duì)象的權(quán)利。1、控制Oracle數(shù)據(jù)庫(kù)訪問(wèn)的權(quán)限類型有兩種,分別是系統(tǒng)權(quán)限和對(duì)象權(quán)限。(1)系統(tǒng)權(quán)限系統(tǒng)權(quán)限是執(zhí)行特定操作(如創(chuàng)建數(shù)據(jù)庫(kù)、從表中刪除行數(shù)據(jù)等)的權(quán)限,它向用戶提供了執(zhí)行某一種或某一類型的數(shù)據(jù)庫(kù)操作的能力。具體見(jiàn)P472D.25.2權(quán)限管理(2)對(duì)象權(quán)限對(duì)象權(quán)限控制用戶能否在特定數(shù)據(jù)庫(kù)對(duì)象(如表、視圖或存儲(chǔ)過(guò)程)上執(zhí)行特定類型的操作。這些對(duì)象權(quán)限包括:Select/update/delete/insert/execute/read/index/references/alter5.2權(quán)限管理2、將系統(tǒng)權(quán)限授予用戶和撤銷授予用戶的系統(tǒng)權(quán)限(1)將系統(tǒng)權(quán)限授予用戶
GRANT{系統(tǒng)權(quán)限[,系統(tǒng)權(quán)限]…|ALL[privileges]} TO{用戶名[,用戶名]…|PUBLIC} [WITHADMINOPTION];--具有將權(quán)限授予其他用戶的能力
(2)撤銷授予用戶的系統(tǒng)權(quán)限
REVOKE{系統(tǒng)權(quán)限[,系統(tǒng)權(quán)限]…|ALL[privileges]} FROM{用戶名[,用戶名]…|PUBLIC};5.2權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《醫(yī)療機(jī)構(gòu)工作人員廉潔從業(yè)九項(xiàng)準(zhǔn)則》試題及答案
- 醫(yī)院手術(shù)實(shí)操考試題庫(kù)及答案
- 道路安全員模擬考試題庫(kù)及答案
- 初中結(jié)業(yè)音樂(lè)試題及答案
- 2026魯南技師學(xué)院第一批招聘教師8人(山東)參考題庫(kù)附答案
- 上饒高鐵經(jīng)濟(jì)試驗(yàn)區(qū)社區(qū)工作者招聘【16人】考試備考題庫(kù)附答案
- 樂(lè)清市人力資源和社會(huì)保障局關(guān)于公開(kāi)選調(diào)2名下屬事業(yè)單位工作人員的備考題庫(kù)必考題
- 北京金融街資產(chǎn)管理有限公司2026校園招聘?jìng)淇碱}庫(kù)必考題
- 威海銀行2026屆校園招聘?jìng)淇碱}庫(kù)附答案
- 岳池縣酉溪鎮(zhèn)人民政府關(guān)于公開(kāi)招聘社區(qū)專職網(wǎng)格員的備考題庫(kù)附答案
- DL-T-5728-2016水電水利工程控制性灌漿施工規(guī)范
- 園林苗木的種實(shí)生產(chǎn)
- 鋼管支架貝雷梁拆除施工方案
- JJG 365-2008電化學(xué)氧測(cè)定儀
- 2024年新安全生產(chǎn)法培訓(xùn)課件
- 卷閘門合同書(shū)
- 煤礦運(yùn)輸知識(shí)課件
- 人口信息查詢申請(qǐng)表(表格)
- 一年級(jí)上冊(cè)數(shù)學(xué)期末質(zhì)量分析報(bào)告
- 公共視頻監(jiān)控系統(tǒng)運(yùn)營(yíng)維護(hù)要求
- 教育科學(xué)規(guī)劃課題中期報(bào)告 (雙減背景下家校共育策略研究)
評(píng)論
0/150
提交評(píng)論