ORACLE的OMF管理(表空間,日誌文件,控制文件)

OMF管理linux

  OMF,全稱是Oracle_Managed Files,即Oracle文件管理,使用OMF能夠簡化管理員的管理工做,不用指定文件的名字、大小、路徑,其名字,大小,路徑由oracle 自動分配。在刪除再也不使用的日誌、數據、控制文件時,OMF也能夠自動刪除其對應的OS文件。oracle


OMF支持下列文件的自動管理:app


    表空間ide


    日誌文件(聯機)網站


    控制文件spa


前提條件:須要爲這些類型文件設定相關參數。操作系統


一.數據文件的OMF管理日誌


  數據文件管理參數:db_create_file_desthtm


  db_create_file_dest:Oracle建立數據文件、臨時文件時,在未明確指定路徑的狀況下的缺省路徑,當db_create_online_log_dest_n未指定時,也做爲聯機日誌文件和控制文件的缺省路徑。qt


  假定須要建立表空間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



    --對於未採用OMF來建立的表空間,在刪除表空間以後,其數據文件並無刪除,v$datafile視圖中被刪除


    --下面是未使用OMF建立的x表空間及數據文件


    SQL> CREATE TABLESPACE x DATAFILE '/u01/app/oracle/oradata/orcl/x.dbf' SIZE 10m;


       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/x.dbf


     SQL> DROP TABLESPACE x;


      Tablespace dropped.

     SQL> SELECT NAME FROM v$datafile; /*視圖中已不存在x.dbf的數據文件*/


      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


      SQL> ho ls /u01/app/oracle/oradata/orcl/x.dbf  /*操做系統中依然存在*/


      /u01/app/oracle/oradata/orcl/x.dbf


    --注意:使用OMF的時候會將物理文件刪除,應特別注意使用


    --使用下面的方法重建x表空間,而後使用including contents and datafiles 完全刪除表空間及物理文件


     SQL> CREATE TABLESPACE X DATAFILE '/u01/app/oracle/oradata/orcl/x.dbf' REUSE; 


      Tablespace created.


     SQL> DROP TABLESPACE x INCLUDING CONTENTS AND DATAFILES;


      Tablespace dropped.



    SQL> ho ls /u01/app/oracle/oradata/orcl/x.dbf


      ls: /u01/app/oracle/oradata/orcl/x.dbf: No such file or directory



總結:使用OMF管理文件的方法


  1.使用ALTER SYSTEM SET db_create_file_dest = '<path>'設置路徑


  2.查看剛剛的設置SHOW PARAMETER db_create_file_dest;


  3.建立表空間及數據文件CREATE TABLESPACE tablespace_name


  4.單首創建表空間CREATE TABLESPACE <> DATAFILE '<path>' SIZE <>;


  5.也能夠建立undo和temporary tablespace 。CREATE UNDO TABLESPACE tablespace_name ;CREATE TEMPORARY TABLESPACE tablespace_name;


  6.刪除表空間DROP TABLESPACE tablespace_name ;OMF狀況下則刪除物理文件,等效於未使用OMF建立,使用INCLUDING CONTENTS AND DATAFILES 刪除方式


更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2013-11/92490p2.htm


相關閱讀:


Oracle表空間建立刪除,OMF,分區表建立 http://www.linuxidc.com/Linux/2012-01/51695.htm


本篇文章來源於 Linux公社網站(www.linuxidc.com)  原文連接:http://www.linuxidc.com/Linux/2013-11/92490.htm

相關文章
相關標籤/搜索