Oracle OMF特性試驗
從Oracle 9i開始,Oracle提供了OMF(Oracle Manage File)特性,實現了檔案系統命名自動化。目前的Oracle版本中,已經可以支援對資料檔案(Data File)和線上日誌檔案(Online Log File)的OMF處理。
1、OMF特性與相關引數
傳統的方式下,我們建立資料檔案或者日誌檔案要明確的確定出建立檔案的名稱和路徑。而使用OMF特性的時候,是不需要明確指定出檔名稱路徑,Oracle會透過預先設定引數建立符合規範的檔名稱。
對Data File和Online Redo Log而言,Oracle提供了引數進行目錄指定。
SQL> select * from v$version where rownum<2;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
SQL> show parameter create
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
create_bitmap_area_size integer 8388608
create_stored_outlines string
db_create_file_dest string /u01/oradata
db_create_online_log_dest_1 string
db_create_online_log_dest_2 string
db_create_online_log_dest_3 string
db_create_online_log_dest_4 string
db_create_online_log_dest_5 string
其中,標註紅色的內容為使用OMF所涉及到的引數。db_create_file_dest指定的就是在建立資料檔案時,如果語句命令不指定資料檔案的位置,就在db_create_file_dest總目錄下進行建立。同樣,db_create_online_log_destn就表示當建立一個日誌檔案時,同時在多個位置進行的多重備份(Online Redo Log File通常是成組出現,每個日誌組中包括很多相同的Redo Log File)。
下面的實驗中,我們透過資料檔案的OMF建立,來掩飾其特性。
2、傳統表空間Tablespace建立與相關選項引數
首先,我們檢視一下傳統方式建立Tablespace和資料檔案的方法和引數。
SQL> create tablespace tradway datafile '/u01/oradata/WILSON/datafile/trad.dbf' size 100m autoextend off extent management local uniform. size 1m segment space management manual;
Tablespace created
SQL> select tablespace_name, extent_management, allocation_type, SEGMENT_SPACE_MANAGEMENT from dba_tablespaces;
TABLESPACE_NAME EXTENT_MANAGEMENT ALLOCATION_TYPE SEGMENT_SPACE_MANAGEMENT
------------------------------ ----------------- --------------- ------------------------
(篇幅原因,有省略…)
TRADWAY LOCAL UNIFORM MANUAL
9 rows selected
在傳統方式下,我們需要明確指定資料檔案的位置和命名。
SQL> col file_name for a60;
SQL> select file_name,tablespace_name,bytes/1024/1024,AUTOEXTENSIBLE, INCREMENT_BY from dba_data_files;
FILE_NAME TABLESPACE_NAME BYTES/1024/1024 AUTOEXTENSIBLE INCREMENT_BY
------------------------------------------------------------ ------------------------------ --------------- -------------- ------------
(篇幅原因,有省略……)
/u01/oradata/WILSON/datafile/trad.dbf TRADWAY 100 NO 0
7 rows selected
傳統方式下,如果我們直接進行表空間的刪除,對應的資料檔案是不會自動隨之刪除的。
SQL> drop tablespace tradway;
Tablespace dropped
//表空間被刪除,但是資料檔案依然存在
[oracle@oracle11g datafile]$ pwd
/u01/oradata/WILSON/datafile
[oracle@oracle11g datafile]$ ls -l | grep trad
-rw-r----- 1 oracle oinstall 104865792 Jun 5 07:59 trad.dbf
[oracle@oracle11g datafile]$
當然,也可以使用命令drop tablespace xxx including contents and datafiles;來實現直接刪除。
此處,我們需要注意一下與資料檔案相關的引數。在Oracle中,資料檔案相關常見引數選項包括下面幾個:
ü 資料檔案大小size:表示建立檔案時刻的初始大小;
ü 自動擴充功能autoextend開關:該資料檔案在使用盡預設值空間之後,是否允許進行自動擴充;
ü 擴充體積引數increasment by:如果資料檔案是允許進行自動擴充(autoextend on),那麼每次擴充的空間大小是多大。如果資料檔案增加頻繁,建議設定略大的擴充體積引數,避免作業系統OS進行過於頻繁的擴充操作;
ü 最大檔案體積max size:生產環境下,所有的檔案和磁碟空間都是受控制的,不會允許無限制的增長。max size就是設定資料檔案增長的上限;
3、OMF效用實現
首先,我們檢查一下預設下,OMF使用情況。
SQL> create tablespace defaulttbs;
Tablespace created
SQL> select tablespace_name, extent_management, allocation_type,SEGMENT_SPACE_MANAGEMENT from dba_tablespaces;
TABLESPACE_NAME EXTENT_MANAGEMENT ALLOCATION_TYPE SEGMENT_SPACE_MANAGEMENT
------------------------------ ----------------- --------------- ------------------------
(篇幅原因,有省略…)
DEFAULTTBS LOCAL SYSTEM AUTO
9 rows selected
沒有指定資料檔案的位置和名稱,檢查自動生成的效果。
SQL> select file_name,tablespace_name,bytes/1024/1024,AUTOEXTENSIBLE, INCREMENT_BY from dba_data_files;
FILE_NAME TABLESPACE_NAME BYTES/1024/1024 AUTOEXTENSIBLE INCREMENT_BY
------------------------------------------------------------ ------------------------------ --------------- -------------- ------------
(篇幅原因,有省略…)
/u01/oradata/WILSON/datafile/o1_mf_defaultt_6yoksxvd_.dbf DEFAULTTBS 100 YES 12800
7 rows selected
可見,在不指定資料檔案相關引數的情況下,Oracle對OMF資料檔案命名是採用系統內部命名方式。建立的資料檔案大小為100M,支援自動檔案擴充,每次增加大小為10m。
說明:在資料字典中的increment_by列列出的12800為每次擴充時候分配的資料塊數量。計算公式:10*1024*1024/(8*1024)=1280,也就是10m的資料庫空間在每個資料塊8k大小的資料庫中,對應1280個塊。
此時,如果我們刪除表空間,Oracle會連帶負責的將檔案刪除。
//刪除表空間
SQL> drop tablespace defaulttbs;
Tablespace dropped
[oracle@oracle11g datafile]$ ls
o1_mf_example_6bcsrj44_.dbf o1_mf_temp_6bcsr6d8_.tmp perfstatdata.dbf
o1_mf_sysaux_6bcsnqjb_.dbf o1_mf_undotbs1_6bcsnqjt_.dbf perfstattemp.dbf
o1_mf_system_6bcsnqfc_.dbf o1_mf_users_6bcsnql5_.dbf
如果我們在建立檔案時指定引數,方式是如何呢?
--設定引數實驗
SQL> create tablespace customf datafile size 150m autoextend off extent management local uniform. size 1m segment space management manual;
Tablespace created
SQL> select file_name,tablespace_name,bytes/1024/1024,AUTOEXTENSIBLE, INCREMENT_BY from dba_data_files;
FILE_NAME TABLESPACE_NAME BYTES/1024/1024 AUTOEXTENSIBLE INCREMENT_BY
------------------------------------------------------------ ------------------------------ --------------- -------------- ------------
(篇幅原因,有省略…)
/u01/oradata/WILSON/datafile/o1_mf_customf_6yol3wr2_.dbf CUSTOMF 150 NO 0
7 rows selected
我們透過datafile字句不帶路徑名稱的引數size等,實現了自定義OMF資料檔案。
4、結論
從網路中的一些反映看,OMF在生產環境下使用的情況還是有限的。
OMF的核心就是將檔案儲存透明化。實現DBA和資料庫配置人員不需要關注檔案具體名稱和位置,透過Oracle的OMF和OFA體系實現規範化。但是目前的很多資料庫系統部署,特別是生產部署,是需要將檔案級別列入到部署規範中的。所以,從目前的OMF來看,實際應用還是相對較窄。
不過伴隨著ASM、裸裝置等儲存技術的發展和透明化,OMF的發展應用還是值得關注的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17203031/viewspace-697689/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【OMF】使用Oracle的OMF 特性Oracle
- oracle實驗記錄 (OMF)Oracle
- 從引數取值看Oracle OMF特性Oracle
- oracle OMF的使用Oracle
- OMF (Oracle Managed File)Oracle
- Oracle OMF 為雞肋Oracle
- oracle profile 試驗Oracle
- OMF (Oracle Managed Files) Usage for Datafiles [ID 137482.1]Oracle
- OneProxy5.8.1防止單點故障特性試驗
- OneProxy5.8.1資料庫連線池特性試驗資料庫
- 4.3.4.1 在不使用Oracle OMF的情況下建立CDBOracle
- ORACLE的使用試驗-- RMAN之一Oracle
- 【OMF】在OMF管理模式下日誌組新增效果模式
- OneProxy5.8.1資料庫讀寫分離特性試驗資料庫
- Oracle 12C 資料泵新特性測試Oracle
- oracle 19c建立非OMF檔案命名格式的PDBOracle
- Oralce OMF 功能詳解
- 非OMF管理下ORACLE 11G R2 Data Guard配置Oracle
- OceanBase學習之路11|體驗 DDL 新特性(Oracle 模式)Oracle模式
- oracle 刪除表空間試驗面面觀Oracle
- 自己做oracle試驗的總結之一Oracle
- Oracle常規恢復的實驗測試Oracle
- 軟體測試-各個特性常用特性
- Oracle中的約束簡單入門試驗Oracle
- ORACLE的直方圖的一些試驗Oracle直方圖
- oracle 10G 物化檢視新特性(測試效果不理想)Oracle 10g
- 4.3.4.2 使用OMF 件建立CDB:示例
- oracle儲存管理之 oracle managed files(OMF)(server.102 b14231)OracleServer
- Oracle 11g r2基於OMF方式手工建立資料庫Oracle資料庫
- Oracle特性總結Oracle
- oracle閃回特性Oracle
- 試驗Oracle中實現行列轉換的方法(轉)Oracle
- 自己做oracle試驗的相關總結之二Oracle
- oracle mount_open_checkpoint(scn)啟動驗證測試Oracle
- asm中template特性測試!ASM
- Oracle11新特性——PLSQL新特性(七)OracleSQL
- Oracle11新特性——PLSQL新特性(六)OracleSQL
- Oracle11新特性——PLSQL新特性(五)OracleSQL