Oracle數(shù)據(jù)庫培訓(xùn)教程_第1頁
Oracle數(shù)據(jù)庫培訓(xùn)教程_第2頁
Oracle數(shù)據(jù)庫培訓(xùn)教程_第3頁
Oracle數(shù)據(jù)庫培訓(xùn)教程_第4頁
Oracle數(shù)據(jù)庫培訓(xùn)教程_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Oracle數(shù)據(jù)庫培訓(xùn)培訓(xùn)內(nèi)容Oracle基礎(chǔ)知識(shí)Oracle體系結(jié)構(gòu)Oracle目錄結(jié)構(gòu)Oracle啟動(dòng)/停止方式Oracle表空間管理數(shù)據(jù)庫備份數(shù)據(jù)庫邏輯備份(exp)數(shù)據(jù)庫恢復(fù)管理器(RMAN)1.1Oracle產(chǎn)品簡(jiǎn)史Oracle,甲骨文自20世紀(jì)70成功推出Oracle產(chǎn)品以來,Oracle公司已經(jīng)成為世界上最大的數(shù)據(jù)庫專業(yè)廠商之一。1996年,Oracle公司成功推出了專門面向中國(guó)市場(chǎng)的數(shù)據(jù)庫產(chǎn)品,即Oracle7。1997年,Oracle公司推出了基于網(wǎng)絡(luò)計(jì)算的數(shù)據(jù)庫產(chǎn)品,即Oracle8。1999年,針對(duì)Internet技術(shù)的發(fā)展,Oracle公司推出了第一個(gè)基于Internet的數(shù)據(jù)庫,即Oracle8i。2001年,Oracle公司又推出了新一代Internet電子商務(wù)基礎(chǔ)架構(gòu),即Oracle9i。2003年9月,Oracle公司發(fā)布了其最新數(shù)據(jù)庫產(chǎn)品,即OracleDatabase10g。版本類型OracleDatabase10g標(biāo)準(zhǔn)版OracleDatabase10g企業(yè)版OracleDatabase10g個(gè)人版1.1Oracle產(chǎn)品

⑴數(shù)據(jù)庫產(chǎn)品

OracleDatabase10gRelease2(10.2.0.1.0)

⑵客戶端產(chǎn)品

OracleDatabase10gClientRelease2(10.2.0.1.0)

⑶企業(yè)管理產(chǎn)品

OracleEnterpriseManager10gGridControlRelease2(10.2.0.2.0),主要包括:Oracle管理代理OMA(OracleManagementAgent),Oracle管理服務(wù)OMS(OracleManagementService),Oracle管理資料檔案庫OMR(OracleManagementRepository)以及Oracle企業(yè)管理器OEM(OracleEnterpriseManager10g)網(wǎng)格控制臺(tái)等,是系統(tǒng)多層體系結(jié)構(gòu)和網(wǎng)格計(jì)算環(huán)境所不可缺少的管理工具。該產(chǎn)品大小為1,729,778,063字節(jié),約1.64GB

⑷中間件產(chǎn)品OracleApplicationServer10g和OracleCollaborationSuite10g。前者提供了基本的Web服務(wù)環(huán)境,也是運(yùn)行企業(yè)管理器的基礎(chǔ)。

⑸開發(fā)工具OracleDeveloperSuite10g和OracleJDeveloper10g

Oracle與SqlServer比較操作平臺(tái)-開放性

Oracle能在所有主流平臺(tái)上運(yùn)行(包括windows)。完全支持所有的工業(yè)標(biāo)準(zhǔn)。采用完全開放策略??梢允箍蛻暨x擇最適合的解決方案。對(duì)開發(fā)商全力支持

.而SQLServer卻只能在Windows上運(yùn)行了,這個(gè)就顯得比較單調(diào)了.安全性

SQLserver沒有獲得任何安全證書,Oracle獲得最高認(rèn)證級(jí)別的ISO標(biāo)準(zhǔn)認(rèn)證

性能方面

Sql多用戶時(shí)性能不佳,Oracle性能最高,保持開放平臺(tái)下的TPC-D和TPC-C的世界記錄

簡(jiǎn)易性

SQLServer明顯要比Orcale操作簡(jiǎn)單,全圖形界面,實(shí)施價(jià)格便宜等特點(diǎn)。Oracle的界面基本是基于Java的,大部分的工具是Dos界面的

Oracle則有著可靠安全性,在處理海量數(shù)據(jù)性能方面比SQLServer快上百倍,但其價(jià)格在實(shí)施中卻比SQLServer它高很多倍。

Oracle術(shù)語說明1.2Oracle數(shù)據(jù)庫Oracle數(shù)據(jù)庫的邏輯體系包括服務(wù)器和客戶端:Oracle服務(wù)器是一個(gè)關(guān)系數(shù)據(jù)庫管理系統(tǒng)(實(shí)際的數(shù)據(jù)庫)Oracle客戶端即為數(shù)據(jù)庫用戶操作端,由應(yīng)用、工具、PL/SQL等組成,用戶操作數(shù)據(jù)庫時(shí),必須連接到實(shí)際的數(shù)據(jù)庫。一服務(wù)器Oracle數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu):段(Segment):是表空間中一個(gè)指定類型的邏輯存儲(chǔ)結(jié)構(gòu),它由一個(gè)或多個(gè)范圍組成,段將占用并增長(zhǎng)存儲(chǔ)空間。其中包括:數(shù)據(jù)段:用來存放表數(shù)據(jù);.索引段:用來存放表索引;臨時(shí)段:用來存放中間結(jié)果;回滾段:用于出現(xiàn)異常時(shí),恢復(fù)事務(wù)。數(shù)據(jù)庫名數(shù)據(jù)庫名就是一個(gè)數(shù)據(jù)庫的標(biāo)識(shí),就像人的身份證號(hào)一樣。他用參數(shù)DB_NAME表示,如果一臺(tái)機(jī)器上裝了多全數(shù)據(jù)庫,那么每一個(gè)數(shù)據(jù)庫都有一個(gè)數(shù)據(jù)庫名。在數(shù)據(jù)庫安裝或創(chuàng)建完成之后,參數(shù)DB_NAME被寫入?yún)?shù)文件之中。格式如下:DB_NAME=myorcl在創(chuàng)建數(shù)據(jù)庫時(shí)就應(yīng)考慮好數(shù)據(jù)庫名,并且在創(chuàng)建完數(shù)據(jù)庫之后,數(shù)據(jù)庫名不宜修改,即使要修改也會(huì)很麻煩。因?yàn)椋瑪?shù)據(jù)庫名還被寫入控制文件中,控制文件是以二進(jìn)制型式存儲(chǔ)的,用戶無法修改控制文件的內(nèi)容。數(shù)據(jù)庫簡(jiǎn)介-當(dāng)前主流數(shù)據(jù)庫及其簡(jiǎn)介

ORACLESYSBASEINFORMIXSQLSERVERDB2關(guān)系數(shù)據(jù)庫元素實(shí)體和聯(lián)系鍵(key)數(shù)據(jù)完整性SQL語言關(guān)系數(shù)據(jù)庫簡(jiǎn)介-關(guān)系數(shù)據(jù)庫概念關(guān)系數(shù)據(jù)庫簡(jiǎn)介-關(guān)系數(shù)據(jù)庫概念-關(guān)系數(shù)據(jù)庫元素實(shí)體(Entity):客觀存在的并可相互區(qū)分的“事物”實(shí)體通常成為表,表由行和列組成,每一行描述實(shí)體的一個(gè)示例,每一列描述實(shí)體的一個(gè)特征實(shí)體在邏輯數(shù)據(jù)庫設(shè)計(jì)時(shí)被確定聯(lián)系(Relation):實(shí)體之間存在的對(duì)應(yīng)或連接關(guān)系一對(duì)一關(guān)系(1:1):表中的一行與相關(guān)表中的零行或多行相關(guān)一對(duì)多關(guān)系(1:n):表中的一行與相關(guān)表中的零行或多行相關(guān)多對(duì)多關(guān)系(n:m):表中的多行與相關(guān)表中的零行或多行相關(guān)聯(lián)系的實(shí)現(xiàn):在關(guān)系數(shù)據(jù)庫設(shè)計(jì)中,聯(lián)系通常利用邏輯鍵來實(shí)現(xiàn)關(guān)系數(shù)據(jù)庫簡(jiǎn)介-關(guān)系數(shù)據(jù)庫概念-實(shí)體和聯(lián)系主鍵超鍵(SuperKey):在一個(gè)關(guān)系中能唯一表示元組的屬性集侯選鍵(CandidateKey):一個(gè)屬性集能唯一標(biāo)識(shí)元組而又不含多余的屬性主鍵(PrimaryKey):被選用的侯選鍵外鍵公共鍵(CommonKey):兩個(gè)關(guān)系中具有相容(或相同)的屬性或?qū)傩越M外鍵(ForeignKey):如果公共鍵是其中一個(gè)關(guān)系的主鍵,那么這個(gè)公共鍵在另一個(gè)關(guān)系中稱為外鍵組合鍵組合鍵(CompositKey):由兩個(gè)或兩個(gè)以上屬性(列)組成的鍵關(guān)系數(shù)據(jù)庫簡(jiǎn)介-關(guān)系數(shù)據(jù)庫概念-鍵(KEY)實(shí)體完整性關(guān)系中的元組在組成主鍵的屬性上不能有空值,也不能有重復(fù)值,否則就不能起到唯一標(biāo)識(shí)元組的作用域完整性關(guān)系中的屬性取值的正確性限制,包括數(shù)據(jù)類型、精度、取值范圍、是否允許空值等參照完整性反映了實(shí)體之間存在的某種約束條件。要求外鍵的值不允許參照不存在的主鍵的值,它使主鍵和外鍵之間的值保持一致或相容,來維護(hù)數(shù)據(jù)庫數(shù)據(jù)的一致性或相容性業(yè)務(wù)規(guī)則一般包括數(shù)據(jù)完整性、參照完整性、遵循組織的任一其他需求,以便保證業(yè)務(wù)的正確運(yùn)行關(guān)系數(shù)據(jù)庫簡(jiǎn)介-關(guān)系數(shù)據(jù)庫概念-數(shù)據(jù)完整性(DataIntergrity)數(shù)據(jù)操縱語言(DML)SELECTDELETEINSERTUPDATE數(shù)據(jù)定義語言(DDL)CREATE定義數(shù)據(jù)庫實(shí)體結(jié)構(gòu)ALTER修改數(shù)據(jù)庫實(shí)體結(jié)構(gòu)DROP刪除數(shù)據(jù)庫實(shí)體GRANT/REVOKE數(shù)據(jù)庫對(duì)象的權(quán)限管理數(shù)據(jù)控制語言(DCL)COMMIT/ROLLBACKSAVEPOINT關(guān)系數(shù)據(jù)庫簡(jiǎn)介-SQL語言(StructureQueryLanguage)

1.2Oracle體系結(jié)構(gòu)datafilesredologfilescontrolfilesparameterfile

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

Oracle物理結(jié)構(gòu)datafilesredologfilescontrolfileparameterfiles*.dbf*.logInitorasid.ora*.ctlOracle物理結(jié)構(gòu)組織關(guān)系參數(shù)文件控制文件控制文件數(shù)據(jù)文件數(shù)據(jù)文件日志文件日志文件1、參數(shù)文件:存儲(chǔ)ORACLE數(shù)據(jù)庫的配置信息。記錄控制文件的保存地址。pfile:可編輯,位置:$ORACLE_HOME/dbs/init<SID>.oraspfile:二進(jìn)制文件,位置:$ORACLE_HOME/dbs/spfile<SID>.oraORACLE啟動(dòng)時(shí),默認(rèn)先讀取spfile。2、控制文件:存儲(chǔ)數(shù)據(jù)庫名稱,數(shù)據(jù)文件位置,重做日志等信息。默認(rèn)的控制文件位置在:$ORACLE_BASE/oradata/<SID>/controlxx.ctl由于控制文件是二進(jìn)制文件,需要先簡(jiǎn)單轉(zhuǎn)換一下格式才能看見里面的信息控制文件很重要,所以O(shè)RACLE要求控制文件是多路復(fù)用的,也就是會(huì)有多個(gè)控制文件,但是每個(gè)控制文件的信息都是一樣的。當(dāng)一個(gè)控制文件損壞時(shí),只需要將數(shù)據(jù)庫停掉,然后把其他控制文件復(fù)制,重新命名后,重新啟動(dòng)數(shù)據(jù)庫即可。3、數(shù)據(jù)文件:含有存儲(chǔ)在數(shù)據(jù)庫中的信息。簡(jiǎn)單理解就是數(shù)據(jù)都記錄在數(shù)據(jù)文件上,如果數(shù)據(jù)文件損壞,那么數(shù)據(jù)就會(huì)丟失,可以通過相關(guān)方法進(jìn)行恢復(fù)。默認(rèn)的數(shù)據(jù)文件位置在:$ORACLE_BASE/oradata/<SID>/*.dbf4、聯(lián)機(jī)日志文件:保存在數(shù)據(jù)庫上進(jìn)行的全部修改。一個(gè)數(shù)據(jù)庫至少有兩個(gè)聯(lián)機(jī)日志文件,并且進(jìn)行多路復(fù)用的設(shè)置。通過LGWR進(jìn)程進(jìn)行日志文件的寫入。日志文件以循環(huán)方式對(duì)日志進(jìn)行寫入。當(dāng)用戶會(huì)話更新了高速緩沖區(qū)中的數(shù)據(jù)時(shí),也會(huì)將最小的變化寫入重做日志緩存區(qū)。LGWR不斷的將重做日志緩沖區(qū)的轉(zhuǎn)存到聯(lián)機(jī)日志組中。當(dāng)?shù)谝粋€(gè)日志組寫滿后,會(huì)自動(dòng)切換到下一個(gè)日志組,當(dāng)所有日志組寫滿后,會(huì)切換到第一個(gè)日志組,進(jìn)行重寫。5、歸檔日志文件:簡(jiǎn)單的說就是聯(lián)機(jī)日志文件的備份。屬于可選擇項(xiàng),一般情況下,測(cè)試環(huán)境中不會(huì)開啟歸檔模式,在生產(chǎn)庫中,為了保證數(shù)據(jù)可恢復(fù)性,都是開啟歸檔模式。歸檔模式也有一定缺點(diǎn),因?yàn)槭潜4嫦惹暗娜罩拘畔?,所以很占用硬盤空間,所以管理員一般會(huì)做定期的處理,對(duì)歸檔日志進(jìn)行刪除工作,保留最新的歸檔日志文件。打開歸檔模式命令:首先需要將數(shù)據(jù)庫關(guān)閉,然后啟動(dòng)到mount狀態(tài)下,輸入命令:SQL>alterdatabasearchivelog;打開數(shù)據(jù)庫歸檔模式。關(guān)閉歸檔模式命令:在mount狀態(tài)下:輸入命令:SQL>alterdatabasenoarchivelog;

Oracle邏輯結(jié)構(gòu)Oracle內(nèi)存結(jié)構(gòu)SGADBBuffer大共享區(qū)共享池固定SGARedobuffer當(dāng)數(shù)據(jù)庫實(shí)例運(yùn)行時(shí),系統(tǒng)會(huì)分配一個(gè)叫做SGA(系統(tǒng)全局區(qū))的大的內(nèi)存塊,被后臺(tái)的所有的實(shí)例進(jìn)程共享。內(nèi)存中經(jīng)常被訪問的區(qū)域,就是DBbuffer,是SGA中最大的一部分大的共享池是可選的部分,提供內(nèi)存塊的隔離內(nèi)存區(qū),進(jìn)行數(shù)據(jù)庫備份是可用到它共享池用來緩存PL/sql的程序單元,sql的執(zhí)行內(nèi)容及其解釋,共享池的規(guī)模對(duì)數(shù)據(jù)庫的性能有著重要的影響Redobuffer用于存放寫入磁盤的日志Oracle目錄結(jié)構(gòu)

Oracle系統(tǒng)路徑結(jié)構(gòu)windows下的Oracle10g為例,Oracle的目錄結(jié)構(gòu)是由一下四部分組成:Oracle_BaseOracle_Homeadminoradata

Oracle_Base目錄Oracle_Base代表Oracle目錄樹的根。如果使用OracleUniversalInstaller進(jìn)行安裝,則Oracle_Base是指system_drive:\oracle\product\10.2.0。

Oracle_Home目錄

Oracle_Home主目錄位于system_drive:\Oracle_Base之下,它包含與Oracle軟件運(yùn)行有關(guān)的子目錄和網(wǎng)絡(luò)文件以及選定的組件等;若在主機(jī)上第一次且只安裝了Oracle數(shù)據(jù)庫,沒有其他Oracle產(chǎn)品,則使用默認(rèn)的主目錄\db_1;如果在同一臺(tái)主機(jī)的同一個(gè)根目錄下安裝多個(gè)產(chǎn)品或安裝了第2次,則Oracle_Home主目錄會(huì)以db_n的形式出現(xiàn),即db_2、db_3等。這也是為什么在Oracle_Base目錄可以有多個(gè)Oracle_Home目錄的緣故。

admin目錄

數(shù)據(jù)庫管理文件、日志文件存儲(chǔ)在oracle_base\admin\db_name目錄下。各個(gè)子目錄的主要含義如下:bdump——后臺(tái)進(jìn)程跟蹤文件cdump——信息轉(zhuǎn)儲(chǔ)文件(coredump)create——數(shù)據(jù)庫創(chuàng)建文件pfile——初始化參數(shù)文件udump——用戶SQL追蹤文件

Oradata目錄

數(shù)據(jù)庫文件存儲(chǔ)在Oracle_Base\oradata\db_name目錄下,該目錄主要存儲(chǔ)數(shù)據(jù)庫的控制文件、數(shù)據(jù)文件、重做日志文件?!?.dbf”文件對(duì)應(yīng)數(shù)據(jù)庫中每個(gè)表空間;“.ctl”文件為控制文件;“.log”文件對(duì)應(yīng)重做日志文件組及其成員。啟動(dòng)關(guān)閉數(shù)據(jù)庫要啟動(dòng)和關(guān)閉數(shù)據(jù)庫,需要具有Oracle系統(tǒng)管理員角色的用戶進(jìn)行登錄,也即該用戶必須具有sysdba的權(quán)限。數(shù)據(jù)庫啟動(dòng)命令Startup[選項(xiàng)]數(shù)據(jù)庫啟動(dòng)經(jīng)過如下階段啟動(dòng)實(shí)例(nomount)裝載數(shù)據(jù)庫(mount)打開數(shù)據(jù)庫(open)啟動(dòng)數(shù)據(jù)庫啟動(dòng)實(shí)例階段可以使用startupnomount命令啟動(dòng)實(shí)例實(shí)例啟動(dòng)包含以下任務(wù):在$oracle_home/dbs(Windows為database)目錄下依次搜尋以下文件:spfile<SID>.ora--->spfile.ora--->init<SID>.ora分配SGA(系統(tǒng)全局內(nèi)存區(qū)域)啟動(dòng)后臺(tái)進(jìn)程使用場(chǎng)景:數(shù)據(jù)庫恢復(fù)、備份、數(shù)據(jù)庫創(chuàng)建、控制文件重建注意:此階段不打開任何控制文件和數(shù)據(jù)文件啟動(dòng)數(shù)據(jù)庫裝載數(shù)據(jù)庫階段可以使用startupmount進(jìn)行數(shù)據(jù)庫的裝載數(shù)據(jù)庫裝載階段完成的任務(wù)如下:?jiǎn)?dòng)實(shí)例并打開控制文件,將數(shù)據(jù)庫與實(shí)例關(guān)聯(lián)起來利用參數(shù)文件中的說明,打開并鎖定控制文件讀取控制文件以獲取數(shù)據(jù)文件和重做日志文件的名字和狀態(tài)信息,但不檢查數(shù)據(jù)日志文件是否存在使用場(chǎng)景:重命名數(shù)據(jù)文件,移動(dòng)數(shù)據(jù)文件位置等啟用或關(guān)閉重做日志文件的歸檔及非歸檔模式實(shí)現(xiàn)數(shù)據(jù)庫的完全恢復(fù)注意:此階段讀取控制文件并打開控制文件,但是不會(huì)讀取數(shù)據(jù)文件。啟動(dòng)數(shù)據(jù)庫打開數(shù)據(jù)庫階段可以使用startupopen命令打開數(shù)據(jù)庫打開數(shù)據(jù)庫階段完成的任務(wù)如下:打開數(shù)據(jù)文件打開聯(lián)機(jī)日志文件注意:在此期間,Oracle服務(wù)器將校驗(yàn)所有的數(shù)據(jù)文件和聯(lián)機(jī)日志文件能否打開并對(duì)數(shù)據(jù)庫作一致性檢查如果出現(xiàn)一致性錯(cuò)誤,SMON進(jìn)程將啟動(dòng)實(shí)例恢復(fù)如果任一數(shù)據(jù)文件或聯(lián)機(jī)日志文件丟失,Oracle服務(wù)器將報(bào)錯(cuò)其他數(shù)據(jù)庫啟動(dòng)方式STARTUPRESTRICT數(shù)據(jù)庫將被成功打開,但僅僅允許一些特權(quán)用戶(具有DBA角色的用戶)才能使用數(shù)據(jù)庫。這種方式常用來對(duì)數(shù)據(jù)庫進(jìn)行維護(hù),如數(shù)據(jù)的導(dǎo)入/導(dǎo)出操作時(shí)不希望有其他用戶連接到數(shù)據(jù)庫操作數(shù)據(jù)。STARTUPFORCE該命令其實(shí)是強(qiáng)行關(guān)閉數(shù)據(jù)庫(shutdownabort)和啟動(dòng)數(shù)據(jù)庫(startup)兩條命令的一個(gè)綜合。該命令僅在關(guān)閉數(shù)據(jù)庫遇見問題不能關(guān)閉數(shù)據(jù)庫時(shí)采用。ALTERDATABASEOPENREADONLY;該命令在創(chuàng)建實(shí)例及安裝數(shù)據(jù)庫后,以只讀方式打開數(shù)據(jù)庫。對(duì)于那些僅僅提供查詢功能的產(chǎn)品數(shù)據(jù)庫能采用這種方式打開

關(guān)閉數(shù)據(jù)庫關(guān)閉數(shù)據(jù)庫的四種方式方式一:shutdownnormal不準(zhǔn)許新的連接,等待當(dāng)前的session結(jié)束,等待當(dāng)前的事務(wù)結(jié)束,強(qiáng)制檢查點(diǎn)并關(guān)閉文件方式二:shutdownimmediate不準(zhǔn)許新的連接,不等待當(dāng)前的session結(jié)束,等待當(dāng)前的事務(wù)結(jié)束,強(qiáng)制檢查點(diǎn)并關(guān)閉文件方式三:shutdowntransactional不準(zhǔn)許新的連接,不等待當(dāng)前的session結(jié)束,不等待當(dāng)前的事務(wù)結(jié)束,強(qiáng)制檢查點(diǎn)并關(guān)閉文件方式四:shutdownabort不準(zhǔn)許新的連接,不等待當(dāng)前的session結(jié)束,不等待當(dāng)前的事務(wù)結(jié)束,不作強(qiáng)制檢查點(diǎn)表空間管理表空間管理表空間概述表空間創(chuàng)建表空間修改表空間刪除表空間查看表空間概述表空間(tablespace)表空間是oracle數(shù)據(jù)庫中最大的邏輯結(jié)構(gòu)Oracle數(shù)據(jù)庫是有一個(gè)或多個(gè)表空間組成的表空間在物理上與磁盤上的數(shù)據(jù)文件相對(duì)應(yīng)(一個(gè)表空間由一個(gè)或多個(gè)數(shù)據(jù)文件組成,但一個(gè)數(shù)據(jù)文件只能屬于一個(gè)表空間)表空間提供一套有效組織數(shù)據(jù)的方法,可以將表空間看做數(shù)據(jù)庫對(duì)象的容器,它被劃分成一個(gè)一個(gè)獨(dú)立的邏輯段,分別對(duì)應(yīng)地存儲(chǔ)數(shù)據(jù)庫中所創(chuàng)建的一個(gè)一個(gè)對(duì)象、方案對(duì)象表空間作用表空間的作用:控制數(shù)據(jù)庫所占用的磁盤空間。控制用戶所占用的表空間配額。通過不同表的數(shù)據(jù)、分區(qū)表中不同分區(qū)的數(shù)據(jù)放置到不同的表空間中,可以提高數(shù)據(jù)庫的I/O性能,并有利于進(jìn)行部分備份和恢復(fù)的管理工作。能夠?qū)⒁粋€(gè)表的數(shù)據(jù)和這個(gè)表的索引數(shù)據(jù)分別放置到不同的表空間中,同樣可以提高數(shù)據(jù)的I/O性能。可以將表空間設(shè)置成只讀狀態(tài)而保持大量的靜態(tài)數(shù)據(jù)。表空間類型系統(tǒng)表空間system表空間sysaux表空間非系統(tǒng)表空間除系統(tǒng)表空間以為的表空間,如:撤銷表空間臨時(shí)表空間大文件表空間小文件表空間等創(chuàng)建表空間所有表空間的創(chuàng)建都應(yīng)該由sys用戶進(jìn)行,以方便管理表空間創(chuàng)建者必須擁有createtablespace系統(tǒng)權(quán)限創(chuàng)建表空間類型以及其SQL語句:表空間類型創(chuàng)建SQL語句創(chuàng)建永久表空間createtablespace

表空間名稱創(chuàng)建臨時(shí)表空間createtemporarytablespace

表空間名稱創(chuàng)建大文件表空間createbigfile

tablespace

表空間名稱創(chuàng)建撤銷表空間createundotablespace

表空間名稱表空間創(chuàng)建語法CREATETABLESPACEtablespace_name

DATAFILE‘path/filename’[SIZEinteger[K∣M]][REUSE]

[AUTOEXTEND[OFF∣ON[NEXTinteger[K∣M]]

[MAXSIZE[UMLIMITED∣integer[K∣M]]]]

[MINIMUMEXTENTinteger[K|M]]

[DEFAULTSTORAGEstorage_clause]

[ONLINE∣OFFLINE]

[LOGGING∣NOLOGGING]

[PERMANENT∣TEMPORARY]

[EXTENTMANAGEMENT[DICTIONARY∣LOCAL[AUTOALLOCATE∣UNIFORM[SIZEinteger[K∣M]]]]]

其中:

tablespace_name:將要?jiǎng)?chuàng)建的表空間的名稱,該名稱在數(shù)據(jù)庫中是惟一的,并且命名必須符合命名規(guī)則。

path/filename:一個(gè)或多個(gè)數(shù)據(jù)文件的存放路徑與名稱。

OFF/ON:禁止或允許自動(dòng)擴(kuò)展數(shù)據(jù)文件。

NEXT:指定當(dāng)需要更多盤區(qū)時(shí)分配給數(shù)據(jù)文件的磁盤空間,以K或M為單位。

MAXSIZEUMLIMITED︱integer[K︱M]:指定允許分配給數(shù)據(jù)文件的最大磁盤空間。

MINMUMEXTENT:指定最小的長(zhǎng)度,默認(rèn)為操作系統(tǒng)和數(shù)據(jù)庫塊確定。

ONLINE:在創(chuàng)建表空間之后使該表空間立即對(duì)授權(quán)訪問該表空間的用戶可用。

OFFLINE:在創(chuàng)建表空間之后使該表空間不可用LOGGING/NOLOGGING:指定日志屬性,它表示將來的表、索引等是否需要進(jìn)行日志處理。默認(rèn)值為L(zhǎng)OGGING。

PERMANENT:指定表空間將用于保存永久對(duì)象,這是默認(rèn)設(shè)置。TEMPORARY:指定表空間將用于保存臨時(shí)對(duì)象。

EXTENTMANAGEMENT:指定如何管理表空間的盤區(qū)。

DICTIONARY:指定使用字典表來管理表空間,這是缺省設(shè)置。

LOCAL:指定本地管理表空間。

AUTOALLOCATE:指定表空間由系統(tǒng)管理,用戶不能指定盤區(qū)尺寸。

UNIFORM:指定使用SIZE字節(jié)的統(tǒng)一盤區(qū)來管理表空間。缺省的SIZE為1M。如果既沒指定AUTOALLOCATE又沒指定UNIFORM,那么AUTOALLOCATE就是缺省設(shè)置。創(chuàng)建永久表空間如果不指定permanent、temporary、undo選項(xiàng),則創(chuàng)建的表空間是永久表空間。Createtablespacemyts1

datafile‘d:/myts1.dbf’size5M,‘d:/myts2.dbf’size10M–指定數(shù)據(jù)文件以及大小uniformsize128K–指定統(tǒng)一區(qū)管理方式,所有區(qū)的大小均為128KCreatetablespacemyts2

datafile‘d:/myts3.dbf’size5M–指定數(shù)據(jù)文件以及大小

autoextendonnext2M –指定數(shù)據(jù)文件自動(dòng)擴(kuò)展,每次擴(kuò)展大小為2M

maxsize9M --指定數(shù)據(jù)文件最大大小問9M創(chuàng)建大文件表空間大文件表空間是Oracle10g的新特性大文件表空間只能包含一個(gè)數(shù)據(jù)文件,最大大小可以包含4G個(gè)塊createbigfile

tablespacemybfts1

datafile'd:/bigfile.dbf'size4M uniformsize1M創(chuàng)建undo表空間撤銷表空間中不能創(chuàng)建其他方案對(duì)象,如:表、索引、視圖等createundotablespacemyundots1datafile'undo.dbf'size4Mautoextendonnext2Mmaxsize10M創(chuàng)建臨時(shí)表空間從Oracle10g開始,允許創(chuàng)建只有一個(gè)數(shù)據(jù)文件的大文件類型的臨時(shí)表空間createtemporarytablespacetempspace1tempfile'temp1.dbf'size4Mcreatebigfiletemporarytablespacetempspace2tempfile'temp2.dbf'size5Muniformsize128K修改表空間擴(kuò)展表空間(添加數(shù)據(jù)文件、改變數(shù)據(jù)文件的大小、允許數(shù)據(jù)文件自動(dòng)擴(kuò)展)修改屬性、狀態(tài)(脫機(jī)、聯(lián)機(jī)、只讀、讀寫)修改表空間的備份模式修改表空間的名稱設(shè)置、查詢默認(rèn)表空間(設(shè)置數(shù)據(jù)庫默認(rèn)表空間、設(shè)置數(shù)據(jù)庫默認(rèn)臨時(shí)表空間、查詢數(shù)據(jù)庫的默認(rèn)表空間)修改表空間添加數(shù)據(jù)文件

altertablespacetbs01 adddatafile'f:\oracle\tbs01_1.dbf'size2m;改變數(shù)據(jù)文件的大小

alterdatabasedatafile'f:\oracle\tbs01_1.dbf' resize4m;允許數(shù)據(jù)文件自動(dòng)擴(kuò)展

alterdatabasedatafile

'f:\oracle\tbs01_1.dbf'

autoextendonnext10mmaxsize100m;修改表空間使表空間脫機(jī)

altertablespacetbs01offline;使表空間聯(lián)機(jī)

altertablespacetbs01online;使表空間只讀(仍可執(zhí)行drop刪除對(duì)象操作)

altertablespacetbs01readonly;使表空間可讀寫(脫機(jī)狀態(tài)的表空間不能修給其為讀寫狀態(tài))

altertablespacetbs01readwrite;注意:system,sysaux,undo,temp表空間不能設(shè)為offline狀態(tài)或只讀狀態(tài).臨時(shí)表空間不能脫機(jī)查看表空間:selecttablespace_name,statusfromdba_tablespaces修改表空間的名字注意:system、sysaux、temp、undotbs1表空間的名稱不能修改;表空間名稱修改之后相應(yīng)的數(shù)據(jù)文件、數(shù)據(jù)文集的位置和大小沒有變化;處于脫機(jī)狀態(tài)的表空間不能修改其名稱。altertablespace

oldnamerenametonewname設(shè)置默認(rèn)表空間設(shè)置數(shù)據(jù)庫的默認(rèn)表空間:alterdatabasedefaulttablespace

mytbs;設(shè)置數(shù)據(jù)庫的默認(rèn)臨時(shí)表空間:alterdatabasedefaulttemporarytablespace

mytemp;查詢數(shù)據(jù)庫的默認(rèn)表空間:selectusername,default_tablespace,temporary_tablespacefromdba_users;刪除表空間Oracle數(shù)據(jù)庫的任何表空間都可以刪除(除了system、sysaux、temp)表空間一旦刪除就不能恢復(fù),所以刪除表空間前最好備份不能刪除含任何活動(dòng)段的表空間,應(yīng)該使表空間在被刪除前脫機(jī)刪除表空間的用戶要擁有droptablespace權(quán)限刪除表空間表空間的刪除方式droptablespace

tbs刪除空的表空間droptablespace

tbsincludingcontentsanddatafiles;刪除非空表空間droptablespace

tbsincludingcontents;該刪除語句只會(huì)從數(shù)據(jù)字典、控制文件中刪除表空間信息,而與其有關(guān)的數(shù)據(jù)文件任然存在與磁盤上,但這些數(shù)據(jù)文件已經(jīng)失去作用。數(shù)據(jù)庫備份

備份,就是把數(shù)據(jù)庫復(fù)制到轉(zhuǎn)儲(chǔ)設(shè)備的過程。無非是用的工具使用的策略,優(yōu)缺點(diǎn)不同罷了。在數(shù)據(jù)庫維護(hù)過程中數(shù)據(jù)庫管理員就需要根據(jù)自己的庫的具體情況來制定合理的備份策略;數(shù)據(jù)量的大小業(yè)務(wù)的重要程度數(shù)據(jù)庫負(fù)載情況存儲(chǔ)的大小等備份邏輯備份—導(dǎo)出導(dǎo)出(exp/imp)物理備份脫機(jī)備份(冷備份)聯(lián)機(jī)備份(熱備份)—?dú)w檔模式數(shù)據(jù)泵(expdp/impdp)DBA的主要職責(zé)之一是備份數(shù)據(jù)庫和在數(shù)據(jù)庫發(fā)生故障時(shí)高效、安全地恢復(fù)數(shù)據(jù)庫。備份方法邏輯備份(Export/Import)RMAN備份數(shù)據(jù)庫備份一般來說,數(shù)據(jù)庫備份可以分為物理備份和邏輯備份。物理備份可分為脫機(jī)備份和聯(lián)機(jī)備份。脫機(jī)備份又稱為冷備份,只能在數(shù)據(jù)庫關(guān)閉后進(jìn)行備份;聯(lián)機(jī)備份又稱為熱備份,數(shù)據(jù)庫沒有關(guān)閉,用戶還可以使用。邏輯備份是使用Export實(shí)用程序備份,當(dāng)數(shù)據(jù)庫出現(xiàn)故障,可以使用Oracle的Import實(shí)用程序恢復(fù)數(shù)據(jù)庫。歸檔方式(ARCHIVELOG),歸檔方式的目的是當(dāng)數(shù)據(jù)庫發(fā)生故障時(shí)最大限度恢復(fù)數(shù)據(jù)庫,可以保證不丟失任何已提交的數(shù)據(jù)。不歸檔方式(NOARCHIVELOG),只能恢復(fù)數(shù)據(jù)庫到備份的時(shí)間點(diǎn)(冷備份或是邏輯備份)。LGWRARCHARCHIVELOGLGWRNOARCHIVELOGRedoLog1RedoLog2RedoLog2RedoLog1

數(shù)據(jù)庫邏輯備份

數(shù)據(jù)庫邏輯備份:讀一個(gè)數(shù)據(jù)庫記錄集,并以O(shè)racle提供的內(nèi)部格式寫入一個(gè)二進(jìn)制文件中。這些記錄的讀出與其物理位置無關(guān)。當(dāng)用戶導(dǎo)入導(dǎo)出時(shí),有相應(yīng)的權(quán)限要求。導(dǎo)入導(dǎo)出imp/exp數(shù)據(jù)泵impdp/expdp導(dǎo)出ExportOracle的實(shí)用程序Export用來讀取一個(gè)數(shù)據(jù)庫,并把輸入寫入一個(gè)稱為導(dǎo)出轉(zhuǎn)儲(chǔ)文件(exportdumpfile)的二進(jìn)制文件。

EXPUSERID=username/passwordPARAMETER=(value1,value2,..)可以通過如下命令來顯示參數(shù)

EXPHELP=Y導(dǎo)出方式:Full方式、User方式和Table方式完全數(shù)據(jù)庫導(dǎo)出

expsystem/managerfull=Yconstraints=Yfile=f:\backup\test.dmp

導(dǎo)出用戶表

expuser1/passwordtables=employeesfile=f:\backup\test.dmp

expuser1/passwordtables=(employees,jobs)file=f:\backup\test.dmp

導(dǎo)出用戶模式

expuser1/passwordowner=user1file=test.dmp

導(dǎo)出數(shù)據(jù)庫表,用戶誤操作刪除表,執(zhí)行導(dǎo)入表,恢復(fù)數(shù)據(jù)庫(1)TEST2數(shù)據(jù)庫(System用戶,口令為ora456),導(dǎo)出表student

邏輯備份案例(2)刪除表student中的數(shù)據(jù),或者將整個(gè)表刪除,數(shù)據(jù)已經(jīng)不存在,或者表被刪除

(3)導(dǎo)入表student,恢復(fù)數(shù)據(jù)庫(4)查詢表和數(shù)據(jù),驗(yàn)證導(dǎo)入是否成功數(shù)據(jù)泵(DataPump)在Oracle10g中引入了數(shù)據(jù)泵Expdp/Impdp

,在性能方面對(duì)原來的Export/Import有了很大的加強(qiáng),其高速并行的設(shè)計(jì)可以實(shí)現(xiàn)快速的數(shù)據(jù)遷移。Expdp/Impdp與Export/Import區(qū)別可以并行進(jìn)行導(dǎo)入導(dǎo)出,速度更快expdp/impdp只能在服務(wù)端,在使用expdp/impdp以前需要在數(shù)據(jù)庫中創(chuàng)建一個(gè)目錄

數(shù)據(jù)泵導(dǎo)出expdp在使用數(shù)據(jù)泵導(dǎo)出導(dǎo)入時(shí)在Oracle需要定義目錄變量,用于存放備份后的文件。

Createdirectorymy_dumpas‘e:\dump’;Grantread,writeondirectorymy_dumptoscott;

導(dǎo)出scott用戶下的emp和dept表:

expdp

scott/tigerdirectory=my_dump

dumpfile=scott.dmp

logfile=scott.logtables=emp,dept

并行導(dǎo)出scott用戶下的所有對(duì)象:

expdp

scott/tigerschemas=scottdirectory=my_dump

dumpfile=scott.dmp

logfile=scott.logparallel=10

數(shù)據(jù)泵導(dǎo)入impdp在使用數(shù)據(jù)泵導(dǎo)出后,可以使用impdp進(jìn)行導(dǎo)入

導(dǎo)入scott用戶下的emp和dept表:

Impdp

scott/tigerDIRECTORY=my_dumpDUMPFILE=scott.dmpTABLES=dept,emp

并行導(dǎo)入scott用戶下的所有對(duì)象:

Impdp

scott/tigerDIRECTORY=my_dumpDUMPFILE=scott.dmpSCHEMAS=scottparallel=10

脫機(jī)備份(冷備份)脫機(jī)備份是最簡(jiǎn)單的一種數(shù)據(jù)庫備份方式,在數(shù)據(jù)庫關(guān)閉后進(jìn)行備份,用戶不能訪問數(shù)據(jù)庫,是一種完全備份。

脫機(jī)備份一般需要備份如下文件:(1)所有數(shù)據(jù)文件(2)所有控制文件(3)所有聯(lián)機(jī)重做日志(4)init.ora文件脫機(jī)備份步驟

1.以DBA或特權(quán)用戶登錄,對(duì)于需要的備份文件,用戶也可通過下列SQL語句來了解數(shù)據(jù)文件、重演日志文件及控制文件的相應(yīng)位置及名稱。SELECT*FROMV$LOGFILE;SELECT*FROMV$DBFILE;SELECT*FROMV$CONTROLFILE;2.關(guān)閉數(shù)據(jù)庫

SHUTDOWNNORMAL;

或者執(zhí)行

SHUTDOWNIMMEDIATE;3、復(fù)制數(shù)據(jù)文件用拷貝命令備份全部的數(shù)據(jù)文件、重做日志文件、控制文件、初始化參數(shù)文件等。簡(jiǎn)單的處理方法是將數(shù)據(jù)庫所在路徑下的文件全部復(fù)制備份。在下面實(shí)驗(yàn)案例中所用數(shù)據(jù)庫TEST2的目錄是:f:\oracle\oradata\test24、重新啟動(dòng)數(shù)據(jù)庫STARTUP;脫機(jī)備份的優(yōu)點(diǎn):只需要拷貝文件,速度比較快。將文件拷貝回去,數(shù)據(jù)庫就可以恢復(fù)到某個(gè)時(shí)間點(diǎn)。若結(jié)合數(shù)據(jù)庫歸檔模式可以很好地恢復(fù)數(shù)據(jù)庫。維護(hù)量相對(duì)較少,但安全性相對(duì)較高。脫機(jī)備份的缺點(diǎn):脫機(jī)備份時(shí),數(shù)據(jù)庫必須關(guān)閉。單獨(dú)使用脫機(jī)備份,數(shù)據(jù)庫只能基于某一時(shí)間點(diǎn)恢復(fù)。若磁盤空間有限,使用磁帶等外設(shè)時(shí)速度較慢。脫機(jī)備份不能按表或用戶恢復(fù)。聯(lián)機(jī)備份(熱備份)聯(lián)機(jī)備份是在數(shù)據(jù)庫運(yùn)行時(shí)進(jìn)行的備份,用戶仍然可以訪問數(shù)據(jù)庫,一些關(guān)鍵行業(yè)的數(shù)據(jù)必須運(yùn)行在7*24模式下,必須使用聯(lián)機(jī)備份。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論