您好,登錄后才能下訂單哦!
小編給大家分享一下oracle中OMF怎么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
使用OMF的好處
使用OMF有如下好處:
·使數據庫易于管理。
不需要編制文件名和確定指定的存儲,一組一致的規則是用來命名所有相關文件。文件系統確定分配它的存儲特性和池。
·減少管理員指定錯誤文件導致的損壞。
每個OMF和文件名是唯一的。在兩個不同的數據庫使用相同的文件是一個常見的錯誤,可能導致長時間停止和丟失已提交的事務。使用兩個不同的名字執行同一個文件是另一錯誤,會導致重大損壞。
·減少過期文件造成的磁盤空間的浪費。
Oracle會自動刪除舊的OMF,在它們不再需要時。在一個簡單的大型系統中很多磁盤空間被浪費,因為沒有人知道是否一個特定文件仍然需要。對于磁盤上不再需要的內容,可以簡化管理任務,防止誤刪除文件。
·可以簡化創建任務和數據庫開發。
你可以使用很少時間確定文件結構和文件名字,減少文件管理任務。集中精力測試和進行數據庫開發,滿足它的實際需要。
·OMF使利用第三方工具開發更加容易。
OMF不再需要在SQL腳本中放入操作系統指定的名字。
以前創建一個表空間需要指定數據文件路徑及大小 SQL> create tablespace wer datafile '/u01/app/oracle/oradata/fengzi/wer.dbf' size 100m;
|
實現數據文件OMF管理只需要設置一個參數就可以
SQL> show parameter db_create_file_dest
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_create_file_dest string SQL> SQL> alter system set db_create_file_dest='/u01/app/oracle/oradata/'; System altered. SQL> create tablespace wer; Tablespace created. SQL> SQL> select name from v$datafile;
NAME -------------------------------------------------------------------------------- +DATA/fengzi/datafile/system.277.842187103 +DATA/fengzi/datafile/undotbs1.dbf +DATA/fengzi/datafile/sysaux.279.842187235 +DATA/fengzi/datafile/users2.dbf +DATA/fengzi/datafile/undotbs.dbf +DATA/fengzi/datafile/users1.dbf /u01/app/oracle/oradata/FENGZI/datafile/o1_mf_wer_9ns1wd2n_.dbf
7 rows selected.
SQL> SQL> ho ls -lh /u01/app/oracle/oradata/FENGZI/datafile/o1_mf_wer_9ns1wd2n_.dbf -rw------- 1 oracle oinstall 101M Apr 15 09:12 /u01/app/oracle/oradata/FENGZI/datafile/o1_mf_wer_9ns1wd2n_.dbf (默認分配大小為100M) SQL> 也可以直接指定大小 SQL> create tablespace qwe datafile size 15m; SQL> ho ls -lh /u01/app/oracle/oradata/FENGZI/datafile/o1_mf_qwe_9ns25pms_.dbf -rw------- 1 oracle oinstall 16M Apr 15 09:17 /u01/app/oracle/oradata/FENGZI/datafile/o1_mf_qwe_9ns25pms_.dbf
SQL>
如果使用drop tablespace {tablespace_name};命令刪除表空間,OMF管理的會將物理文件也一同刪除
SQL> drop tablespace qwe;
Tablespace dropped.
SQL> ho ls -lh /u01/app/oracle/oradata/FENGZI/datafile/o1_mf_qwe_9ns25pms_.dbf ls: /u01/app/oracle/oradata/FENGZI/datafile/o1_mf_qwe_9ns25pms_.dbf: No such file or directory
SQL> 其他的使用drop tablespace {tablespace_name};命令是不會刪除物理文件的
SQL> create tablespace qaz datafile '/u01/app/oracle/oradata/fengzi/qaz.dbf' size 10m;
Tablespace created.
SQL> ho ls /u01/app/oracle/oradata/fengzi/qaz.dbf /u01/app/oracle/oradata/fengzi/qaz.dbf
SQL> drop tablespace qaz;
Tablespace dropped.
SQL> ho ls /u01/app/oracle/oradata/fengzi/qaz.dbf /u01/app/oracle/oradata/fengzi/qaz.dbf
SQL> 想要刪除應該 drop tablespace tablespace_name including contents and datafiles;
including contents:用于刪除表空間同時刪除表空間上的所有段 including contents and datafiles:刪除表空間、數據文件以及表空間上段的信息,同時刪除OS中的數據文件 |
確認原默認存放組位置 SQL> alter database add logfile;
Database altered.
SQL> select member from v$logfile;
MEMBER -------------------------------------------------------------------------------- +DATA/fengzi/onlinelog/group_1_1.log +DATA/fengzi/onlinelog/group_1_2.log +DATA/fengzi/onlinelog/group_2_1.log +DATA/fengzi/onlinelog/group_2_2.log +DATA/fengzi/onlinelog/group_3_1.log +DATA/fengzi/onlinelog/group_3_2.log /u01/app/oracle/oradata/FENGZI/onlinelog/o1_mf_4_9ns3nvl6_.log +DATA/fengzi/onlinelog/group_4.345.844940573
8 rows selected. 以上默認創建組的成員路徑是由以下參數決定的 SQL> show parameter db_create_file_dest
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_create_file_dest string /u01/app/oracle/oradata/ SQL> show parameter db_recovery_file_dest
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_recovery_file_dest string +DATA SQL>
|
同樣的,只需要修改相應參數就可以
SQL> show parameter db_create_online
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ 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 SQL> 可以看到在一個組中給出了5個成員,一般一個組下有2個成員就足夠了。所以根據情況選擇使用參數數量
先選擇存放日志的路徑 SQL> ho mkdir /u01/app/oracle/d1
SQL> ho mkdir /u01/app/oracle/d2
SQL> 定義參數db_create_online_log_dest_1與db_create_online_log_dest_2 SQL> alter system set db_create_online_log_dest_1='/u01/app/oracle/d1';
System altered.
SQL> alter system set db_create_online_log_dest_2='/u01/app/oracle/d2';
System altered.
SQL> 再次創建日志組 SQL> alter database add logfile;
Database altered.
SQL> select group#,member from v$logfile;
GROUP# ---------- MEMBER -------------------------------------------------------------------------------- 1 +DATA/fengzi/onlinelog/group_1_1.log
1 +DATA/fengzi/onlinelog/group_1_2.log
2 +DATA/fengzi/onlinelog/group_2_1.log
GROUP# ---------- MEMBER -------------------------------------------------------------------------------- 2 +DATA/fengzi/onlinelog/group_2_2.log
3 +DATA/fengzi/onlinelog/group_3_1.log
3 +DATA/fengzi/onlinelog/group_3_2.log
GROUP# ---------- MEMBER -------------------------------------------------------------------------------- 4 /u01/app/oracle/oradata/FENGZI/onlinelog/o1_mf_4_9ns3nvl6_.log
4 +DATA/fengzi/onlinelog/group_4.345.844940573
5 /u01/app/oracle/d1/FENGZI/onlinelog/o1_mf_5_9ns4dov5_.log
GROUP# ---------- MEMBER -------------------------------------------------------------------------------- 5 /u01/app/oracle/d2/FENGZI/onlinelog/o1_mf_5_9ns4dptw_.log
10 rows selected.
SQL>
對于日志文件OMF管理,是不能向組中添加成員的,與數據文件一樣,在 drop 的時候同樣會將OS物理文件刪除。
如果想使用控制文件OMF管理 需要干掉下面參數 SQL> alter system reset control_files scope=spfile sid='*';
控制文件也是根據日志文件的參數決定的(存放路徑與日志文件一致) SQL> show parameter db_create_online_log
NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_create_online_log_dest_1 string /u01/app/oracle/d1 db_create_online_log_dest_2 string /u01/app/oracle/d2 (定義了幾個成員就有幾個控制文件) db_create_online_log_dest_3 string db_create_online_log_dest_4 string db_create_online_log_dest_5 string SQL> |
以上是“oracle中OMF怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。