OMF,全稱是Oracle_Managed Files,即Oracle檔案管理,使用OMF可以簡化管理員的管理工作,不用指定檔案的名字、大小、路徑,其名字,大小,路徑由oracle 自動分配。在刪除不再使用的日誌、資料、控制檔案時,OMF也可以自動刪除其對應的OS檔案。
OMF支援下列檔案的自動管理:
(1)資料表空間
(2)記錄檔(聯機)
(3)控制檔案
前提條件:需要為這些類型檔案設定相關參數。
一、資料檔案的OMF管理
資料檔案管理參數:db_create_file_dest
db_create_file_dest:Oracle建立資料檔案、臨時檔案時,在未明確指定路徑的情況下的預設路徑,當db_create_online_log_dest_n未指定時,也作為聯機記錄檔和控制檔案的預設路徑。
假定需要建立資料表空間s及資料檔案
SQL> CREATE TABLESPACE s; /*收到了錯誤資訊*/
create tablespace s
*
ERROR at line 1:
ORA-02199: missing DATAFILE/TEMPFILE clause
SQL> show parameter db_create_file /*查看db_create_file_dest參數*/
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest string
--設定db_create_file_dest參數
SQL> ALTER SYSTEM SET db_create_file_dest = '/u01/app/oracle/oradata/orcl';
System altered.
--設定參數後,建立成功
SQL> CREATE TABLESPACE s;
Tablespace created.
SQL> SELECT NAME FROM v$datafile; /*可以看到ORCL/datafile/o1_mf_s_5vrl1t7h_.dbf是Oralce自動建立的資料檔案*/
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/orcl/system01.dbf
/u01/app/oracle/oradata/orcl/undotbs01.dbf
/u01/app/oracle/oradata/orcl/sysaux01.dbf
/u01/app/oracle/oradata/orcl/users01.dbf
/u01/app/oracle/oradata/orcl/example01.dbf
/u01/app/oracle/oradata/orcl/Test.dbf
/u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_s_5vrl1t7h_.dbf
/*查看物理檔案,預設為MB*/
SQL> ho ls -lh /u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_s_5vrl1t7h_.dbf
-rw------- 1 oracle oinstall 101M Apr 7 16:54 /u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_s_5vrl1t7h_.dbf
SQL> CREATE TABLESPACE t DATAFILE SIZE 10m; /*也可指定資料檔案的大小為MB*/
Tablespace created.
SQL> SELECT NAME FROM v$datafile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/orcl/system01.dbf
/u01/app/oracle/oradata/orcl/undotbs01.dbf
/u01/app/oracle/oradata/orcl/sysaux01.dbf
/u01/app/oracle/oradata/orcl/users01.dbf
/u01/app/oracle/oradata/orcl/example01.dbf
/u01/app/oracle/oradata/orcl/Test.dbf
/u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_s_5vrl1t7h_.dbf
/u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_t_5vrlgqtl_.dbf
SQL> ho ls -lh /u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_t_5vrlgqtl_.dbf
-rw------- 1 oracle oinstall 11M Apr 7 17:01 /u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_t_5vrlgqtl_.dbf
--刪除資料表空間時,對於使用了OMF產生的資料檔案將隨著資料表空間的刪除一起被刪除
SQL> DROP TABLESPACE t;
Tablespace dropped.
--查看物理檔案,已經不存在
SQL> ho ls -lh /u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_t_5vrlgqtl_.dbf
ls: /u01/app/oracle/oradata/orcl/ORCL/datafile/o1_mf_t_5vrlgqtl_.dbf: No such file or directory
查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/database/Oracle/