chap7Oracle物理存儲結構_第1頁
chap7Oracle物理存儲結構_第2頁
chap7Oracle物理存儲結構_第3頁
chap7Oracle物理存儲結構_第4頁
chap7Oracle物理存儲結構_第5頁
已閱讀5頁,還剩91頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第7章 物理存儲結構本章內容容7.1項項目導入入規規劃人力力資源管管理系統統數據庫庫物理存存儲結構構7.2Oracle數據庫庫系統結結構7.3數數據文件件及其管管理7.4控控制文件件7.5重重做日志志文件7.6歸歸檔重做做日志文文件本章要求求理解Oracle數據庫的系統結結構掌握數據據文件的的管理掌握控制制文件的的作用及及其管理理掌握重做做日志文文件的工工作方式式及其管管理掌握數據據庫歸檔檔模式設設置及歸歸檔管理理7.1項目導入入規劃人力力資源管管理系統統數據庫庫物理存存儲結構構能夠分配配足夠的的存儲空空間存儲儲數據合理創建建一些數數據文件件,設置置文件的的大小、擴展方方式,并并分配到到不同的

2、的磁盤上上。合理規劃劃控制文文件、重重做日志志文件的的數量、存放位位置,既既能形成成冗余,避免數數據丟失失,又能能提高系系統的I/O性性能。為了保證證人力資資源管理理系統在在出現介介質故障障時能完完全恢復復,需要要將數據據庫設置置為歸檔檔模式,進行歸歸檔路徑徑等的設設置。7.2Oracle數據庫庫系統結結構Oracle數數據庫庫系統結結構由數數據庫實實例和物物理存儲儲結構組組成。在Oracle數據庫的的存儲結結構包括括物理存存儲結構構和邏輯輯存儲結結構。物理存儲儲結構主主要用于于描述Oracle數據庫外外部數據據的存儲儲,即在在操作系系統中如如何組織織和管理理數據,與具體體的操作作系統有有關;

3、邏輯存儲儲結構主主要描述述Oracle數據庫內內部數據據的組織織和管理理方式,與操作作系統沒沒有關系系。物理存儲儲結構是是邏輯存存儲結構構在物理理上的、可見的的、可操操作的、具體的的體現形形式。Oracle數數據庫物物理存儲儲結構數據文件件:用于于存儲數數據庫中中的所有有數據;控制文件件:用于于記錄和和描述數數據庫的的物理存存儲結構構信息;重做日志志文件:用于記記錄外部部程序(用戶)對數據據庫的改改變操作作;歸檔文件件:用于于保存已已經寫滿滿的重做做日志文文件;初始化參參數文件件:用于于設置數數據庫啟啟動時的的參數初初始值;跟蹤文件件:用于于記錄用用戶進程程、數據據庫后臺臺進程等等的運行行情況

4、;口令文件件:用于于保存具具有SYSDBA,SYSOPER權限的用用戶名和和SYS用戶口令令;警告文件件:用于于記錄數數據庫的的重要活活動以及及發生的的錯誤;備份文件件:用于于存放數數據庫備備份所產產生的文文件。7.3數數據文文件及其其管理數據文件件概述數據文件件的管理理7.3.1數據據文件概概述數據文件件的內容容用于保存存數據庫庫中所有有 數據據的文件件。臨時數據據文件是是一種特特殊的數數據文件件,其存存儲內容容是臨時時性的,在一定定條件下下自動釋釋放。Oralce數據庫中中的每個個數據文文件都具具有兩個個文件號號,稱為為絕對文文件號和和相對文文件號,用于唯唯一地確確定一個個數據文文件。其其

5、中,絕絕對文件件號用于于在整個個數據庫庫范圍內內唯一標標識一個個數據文文件;相相對文件件號用于于在表空空間范圍圍內唯一一標識一一個數據據文件。數據文件件與表空空間的關關系一個表空空間可以以包含幾幾個數據據文件一個數據據文件只只能從屬屬于一個個表空間間數據文件件的管理理策略由于對數數據庫的的操作最最終轉換換為對數數據文件件的操作作,因此此在數據據庫運行行過程中中對數據據文件進進行頻繁繁的讀寫寫操作。為了提提搞I/O效率,應應該合理理的分配配數據文文件的存存儲位置置。把不同存存儲內容容的數據據文件放放置在不不同的硬硬盤上,可以并并行訪問問數據,提高系系統讀寫寫的效率率。初始化參參數文件件、控制制文

6、件、重做日日志文件件最好不不要與數數據文件件存放在在同一個個磁盤上上,以免免數據庫庫發生介介質故障障時,無無法恢復復數據庫庫。7.3.2數數據文件件的管理理創建數據據文件修改數據據文件的的大小改變數據據文件的的可用性性改變數據據文件的的名稱或或位置刪除數據據文件查詢數據據文件的的信息利用OEM管理數據據文件(1)創建數數據文件件數據文件件依附于于表空間間而存在在,創建建數據文文件就是是向表空空間添加加文件在創建數數據文件件時應該該根據文文件數據據量的大大小確定定文件的的大小以以及文件件的增長長方式。語法ALTERTABLESPACEADDDATAFILEALTERTABLESPACEADDTE

7、MPFILE向ORCL數據庫的的USERS表空間中中添加一一個大小小為10MB的數據文文件。ALTERTABLESPACE USERS ADDDATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLUSERS02.DBFSIZE 10M;向ORCL數據庫的的TEMP表空間中中添加一一個大小小為5 MB的臨時數數據文件件。ALTERTABLESPACE TEMPADD TEMPFILED:ORACLEPRODUCT10.2.0ORADATAORCLTEMP02.DBF SIZE5M;(2)修改數數據文件件大小方法設置數據據文件為為自動增增長方式式。手工改變變數據文文件的大

8、大小。設置數據據文件為為自動增增長方式式創建時設設置數據據文件為為自動增增長創建后修修改數據據文件為為自動增增長AUTOEXTEND ON NEXTMAXSIZE|UNLIMITED手工改變變數據文文件的大大小ALTERDATABASEDATAFILERESIZE為ORCL數據庫的的USERS表空間添添加一個個自動增增長的數數據文件件。ALTERTABLESPACE USERS ADDDATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLUSERS03.DBFSIZE10MAUTOEXTENDONNEXT512K MAXSIZE50M;修改ORCL數據庫USERS表空

9、間的的數據文文件USERS02.DBF為自動增增長方式式 。ALTERDATABASEDATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLUSERS02.DBF AUTOEXTENDONNEXT512KMAXSIZE UNLIMITED;取消ORCL數據庫USERS表空間的的數據文文件USERS02.DBF的自動增增長方式式。ALTERDATABASEDATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLUSERS02.DBF AUTOEXTENDOFF;將ORCL數據庫USERS表空間的的數據文文件USERS02.DBF大小設置置為8 M

10、B。ALTERDATABASEDATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLUSERS02.DBFRESIZE8M;(3)改變數數據文件件的可用用性概念可以通過過將數據據文件聯聯機或脫脫機來改改變數據據文件的的可用性性。在下面幾幾種情況況下需要要改變數數據文件件的可用用性:要進行數數據文件件的脫機機備份時時,需要要先將數數據文件件脫機;需要重命命名數據據文件或或改變數數據文件件的位置置時,需需要先將將數據文文件脫機機;如果Oracle在寫入某某個數據據文件時時發生錯錯誤,會會自動將將該數據據文件設設置為脫脫機狀態態,并且且記錄在在警告文文件中。排除故故障后,需

11、要以以手動方方式重新新將該數數據文件件恢復為為聯機狀狀態。數據文件件丟失或或損壞,需要在在啟動數數據庫之之前將數數據文件件脫機。歸檔模式式下數據據文件可可用性的的改變數據文件件可用性性的改變變ALTERDATABASEDATAFILEONLINE|OFFLINE臨時數據據文件可可用性的的概念改改變ALTERDATABASETEMPFILEONLINE|OFFLINE在數據庫庫處于歸歸檔模式式下,將將ORCL數據庫USERS表空間的的數據文文件USERS02.DBF脫機。ALTERDATABASEDATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLUSERS02.DB

12、FOFFLINE;將ORCL數據庫USERS表空間的的數據文文件USERS02.DBF聯機。ALTERDATABASEDATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLUSERS02.DBFONLINE;非歸檔模模式下數數據文件件可用性性的改變變在非歸檔檔模式下下,通常常不能將將數據文文件脫機機。如果由于于數據文文件的損損壞,需需要將數數據文件件脫機,然后重重新啟動動數據庫庫,需要要使用ALTERDATABASEDATAFILEOFFLINE FORDROP語句。例例如:ALTERDATABASEDATAFILED:ORACLEPRODUCT10.2.0ORADA

13、TAORCLUSERS02.DBFOFFLINEFOR DROP;改變表空空間中所所有數據據文件的的可用性性在歸檔模模式下,將表空空間脫機機或聯機機ALTERTABLESPACE.DATAFILEONLINE|OFFLINE在歸檔模模式下,將臨時時表空間間聯機或或脫機ALTERTABLESPACE.TEMPFILEONLINE|OFFLINE在歸檔模模式下,將USERS表空間中中所有的的數據文文件脫機機,但USERS表空間不不脫機。然后再再將USERS表空間中中的所有有數據文文件聯機機。ALTERTABLESPACE USERS DATAFILE OFFLINE;RECOVER TABLESP

14、ACEUSERS;ALTERTABLESPACE USERS DATAFILE ONLINE;(4)改變數數據文件件的名稱稱或位置置改變同一一個表空空間中的的數據文文件的名名稱或位位置ALTERTABLESPACLERENAMEDATAFILETO改變多個個表空間間中的數數據文件件的名稱稱或位置置ALTERDATABASERENAMEFILETO注意改變數據據文件的的名稱或或位置時時,Oracle只是改變變記錄在在控制文文件和數數據字典典中的數數據文件件信息,并沒有有改變操操作系統統中數據據文件的的名稱和和位置,因此需需要DBA手動更改改操作系系統中數數據文件件的名稱稱和位置置。改變同一一個表

15、空空間中的的數據文文件的名名稱或位位置更改ORCL數據庫USERS表空間的的USERS02.DBF和USERS03.DBF文件名為為USERS002.DBF和USERS003.DBF。將包含數數據文件件的表空空間置為為脫機狀狀態。ALTERTABLESPACE USERS OFFLINE;在操作系系統中重重命名數數據文件件或移動動數據文文件到新新的位置置。分別別將USERS02.DBF和USERS03.DBF文件重命命名為USERS002.DBF和USERS003.DBF。使用ALTERTABLESPACERENAMEDATAFILETO語句進行行操作ALTERTABLESPACE USERS

16、RENAMEDATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLUSERS02.DBF,D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS03.DBFTOD:ORACLEPRODUCT10.2.0ORADATAORCLUSERS002.DBF,D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS003.DBF;將表空間間聯機。ALTERTABLESPACE USERS ONLINE;改變多個個表空間間中的數數據文件件的名稱稱或位置置更改ORCL數據庫USERS表空間中中的USERS002.DBF文件位置置和修改改TOOL

17、S表空間中中的TOOLS01.DBF文件名關閉數據據庫。SHUTDOWN在操作系系統中,將USERS表空間中中的USERS002.DBF文件復制制到一個個新的位位置,如如D:ORACLEPRODUCT10.2.0ORADATA,修改TOOLS表空間的的數據文文件TOOLS01.DBF的名為TOOLS001.DBF。啟動數據據庫到MOUNT狀態。STARTUP MOUNT執行ALTERDATABASERENAMEFILETO語句更新新數據文文件名稱稱或位置置。ALTERDATABASERENAMEFILED:ORACLEPRODUCT10.2.0ORADATAORCLUSERS002.DBF,D

18、:ORACLEPRODUCT10.2.0ORADATAORCLTOOLS01.DBFTOD:ORACLEPRODUCT10.2.0ORADATAUSERS002.DBF,D:ORACLEPRODUCT10.2.0ORADATAORCLTOOLS001.DBF;打開數據據庫。ALTERDATABASEOPEN;(5)刪除數數據文件件刪除某個個表空間間中的某某個空數數據文件件ALTERTABLESPACEDROPDATAFILE刪除某個個臨時表表空間中中的某個個空的臨臨時數據據文件ALTERTABLESPACEDROP TEMPFILEALTERDATABASETEMPFILEDROP所謂的空空數

19、據文文件或空空臨時數數據文件件是指為為該文件件分配的的所有區區都被回回收。刪除數據據文件或或臨時數數據文件件的同時時,將刪刪除控制制文件和和數據字字典中與與該數據據文件或或臨時數數據文件件的相關關信息,同時也也將刪除除操作系系統中對對應的物物理文件件。刪除USERS表空間中中的數據據文件USERS03.DBF和刪除TEMP臨時表空空間中的的臨時數數據文件件TEMP03.DBF。ALTERTABLESPACE USERS DROPDATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLUSERS03.DBF;ALTERTABLESPACE TEMPDROPTEMPFILE

20、D:ORACLEPRODUCT10.2.0ORADATAORCLTEMP03.DBF;刪除臨時時數據文文件TEMP03.DBF還可以表表示為ALTERDATABASETEMPFILED:ORACLEPRODUCT10.2.0ORADATAORCLTEMP02.DBF DROPINCLUDINGDATAFILES;刪除數據據文件或或臨時數數據文件件時受到到以下約約束:數據庫運運行在打打開狀態態數據文件件或臨時時數據文文件必須須是空的的不能刪除除表空間間的第一一個或唯唯一的一一個數據據文件或或臨時數數據文件件不能刪除除只讀表表空間中中的數據據文件不能刪除除SYSTEM表空間的的數據文文件不能刪除除

21、采用本本地管理理的處于于脫機狀狀態的數數據文件件。(7)查詢數數據文件件信息DBA_DATA_FILES:包含數數據庫中中所有數數據文件件的信息息,包括括數據文文件所屬屬的表空空間、數數據文件件編號等等。DBA_TEMP_FILES:包含數數據庫中中所有臨臨時數據據文件的的信息。DBA_EXTENTS:包含所所有表空空間中已已分配的的區的描描述信息息。USER_EXTENTS:包含當當前用戶戶所擁有有的對象象在所有有表空間間中已分分配的區區的描述述信息。DBA_FREE_SPACE:包含表表空間中中空閑區區的描述述信息。USER_FREE_SPACE:包含當當前用戶戶可訪問問的表空空間中空空閑

22、區的的描述信信息。V$DATAFILE:包含從從控制文文件中獲獲取的數數據文件件信息。V$DATAFILE_HEADER:包含從從數據文文件頭部部獲取的的信息。V$TEMPFILE:包含所所有臨時時文件的的基本信信息。查詢數據據文件動動態信息息SELECTNAME,FILE#,STATUS,CHECKPOINT_CHANGE#FROMV$DATAFILE查詢數據據文件的的詳細信信息SELECTTABLESPACE_NAME,AUTOEXTENSIBLE,FILE_NAMEFROMDBA_DATA_FILES;查詢數據據文件的的增長方方式SELECTTABLESPACE_NAME,BYTES,A

23、UTOEXTENSIBLE,FILE_NAMEFROMDBA_DATA_FILES查詢臨時時數據文文件信息息SELECTTABLESPACE_NAME,FILE_NAME,AUTOEXTENSIBLEFROM DBA_TEMP_FILES;(7)利用OEM管理數據據文件創建數據據文件編輯數據據文件查看數據據文件信信息刪除數據據文件7.4控控制文文件控制文件件概述控制文件件管理7.4.1控控制文件件概述控制文件件的性質質控制文件件是一個個很小的的二進制制文件。控制文件件描述了了整個數數據庫的的結構。在加載數數據庫時時,實例例必須首首先通過過初始化化參數文文件找到到數據庫庫的控制制文件。在數據庫庫

24、運行期期間,控控制文件件始終在在不斷更更新,以以便記錄錄數據文文件和重重做日志志文件的的變化每個數據據庫至少少擁有一一個控制制文件。一個數數據庫也也可以同同時擁有有多個控控制文件件。分配在不不同的物物理硬盤盤中,以以免數據據庫或硬硬盤損壞壞時,能能夠利用用備份的的控制文文件啟動動數據庫庫實例,可以提提高數據據庫的可可靠性。控制文件件的內容容數據庫名名稱和標標識;數據庫創創建的時時間;表空間名名稱;數據文件件和重做做日志文文件的名名稱和位位置;當前重做做日志文文件序列列號;數據庫檢檢查點的的信息;回退段的的開始和和結束;重做日志志的歸檔檔信息;備份信息息;數據庫恢恢復所需需要的同同步信息息。控制

25、文件件中的最最大化參參數包括括:MAXLOGFILES:最大重重做日志志文件組組數量;MAXLOGMEMBERS:重做日日志文件件組中最最大成員員數量;MAXLOGHISTORY:最大歷歷史重做做日志文文件數量量;MAXDATAFILES:最大數數據文件件數量;MAXINSTANCES:可同時時訪問的的數據庫庫最大實實例個數數。控制文件件管理策策略Oracle建議最少少有兩個個控制文文件,通通過多路路鏡像技技術,將將多個控控制文件件分散到到不同的的磁盤中中。在數數據庫運運行過程程中,始始終讀取取CONTROL_FILES參數指定定的第一一個控制制文件,并同時時寫CONTROL_FILES參數指

26、定定的所有有控制文文件。如如果其中中一個控控制文件件不可用用,則必必須關閉閉數據庫庫并進行行恢復。每次對數數據庫結結構進行行修改后后(添加加、修改改、刪除除數據文文件、重重做日志志文件),應該該及時備備份控制制文件。7.4.2控控制文件件的管理理創建控制制文件實現多路路鏡像控控制文件件備份控制制文件刪除控制制文件查看控制制文件的的信息利用OEM管理理控制文文件(1)創建控控制文件件創建控制制文件的的情形控制文件件全部丟丟失或損損壞;需要修改改數據庫庫名稱;在Oracle10.2.0之前的版版本中,需要修修改某個個最大化化參數。CREATECONTROLFILE語句CREATECONTROLFI

27、LEREUSESETDATABASEdatabaseLOGFILElogfile_clauseRESETLOGS|NORESETLOGSDATAFILEfile_specificationMAXLOGFILESMAXLOGMEMBERSMAXLOGHISTORYMAXDATAFILESMAXINSTANCESARCHIVELOG|NOARCHIVELOGFORCELOGGINGCHARACTER SETcharacter_set創建控制制文件的的基本步步驟制作數據據庫中所所有的數數據文件件和重做做日志文文件列表表SELECTMEMBER FROMV$LOGFILE;SELECTNAMEFROM

28、 V$DATAFILE;SELECTVALUEFROMV$PARAMETERWHERENAME =CONTROL_FILES;如果數據據庫仍然然處于運運行狀態態,則關關閉數據據庫SHUTDOWN在操作系系統級別別備份所所有的數數據文件件和聯機機重做日日志文件件啟動實例例到NOMOUNT狀態STARTUP NOMOUNT利用前面面得到的的文件列列表,執執行CREATECONTROLFILE創建一個個新控制制文件。在操作系系統級別別對新建建的控制制文件進進行備份份如果數據據庫重命命名,則則編輯DB_NAME參數來指指定新的的數據庫庫名稱如果數據據庫需要要恢復,則進行行恢復數數據庫操操作如果創建建控

29、制文文件時指指定了NORESTLOGS,可以完完全恢復復數據庫庫。RECOVER DATABASE ;如果創建建控制文文件時指指定了RESETLOGS,則必須須在恢復復時指定定USINGBACKUPCONTROLFILE。RECOVER DATABASE USING BACKUPCONTROLFILE;打開數據據庫如果數據據庫不需需要恢復復或已經經對數據據庫進行行了完全全恢復,則可以以正常打打開數據據庫。ALTERDATABASEOPEN;如果在創創建控制制文件時時使用了了RESETLOGS參數,則則必須指指定以RESETLOGS方式打開開數據庫庫。ALTERDATABASEOPENRESET

30、LOGS;(2)實現多多路鏡像像控制文文件編輯初始始化參數數CONTROL_FILESALTERSYSTEMSETCONTROL_FILES=SCOPE=SPFILE;關閉數據據庫SHUTDOWNIMMEDIATE;拷貝一個個原有的的控制文文件到新新的位置置,并重重新命名名重新啟動動數據庫庫STARTUP編輯初始始化參數數CONTROL_FILES。ALTERSYSTEMSETCONTROL_FILES=D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL01.CTL,D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL02.CTL,D:OR

31、ACLEPRODUCT10.2.0ORADATAORCLCONTROL03.CTL,D:ORACLEPRODUCT10.2.0ORADATACONTROL04.CTLSCOPE=SPFILE;注意:前前3個控制文文件是原原有的控控制文件件,最后后一個控控制文件件是將要要添加的的。關閉數據據庫SHUTDOWNIMMEDIATE;拷貝一個個原有的的控制文文件到新新的位置置,并重重新命名名。拷貝D:ORACLEORADATACONTROL01.CTL到D:ORACLEORADATA目錄下,并重命命名為CONTROL04.CTL。重新啟動動數據庫庫STARTUP(3)備份控控制文件件將控制文文件備份份

32、為二進進制文件件ALTERDATABASEBACKUPCONTROLFILE TO 將控制文文件備份份為文本本文件ALTERDATABASEBACKUPCONTROLFILETO TRACE將控制文文件備份份到adminudump目錄下的的跟蹤文文件中將控制文文件備份份為二進進制文件件。ALTERDATABASEBACKUPCONTROLFILETOD:ORACLECONTROL.BKP;將控制文文件備份份為文本本文件。ALTERDATABASEBACKUPCONTROLFILETOTRACE;(4)刪除控控制文件件編輯CONTROL_FILES初初始化參參數,使使其不包包含要刪刪除的控控制文

33、件件;關閉數據據庫;在操作系系統中刪刪除控制制文件;重新啟動動數據庫庫。(5)查詢控控制文件件的信息息V$DATABASE:從控制制文件中中獲取的的數據庫庫信息;V$CONTROLFILE:包含所所有控制制文件名名稱與狀狀態信息息;V$CONTROLFILE_RECORD_SECTION:包含控控制文件件中各記記錄文檔檔段信息息;V$PARAMETER:可以獲獲取初始始化參數數CONTROL_FILES的值。(7)利用OEM管理控制制文件查看控制制文件信信息備份控制制文件7.5重重做日日志文件件重做日志志文件概概述重做日志志文件的的管理7.5.1重重做日志志文件概概述重做日志志文件的的概念重做

34、日志志文件,保存了了用戶對對數據庫庫所作的更新操操作(DDL、DML),包含含的主要要信息是是記錄事事務的開開始和結結束、事事務中每每項操作的對對象和類類型、更更新操作作前后的的數據值值等。重做日志志文件是是由重做做記錄構構成的,每個重重做記錄錄由一組組修改相相量組成成。用戶對數數據庫所所做的修修改都是是在數據據庫的數數據高速速緩沖區區中進行行的,同同時將產產生的重重做記錄錄寫入重重做日志志緩沖區區。在一一定條件件下由DBWR進程將數數據高速速緩沖區區中修改改后的結結果成批批寫回數數據文件件中,而而重做日日志緩沖沖區中的的重做記記錄由LGWR進程周期期性的寫寫入重做做日志文文件。利用重做做日志

35、文文件恢復復數據庫庫是通過過事務的的重做(REDO)或回退退(UNDO)實現的的。重做日志志文件的的工作過過程每個數據據庫至少少需要兩兩個重做做日志文文件,采采用循環環寫的方方式進行行工作。當一個個重做日日志文件件寫滿后后,進程程LGWR就會移到到下一個個日志組組,稱為為日志切切換,同同時信息息會寫到到控制文文件中。重做日志志文件工工作流程程為了保證證LGWR進程的正正常進行行,通常常采用重重做日志志文件組組(GROUP),每個組組中包含含若干完完全相同同的重做做日志文文件成員員(MEMBER),這些成成員文件件相互鏡鏡像。7.5.2重重做日志志文件的的管理添加重做做日志文文件組添加重做做日志

36、文文件組成成員文件件改變重做做日志文文件組成成員文件件的名稱稱和位置置刪除重做做日志文文件組成成員刪除重做做日志文文件組重做日志志文件切切換清空重做做日志文文件組查看重做做日志文文件信息息利用OEM管理重做做日志文文件(1)添加重重做日志志文件組組語法ALTERDATABASEADDLOGFILE示例ALTERDATABASEADDLOGFILEGROUP4(D:ORACLEPRODUCT10.2.0ORADATAORCLREDO04a.LOG,D:ORACLEPRODUCT10.2.0ORADATAORCLREDO04b.LOG)SIZE 4M;REDO2b.LOGREDO1b.LOGGro

37、up1Group2Group3REDO3b.LOGREDO2a.LOGREDO3a.LOGREDO1a.LOGGroup4REDO4b.LOGREDO4a.LOG注意:分配給每每個重做做日志文文件的初初始空間間至少為為4 MB。如果沒有有使用GROUP子句指定定組號,則系統統會自動動產生組組號,為為當前重重做日志志文件組組的個數數加1。在Oracle10.2.0之前的版版本中,數據庫庫最多允允許的重重做日志志文件組組的數量量由控制制文件中中的MAXLOGFILES參數決定定。在Oracle10.2.0之前的版版本中,每個重重做日志志文件組組中最多多成員文文件數量量由控制制文件中中的MAXLOG

38、MEMBERS參數決定定。(2)添加重重做日志志文件組組成員語法ALTERDATABASEADDLOGFILEMEMBER TO GROUP示例ALTERDATABASEADDLOGFILEMEMBERD:ORACLEPRODUCT10.2.0ORADATAORCLREDO01C.LOGTOGROUP1,D:ORACLEPRODUCT10.2.0ORADATAORCLREDO04C.LOGTOGROUP4;注意:同一個重重做日志志文件組組中的成成員文件件存儲位位置應盡盡量分散散。不需要指指定文件件大小。新成員員文件大大小由組組中已有有成員大大小決定定。(3)改變重重做日志志文件組組成員名名稱或

39、位位置語法ALTERDATABASERENAMEFILETO注意 只能更改改處于INACTIVE或UNUSED狀態的重重做日志志文件組組的成員員文件的的名稱或或位置。示例將重做日日志文件件REDO01C.LOG重命名為為REDO01B.LOG,將REDO04C.LOG移到D:ORACLEPRODUCT10.2.0ORADATA目錄下。檢查要修修改的成成員文件件所在的的重做日日志文件件組狀態態SELECTgroup#,statusFROM v$log;如果要修修改的日日志文件件組不是是處于INACTIVE或UNUSED狀態,則則需要進進行手動動日志切切換。重命名重重做日志志文件或或將重做做日志文

40、文件移到到新位置置打開D:ORACLEPRODUCT10.2.0ORADATAORCL文件夾,將REDO01C.LOG更名為REDO01B.LOG,同時將將REDO04C.LOG移到D:ORACLEPRODUCT10.2.0ORADATA文件夾下下。執行ALTERDATABASERENAMEFILETO語句ALTERDATABASERENAMEFILED:ORACLEPRODUCT10.2.0ORADATAORCLREDO01C.LOG,D:ORACLEPRODUCT10.2.0ORADATAORCLREDO4C.LOGTOD:ORACLEPRODUCT10.2.0ORADATAORCLRED

41、O001B.LOG,D:ORACLEPRODUCT10.2.0ORADATAREDO04C.LOG;(4)刪除重重做日志志文件組組成員語法ALTERDATABASEDROP LOGFILEMEMBER注意事項項只能刪除除狀態為為INACTIVE或UNUSED的重做日日志文件件組中的的成員;若要刪刪除狀態態為CURRENT的重做日日志文件件組中的的成員,則需執執行一次次手動日日志切換換。如果數據據庫處于于歸檔模模式下,則在刪刪除重做做日志文文件之前前要保證證該文件件所在的的重做日日志文件件組已歸歸檔。每個重做做日志文文件組中中至少要要有一個個可用的的成員文文件,即即VALID狀態的成成員文件件。

42、如果果要刪除除的重做做日志文文件是所所在組中中最后一一個可用用的成員員文件,則無法法刪除。ALTERDATABASEDROP LOGFILEMEMBERD:ORACLEPRODUCT10.2.0ORADATAREDO4c.LOG;Group4REDO4a.LOGREDO4b.LOGREDO4c.LOG(5)刪除重重做日志志文件組組語法ALTERDATABASEDROP LOGFILEGROUP注意事項項無論重做做日志文文件組中中有多少少個成員員文件,一個數數據庫至至少需要要使用兩兩個重做做日志文文件組。如果數據據庫處于于歸檔模模式下,則在刪刪除重做做日志文文件組之之前,必必須確定定該組已已經被

43、歸歸檔。只能刪除除處于INACTIVE狀態或UNUSED狀態的重重做日志志文件組組,若要要刪除狀狀態為CURRENT的重做日日志文件件組,則則需要執執行一次次手動日日志切換換。示例ALTERDATABASEDROP LOGFILEGROUP4;REDO2a.LOGREDO1a.LOGGroup1Group2Group3REDO3a.LOGGroup4REDO4a.LOGREDO4b.LOG(6)重做日日志文件件組切換換當LGWR進程結束束對當前前重做日日志文件件組的使使用,開開始寫入入下一個個重做日日志文件件組時,稱為發發生了一一次“日日志切換換”。通常,只只有當前前的重做做日志文文件組寫寫滿

44、后才才發生日日志切換換,但是是可以通通過設置置參數ARCHIVE_LAG_TARGET控制日志志切換的的時間間間隔,在在必要時時也可以以采用手手工強制制進行日日志切換換。如果需要要將當前前處于CURRENT狀態的重重做日志志組立即即切換到到INACTIVE狀態,必必須進行行手工日日志切換換。手動日志志切換的的語法ALTERSYSTEMSWITCH LOGFILE查看日至至切換狀狀態SELECT*FROM V$LOGFILE;當發生日日志切換換時,系系統將為為新的重重做日志志文件產產生一個個日志序序列號,在歸檔檔時該日日志序列列號一同同被保存存。日志志序列號號是在線線日志文文件和歸歸檔日志志文件

45、的的唯一標標識。(7)清除重做做日志文文件組基本概念念在數據庫庫運行過過程中,聯機重重做日志志文件可可能會因因為某些些原因而而損壞,導致數數據庫最最終由于于無法將將損壞的的重做日日志文件件歸檔而而停止,此時可可以在不不關閉數數據庫的的情況下下,手工工清除損損壞的重重做日志志文件內內容,避避免出現現數據庫庫停止運運行的情情況。清除重做做日志文文件就是是將重做做日志文文件中的的內容全全部清除除,相當當于刪除除該重做做日志文文件,然然后再重重新建立立它。清清除重做做日志文文件組是是將該文文件組中中的所有有成員文文件全部部清空。語句ALTERDATABASECLEARLOGFILEGROUP在下列兩兩

46、種情況況下,清清除重做做日志文文件組的的操作將將無法進進行。數據庫只只有兩個個重做日日志文件件組;需要清除除的重做做日志文文件組處處于CURRENT狀態。如果要清清空的重重做日志志文件組組尚未歸歸檔,則則必須使使用UNARCHIVED子句,以以避免對對這個重重做日志志文件組組進行歸歸檔。ALTERDATABASECLEARUNARCHIVED LOGFILEGROUP4;(8)查看重重做日志志文件信信息數據字典典視圖V$LOG:包含從從控制文文件中獲獲取的所所有重做做日志文文件組的的基本信信息。V$LOGFILE:包含重重做日志志文件組組及其成成員文件件的信息息。V$LOG_HISTORY:包

47、含關關于重做做日志文文件的歷歷史信息息。查詢重做做日志文文件組的的信息SELECTGROUP#,SEQUENCE#,MEMBERS,STATUS,ARCHIVEDFROMV$LOG;查詢重做做日志文文件的信信息SELECTGROUP#,TYPE,MEMBERFROM V$LOGFILEORDERBYGROUP#;(9)利用OEM管理重做做日志文文件創建重做做日志組組編輯重做做日志組組查看重做做日志組組7.6歸歸檔重重做日志志文件重做日志志文件歸歸檔概述述數據庫歸歸檔模式式管理7.6.1重重做日志志文件歸歸檔概述述基本概念念Oracle數據庫能能夠把已已經寫滿滿了的重重做日志志文件保保存到指指定

48、的一一個或多多個位置置,被保保存的重重做日志志文件的的集合稱稱為歸檔檔重做日日志文件件,這個個過程稱稱為歸檔檔。根據是否否進行重重做日志志文件歸歸檔,數數據庫運運行可以以分為歸歸檔模式式或非歸歸檔模式式。歸檔模式式與非歸歸檔模式式比較在歸檔模模式下,數據庫庫中歷史史重做日日志文件件全部被被保存,因此在在數據庫庫出現故故障時,即使是是介質故故障,利利用數據據庫備份份、歸檔檔重做日日志文件件和聯機機重做日日志文件件也可以以完全恢恢復數據據庫。在非歸檔檔模式下下,由于于沒有保保存過去去的重做做日志文文件,數數據庫只只能從實實例崩潰潰中恢復復,而無無法進行行介質恢恢復。在在非歸檔檔模式下下不能執執行聯

49、機機表空間間備份操操作,不不能使用用聯機歸歸檔模式式下建立立的表空空間備份份進行恢恢復,而而只能使使用非歸歸檔模式式下建立立的完全全備份來來對數據據庫進行行恢復。在歸檔模模式和非非歸檔模模式下進進行日志志切換的的條件也也不同。在非歸歸檔模式式下,日日志切換換的前提提條件是是已寫滿滿的重做做日志文文件在被被覆蓋之之前,其其所有重重做記錄錄所對應應的事務務的修改改操作結結果全部部寫入到到數據文文件中。在歸檔檔模式下下,日志志切換的的前提條條件是已已寫滿的的重做日日志文件件在被覆覆蓋之前前,不僅僅所有重重做記錄錄所對應應的事務務的修改改操作結結果全部部寫入到到數據文文件中,還需要要等待歸歸檔進程程完

50、成對對它的歸歸檔操作作。7.6.2數數據庫歸歸檔模式式管理數據庫歸歸檔/非歸檔模模式設置置歸檔模式式下歸檔檔方式的的選擇歸檔路徑徑的設置置設置可選選或強制制歸檔目目標查詢歸檔檔信息(1)設置歸歸檔/非歸檔模模式關閉數據據庫SHUTDOWNIMMEDIATE啟動數據據庫到MOUNT狀態STARTUP MOUNT使用ALTERDATABASEARCHIVELOG語句將數數據庫設設置為歸歸檔模式式。ALTERDATABASEARCHIVELOG;或使用ALTERDATABASENOARCHIVELOG語句將數數據庫設設置為非非歸檔模模式。ALTERDATABASENOARCHIVELOG;打開數據據庫ALTERDATABASEOPEN;(2)歸檔模模式下歸歸檔方式式的選擇擇數據庫在在歸檔模模式下運運行時,可以采采用自動動或手動動兩種方方式歸檔檔重做日日志文件件。如果選擇擇自動歸歸檔方式式,那么么在重做做日志文文件被覆覆蓋之前前,ARCH進進程自動動將重做做日志文文件內容容歸檔;如果選擇擇了手動動歸檔,那么在在重做日日志文件件被覆蓋蓋之前,需要DBA手手動將重重做日志志文件歸歸檔,否否則系統統將

溫馨提示

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

評論

0/150

提交評論