Oracle第章物理存儲結(jié)構(gòu)_第1頁
Oracle第章物理存儲結(jié)構(gòu)_第2頁
Oracle第章物理存儲結(jié)構(gòu)_第3頁
Oracle第章物理存儲結(jié)構(gòu)_第4頁
Oracle第章物理存儲結(jié)構(gòu)_第5頁
已閱讀5頁,還剩91頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第5章物理存儲結(jié)構(gòu)本章內(nèi)容Oracle數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)數(shù)據(jù)文件控制文件重做日志文件歸檔重做日志文件本章要求理解Oracle數(shù)據(jù)庫的系統(tǒng)結(jié)構(gòu)掌握數(shù)據(jù)文件的管理掌握控制文件的作用及其管理掌握重做日志文件的工作方式及其管理掌握數(shù)據(jù)庫歸檔模式設(shè)置及歸檔管理

5.1Oracle數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)Oracle數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)由數(shù)據(jù)庫實例和物理存儲結(jié)構(gòu)組成。在Oracle數(shù)據(jù)庫的存儲結(jié)構(gòu)包括物理存儲結(jié)構(gòu)和邏輯存儲結(jié)構(gòu)。物理存儲結(jié)構(gòu)主要用于描述Oracle數(shù)據(jù)庫外部數(shù)據(jù)的存儲,即在操作系統(tǒng)中如何組織和管理數(shù)據(jù),與具體的操作系統(tǒng)有關(guān);邏輯存儲結(jié)構(gòu)主要描述Oracle數(shù)據(jù)庫內(nèi)部數(shù)據(jù)的組織和管理方式,與操作系統(tǒng)沒有關(guān)系。物理存儲結(jié)構(gòu)是邏輯存儲結(jié)構(gòu)在物理上的、可見的、可操作的、具體的體現(xiàn)形式。Oracle數(shù)據(jù)庫物理存儲結(jié)構(gòu)數(shù)據(jù)文件:用于存儲數(shù)據(jù)庫中的所有數(shù)據(jù);控制文件:用于記錄和描述數(shù)據(jù)庫的物理存儲結(jié)構(gòu)信息;重做日志文件:用于記錄外部程序(用戶)對數(shù)據(jù)庫的改變操作;歸檔文件:用于保存已經(jīng)寫滿的重做日志文件;初始化參數(shù)文件:用于設(shè)置數(shù)據(jù)庫啟動時的參數(shù)初始值;跟蹤文件:用于記錄用戶進程、數(shù)據(jù)庫后臺進程等的運行情況;口令文件:用于保存具有SYSDBA,SYSOPER權(quán)限的用戶名和SYS用戶口令;警告文件:用于記錄數(shù)據(jù)庫的重要活動以及發(fā)生的錯誤;備份文件:用于存放數(shù)據(jù)庫備份所產(chǎn)生的文件。5.2數(shù)據(jù)文件及其管理數(shù)據(jù)文件概述數(shù)據(jù)文件的管理5.2.1數(shù)據(jù)文件概述數(shù)據(jù)文件的內(nèi)容用于保存數(shù)據(jù)庫中所有數(shù)據(jù)的文件。臨時數(shù)據(jù)文件是一種特殊的數(shù)據(jù)文件,其存儲內(nèi)容是臨時性的,在一定條件下自動釋放。Oralce數(shù)據(jù)庫中的每個數(shù)據(jù)文件都具有兩個文件號,稱為絕對文件號和相對文件號,用于唯一地確定一個數(shù)據(jù)文件。其中,絕對文件號用于在整個數(shù)據(jù)庫范圍內(nèi)唯一標識一個數(shù)據(jù)文件;相對文件號用于在表空間范圍內(nèi)唯一標識一個數(shù)據(jù)文件。數(shù)據(jù)文件與表空間的關(guān)系一個表空間可以包含幾個數(shù)據(jù)文件一個數(shù)據(jù)文件只能從屬于一個表空間數(shù)據(jù)文件的管管理策略由于對數(shù)據(jù)庫庫的操作最終終轉(zhuǎn)換為對數(shù)數(shù)據(jù)文件的操操作,因此在在數(shù)據(jù)庫運行行過程中對數(shù)數(shù)據(jù)文件進行行頻繁的讀寫寫操作。為了了提搞I/O效率,應(yīng)該合合理的分配數(shù)數(shù)據(jù)文件的存存儲位置。把不同存儲內(nèi)內(nèi)容的數(shù)據(jù)文文件放置在不不同的硬盤上上,可以并行行訪問數(shù)據(jù),,提高系統(tǒng)讀讀寫的效率。。初始化參數(shù)文文件、控制文文件、重做日日志文件最好好不要與數(shù)據(jù)據(jù)文件存放在在同一個磁盤盤上,以免數(shù)數(shù)據(jù)庫發(fā)生介介質(zhì)故障時,,無法恢復數(shù)數(shù)據(jù)庫。5.2.2數(shù)據(jù)文件的管管理創(chuàng)建數(shù)據(jù)文件件修改數(shù)據(jù)文件件的大小改變數(shù)據(jù)文件件的可用性改變數(shù)據(jù)文件件的名稱或位位置刪除數(shù)據(jù)文件件查詢數(shù)據(jù)文件件的信息利用OEM管理數(shù)據(jù)文件件(1)創(chuàng)建數(shù)據(jù)文文件數(shù)據(jù)文件依附附于表空間而而存在,創(chuàng)建建數(shù)據(jù)文件就就是向表空間間添加文件在創(chuàng)建數(shù)據(jù)文文件時應(yīng)該根根據(jù)文件數(shù)據(jù)據(jù)量的大小確確定文件的大大小以及文件件的增長方式式。語法ALTERTABLESPACE…ADDDATAFILEALTERTABLESPACE…ADDTEMPFILE向ORCL數(shù)據(jù)庫的USERS表空間中添加加一個大小為為10MB的數(shù)據(jù)文件。。ALTERTABLESPACEUSERSADDDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'SIZE10M;向ORCL數(shù)據(jù)庫的TEMP表空間中添加加一個大小為為5MB的臨時數(shù)據(jù)文文件。ALTERTABLESPACETEMPADDTEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP02.DBF'SIZE5M;(2)修改數(shù)據(jù)文文件大小方法設(shè)置數(shù)據(jù)文件件為自動增長長方式。手工改變數(shù)據(jù)據(jù)文件的大小小。設(shè)置數(shù)據(jù)文件件為自動增長長方式創(chuàng)建時設(shè)置數(shù)數(shù)據(jù)文件為自自動增長創(chuàng)建后修改數(shù)數(shù)據(jù)文件為自自動增長AUTOEXTENDONNEXT…MAXSIZE…|UNLIMITED手工改變數(shù)據(jù)據(jù)文件的大小小ALTERDATABASEDATAFILE…RESIZE…為ORCL數(shù)據(jù)庫的USERS表空間添加一一個自動增長長的數(shù)據(jù)文件件。ALTERTABLESPACEUSERSADDDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS03.DBF'SIZE10MAUTOEXTENDONNEXT512KMAXSIZE50M;修改ORCL數(shù)據(jù)庫USERS表空間的數(shù)據(jù)據(jù)文件USERS02.DBF為自動增長方方式。ALTERDATABASEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'AUTOEXTENDONNEXT512KMAXSIZEUNLIMITED;取消ORCL數(shù)據(jù)庫USERS表空間的數(shù)據(jù)據(jù)文件USERS02.DBF的自動增長方方式。ALTERDATABASEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'AUTOEXTENDOFF;將ORCL數(shù)據(jù)庫USERS表空間的數(shù)據(jù)據(jù)文件USERS02.DBF大小設(shè)置為8MB。ALTERDATABASEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'RESIZE8M;(3)改變數(shù)據(jù)文文件的可用性性概念可以通過將數(shù)數(shù)據(jù)文件聯(lián)機機或脫機來改改變數(shù)據(jù)文件件的可用性。。在下面幾種情情況下需要改改變數(shù)據(jù)文件件的可用性::要進行數(shù)據(jù)文文件的脫機備備份時,需要要先將數(shù)據(jù)文文件脫機;需要重命名數(shù)數(shù)據(jù)文件或改改變數(shù)據(jù)文件件的位置時,,需要先將數(shù)數(shù)據(jù)文件脫機機;如果Oracle在寫入某個數(shù)數(shù)據(jù)文件時發(fā)發(fā)生錯誤,會會自動將該數(shù)數(shù)據(jù)文件設(shè)置置為脫機狀態(tài)態(tài),并且記錄錄在警告文件件中。排除故故障后,需要要以手動方式式重新將該數(shù)數(shù)據(jù)文件恢復復為聯(lián)機狀態(tài)態(tài)。數(shù)據(jù)據(jù)文文件件丟丟失失或或損損壞壞,,需需要要在在啟啟動動數(shù)數(shù)據(jù)據(jù)庫庫之之前前將將數(shù)數(shù)據(jù)據(jù)文文件件脫脫機機。。歸檔檔模模式式下下數(shù)數(shù)據(jù)據(jù)文文件件可可用用性性的的改改變變數(shù)據(jù)據(jù)文文件件可可用用性性的的改改變變ALTERDATABASEDATAFILE…ONLINE|OFFLINE臨時時數(shù)數(shù)據(jù)據(jù)文文件件可可用用性性的的概概念念改改變變ALTERDATABASETEMPFILE…ONLINE|OFFLINE在數(shù)數(shù)據(jù)據(jù)庫庫處處于于歸歸檔檔模模式式下下,,將將ORCL數(shù)據(jù)據(jù)庫庫USERS表空空間間的的數(shù)數(shù)據(jù)據(jù)文文件件USERS02.DBF脫機機。。ALTERDATABASEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'OFFLINE;將ORCL數(shù)據(jù)據(jù)庫庫USERS表空空間間的的數(shù)數(shù)據(jù)據(jù)文文件件USERS02.DBF聯(lián)機機。。ALTERDATABASEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'ONLINE;非歸歸檔檔模模式式下下數(shù)數(shù)據(jù)據(jù)文文件件可可用用性性的的改改變變在非非歸歸檔檔模模式式下下,,通通常常不不能能將將數(shù)數(shù)據(jù)據(jù)文文件件脫脫機機。。如果果由由于于數(shù)數(shù)據(jù)據(jù)文文件件的的損損壞壞,,需需要要將將數(shù)數(shù)據(jù)據(jù)文文件件脫脫機機,,然然后后重重新新啟啟動動數(shù)數(shù)據(jù)據(jù)庫庫,,需需要要使使用用ALTERDATABASEDATAFILE…OFFLINEFORDROP語句句。。例例如如::ALTERDATABASEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF'OFFLINEFORDROP;改變變表表空空間間中中所所有有數(shù)數(shù)據(jù)據(jù)文文件件的的可可用用性性在歸歸檔檔模模式式下下,,將將表表空空間間脫脫機機或或聯(lián)聯(lián)機機ALTERTABLESPACE...DATAFILEONLINE|OFFLINE在歸歸檔檔模模式式下下,,將將臨臨時時表表空空間間聯(lián)聯(lián)機機或或脫脫機機ALTERTABLESPACE...TEMPFILEONLINE|OFFLINE在歸歸檔檔模模式式下下,,將將USERS表空空間間中中所所有有的的數(shù)數(shù)據(jù)據(jù)文文件件脫脫機機,,但但USERS表空空間間不不脫脫機機。。然然后后再再將將USERS表空空間間中中的的所所有有數(shù)數(shù)據(jù)據(jù)文文件件聯(lián)聯(lián)機機。。ALTERTABLESPACEUSERSDATAFILEOFFLINE;RECOVERTABLESPACEUSERS;ALTERTABLESPACEUSERSDATAFILEONLINE;(4)改改變變數(shù)數(shù)據(jù)據(jù)文文件件的的名名稱稱或或位位置置改變變同同一一個個表表空空間間中中的的數(shù)數(shù)據(jù)據(jù)文文件件的的名名稱稱或或位位置置ALTERTABLESPACLE…RENAMEDATAFILE…TO改變變多多個個表表空空間間中中的的數(shù)數(shù)據(jù)據(jù)文文件件的的名名稱稱或或位位置置ALTERDATABASERENAMEFILE…TO注意意改變變數(shù)數(shù)據(jù)據(jù)文文件件的的名名稱稱或或位位置置時時,,Oracle只是是改改變變記記錄錄在在控控制制文文件件和和數(shù)數(shù)據(jù)據(jù)字字典典中中的的數(shù)數(shù)據(jù)據(jù)文文件件信信息息,,并并沒沒有有改改變變操操作作系系統(tǒng)統(tǒng)中中數(shù)數(shù)據(jù)據(jù)文文件件的的名名稱稱和和位位置置,,因因此此需需要要DBA手動動更更改改操操作作系系統(tǒng)統(tǒng)中中數(shù)數(shù)據(jù)據(jù)文文件件的的名名稱稱和和位位置置。。改變變同同一一個個表表空空間間中中的的數(shù)數(shù)據(jù)據(jù)文文件件的的名名稱稱或或位位置置更改改ORCL數(shù)據(jù)據(jù)庫庫USERS表空空間間的的USERS02.DBF和USERS03.DBF文件件名名為為USERS002.DBF和USERS003.DBF。將包含數(shù)數(shù)據(jù)文件件的表空空間置為為脫機狀狀態(tài)。ALTERTABLESPACEUSERSOFFLINE;在操作系系統(tǒng)中重重命名數(shù)數(shù)據(jù)文件件或移動動數(shù)據(jù)文文件到新新的位置置。分別別將USERS02.DBF和USERS03.DBF文件重命命名為USERS002.DBF和USERS003.DBF。使用ALTERTABLESPACE…RENAMEDATAFILE…TO語句進行行操作ALTERTABLESPACEUSERSRENAMEDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS02.DBF','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS03.DBF'TO'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS002.DBF','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS003.DBF';將表空間間聯(lián)機。。ALTERTABLESPACEUSERSONLINE;改變多個個表空間間中的數(shù)數(shù)據(jù)文件件的名稱稱或位置置更改ORCL數(shù)據(jù)庫USERS表空間中中的USERS002.DBF文件位置置和修改改TOOLS表空間中中的TOOLS01.DBF文件名關(guān)閉數(shù)據(jù)據(jù)庫。SHUTDOWN在操作系系統(tǒng)中,,將USERS表空間中中的USERS002.DBF文件復制制到一個個新的位位置,如如D:\ORACLE\PRODUCT\10.2.0\ORADATA,修改TOOLS表空間的的數(shù)據(jù)文文件TOOLS01.DBF的名為TOOLS001.DBF。啟動數(shù)據(jù)據(jù)庫到MOUNT狀態(tài)。STARTUPMOUNT執(zhí)行ALTERDATABASERENAMEFILE…TO語句更新新數(shù)據(jù)文文件名稱稱或位置置。ALTERDATABASERENAMEFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS002.DBF','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TOOLS01.DBF'TO'D:\ORACLE\PRODUCT\10.2.0\ORADATA\USERS002.DBF','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TOOLS001.DBF';打開數(shù)據(jù)據(jù)庫。ALTERDATABASEOPEN;(5)刪除數(shù)數(shù)據(jù)文件件刪除某個個表空間間中的某某個空數(shù)數(shù)據(jù)文件件ALTERTABLESPACE…DROPDATAFILE刪除某個個臨時表表空間中中的某個個空的臨臨時數(shù)據(jù)據(jù)文件ALTERTABLESPACE…DROPTEMPFILEALTERDATABASETEMPFILE…DROP所謂的空空數(shù)據(jù)文文件或空空臨時數(shù)數(shù)據(jù)文件件是指為為該文件件分配的的所有區(qū)區(qū)都被回回收。刪除數(shù)據(jù)據(jù)文件或或臨時數(shù)數(shù)據(jù)文件件的同時時,將刪刪除控制制文件和和數(shù)據(jù)字字典中與與該數(shù)據(jù)據(jù)文件或或臨時數(shù)數(shù)據(jù)文件件的相關(guān)關(guān)信息,,同時也也將刪除除操作系系統(tǒng)中對對應(yīng)的物物理文件件。刪除USERS表空間中中的數(shù)據(jù)據(jù)文件USERS03.DBF和刪除TEMP臨時表空空間中的的臨時數(shù)數(shù)據(jù)文件件TEMP03.DBF。ALTERTABLESPACEUSERSDROPDATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS03.DBF';ALTERTABLESPACETEMPDROPTEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP03.DBF';刪除臨時時數(shù)據(jù)文文件TEMP03.DBF還可以表表示為ALTERDATABASETEMPFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEMP02.DBF'DROPINCLUDINGDATAFILES;刪除數(shù)據(jù)據(jù)文件或或臨時數(shù)數(shù)據(jù)文件件時受到到以下約約束:數(shù)據(jù)庫運運行在打打開狀態(tài)態(tài)數(shù)據(jù)文件件或臨時時數(shù)據(jù)文文件必須須是空的的不能刪除除表空間間的第一一個或唯唯一的一一個數(shù)據(jù)據(jù)文件或或臨時數(shù)數(shù)據(jù)文件件不能刪除除只讀表表空間中中的數(shù)據(jù)據(jù)文件不能刪除除SYSTEM表空間的的數(shù)據(jù)文文件不能刪除除采用本本地管理理的處于于脫機狀狀態(tài)的數(shù)數(shù)據(jù)文件件。(6)查詢數(shù)數(shù)據(jù)文件件信息DBA_DATA_FILES:包含數(shù)數(shù)據(jù)庫中中所有數(shù)數(shù)據(jù)文件件的信息息,包括括數(shù)據(jù)文文件所屬屬的表空空間、數(shù)數(shù)據(jù)文件件編號等等。DBA_TEMP_FILES:包含數(shù)數(shù)據(jù)庫中中所有臨臨時數(shù)據(jù)據(jù)文件的的信息。。DBA_EXTENTS:包含所所有表空空間中已已分配的的區(qū)的描描述信息息。USER_EXTENTS:包含當當前用戶戶所擁有有的對象象在所有有表空間間中已分分配的區(qū)區(qū)的描述述信息。。DBA_FREE_SPACE:包含表表空間中中空閑區(qū)區(qū)的描述述信息。。USER_FREE_SPACE:包含當當前用戶戶可訪問問的表空空間中空空閑區(qū)的的描述信信息。V$DATAFILE:包含從從控制文文件中獲獲取的數(shù)數(shù)據(jù)文件件信息。。V$DATAFILE_HEADER:包含從數(shù)數(shù)據(jù)文件頭頭部獲取的的信息。V$TEMPFILE:包含所有有臨時文件件的基本信信息。查詢數(shù)據(jù)文文件動態(tài)信信息SELECTNAME,FILE#,STATUS,CHECKPOINT_CHANGE#FROMV$DATAFILE查詢數(shù)據(jù)文文件的詳細細信息SELECTTABLESPACE_NAME,AUTOEXTENSIBLE,FILE_NAMEFROMDBA_DATA_FILES;查詢數(shù)據(jù)文文件的增長長方式SELECTTABLESPACE_NAME,BYTES,AUTOEXTENSIBLE,FILE_NAMEFROMDBA_DATA_FILES查詢臨時數(shù)數(shù)據(jù)文件信信息SELECTTABLESPACE_NAME,FILE_NAME,AUTOEXTENSIBLEFROMDBA_TEMP_FILES;(7)利用OEM管理數(shù)據(jù)文文件創(chuàng)建數(shù)據(jù)文文件編輯數(shù)據(jù)文文件查看數(shù)據(jù)文文件信息刪除數(shù)據(jù)文文件5.3控制文件控制文件概概述控制文件管管理5.3.1控制文件概概述控制文件的的性質(zhì)控制文件是是一個很小小的二進制制文件??刂莆募杳枋隽苏麄€個數(shù)據(jù)庫的的結(jié)構(gòu)。在加載數(shù)據(jù)據(jù)庫時,實實例必須首首先通過初初始化參數(shù)數(shù)文件找到到數(shù)據(jù)庫的的控制文件件。在數(shù)據(jù)庫運運行期間,,控制文件件始終在不不斷更新,,以便記錄錄數(shù)據(jù)文件件和重做日日志文件的的變化每個數(shù)據(jù)庫庫至少擁有有一個控制制文件。一一個數(shù)據(jù)庫庫也可以同同時擁有多多個控制文文件。分配在不同同的物理硬硬盤中,以以免數(shù)據(jù)庫庫或硬盤損損壞時,能能夠利用備備份的控制制文件啟動動數(shù)據(jù)庫實實例,可以以提高數(shù)據(jù)據(jù)庫的可靠靠性??刂莆募牡膬?nèi)容數(shù)據(jù)庫名稱稱和標識;;數(shù)據(jù)庫創(chuàng)建建的時間;;表空間名稱稱;數(shù)據(jù)文件和和重做日志志文件的名名稱和位置置;當前重做日日志文件序序列號;數(shù)據(jù)庫檢查查點的信息息;回退段的開開始和結(jié)束束;重做日志的的歸檔信息息;備份信息;;數(shù)據(jù)庫恢復復所需要的的同步信息息??刂莆募兄械淖畲蠡瘏?shù)包括括:MAXLOGFILES:最大重做做日志文件件組數(shù)量;;MAXLOGMEMBERS:重做日志志文件組中中最大成員員數(shù)量;MAXLOGHISTORY:最大歷史史重做日志志文件數(shù)量量;MAXDATAFILES:最大數(shù)據(jù)據(jù)文件數(shù)量量;MAXINSTANCES:可同時訪訪問的數(shù)據(jù)據(jù)庫最大實實例個數(shù)。??刂莆募芄芾聿呗設(shè)racle建議最少有有兩個控制制文件,通通過多路鏡鏡像技術(shù),,將多個控控制文件分分散到不同同的磁盤中中。在數(shù)據(jù)據(jù)庫運行過過程中,始始終讀取CONTROL_FILES參數(shù)指定的的第一個控控制文件,,并同時寫寫CONTROL_FILES參數(shù)指定的的所有控制制文件。如如果其中一一個控制文文件不可用用,則必須須關(guān)閉數(shù)據(jù)據(jù)庫并進行行恢復。每次對數(shù)據(jù)據(jù)庫結(jié)構(gòu)進進行修改后后(添加、、修改、刪刪除數(shù)據(jù)文文件、重做做日志文件件),應(yīng)該該及時備份份控制文件件。5.3.2控制文件的的管理創(chuàng)建控制文文件實現(xiàn)多路鏡鏡像控制文文件備份控制文文件刪除控制文文件查看控制文文件的信息息利用OEM管理控制文文件(1)創(chuàng)建控制制文件創(chuàng)建控制文文件的情形形控制文件全全部丟失或或損壞;需要修改數(shù)數(shù)據(jù)庫名稱稱;在Oracle10.2.0之前的版本本中,需要要修改某個個最大化參參數(shù)。CREATECONTROLFILE語句CREATECONTROLFILE[REUSE][SET]DATABASEdatabase[LOGFILElogfile_clause]RESETLOGS|NORESETLOGS[DATAFILEfile_specification][MAXLOGFILES][MAXLOGMEMBERS][MAXLOGHISTORY][MAXDATAFILES][MAXINSTANCES][ARCHIVELOG|NOARCHIVELOG][FORCELOGGING][CHARACTERSETcharacter_set]創(chuàng)建控制文文件的基本本步驟制作數(shù)據(jù)庫庫中所有的的數(shù)據(jù)文件件和重做日日志文件列列表SELECTMEMBERFROMV$LOGFILE;SELECTNAMEFROMV$DATAFILE;SELECTVALUEFROMV$PARAMETERWHERENAME='CONTROL_FILES';如果數(shù)據(jù)庫庫仍然處于于運行狀態(tài)態(tài),則關(guān)閉閉數(shù)據(jù)庫SHUTDOWN在操作系統(tǒng)統(tǒng)級別備份份所有的數(shù)數(shù)據(jù)文件和和聯(lián)機重做做日志文件件啟動實例到到NOMOUNT狀態(tài)STARTUPNOMOUNT利用前面得得到的文件件列表,執(zhí)執(zhí)行CREATECONTROLFILE創(chuàng)建一個新新控制文件件。在操作系統(tǒng)統(tǒng)級別對新新建的控制制文件進行行備份如果數(shù)據(jù)庫庫重命名,,則編輯DB_NAME參數(shù)來指定定新的數(shù)據(jù)據(jù)庫名稱如果數(shù)據(jù)庫庫需要恢復復,則進行行恢復數(shù)據(jù)據(jù)庫操作如果創(chuàng)建控控制文件時時指定了NORESTLOGS,可以完全全恢復數(shù)據(jù)據(jù)庫。RECOVERDATABASE;如果創(chuàng)建控控制文件時時指定了RESETLOGS,則必須在在恢復時指指定USINGBACKUPCONTROLFILE。RECOVERDATABASEUSINGBACKUPCONTROLFILE;打開數(shù)據(jù)庫庫如果數(shù)據(jù)庫庫不需要恢恢復或已經(jīng)經(jīng)對數(shù)據(jù)庫庫進行了完完全恢復,,則可以正正常打開數(shù)數(shù)據(jù)庫。ALTERDATABASEOPEN;如果在創(chuàng)建建控制文件件時使用了了RESETLOGS參數(shù),則必必須指定以以RESETLOGS方式打開數(shù)數(shù)據(jù)庫。ALTERDATABASEOPENRESETLOGS;(2)實現(xiàn)多路路鏡像控制制文件編輯初始化化參數(shù)CONTROL_FILESALTERSYSTEMSETCONTROL_FILES=…SCOPE=SPFILE;關(guān)閉數(shù)據(jù)庫庫SHUTDOWNIMMEDIATE;拷貝一個原原有的控制制文件到新新的位置,,并重新命命名重新啟動數(shù)數(shù)據(jù)庫STARTUP編輯初始化化參數(shù)CONTROL_FILES。ALTERSYSTEMSETCONTROL_FILES='D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL','D:\ORACLE\PRODUCT\10.2.0\ORADATA\CONTROL04.CTL'SCOPE=SPFILE;注意:前3個控制文件件是原有的的控制文件件,最后一一個控制文文件是將要要添加的。。關(guān)閉數(shù)據(jù)庫庫SHUTDOWNIMMEDIATE;拷貝一個原原有的控制制文件到新新的位置,,并重新命命名??截怐:\ORACLE\ORADATA\CONTROL01.CTL到D:\ORACLE\ORADATA目錄下,并并重命名為為CONTROL04.CTL。重新啟動數(shù)數(shù)據(jù)庫STARTUP(3)備份控制制文件將控制文件件備份為二二進制文件件ALTERDATABASEBACKUPCONTROLFILETO…將控制文件件備份為文文本文件ALTERDATABASEBACKUPCONTROLFILETOTRACE將控制文件件備份到<ORACLE_BASE>\admin\<SID>\udump目錄下的跟跟蹤文件中中將控制文件備備份為二進制制文件。ALTERDATABASEBACKUPCONTROLFILETO'D:\ORACLE\CONTROL.BKP';將控制文件備備份為文本文文件。ALTERDATABASEBACKUPCONTROLFILETOTRACE;(4)刪除控制文文件編輯CONTROL_FILES初始化參數(shù),,使其不包含含要刪除的控控制文件;關(guān)閉數(shù)據(jù)庫;;在操作系統(tǒng)中中刪除控制文文件;重新啟動數(shù)據(jù)據(jù)庫。(5)查詢控制文文件的信息V$DATABASE:從控制文件件中獲取的數(shù)數(shù)據(jù)庫信息;;V$CONTROLFILE:包含所有控控制文件名稱稱與狀態(tài)信息息;V$CONTROLFILE_RECORD_SECTION:包含控制文文件中各記錄錄文檔段信息息;V$PARAMETER:可以獲取初初始化參數(shù)CONTROL_FILES的值。(6)利用OEM管理控制文件件查看控制文件件信息備份控制文件件5.4重做日志文件件重做日志文件件概述重做日志文件件的管理5.4.1重做日志文件件概述重做日志文件件的概念重做日志文件件,保存了用用戶對數(shù)據(jù)庫庫所作的更新操作((DDL、DML),包含的主主要信息是記記錄事務(wù)的開開始和結(jié)束、、事務(wù)中每項項操作的對象和和類型、更新新操作前后的的數(shù)據(jù)值等。。重做日志文件件是由重做記記錄構(gòu)成的,,每個重做記記錄由一組修修改相量組成成。用戶對數(shù)據(jù)庫庫所做的修改改都是在數(shù)據(jù)據(jù)庫的數(shù)據(jù)高高速緩沖區(qū)中中進行的,同同時將產(chǎn)生的的重做記錄寫寫入重做日志志緩沖區(qū)。在在一定條件下下由DBWR進程將數(shù)據(jù)高高速緩沖區(qū)中中修改后的結(jié)結(jié)果成批寫回回數(shù)據(jù)文件中中,而重做日日志緩沖區(qū)中中的重做記錄錄由LGWR進程周期性的的寫入重做日日志文件。利用重做日志志文件恢復數(shù)數(shù)據(jù)庫是通過過事務(wù)的重做做(REDO)或回退(UNDO)實現(xiàn)的。重做日志文件件的工作過程程每個數(shù)據(jù)庫至至少需要兩個個重做日志文文件,采用循循環(huán)寫的方式式進行工作。。當一個重做做日志文件寫寫滿后,進程程LGWR就會移到下一一個日志組,,稱為日志切切換,同時信信息會寫到控控制文件中。。重做日志文件件工作流程為了保證LGWR進程的正常進進行,通常采采用重做日志志文件組(GROUP),每個組中包包含若干完全全相同的重做做日志文件成成員(MEMBER),這些成員文文件相互鏡像像。5.4.2重做日志文件件的管理添加重做日志志文件組添加重做日志志文件組成員員文件改變重做日志志文件組成員員文件的名稱稱和位置刪除重做日志志文件組成員員刪除重做日志志文件組重做日志文件件切換清空重做日志志文件組查看重做日志志文件信息利用OEM管理重做日志志文件(1)添加重做日志志文件組語法ALTERDATABASEADDLOGFILE……示例ALTERDATABASEADDLOGFILEGROUP4('D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO04a.LOG','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO04b.LOG')SIZE4M;REDO2b.LOGREDO1b.LOGGroup1Group2Group3REDO3b.LOGREDO2a.LOGREDO3a.LOGREDO1a.LOGGroup4REDO4b.LOGREDO4a.LOG注意:分配給每個重重做日志文件件的初始空間間至少為4MB。如果沒有使用用GROUP子句指定組號號,則系統(tǒng)會會自動產(chǎn)生組組號,為當前前重做日志文文件組的個數(shù)數(shù)加1。在Oracle10.2.0之前的版本中中,數(shù)據(jù)庫最最多允許的重重做日志文件件組的數(shù)量由由控制文件中中的MAXLOGFILES參數(shù)決定。在Oracle10.2.0之前的版本中中,每個重做做日志文件組組中最多成員員文件數(shù)量由由控制文件中中的MAXLOGMEMBERS參數(shù)決定。(2)添加重做日日志文件組成成員語法ALTERDATABASEADDLOGFILEMEMBER…TOGROUP…示例ALTERDATABASEADDLOGFILEMEMBER'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01C.LOG'TOGROUP1,'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO04C.LOG'TOGROUP4;注意:同一個重做日日志文件組中中的成員文件件存儲位置應(yīng)應(yīng)盡量分散。。不需要指定文文件大小。新新成員文件大大小由組中已已有成員大小小決定。(3)改變重做日日志文件組成成員名稱或位位置語法ALTERDATABASERENAMEFILE…TO注意只能更改處于于INACTIVE或UNUSED狀態(tài)的重做日日志文件組的的成員文件的的名稱或位置置。示例將重做日志文文件REDO01C.LOG重命名為REDO01B.LOG,將REDO04C.LOG移到D:\ORACLE\PRODUCT\10.2.0\ORADATA目錄下。檢查要修改的的成員文件所所在的重做日日志文件組狀狀態(tài)SELECTgroup#,statusFROMv$log;如果要修改的的日志文件組組不是處于INACTIVE或UNUSED狀態(tài),則需要要進行手動日日志切換。重命名名重做做日志志文件件或?qū)⒅刈鲎鋈罩局疚募频降叫挛晃恢么蜷_D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL文件夾夾,將REDO01C.LOG更名為為REDO01B.LOG,同時時將REDO04C.LOG移到D:\ORACLE\PRODUCT\10.2.0\ORADATA文件夾夾下。。執(zhí)行ALTERDATABASERENAMEFILE…TO語句ALTERDATABASERENAMEFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01C.LOG','D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO4C.LOG'TO'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO001B.LOG','D:\ORACLE\PRODUCT\10.2.0\ORADATA\REDO04C.LOG';(4)刪除重重做日志志文件組組成員語法ALTERDATABASEDROPLOGFILEMEMBER注意事項項只能刪除除狀態(tài)為為INACTIVE或UNUSED的重做日日志文件件組中的的成員;;若要刪刪除狀態(tài)態(tài)為CURRENT的重做日日志文件件組中的的成員,,則需執(zhí)執(zhí)行一次次手動日日志切換換。如果數(shù)據(jù)據(jù)庫處于于歸檔模模式下,,則在刪刪除重做做日志文文件之前前要保證證該文件件所在的的重做日日志文件件組已歸歸檔。每個重做做日志文文件組中中至少要要有一個個可用的的成員文文件,即即VALID狀態(tài)的成成員文件件。如果果要刪除除的重做做日志文文件是所所在組中中最后一一個可用用的成員員文件,,則無法法刪除。。ALTERDATABASEDROPLOGFILEMEMBER'D:\ORACLE\PRODUCT\10.2.0\ORADATA\REDO4c.LOG';Group4REDO4a.LOGREDO4b.LOGREDO4c.LOG(5)刪除重重做日志志文件組組語法ALTERDATABASEDROPLOGFILEGROUP注意事項項無論重做做日志文文件組中中有多少少個成員員文件,,一個數(shù)數(shù)據(jù)庫至至少需要要使用兩兩個重做做日志文文件組。。如果數(shù)據(jù)據(jù)庫處于于歸檔模模式下,,則在刪刪除重做做日志文文件組之之前,必必須確定定該組已已經(jīng)被歸歸檔。只能刪除除處于INACTIVE狀態(tài)或UNUSED狀態(tài)的重重做日志志文件組組,若要要刪除狀狀態(tài)為CURRENT的重做日日志文件件組,則則需要執(zhí)執(zhí)行一次次手動日日志切換換。示例ALTERDATABASEDROPLOGFILEGROUP4;REDO2a.LOGREDO1a.LOGGroup1Group2Group3REDO3a.LOGGroup4REDO4a.LOGREDO4b.LOG(6)重做日日志文件件組切換換當LGWR進程結(jié)束束對當前前重做日日志文件件組的使使用,開開始寫入入下一個個重做日日志文件件組時,,稱為發(fā)發(fā)生了一一次“日志切換換”。通常,只只有當前前的重做做日志文文件組寫寫滿后才才發(fā)生日日志切換換,但是是可以通通過設(shè)置置參數(shù)ARCHIVE_LAG_TARGET控制日志志切換的的時間間間隔,在在必要時時也可以以采用手手工強制制進行日日志切換換。如果需要要將當前前處于CURRENT狀態(tài)的重重做日志志組立即即切換到到INACTIVE狀態(tài),必必須進行行手工日日志切換換。手動日志志切換的的語法ALTERSYSTEMSWITCHLOGFILE查看日至至切換狀狀態(tài)SELECT*FROMV$LOGFILE;當發(fā)生日日志切換換時,系系統(tǒng)將為為新的重重做日志志文件產(chǎn)產(chǎn)生一個個日志序序列號,,在歸檔檔時該日日志序列列號一同同被保存存。日志志序列號號是在線線日志文文件和歸歸檔日志志文件的的唯一標標識。(7)清除重做做日志文文件組基本概念念在數(shù)據(jù)庫運行行過程中,聯(lián)聯(lián)機重做日志志文件可能會會因為某些原原因而損壞,,導致數(shù)據(jù)庫庫最終由于無無法將損壞的的重做日志文文件歸檔而停停止,此時可可以在不關(guān)閉閉數(shù)據(jù)庫的情情況下,手工工清除損壞的的重做日志文文件內(nèi)容,避避免出現(xiàn)數(shù)據(jù)據(jù)庫停止運行行的情況。清除重做日志志文件就是將將重做日志文文件中的內(nèi)容容全部清除,,相當于刪除除該重做日志志文件,然后后再重新建立立它。清除重重做日志文件件組是將該文文件組中的所所有成員文件件全部清空。。語句ALTERDATABASECLEARLOGFILEGROUP…在下列兩種情情況下,清除除重做日志文文件組的操作作將無法進行行。數(shù)據(jù)庫只有兩兩個重做日志志文件組;需要清除的重重做日志文件件組處于CURRENT狀態(tài)。如果要清空的的重做日志文文件組尚未歸歸檔,則必須須使用UNARCHIVED子句,以避免免對這個重做做日志文件組組進行歸檔。。ALTERDATABASECLEARUNARCHIVEDLOGFILEGROUP4;(8)查看重做日日志文件信息息數(shù)據(jù)字典視圖圖V$LOG:包含從控制制文件中獲取取的所有重做做日志文件組組的基本信息息。V$LOGFILE:包含重做日日志文件組及及其成員文件件的信息。V$LOG_HISTORY:包含關(guān)于重重做日志文件件的歷史信息息。查詢重做日志志文件組的信信息SELECTGROUP#,SEQUENCE#,MEMBERS,STATUS,ARCHIVEDFROMV$LOG;查詢重做日志志文件的信息息SELECTGROUP#,TYPE,MEMBERFROMV$LOGFILEORDERBYGROUP#;(9)利用OEM管理重做日志志文件創(chuàng)建重做日志志組編輯重做日志志組查看重做日志志組5.5歸檔重做日志志文件重做日志文件件歸檔概述數(shù)據(jù)庫歸檔模模式管理5.5.1重做日志文件件歸檔概述基本概念Oracle數(shù)據(jù)庫能夠把把已經(jīng)寫滿了了的重做日志志文件保存到到指定的一個個或多個位置置,被保存的的重做日志文文件的集合稱稱為歸檔重做做日志文件,,這個過程稱稱為歸檔。根據(jù)是否進行行重做日志文文件歸檔,數(shù)數(shù)據(jù)庫運行可可以分為歸檔檔模式或非歸歸檔模式。歸檔模式與非非歸檔模式比比較在歸檔模式下下,數(shù)據(jù)庫中中歷史重做日日志文件全部部被保存,因因此在數(shù)據(jù)庫庫出現(xiàn)故障時時,即使是介介質(zhì)故障,利利用數(shù)據(jù)庫備備份、歸檔重重做日志文件件和聯(lián)機重做做日志文件也也可以完全恢恢復數(shù)據(jù)庫。。在非歸檔模式式下,由于沒沒有保存過去去的重做日志志文件,數(shù)據(jù)據(jù)庫只能從實實例崩潰中恢恢復,而無法法進行介質(zhì)恢恢復。在非歸歸檔模式下不不能執(zhí)行聯(lián)機機表空間備份份操作,不能能使用聯(lián)機歸歸檔模式下建建立的表空間間備份進行恢恢復,而只能能使用非歸檔檔模式下建立立的完全備份份來對數(shù)據(jù)庫庫進行恢復。。在歸檔模式和和非歸檔模式式下進行日志志切換的條件件也不同。在在非歸檔模式式下,日志切切換的前提條條件是已寫滿滿的重做日志志文件在被覆覆蓋之前,其其所有重做記記錄所對應(yīng)的的事務(wù)的修改改操作結(jié)果全全部寫入到數(shù)數(shù)據(jù)文件中。。在歸檔模式式下,日志切切換的前提條條件是已寫滿滿的重做日志志文件在被覆覆蓋之前,不不僅所有重做做記錄所對應(yīng)應(yīng)的事務(wù)的修修改操作結(jié)果果全部寫入到到數(shù)據(jù)文件中中,還需要等等待歸檔進程程完成對它的的歸檔操作。。5.5.2數(shù)據(jù)庫歸檔模模式管理數(shù)據(jù)庫歸檔/非歸檔模式設(shè)設(shè)置歸檔模式下歸歸檔方式的選選擇歸檔路徑的設(shè)設(shè)置設(shè)置可選或強強制歸檔目標標查詢歸檔信息息(1)設(shè)置歸檔/非歸檔模式關(guān)閉數(shù)據(jù)庫SHUTDOWNIMMEDIATE啟動數(shù)據(jù)庫到到MOUNT狀態(tài)STARTUPMOUNT使用ALTERDATABASEARCHIVELOG語句將數(shù)據(jù)庫庫設(shè)置為歸檔檔模式。ALTERDATABASEARCHIVELOG;或使用ALTERDATABASENOARCHIVELOG語句將數(shù)據(jù)庫庫設(shè)置為非歸歸檔模式。ALTERDATABASENOARCHIVELOG;打開數(shù)據(jù)庫ALTERDATABASEOPEN;(2)歸檔模式下下歸檔方式的的選擇數(shù)據(jù)庫在歸檔檔模式下運行行時,可以采采用自動或手手動兩種方式式歸檔重做日日志文件。如果選擇自動動歸檔方式,,那么在重做做日志文件被被覆蓋之前,,ARCH進程自動將重

溫馨提示

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

評論

0/150

提交評論