oracle OMF的使用
OMF ----oracle managed files 是在10g之後推出的
使用OMF的好處
使用OMF有如下好處:
·使資料庫易於管理。
不需要編制檔名和確定指定的儲存,一組一致的規則是用來命名所有相關檔案。檔案系統確定分配它的儲存特性和池。
·減少管理員指定錯誤檔案導致的損壞。
每個OMF和檔名是唯一的。在兩個不同的資料庫使用相同的檔案是一個常見的錯誤,可能導致長時間停止和丟失已提交的事務。使用兩個不同的名字執行同一個檔案是另一錯誤,會導致重大損壞。
·減少過期檔案造成的磁碟空間的浪費。
Oracle會自動刪除舊的OMF,在它們不再需要時。在一個簡單的大型系統中很多磁碟空間被浪費,因為沒有人知道是否一個特定檔案仍然需要。對於磁碟上不再需要的內容,可以簡化管理任務,防止誤刪除檔案。
·可以簡化建立任務和資料庫開發。
你可以使用很少時間確定檔案結構和檔名字,減少檔案管理任務。集中精力測試和進行資料庫開發,滿足它的實際需要。
·OMF使利用第三方工具開發更加容易。
OMF不再需要在SQL指令碼中放入作業系統指定的名字。
實現資料檔案OMF管理
以前建立一個表空間需要指定資料檔案路徑及大小 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中的資料檔案 |
實現日誌檔案OMF管理
確認原預設存放組位置 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> |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2152898/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【OMF】使用Oracle的OMF 特性Oracle
- 4.3.4.1 在不使用Oracle OMF的情況下建立CDBOracle
- oracle 19c建立非OMF檔案命名格式的PDBOracle
- 4.3.4.2 使用OMF 件建立CDB:示例
- ORACLE RAC ASM資料檔案遷移OMF檔案報錯ORA-01276解決OracleASM
- 2.5.8 指定OMF方式建立資料庫資料庫
- [重慶思莊每日技術分享]-ORACLE DG物理備庫使用別名資料檔案改變路徑到OMF路徑Oracle
- 用OMF來簡化資料庫管理(轉)資料庫
- Oracle使用*的注意事項Oracle
- Oracle ASM AMDU工具的使用OracleASM
- oracle 序列的建立與使用Oracle
- oracle 臨時表的使用Oracle
- Oracle中job的使用詳解Oracle
- 使用oracle的logminer同步資料Oracle
- Oracle實驗(03):number的使用Oracle
- ORACLE中%TYPE和%ROWTYPE的使用Oracle
- Oracle 的PL/SQL語言使用OracleSQL
- 使用一個Oracle MySQL的理念OracleMySql
- Oracle中Decode()函式的使用Oracle函式
- Oracle使用者Oracle
- cx_oracle 使用Oracle
- oracle order by索引是否使用的情況Oracle索引
- Oracle Linux 7使用syslog來管理Oracle ASM的審計檔案OracleLinuxASM
- 非OMF管理 自動新增資料檔案add_datafiles.sh
- Oracle物化檢視的建立及使用(二)Oracle
- Oracle物化檢視的建立及使用(一)Oracle
- 使用Java Optional類的最佳實踐 - oracleJavaOracle
- 使用ORACLE ASMFD配置ORACLE儲存標準化OracleASM
- CX_ORACLE 庫使用Oracle
- oracle 使用異常exceptionOracleException
- oracle orapwd使用說明Oracle
- oracle 使用者管理Oracle
- oracle oradebug使用詳解Oracle
- OMF管理自動新增資料檔案指令碼add_datafile.sh指令碼
- 使用DBUA升級 Oracle 11.2.0.4到Oracle 19C的問題記錄Oracle
- Oracle優化案例-正確的使用索引(二)Oracle優化索引
- 使用zabbix監控oracle的後臺日誌Oracle
- 談談 mysql和oracle的使用感受 -- 差異MySqlOracle