![oracle第5章物理存儲結(jié)構(gòu)PPT課件[通用]_第1頁](http://file4.renrendoc.com/view/a7cf595caf05e350df3bd9aa8fafaf03/a7cf595caf05e350df3bd9aa8fafaf031.gif)
![oracle第5章物理存儲結(jié)構(gòu)PPT課件[通用]_第2頁](http://file4.renrendoc.com/view/a7cf595caf05e350df3bd9aa8fafaf03/a7cf595caf05e350df3bd9aa8fafaf032.gif)
![oracle第5章物理存儲結(jié)構(gòu)PPT課件[通用]_第3頁](http://file4.renrendoc.com/view/a7cf595caf05e350df3bd9aa8fafaf03/a7cf595caf05e350df3bd9aa8fafaf033.gif)
![oracle第5章物理存儲結(jié)構(gòu)PPT課件[通用]_第4頁](http://file4.renrendoc.com/view/a7cf595caf05e350df3bd9aa8fafaf03/a7cf595caf05e350df3bd9aa8fafaf034.gif)
![oracle第5章物理存儲結(jié)構(gòu)PPT課件[通用]_第5頁](http://file4.renrendoc.com/view/a7cf595caf05e350df3bd9aa8fafaf03/a7cf595caf05e350df3bd9aa8fafaf035.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第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.1 Oracle數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)Oracle 數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)由數(shù)據(jù)庫實(shí)例和物理存儲結(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)沒有
2、關(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ù)初始值;跟蹤文件:用于記錄用戶進(jìn)程、數(shù)據(jù)庫后臺進(jìn)程等的運(yùn)行情況;口令文件:用于保存具有SYSDBA,SYSOPER權(quán)限的用戶名和SYS用戶口令;警告文件:用于記錄數(shù)據(jù)庫的重要活動以及發(fā)生的錯誤;備份文件:用于存放數(shù)據(jù)庫備份所產(chǎn)生的文件。5.2 數(shù)據(jù)文件及其管
3、理數(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)唯一標(biāo)識一個數(shù)據(jù)文件;相對文件號用于在表空間范圍內(nèi)唯一標(biāo)識一個數(shù)據(jù)文件。數(shù)據(jù)文件與表空間的關(guān)系 一個表空間可以包含幾個數(shù)據(jù)文件一個數(shù)據(jù)文件只能從屬于一個表空間數(shù)據(jù)文件的管理策略由于對數(shù)據(jù)庫的操作最終轉(zhuǎn)換為對數(shù)據(jù)文件的操作,因此在數(shù)據(jù)庫運(yùn)行過程中對數(shù)據(jù)文件進(jìn)行頻繁的讀寫操作
4、。為了提搞I/O效率,應(yīng)該合理的分配數(shù)據(jù)文件的存儲位置。把不同存儲內(nèi)容的數(shù)據(jù)文件放置在不同的硬盤上,可以并行訪問數(shù)據(jù),提高系統(tǒng)讀寫的效率。初始化參數(shù)文件、控制文件、重做日志文件最好不要與數(shù)據(jù)文件存放在同一個磁盤上,以免數(shù)據(jù)庫發(fā)生介質(zhì)故障時,無法恢復(fù)數(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ù)量的大小確定文件的大小以及文件的增長方式。 語法ALTER TABLESPA
5、CEADD DATAFILEALTER TABLESPACEADD TEMPFILE向ORCL數(shù)據(jù)庫的USERS表空間中添加一個大小為10 MB的數(shù)據(jù)文件。 ALTER TABLESPACE USERS ADD DATAFILE D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS02.DBF SIZE 10M;向ORCL數(shù)據(jù)庫的TEMP表空間中添加一個大小為5 MB的臨時數(shù)據(jù)文件。ALTER TABLESPACE TEMP ADD TEMPFILED:ORACLEPRODUCT10.2.0ORADATAORCLTEMP02.DBF SIZE 5M;(2)修改數(shù)據(jù)文件大小
6、方法設(shè)置數(shù)據(jù)文件為自動增長方式。手工改變數(shù)據(jù)文件的大小。設(shè)置數(shù)據(jù)文件為自動增長方式創(chuàng)建時設(shè)置數(shù)據(jù)文件為自動增長創(chuàng)建后修改數(shù)據(jù)文件為自動增長AUTOEXTEND ON NEXT MAXSIZE|UNLIMITED手工改變數(shù)據(jù)文件的大小ALTER DATABASE DATAFILERESIZE為ORCL數(shù)據(jù)庫的USERS表空間添加一個自動增長的數(shù)據(jù)文件。ALTER TABLESPACE USERS ADD DATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLUSERS03.DBF SIZE 10M AUTOEXTEND ON NEXT 512K MAXSIZE 50M;
7、修改ORCL數(shù)據(jù)庫USERS表空間的數(shù)據(jù)文件USERS02.DBF為自動增長方式 。ALTER DATABASE DATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLUSERS02.DBF AUTOEXTEND ON NEXT 512K MAXSIZE UNLIMITED;取消ORCL數(shù)據(jù)庫USERS表空間的數(shù)據(jù)文件USERS02.DBF的自動增長方式。 ALTER DATABASE DATAFILED:ORACLEPRODUCT10.2.0ORADATAORCLUSERS02.DBF AUTOEXTEND OFF;將ORCL數(shù)據(jù)庫USERS表空間的數(shù)據(jù)文件USER
8、S02.DBF大小設(shè)置為8 MB 。ALTER DATABASE DATAFILE D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS02.DBF RESIZE 8M;(3)改變數(shù)據(jù)文件的可用性概念可以通過將數(shù)據(jù)文件聯(lián)機(jī)或脫機(jī)來改變數(shù)據(jù)文件的可用性。在下面幾種情況下需要改變數(shù)據(jù)文件的可用性:要進(jìn)行數(shù)據(jù)文件的脫機(jī)備份時,需要先將數(shù)據(jù)文件脫機(jī);需要重命名數(shù)據(jù)文件或改變數(shù)據(jù)文件的位置時,需要先將數(shù)據(jù)文件脫機(jī);如果Oracle在寫入某個數(shù)據(jù)文件時發(fā)生錯誤,會自動將該數(shù)據(jù)文件設(shè)置為脫機(jī)狀態(tài),并且記錄在警告文件中。排除故障后,需要以手動方式重新將該數(shù)據(jù)文件恢復(fù)為聯(lián)機(jī)狀態(tài)。數(shù)據(jù)文件丟
9、失或損壞,需要在啟動數(shù)據(jù)庫之前將數(shù)據(jù)文件脫機(jī)。 歸檔模式下數(shù)據(jù)文件可用性的改變數(shù)據(jù)文件可用性的改變ALTER DATABASE DATAFILE ONLINE|OFFLINE臨時數(shù)據(jù)文件可用性的概念改變ALTER DATABASE TEMPFILE ONLINE|OFFLINE在數(shù)據(jù)庫處于歸檔模式下,將ORCL數(shù)據(jù)庫USERS表空間的數(shù)據(jù)文件USERS02.DBF脫機(jī)。ALTER DATABASE DATAFILE D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS02.DBF OFFLINE; 將ORCL數(shù)據(jù)庫USERS表空間的數(shù)據(jù)文件USERS02.DBF聯(lián)機(jī)。 A
10、LTERDATABASEDATAFILE D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS02.DBF ONLINE; 非歸檔模式下數(shù)據(jù)文件可用性的改變 在非歸檔模式下,通常不能將數(shù)據(jù)文件脫機(jī)。 如果由于數(shù)據(jù)文件的損壞,需要將數(shù)據(jù)文件脫機(jī),然后重新啟動數(shù)據(jù)庫,需要使用ALTER DATABASE DATAFILEOFFLINE FOR DROP語句。例如: ALTERDATABASEDATAFILE D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS02.DBFOFFLINE FOR DROP; 改變表空間中所有數(shù)據(jù)文件的可用性 在歸檔模式下,
11、將表空間脫機(jī)或聯(lián)機(jī) ALTER TABLESPACE.DATAFILE ONLINE|OFFLINE在歸檔模式下,將臨時表空間聯(lián)機(jī)或脫機(jī)ALTER TABLESPACE.TEMPFILE ONLINE | OFFLINE在歸檔模式下,將USERS表空間中所有的數(shù)據(jù)文件脫機(jī),但USERS表空間不脫機(jī)。然后再將USERS表空間中的所有數(shù)據(jù)文件聯(lián)機(jī)。ALTER TABLESPACE USERS DATAFILE OFFLINE;RECOVER TABLESPACE USERS;ALTER TABLESPACE USERS DATAFILE ONLINE; (4)改變數(shù)據(jù)文件的名稱或位置 改變同一個表
12、空間中的數(shù)據(jù)文件的名稱或位置ALTER TABLESPACLERENAME DATAFILETO改變多個表空間中的數(shù)據(jù)文件的名稱或位置ALTER DATABASE RENAME FILETO注意改變數(shù)據(jù)文件的名稱或位置時,Oracle只是改變記錄在控制文件和數(shù)據(jù)字典中的數(shù)據(jù)文件信息,并沒有改變操作系統(tǒng)中數(shù)據(jù)文件的名稱和位置,因此需要DBA手動更改操作系統(tǒng)中數(shù)據(jù)文件的名稱和位置。改變同一個表空間中的數(shù)據(jù)文件的名稱或位置更改ORCL數(shù)據(jù)庫USERS表空間的USERS02.DBF和USERS03.DBF文件名為USERS002.DBF和USERS003.DBF 。將包含數(shù)據(jù)文件的表空間置為脫機(jī)狀態(tài)。
13、ALTER TABLESPACE USERS OFFLINE;在操作系統(tǒng)中重命名數(shù)據(jù)文件或移動數(shù)據(jù)文件到新的位置。分別將USERS02.DBF和USERS03.DBF文件重命名為USERS002.DBF和USERS003.DBF。使用ALTER TABLESPACERENAME DATAFILETO語句進(jìn)行操作ALTER TABLESPACE USERS RENAME DATAFILE D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS02.DBF, D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS03.DBF TO D:ORACLEPRODU
14、CT10.2.0ORADATAORCLUSERS002.DBF, D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS003.DBF;將表空間聯(lián)機(jī)。ALTER TABLESPACE USERS ONLINE;改變多個表空間中的數(shù)據(jù)文件的名稱或位置更改ORCL數(shù)據(jù)庫USERS表空間中的USERS002.DBF文件位置和修改TOOLS表空間中的TOOLS01.DBF文件名 關(guān)閉數(shù)據(jù)庫。SHUTDOWN在操作系統(tǒng)中,將USERS表空間中的USERS002.DBF文件復(fù)制到一個新的位置,如D:ORACLEPRODUCT10.2.0ORADATA,修改TOOLS表空間的數(shù)據(jù)文件TO
15、OLS01.DBF的名為TOOLS001.DBF。啟動數(shù)據(jù)庫到MOUNT狀態(tài)。STARTUP MOUNT執(zhí)行ALTER DATABASE RENAME FILETO語句更新數(shù)據(jù)文件名稱或位置。ALTER DATABASE RENAME FILED:ORACLEPRODUCT10.2.0ORADATAORCLUSERS002.DBF,D:ORACLEPRODUCT10.2.0ORADATAORCLTOOLS01.DBF TO D:ORACLEPRODUCT10.2.0ORADATAUSERS002.DBF,D:ORACLEPRODUCT10.2.0ORADATAORCLTOOLS001.DBF;
16、打開數(shù)據(jù)庫。ALTER DATABASE OPEN; (5)刪除數(shù)據(jù)文件 刪除某個表空間中的某個空數(shù)據(jù)文件 ALTER TABLESPACEDROP DATAFILE 刪除某個臨時表空間中的某個空的臨時數(shù)據(jù)文件 ALTER TABLESPACE DROP TEMPFILE ALTER DATABASE TEMPFILEDROP所謂的空數(shù)據(jù)文件或空臨時數(shù)據(jù)文件是指為該文件分配的所有區(qū)都被回收。刪除數(shù)據(jù)文件或臨時數(shù)據(jù)文件的同時,將刪除控制文件和數(shù)據(jù)字典中與該數(shù)據(jù)文件或臨時數(shù)據(jù)文件的相關(guān)信息,同時也將刪除操作系統(tǒng)中對應(yīng)的物理文件。 刪除USERS表空間中的數(shù)據(jù)文件USERS03.DBF和刪除TEMP
17、臨時表空間中的臨時數(shù)據(jù)文件TEMP03.DBF。ALTER TABLESPACE USERS DROP DATAFILE D:ORACLEPRODUCT10.2.0ORADATAORCLUSERS03.DBF;ALTER TABLESPACE TEMP DROP TEMPFILE D:ORACLEPRODUCT10.2.0ORADATAORCLTEMP03.DBF; 刪除臨時數(shù)據(jù)文件TEMP03.DBF還可以表示為ALTER DATABASE TEMPFILE D:ORACLEPRODUCT10.2.0ORADATAORCLTEMP02.DBF DROP INCLUDING DATAFILES
18、; 刪除數(shù)據(jù)文件或臨時數(shù)據(jù)文件時受到以下約束:數(shù)據(jù)庫運(yùn)行在打開狀態(tài)數(shù)據(jù)文件或臨時數(shù)據(jù)文件必須是空的不能刪除表空間的第一個或唯一的一個數(shù)據(jù)文件或臨時數(shù)據(jù)文件不能刪除只讀表空間中的數(shù)據(jù)文件不能刪除SYSTEM表空間的數(shù)據(jù)文件不能刪除采用本地管理的處于脫機(jī)狀態(tài)的數(shù)據(jù)文件。 (6)查詢數(shù)據(jù)文件信息DBA_DATA_FILES:包含數(shù)據(jù)庫中所有數(shù)據(jù)文件的信息,包括數(shù)據(jù)文件所屬的表空間、數(shù)據(jù)文件編號等。DBA_TEMP_FILES:包含數(shù)據(jù)庫中所有臨時數(shù)據(jù)文件的信息。DBA_EXTENTS:包含所有表空間中已分配的區(qū)的描述信息。USER_EXTENTS:包含當(dāng)前用戶所擁有的對象在所有表空間中已分配的區(qū)的描
19、述信息。DBA_FREE_SPACE:包含表空間中空閑區(qū)的描述信息。USER_FREE_SPACE:包含當(dāng)前用戶可訪問的表空間中空閑區(qū)的描述信息。V$DATAFILE:包含從控制文件中獲取的數(shù)據(jù)文件信息。V$DATAFILE_HEADER:包含從數(shù)據(jù)文件頭部獲取的信息。V$TEMPFILE:包含所有臨時文件的基本信息。 查詢數(shù)據(jù)文件動態(tài)信息SELECT NAME,FILE#,STATUS,CHECKPOINT_CHANGE# FROM V$DATAFILE 查詢數(shù)據(jù)文件的詳細(xì)信息 SELECT TABLESPACE_NAME,AUTOEXTENSIBLE,FILE_NAME FROM DBA_
20、DATA_FILES;查詢數(shù)據(jù)文件的增長方式SELECT TABLESPACE_NAME,BYTES,AUTOEXTENSIBLE,FILE_NAME FROM DBA_DATA_FILES 查詢臨時數(shù)據(jù)文件信息SELECT TABLESPACE_NAME,FILE_NAME, AUTOEXTENSIBLE FROM DBA_TEMP_FILES;(7)利用OEM管理數(shù)據(jù)文件創(chuàng)建數(shù)據(jù)文件編輯數(shù)據(jù)文件 查看數(shù)據(jù)文件信息 刪除數(shù)據(jù)文件 5.3 控制文件控制文件概述 控制文件管理5.3.1 控制文件概述控制文件的性質(zhì)控制文件是一個很小的二進(jìn)制文件。控制文件描述了整個數(shù)據(jù)庫的結(jié)構(gòu)。在加載數(shù)據(jù)庫時,實(shí)例
21、必須首先通過初始化參數(shù)文件找到數(shù)據(jù)庫的控制文件。在數(shù)據(jù)庫運(yùn)行期間,控制文件始終在不斷更新,以便記錄數(shù)據(jù)文件和重做日志文件的變化每個數(shù)據(jù)庫至少擁有一個控制文件。一個數(shù)據(jù)庫也可以同時擁有多個控制文件。分配在不同的物理硬盤中,以免數(shù)據(jù)庫或硬盤損壞時,能夠利用備份的控制文件啟動數(shù)據(jù)庫實(shí)例,可以提高數(shù)據(jù)庫的可靠性??刂莆募膬?nèi)容數(shù)據(jù)庫名稱和標(biāo)識;數(shù)據(jù)庫創(chuàng)建的時間;表空間名稱;數(shù)據(jù)文件和重做日志文件的名稱和位置;當(dāng)前重做日志文件序列號;數(shù)據(jù)庫檢查點(diǎn)的信息;回退段的開始和結(jié)束;重做日志的歸檔信息;備份信息;數(shù)據(jù)庫恢復(fù)所需要的同步信息??刂莆募械淖畲蠡瘏?shù)包括:MAXLOGFILES:最大重做日志文件組數(shù)量
22、;MAXLOGMEMBERS:重做日志文件組中最大成員數(shù)量;MAXLOGHISTORY:最大歷史重做日志文件數(shù)量;MAXDATAFILES:最大數(shù)據(jù)文件數(shù)量;MAXINSTANCES:可同時訪問的數(shù)據(jù)庫最大實(shí)例個數(shù)??刂莆募芾聿呗設(shè)racle建議最少有兩個控制文件,通過多路鏡像技術(shù),將多個控制文件分散到不同的磁盤中。在數(shù)據(jù)庫運(yùn)行過程中,始終讀取CONTROL_FILES參數(shù)指定的第一個控制文件,并同時寫CONTROL_FILES參數(shù)指定的所有控制文件。如果其中一個控制文件不可用,則必須關(guān)閉數(shù)據(jù)庫并進(jìn)行恢復(fù)。每次對數(shù)據(jù)庫結(jié)構(gòu)進(jìn)行修改后(添加、修改、刪除數(shù)據(jù)文件、重做日志文件),應(yīng)該及時備份控制
23、文件。5.3.2 控制文件的管理創(chuàng)建控制文件實(shí)現(xiàn)多路鏡像控制文件備份控制文件刪除控制文件查看控制文件的信息利用OEM管理控制文件 (1)創(chuàng)建控制文件創(chuàng)建控制文件的情形控制文件全部丟失或損壞;需要修改數(shù)據(jù)庫名稱;在Oracle 10.2.0之前的版本中,需要修改某個最大化參數(shù)。CREATE CONTROLFILE語句CREATE CONTROLFILE REUSESET DATABASE databaseLOGFILE logfile_clauseRESETLOGS|NORESETLOGSDATAFILE file_specificationMAXLOGFILESMAXLOGMEMBERSMAX
24、LOGHISTORYMAXDATAFILESMAXINSTANCESARCHIVELOG|NOARCHIVELOGFORCE LOGGINGCHARACTER SET character_set創(chuàng)建控制文件的基本步驟制作數(shù)據(jù)庫中所有的數(shù)據(jù)文件和重做日志文件列表SELECT MEMBER FROM V$LOGFILE;SELECT NAME FROM V$DATAFILE;SELECT VALUE FROM V$PARAMETER WHERE NAME = CONTROL_FILES;如果數(shù)據(jù)庫仍然處于運(yùn)行狀態(tài),則關(guān)閉數(shù)據(jù)庫SHUTDOWN 在操作系統(tǒng)級別備份所有的數(shù)據(jù)文件和聯(lián)機(jī)重做日志文件啟動
25、實(shí)例到NOMOUNT狀態(tài)STARTUP NOMOUNT 利用前面得到的文件列表,執(zhí)行CREATE CONTROLFILE創(chuàng)建一個新控制文件。在操作系統(tǒng)級別對新建的控制文件進(jìn)行備份如果數(shù)據(jù)庫重命名,則編輯DB_NAME參數(shù)來指定新的數(shù)據(jù)庫名稱 如果數(shù)據(jù)庫需要恢復(fù),則進(jìn)行恢復(fù)數(shù)據(jù)庫操作如果創(chuàng)建控制文件時指定了NORESTLOGS,可以完全恢復(fù)數(shù)據(jù)庫。RECOVER DATABASE ;如果創(chuàng)建控制文件時指定了RESETLOGS,則必須在恢復(fù)時指定USING BACKUP CONTROLFILE。RECOVER DATABASE USING BACKUP CONTROLFILE;打開數(shù)據(jù)庫如果數(shù)據(jù)庫
26、不需要恢復(fù)或已經(jīng)對數(shù)據(jù)庫進(jìn)行了完全恢復(fù),則可以正常打開數(shù)據(jù)庫。ALTER DATABASE OPEN;如果在創(chuàng)建控制文件時使用了RESETLOGS參數(shù),則必須指定以RESETLOGS方式打開數(shù)據(jù)庫。ALTER DATABASE OPEN RESETLOGS;(2)實(shí)現(xiàn)多路鏡像控制文件 編輯初始化參數(shù)CONTROL_FILES ALTER SYSTEM SET CONTROL_FILES= SCOPE=SPFILE;關(guān)閉數(shù)據(jù)庫 SHUTDOWN IMMEDIATE; 拷貝一個原有的控制文件到新的位置,并重新命名 重新啟動數(shù)據(jù)庫 STARTUP 編輯初始化參數(shù)CONTROL_FILES。ALTER
27、 SYSTEM SET CONTROL_FILES= D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL01.CTL, D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL02.CTL, D:ORACLEPRODUCT10.2.0ORADATAORCLCONTROL03.CTL, D:ORACLEPRODUCT10.2.0ORADATACONTROL04.CTL SCOPE=SPFILE; 注意:前3個控制文件是原有的控制文件,最后一個控制文件是將要添加的。關(guān)閉數(shù)據(jù)庫SHUTDOWN IMMEDIATE;拷貝一個原有的控制文件到新的位置,并
28、重新命名。拷貝D:ORACLEORADATACONTROL01.CTL到D:ORACLEORADATA目錄下,并重命名為CONTROL04.CTL。重新啟動數(shù)據(jù)庫STARTUP(3)備份控制文件將控制文件備份為二進(jìn)制文件ALTER DATABASE BACKUP CONTROLFILE TO 將控制文件備份為文本文件ALTER DATABASE BACKUP CONTROLFILE TO TRACE將控制文件備份到adminudump目錄下的跟蹤文件中 將控制文件備份為二進(jìn)制文件。ALTER DATABASE BACKUP CONTROLFILE TO D:ORACLECONTROL.BKP;
29、 將控制文件備份為文本文件。ALTER DATABASE BACKUP CONTROLFILE TO TRACE;(4)刪除控制文件編輯CONTROL_FILES初始化參數(shù),使其不包含要刪除的控制文件;關(guān)閉數(shù)據(jù)庫;在操作系統(tǒng)中刪除控制文件;重新啟動數(shù)據(jù)庫。(5)查詢控制文件的信息V$DATABASE:從控制文件中獲取的數(shù)據(jù)庫信息;V$CONTROLFILE:包含所有控制文件名稱與狀態(tài)信息;V$CONTROLFILE_RECORD_SECTION:包含控制文件中各記錄文檔段信息;V$PARAMETER:可以獲取初始化參數(shù)CONTROL_FILES的值。(6)利用OEM管理控制文件查看控制文件信息
30、備份控制文件5.4 重做日志文件重做日志文件概述 重做日志文件的管理 5.4.1 重做日志文件概述重做日志文件的概念 重做日志文件,保存了用戶對數(shù)據(jù)庫所作的更新操作(DDL、DML),包含的主要信息是記錄事務(wù)的開始和結(jié)束、事務(wù)中每項(xiàng)操作的對象和類型、更新操作前后的數(shù)據(jù)值等。重做日志文件是由重做記錄構(gòu)成的,每個重做記錄由一組修改相量組成。用戶對數(shù)據(jù)庫所做的修改都是在數(shù)據(jù)庫的數(shù)據(jù)高速緩沖區(qū)中進(jìn)行的,同時將產(chǎn)生的重做記錄寫入重做日志緩沖區(qū)。在一定條件下由DBWR進(jìn)程將數(shù)據(jù)高速緩沖區(qū)中修改后的結(jié)果成批寫回數(shù)據(jù)文件中,而重做日志緩沖區(qū)中的重做記錄由LGWR進(jìn)程周期性的寫入重做日志文件。 利用重做日志文件
31、恢復(fù)數(shù)據(jù)庫是通過事務(wù)的重做(REDO)或回退(UNDO)實(shí)現(xiàn)的。 重做日志文件的工作過程每個數(shù)據(jù)庫至少需要兩個重做日志文件,采用循環(huán)寫的方式進(jìn)行工作。當(dāng)一個重做日志文件寫滿后,進(jìn)程LGWR就會移到下一個日志組,稱為日志切換,同時信息會寫到控制文件中。重做日志文件工作流程 為了保證LGWR進(jìn)程的正常進(jìn)行,通常采用重做日志文件組(GROUP),每個組中包含若干完全相同的重做日志文件成員(MEMBER),這些成員文件相互鏡像。 5.4.2 重做日志文件的管理 添加重做日志文件組 添加重做日志文件組成員文件 改變重做日志文件組成員文件的名稱和位置 刪除重做日志文件組成員刪除重做日志文件組 重做日志文件
32、切換 清空重做日志文件組 查看重做日志文件信息利用OEM管理重做日志文件(1)添加重做日志文件組語法ALTER DATABASE ADD LOGFILE示例ALTER DATABASE ADD LOGFILE GROUP 4 (D:ORACLEPRODUCT10.2.0ORADATAORCLREDO04a.LOG, D:ORACLEPRODUCT10.2.0ORADATAORCLREDO04b.LOG)SIZE 4M;REDO2b.LOGREDO1b.LOGGroup 1Group 2Group 3REDO3b.LOGREDO2a.LOGREDO3a.LOGREDO1a.LOGGroup 4R
33、EDO4b.LOGREDO4a.LOG注意:分配給每個重做日志文件的初始空間至少為4 MB。如果沒有使用GROUP 子句指定組號,則系統(tǒng)會自動產(chǎn)生組號,為當(dāng)前重做日志文件組的個數(shù)加1。在Oracle10.2.0之前的版本中,數(shù)據(jù)庫最多允許的重做日志文件組的數(shù)量由控制文件中的MAXLOGFILES參數(shù)決定。在Oracle10.2.0之前的版本中,每個重做日志文件組中最多成員文件數(shù)量由控制文件中的MAXLOGMEMBERS參數(shù)決定。(2)添加重做日志文件組成員語法ALTER DATABASE ADD LOGFILE MEMBER TO GROUP示例ALTER DATABASE ADD LOGFI
34、LE MEMBER D:ORACLEPRODUCT10.2.0ORADATAORCLREDO01C.LOG TO GROUP 1, D:ORACLEPRODUCT10.2.0ORADATAORCLREDO04C.LOG TO GROUP 4; 注意:同一個重做日志文件組中的成員文件存儲位置應(yīng)盡量分散。不需要指定文件大小。新成員文件大小由組中已有成員大小決定。(3)改變重做日志文件組成員名稱或位置語法ALTER DATABASE RENAME FILETO注意 只能更改處于INACTIVE或UNUSED狀態(tài)的重做日志文件組的成員文件的名稱或位置。 示例將重做日志文件REDO01C.LOG重命名為
35、REDO01B.LOG,將REDO04C.LOG移到D:ORACLEPRODUCT10.2.0ORADATA目錄下。 檢查要修改的成員文件所在的重做日志文件組狀態(tài)SELECT group#,status FROM v$log;如果要修改的日志文件組不是處于INACTIVE或UNUSED狀態(tài),則需要進(jìn)行手動日志切換。重命名重做日志文件或?qū)⒅刈鋈罩疚募频叫挛恢么蜷_D:ORACLEPRODUCT10.2.0ORADATAORCL文件夾, 將REDO01C.LOG更名為REDO01B.LOG,同時將REDO04C.LOG移 到D:ORACLEPRODUCT10.2.0ORADATA文件夾下。執(zhí)行AL
36、TER DATABASE RENAME FILETO語句ALTER DATABASE RENAME FILE D:ORACLEPRODUCT10.2.0ORADATAORCLREDO01C.LOG, D:ORACLEPRODUCT10.2.0ORADATAORCLREDO4C.LOG TO D:ORACLEPRODUCT10.2.0ORADATAORCLREDO001B.LOG, D:ORACLEPRODUCT10.2.0ORADATAREDO04C.LOG;(4)刪除重做日志文件組成員 語法ALTER DATABASE DROP LOGFILE MEMBER注意事項(xiàng)只能刪除狀態(tài)為INACTI
37、VE或UNUSED的重做日志文件組中的成員;若要刪除狀態(tài)為CURRENT的重做日志文件組中的成員,則需執(zhí)行一次手動日志切換。如果數(shù)據(jù)庫處于歸檔模式下,則在刪除重做日志文件之前要保證該文件所在的重做日志文件組已歸檔。每個重做日志文件組中至少要有一個可用的成員文件,即VALID狀態(tài)的成員文件。如果要刪除的重做日志文件是所在組中最后一個可用的成員文件,則無法刪除。 ALTER DATABASE DROP LOGFILE MEMBER D:ORACLEPRODUCT10.2.0ORADATAREDO4c.LOG;Group 4REDO4a.LOGREDO4b.LOGREDO4c.LOG(5)刪除重做日
38、志文件組語法ALTER DATABASE DROP LOGFILE GROUP 注意事項(xiàng)無論重做日志文件組中有多少個成員文件,一個數(shù)據(jù)庫至少需要使用兩個重做日志文件組。如果數(shù)據(jù)庫處于歸檔模式下,則在刪除重做日志文件組之前,必須確定該組已經(jīng)被歸檔。只能刪除處于INACTIVE狀態(tài)或UNUSED狀態(tài)的重做日志文件組,若要刪除狀態(tài)為CURRENT的重做日志文件組,則需要執(zhí)行一次手動日志切換。示例ALTER DATABASE DROP LOGFILE GROUP 4;REDO2a.LOGREDO1a.LOGGroup 1Group 2Group 3REDO3a.LOGGroup 4REDO4a.LOG
39、REDO4b.LOG(6)重做日志文件組切換當(dāng)LGWR進(jìn)程結(jié)束對當(dāng)前重做日志文件組的使用,開始寫入下一個重做日志文件組時,稱為發(fā)生了一次“日志切換”。通常,只有當(dāng)前的重做日志文件組寫滿后才發(fā)生日志切換,但是可以通過設(shè)置參數(shù)ARCHIVE_LAG_TARGET控制日志切換的時間間隔,在必要時也可以采用手工強(qiáng)制進(jìn)行日志切換。如果需要將當(dāng)前處于CURRENT 狀態(tài)的重做日志組立即切換到INACTIVE狀態(tài),必須進(jìn)行手工日志切換。手動日志切換的語法ALTER SYSTEM SWITCH LOGFILE查看日至切換狀態(tài)SELECT * FROM V$LOGFILE;當(dāng)發(fā)生日志切換時,系統(tǒng)將為新的重做日志
40、文件產(chǎn)生一個日志序列號,在歸檔時該日志序列號一同被保存。日志序列號是在線日志文件和歸檔日志文件的唯一標(biāo)識。(7)清除重做日志文件組基本概念在數(shù)據(jù)庫運(yùn)行過程中,聯(lián)機(jī)重做日志文件可能會因?yàn)槟承┰蚨鴵p壞,導(dǎo)致數(shù)據(jù)庫最終由于無法將損壞的重做日志文件歸檔而停止,此時可以在不關(guān)閉數(shù)據(jù)庫的情況下,手工清除損壞的重做日志文件內(nèi)容,避免出現(xiàn)數(shù)據(jù)庫停止運(yùn)行的情況。清除重做日志文件就是將重做日志文件中的內(nèi)容全部清除,相當(dāng)于刪除該重做日志文件,然后再重新建立它。清除重做日志文件組是將該文件組中的所有成員文件全部清空。語句ALTER DATABASE CLEAR LOGFILE GROUP 在下列兩種情況下,清除重做
41、日志文件組的操作將無法進(jìn)行。數(shù)據(jù)庫只有兩個重做日志文件組;需要清除的重做日志文件組處于CURRENT狀態(tài)。如果要清空的重做日志文件組尚未歸檔,則必須使用UNARCHIVED子句,以避免對這個重做日志文件組進(jìn)行歸檔。ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 4;(8)查看重做日志文件信息 數(shù)據(jù)字典視圖V$LOG:包含從控制文件中獲取的所有重做日志文件組的基本信息。V$LOGFILE:包含重做日志文件組及其成員文件的信息。V$LOG_HISTORY:包含關(guān)于重做日志文件的歷史信息。查詢重做日志文件組的信息 SELECT GROUP#,SEQUENC
42、E#,MEMBERS,STATUS,ARCHIVED FROM V$LOG; 查詢重做日志文件的信息 SELECT GROUP#,TYPE,MEMBER FROM V$LOGFILE ORDER BY GROUP#; (9)利用OEM管理重做日志文件創(chuàng)建重做日志組 編輯重做日志組 查看重做日志組5.5 歸檔重做日志文件重做日志文件歸檔概述 數(shù)據(jù)庫歸檔模式管理 5.5.1 重做日志文件歸檔概述基本概念Oracle數(shù)據(jù)庫能夠把已經(jīng)寫滿了的重做日志文件保存到指定的一個或多個位置,被保存的重做日志文件的集合稱為歸檔重做日志文件,這個過程稱為歸檔。根據(jù)是否進(jìn)行重做日志文件歸檔,數(shù)據(jù)庫運(yùn)行可以分為歸檔模式
43、或非歸檔模式。 歸檔模式與非歸檔模式比較在歸檔模式下,數(shù)據(jù)庫中歷史重做日志文件全部被保存,因此在數(shù)據(jù)庫出現(xiàn)故障時,即使是介質(zhì)故障,利用數(shù)據(jù)庫備份、歸檔重做日志文件和聯(lián)機(jī)重做日志文件也可以完全恢復(fù)數(shù)據(jù)庫。 在非歸檔模式下,由于沒有保存過去的重做日志文件,數(shù)據(jù)庫只能從實(shí)例崩潰中恢復(fù),而無法進(jìn)行介質(zhì)恢復(fù)。在非歸檔模式下不能執(zhí)行聯(lián)機(jī)表空間備份操作,不能使用聯(lián)機(jī)歸檔模式下建立的表空間備份進(jìn)行恢復(fù),而只能使用非歸檔模式下建立的完全備份來對數(shù)據(jù)庫進(jìn)行恢復(fù)。在歸檔模式和非歸檔模式下進(jìn)行日志切換的條件也不同。在非歸檔模式下,日志切換的前提條件是已寫滿的重做日志文件在被覆蓋之前,其所有重做記錄所對應(yīng)的事務(wù)的修改操
44、作結(jié)果全部寫入到數(shù)據(jù)文件中。在歸檔模式下,日志切換的前提條件是已寫滿的重做日志文件在被覆蓋之前,不僅所有重做記錄所對應(yīng)的事務(wù)的修改操作結(jié)果全部寫入到數(shù)據(jù)文件中,還需要等待歸檔進(jìn)程完成對它的歸檔操作。 5.5.2 數(shù)據(jù)庫歸檔模式管理數(shù)據(jù)庫歸檔/非歸檔模式設(shè)置歸檔模式下歸檔方式的選擇歸檔路徑的設(shè)置設(shè)置可選或強(qiáng)制歸檔目標(biāo) 查詢歸檔信息(1)設(shè)置歸檔/非歸檔模式關(guān)閉數(shù)據(jù)庫SHUTDOWN IMMEDIATE啟動數(shù)據(jù)庫到MOUNT狀態(tài)STARTUP MOUNT使用ALTER DATABASE ARCHIVELOG語句將數(shù)據(jù)庫設(shè)置為歸檔模式。ALTER DATABASE ARCHIVELOG;或使用ALT
45、ER DATABASE NOARCHIVELOG語句將數(shù)據(jù)庫設(shè)置為非歸檔模式。ALTER DATABASE NOARCHIVELOG;打開數(shù)據(jù)庫ALTER DATABASE OPEN;(2)歸檔模式下歸檔方式的選擇數(shù)據(jù)庫在歸檔模式下運(yùn)行時,可以采用自動或手動兩種方式歸檔重做日志文件。如果選擇自動歸檔方式,那么在重做日志文件被覆蓋之前,ARCH進(jìn)程自動將重做日志文件內(nèi)容歸檔;如果選擇了手動歸檔,那么在重做日志文件被覆蓋之前,需要DBA手動將重做日志文件歸檔,否則系統(tǒng)將處于掛起狀態(tài)。自動歸檔方式的設(shè)置 啟動歸檔進(jìn)程ALTER SYSTEM ARCHIVE LOG START;關(guān)閉歸檔進(jìn)程ALTER SYSTEM ARCHIVE LOG STOP; 手動歸檔對所有已經(jīng)寫滿的重做日志
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國協(xié)同辦公行業(yè)市場調(diào)研及投資戰(zhàn)略規(guī)劃建議報告
- 企業(yè)員工退休合同范本
- 冷庫儲存生姜合同范本
- 農(nóng)村買墓地合同范本
- 會場責(zé)任合同范本
- 保價合同范本
- 2025年無機(jī)陶瓷膜超濾設(shè)備行業(yè)深度研究分析報告
- 安徽省壽縣眾興鎮(zhèn)方言淺談
- 會場綠植租賃合同范例
- 公司組建合同范例
- 火力發(fā)電廠水、汽試驗(yàn)方法(標(biāo)準(zhǔn)規(guī)程匯編)
- 傷寒論類方整理
- 休閑農(nóng)業(yè)與鄉(xiāng)村旅游(課件)
- GB/T 19675.2-2005管法蘭用金屬沖齒板柔性石墨復(fù)合墊片技術(shù)條件
- 社會工作綜合能力上(初級)課件
- 《數(shù)據(jù)結(jié)構(gòu)》課件(完整版)
- 2023年春節(jié)后建筑施工復(fù)工復(fù)產(chǎn)專項(xiàng)方案
- 污水處理廠化驗(yàn)管理手冊
- 出納收入支出記賬表Excel模板
- 叉車操作規(guī)程
- 土建工程技術(shù)標(biāo)范本(DOC167頁)
評論
0/150
提交評論