ASM時的OFM特性對影的建資料檔名的影響及為SYSTEM表空間的資料檔案使用別名
在主庫建立資料檔案,備庫自動建立的資料檔案都在同一磁碟組,並且在主庫建立資料檔案是指定的是類似**.DBF的名字,到備庫也變成了使用ASM的數字格式**.266.123456
這是因為使用了OMF特性。
OMF,全稱是Oracle_Managed Files,即Oracle檔案管理。
使用OMF可以簡化管理員的管理工作,不用指定檔案的名字、大小、路徑,其名字,大小,路徑由oracle 自動分配。在刪除不再使用的日誌、資料、控制檔案時,OMF也可以自動刪除其對應的OS檔案。
Oracle資料庫是否啟用OMF特性可以通過檢視DB_CREATE_FILE_DEST引數來獲得。
當DB_CREATE_FILE_DEST引數值為空時表示未啟用OMF功能,設定為目錄名則是開啟OMF。
實驗資料庫版本:11.2.0.4.0,
一、啟用OMF時的資料檔案建立情況
1.主庫在指定磁碟組建立資料檔案,備庫會在DB_CREATE_FILE_DEST=+DG1指定的磁碟組建立
備庫引數SQL> show parameter standby_file
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
standby_file_management string AUTO
SQL> show parameter DB_CREATE_FILE_DEST
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest string +DG1
SQL> col name for a50
SQL> set linesize 1000
SQL> select * from v$dbfile;
FILE# NAME
---------- --------------------------------------------------
1 +DG1/dg2/datafile/system.258.852146097
2 +DG1/dg2/datafile/sysaux.257.852146099
3 +DG1/dg2/datafile/undotbs1.256.852146101
4 +DG1/dg2/datafile/users.259.852146107
5 +DG2/dg/datafile/test1.dbf
主庫建立在DG2磁碟組建立表空間:
SQL> col name for a50
SQL> set linesize 1000
SQL> select * from v$dbfile;
FILE# NAME
---------- --------------------------------------------------
1 +DG1/dg/datafile/system.260.852134271
2 +DG1/dg/datafile/sysaux.261.852134303
3 +DG1/dg/datafile/undotbs1.262.852134329
4 +DG1/dg/datafile/users.264.852134361
5 +DG2/dg/datafile/test1.dbf
SQL> create tablespace test2 datafile '+DG2/dg/datafile/test2.dbf' size 10m;
Tablespace created.
SQL> alter system switch logfile;
System altered.
在備份庫上查詢表空間及資料檔案建立情況:在DB_CREATE_FILE_DEST指定的磁碟組+DG1中建立
SQL> select * from v$dbfile;
FILE# NAME
---------- --------------------------------------------------
1 +DG1/dg2/datafile/system.258.852146097
2 +DG1/dg2/datafile/sysaux.257.852146099
3 +DG1/dg2/datafile/undotbs1.256.852146101
4 +DG1/dg2/datafile/users.259.852146107
5 +DG2/dg/datafile/test1.dbf
6 +DG1/dg2/datafile/test2.272.852147911
修改備庫DB_CREATE_FILE_DEST引數為+DG2:
SQL> SQL> show parameter DB_CREATE_FILE_DEST
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest string +DG2
在主庫建立表空間:
SQL> create tablespace test3 datafile '+DG1/dg/datafile/test3.dbf' size 10m;
Tablespace created.
SQL> alter system switch logfile;
System altered.
在備庫查詢:
SQL> select * from v$dbfile;
FILE# NAME
---------- --------------------------------------------------
1 +DG1/dg2/datafile/system.258.852146097
2 +DG1/dg2/datafile/sysaux.257.852146099
3 +DG1/dg2/datafile/undotbs1.256.852146101
4 +DG1/dg2/datafile/users.259.852146107
5 +DG2/dg/datafile/test1.dbf
6 +DG1/dg2/datafile/test2.272.852147911
7 +DG2/dg2/datafile/test3.260.852148535
二、關閉OMF特性
修改備庫DB_CREATE_FILE_DEST引數為空,關閉OMF特性。--我這裡只關閉了備庫的SQL> show parameter DB_CREATE_FILE_DEST
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest string +DG2
SQL> alter system set DB_CREATE_FILE_DEST='';
System altered.
SQL> show parameter DB_CREATE_FILE_DEST
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest string
主庫做操作:
SQL> create tablespace test4 datafile '+DG1/dg/datafile/test4.dbf' size 10m;
Tablespace created.
SQL> create tablespace test5 datafile '+DG2/dg/datafile/test5.dbf' size 10m;
Tablespace created.
SQL> select * from v$dbfile;
FILE# NAME
---------- --------------------------------------------------
1 +DG1/dg/datafile/system.260.852134271
2 +DG1/dg/datafile/sysaux.261.852134303
3 +DG1/dg/datafile/undotbs1.262.852134329
4 +DG1/dg/datafile/users.264.852134361
5 +DG2/dg/datafile/test1.dbf
6 +DG2/dg/datafile/test2.dbf
7 +DG1/dg/datafile/test4.dbf
8 +DG2/dg/datafile/test5.dbf
備庫做查詢:
SQL> select * from v$dbfile;
FILE# NAME
---------- --------------------------------------------------
1 +DG1/dg2/datafile/system.258.852146097
2 +DG1/dg2/datafile/sysaux.257.852146099
3 +DG1/dg2/datafile/undotbs1.256.852146101
4 +DG1/dg2/datafile/users.259.852146107
5 +DG2/dg/datafile/test1.dbf
6 +DG1/dg2/datafile/test2.272.852147911
7 +DG1/dg/datafile/test4.dbf
8 +DG2/dg/datafile/test5.dbf
三、觀察下ASM磁碟組中對於資料檔案別名的儲存形式
ASMCMD> ls -al
WARNING:option 'a' is deprecated for 'ls'
please use 'absolutepath'
Type Redund Striped Time Sys Name
DATAFILE UNPROT COARSE JUL 05 22:00:00 Y none => SYSAUX.257.852146099
DATAFILE UNPROT COARSE JUL 05 22:00:00 Y none => SYSTEM.258.852146097
DATAFILE UNPROT COARSE JUL 05 22:00:00 Y none => TEST2.272.852147911
DATAFILE UNPROT COARSE JUL 05 22:00:00 Y +DG1/dg/datafile/test4.dbf => TEST4.279.852157365
DATAFILE UNPROT COARSE JUL 05 22:00:00 Y none => UNDOTBS1.256.852146101
DATAFILE UNPROT COARSE JUL 05 22:00:00 Y none => USERS.259.852146107
ASMCMD> ls -al
WARNING:option 'a' is deprecated for 'ls'
please use 'absolutepath'
Type Redund Striped Time Sys Name
DATAFILE UNPROT COARSE JUL 05 22:00:00 Y +DG2/dg/datafile/test1.dbf => TEST1.256.852146103
DATAFILE UNPROT COARSE JUL 05 22:00:00 Y +DG2/dg/datafile/test5.dbf => TEST5.260.852157413
四、為ASM中SYSTEM表空間使用別名
比如上面建立的表空間test4其對應的資料檔案TEST4.DBF是一個別名,真實的資料檔案與別名的對應是:+DG1/dg/datafile/test4.dbf => TEST4.279.852157365
,然而(system,undotbs,sysaux,users)對應的都是真實的資料檔案,沒有別名,這時如果要對這些表空間使用別名,就需要重建控制檔案。示例如下:
alter diskgroup dg1 add alias '+DG1/dg2/datafile/SYSTEM1.DBF' FOR '+DG1/dg2/datafile/system.258.852146097';
此時ASMCMD中檢視:
ASMCMD> ls -al
WARNING:option 'a' is deprecated for 'ls'
please use 'absolutepath'
Type Redund Striped Time Sys Name
DATAFILE UNPROT COARSE JUL 05 23:00:00 Y none => SYSAUX.257.852146099
DATAFILE UNPROT COARSE JUL 05 23:00:00 Y +DG1/DG2/DATAFILE/SYSTEM1.DBF => SYSTEM.258.852146097
N SYSTEM1.DBF => +DG1/DG2/DATAFILE/SYSTEM.258.852146097
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 418484224 bytes
Fixed Size 1365040 bytes
Variable Size 255855568 bytes
Database Buffers 155189248 bytes
Redo Buffers 6074368 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "DG" RESETLOGS FORCE LOGGING ARCHIVELOG …………
重建控制檔案完成後資料庫是MOUNT狀態,此時查詢:
SQL> select * from v$dbfile;
FILE# NAME
---------- --------------------------------------------------
8 +DG2/dg/datafile/test5.dbf
7 +DG1/dg/datafile/test4.dbf
6 +DG1/dg2/datafile/test2.272.852147911
5 +DG2/dg/datafile/test1.dbf
4 +DG1/dg2/datafile/users.259.852146107
3 +DG1/dg2/datafile/undotbs1.256.852146101
2 +DG1/dg2/datafile/sysaux.257.852146099
1 +DG1/dg2/datafile/system1.dbf
相關文章
- 如何為asm db中system表空間的資料檔案使用別名!ASM
- 轉載-表空間和資料檔案offline的影響分析
- Oracle根據表名查詢表空間及資料檔案的地址Oracle
- . 資料庫臨時表空間的資料檔案的丟失資料庫
- SYSAUX表空間滿對資料庫的影響以及解決措施UX資料庫
- 變更OS時間對資料庫的影響資料庫
- ASM檔案別名的分析ASM
- 【TABLESPACE】通過重建控制檔案調整表空間資料檔案位置及名稱
- 表資料的儲存對索引的影響索引
- 修改系統時間對oracle資料庫的影響Oracle資料庫
- Oracle 12.2.0.1.0 PDB丟失資料檔案對CDB的影響Oracle
- 做restore時用datafilecopy恢復時,影響資料檔案的大小REST
- 表空間和資料檔案的管理
- 資料檔案,表空間的移動
- 表空間新增資料檔案的疑惑
- 臨時資料檔案 offline 對於匯入匯出的影響
- 達夢資料庫之初始化頁大小對於表及表空間的影響分析資料庫
- 【TABLESPACE】資料庫Open狀態下調整表空間資料檔案位置及名稱資料庫
- 【TABLESPACE】資料庫Mount狀態下調整表空間資料檔案位置及名稱資料庫
- 移動資料檔案、系統表空間檔案、臨時表空間檔案
- Oracle資料庫表空間的資料檔案大小上限。Oracle資料庫
- oracle 回收表空間的資料檔案大小Oracle
- 錯誤新增表空間的資料檔案
- 臨時表空間資料檔案損壞的解決
- 【TABLESPACE】使用 CASCADE CONSTRAINTS選項刪除表空間時對資料庫物件影響的探查AI資料庫物件
- 當資料檔案表空間丟失的時候怎麼恢復該資料檔案
- profile檔案對sysdba使用者的影響
- 資料檔案、表空間offline用法及區別
- 修改Oracle資料檔名及資料檔案存放路徑Oracle
- 新建的表空間(或資料檔案)丟失以及控制檔案丟失,有新建表空間(或資料檔案)前的控制文
- 表空間離線與資料檔案離線的區別
- oracle誤刪除表空間的資料檔案Oracle
- oracle 將表空間下的資料檔案從檔案系統遷移到ASM磁碟組OracleASM
- 檢視Oracle資料庫表空間大小,是否需要增加表空間的資料檔案Oracle資料庫
- ORACLE 中SCHEMA的概念以及資料庫,表空間,資料檔案等的區別(轉)Oracle資料庫
- drop表空間以及對應的資料檔案後空間不釋放的問題
- 如何檢視Oracle資料庫表空間大小(空閒、已使用),是否要增加表空間的資料檔案...Oracle資料庫
- 移動資料檔名中含有特殊字元的資料檔案方法字元