OMF和flash_recovery_area的關係!
在OMF出現之前(9i R1),oracle db的檔案,主要指dbf,redo,ctl是透過os管理的,為了簡化對資料庫檔案的管理,oracle引入了OMF,透過omf建立的dbf和redo,其default的大小都是100m,autoextend umlimited。9i R1的dbf檔案格式default:ora_%t_%u.dbf,
redo格式:ora_%g_%u.log;9iR2的格式發生了一些變化,把ora變成了o1_mf_%t(%g)_%u.dbf(log),其中%t表示dbf所屬的tbs,%g表示redo所屬的group#,%u表示唯一。
[@more@]1、僅設定引數db_create_file_dest建立redo
SQL> show parameter db_create
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest string c:temp
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> show parameter recovery
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string e:oracleproduct10.2.0flash
_recovery_area
db_recovery_file_dest_size big integer 2G
recovery_parallelism integer 0
SQL> alter database add logfile ;
資料庫已更改。
SQL> desc v$logfile
名稱 是否為空? 型別
----------------------------------------- -------- ----------------------------
GROUP# NUMBER
STATUS VARCHAR2(7)
TYPE VARCHAR2(7)
MEMBER VARCHAR2(513)
IS_RECOVERY_DEST_FILE VARCHAR2(3)SQL> select member,
is_recovery_dest_file from v$logfile;
MEMBER
IS_
--------------------------------------------------------------------------------
-- ---
E:ORACLEPRODUCT10.2.0ORADATATESTREDO01.LOG
NO
C:TEMPTESTONLINELOGO1_MF_4_46H5X70Z_.LOG
NO
E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREATESTONLINELOGO1_MF_4_46H5XB98_.LO
G YES
E:ORACLEPRODUCT10.2.0ORADATATESTREDO02.LOG
NO
E:ORACLEPRODUCT10.2.0ORADATATESTREDO03.LOG
NO
--從上面查詢結果可以看出在設定了引數db_create_file_dest 而不設定db_create_online_log_dest_n
的時候,此時建立的redo oracle會在db_create_file_dest 指定的目錄和flash_recovery_area中同時創
建並且互為mirror。
2、設定引數db_create_online_log_dest_n之後建立redo
SQL> alter system set db_create_online_log_dest_1='c:temp1';
系統已更改。
SQL> alter database add logfile ;
資料庫已更改。
SQL> select member, is_recovery_dest_file from v$logfile;
MEMBER
IS_
--------------------------------------------------------------------------------
-- ---
E:ORACLEPRODUCT10.2.0ORADATATESTREDO01.LOG
NO
C:TEMPTESTONLINELOGO1_MF_4_46H5X70Z_.LOG
NO
E:ORACLEPRODUCT10.2.0FLASH_RECOVERY_AREATESTONLINELOGO1_MF_4_46H5XB98_.LO
G YES
E:ORACLEPRODUCT10.2.0ORADATATESTREDO02.LOG
NO
E:ORACLEPRODUCT10.2.0ORADATATESTREDO03.LOG
NO
C:TEMP1TESTONLINELOGO1_MF_5_46H65X00_.LOG
NO
已選擇6行。
從查詢結果可以看出如果設定了引數db_create_online_log_dest_n之後,此時
db_create_online_log_dest_n引數覆蓋了db_create_file_dest和flash_recovery_area,也就是說如果
設定了db_create_online_log_dest_n,那麼之後建立的redo僅存在db_create_online_log_dest_n中
3、oracle不會把datafile放在flash_recovery_area中
SQL> alter system set db_create_file_dest='';
系統已更改。
SQL> create tablespace test;
create tablespace test
*
第 1 行出現錯誤:
ORA-02199: 缺失 DATAFILE/TEMPFILE 子句
SQL> show parameter db_create
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest string
db_create_online_log_dest_1 string c:temp1
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> alter database add logfile;
資料庫已更改。
SQL> alter system set db_create_online_log_dest_1='';
系統已更改。
SQL> show parameter db_create
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest string
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> alter database add logfile;
資料庫已更改。
SQL>
從上面試驗結果可以看出如果不設定 db_create_file_dest,那麼create tablespace test出現了錯誤,
也就是說oracle不會把datafile放在 falsh_recovery_area中;但是當把db_create_online_log_dest_1
也設定為null時,卻可以add logfile,也就是說有了falsh_recovery_area,即使不設定
db_create_online_log_dest_n,依然可以使用OMF.
4、使用OMF來管理ctl時和redo類似,不過需要注意的是此時我們需要修改引數control_files:
修改時使用reset把control_files從spfile中清除掉而不是使用alter system set control_files=''...要不然建立會出現錯誤:
ORA-01503: CREATE CONTROLFILE failed
ORA-09314: sltln: error translating logical name
OSD-04026: ????????????????
SQL> shutdown immediate
ORA-01109: ??????
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> startup nomount
ORACLE 例程已經啟動。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 121636196 bytes
Database Buffers 41943040 bytes
Redo Buffers 2945024 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS ARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 'E:ORACLEPRODUCT10.2.0ORADATATESTREDO01.LOG' SIZE 10M,
9 GROUP 2 'E:ORACLEPRODUCT10.2.0ORADATATESTREDO02.LOG' SIZE 10M,
10 GROUP 3 'E:ORACLEPRODUCT10.2.0ORADATATESTREDO03.LOG' SIZE 10M
11 -- STANDBY LOGFILE
12 DATAFILE
13 'E:ORACLEPRODUCT10.2.0ORADATATESTSYSTEM01.DBF',
14 'E:ORACLEPRODUCT10.2.0ORADATATESTUNDOTBS01.DBF',
15 'E:ORACLEPRODUCT10.2.0ORADATATESTSYSAUX01.DBF',
16 'E:ORACLEPRODUCT10.2.0ORADATATESTUSERS01.DBF'
17 CHARACTER SET ZHS16GBK
18 ;
CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS ARCHIVELOG
*
第 1 行出現錯誤:
ORA-01503: CREATE CONTROLFILE ??
ORA-09314: sltln: ????????
OSD-04026: ????????????????
SQL> select status from v$instance;
STATUS
------------
STARTED
SQL> show parameter db_create
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest string c:temp
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> alter session set nls_languare=american;
alter session set nls_languare=american
*
第 1 行出現錯誤:
ORA-00922: ???????
SQL> alter session set nls_language=american;
Session altered.
SQL> CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS ARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 'E:ORACLEPRODUCT10.2.0ORADATATESTREDO01.LOG' SIZE 10M,
9 GROUP 2 'E:ORACLEPRODUCT10.2.0ORADATATESTREDO02.LOG' SIZE 10M,
10 GROUP 3 'E:ORACLEPRODUCT10.2.0ORADATATESTREDO03.LOG' SIZE 10M
11 -- STANDBY LOGFILE
12 DATAFILE
13 'E:ORACLEPRODUCT10.2.0ORADATATESTSYSTEM01.DBF',
14 'E:ORACLEPRODUCT10.2.0ORADATATESTUNDOTBS01.DBF',
15 'E:ORACLEPRODUCT10.2.0ORADATATESTSYSAUX01.DBF',
16 'E:ORACLEPRODUCT10.2.0ORADATATESTUSERS01.DBF'
17 CHARACTER SET ZHS16GBK
18 ;
CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS ARCHIVELOG
*
ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-09314: sltln: error translating logical name
OSD-04026: ????????????????
SQL> show parameter control_files
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string
SQL> alter system reset control_files scope=spfile sid='*';
System altered.
SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 121636196 bytes
Database Buffers 41943040 bytes
Redo Buffers 2945024 bytes
ORA-00205: ?????????, ??????, ???????
SQL> CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS ARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 'E:ORACLEPRODUCT10.2.0ORADATATESTREDO01.LOG' SIZE 10M,
9 GROUP 2 'E:ORACLEPRODUCT10.2.0ORADATATESTREDO02.LOG' SIZE 10M,
10 GROUP 3 'E:ORACLEPRODUCT10.2.0ORADATATESTREDO03.LOG' SIZE 10M
11 -- STANDBY LOGFILE
12 DATAFILE
13 'E:ORACLEPRODUCT10.2.0ORADATATESTSYSTEM01.DBF',
14 'E:ORACLEPRODUCT10.2.0ORADATATESTUNDOTBS01.DBF',
15 'E:ORACLEPRODUCT10.2.0ORADATATESTSYSAUX01.DBF',
16 'E:ORACLEPRODUCT10.2.0ORADATATESTUSERS01.DBF'
17 CHARACTER SET ZHS16GBK
18 ;
控制檔案已建立。
SQL> alter database open;
資料庫已更改。
SQL> show parameter control_files;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string C:TEMP1TESTCONTROLFILEO1_M
F_46H9B2XS_.CTL
SQL> show parameter db_create
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest string c:temp
db_create_online_log_dest_1 string c:temp1
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> alter system set db_create_online_log_dest_1='';
系統已更改。
SQL> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> startup nomount
ORACLE 例程已經啟動。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 125830500 bytes
Database Buffers 37748736 bytes
Redo Buffers 2945024 bytes
SQL> show parameter control_files
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
control_files string
C:TEMP1TESTCONTROLFILEO1_M
F_46H9B2XS_.CTL
SQL> alter system reset control_files scope=spfile sid='*';
系統已更改。
SQL> shutdown immediate
ORA-01507: ??????
ORACLE 例程已經關閉。
SQL> startup nomount
ORACLE 例程已經啟動。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 125830500 bytes
Database Buffers 37748736 bytes
Redo Buffers 2945024 bytes
SQL> show parameter control_files
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
control_files string
E:ORACLEPRODUCT10.2.0DB_1
DATABASECTL1TEST.ORA
SQL> CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS ARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 'E:ORACLEPRODUCT10.2.0ORADATATESTREDO01.LOG' SIZE 10M,
9 GROUP 2 'E:ORACLEPRODUCT10.2.0ORADATATESTREDO02.LOG' SIZE 10M,
10 GROUP 3 'E:ORACLEPRODUCT10.2.0ORADATATESTREDO03.LOG' SIZE 10M
11 -- STANDBY LOGFILE
12 DATAFILE
13 'E:ORACLEPRODUCT10.2.0ORADATATESTSYSTEM01.DBF',
14 'E:ORACLEPRODUCT10.2.0ORADATATESTUNDOTBS01.DBF',
15 'E:ORACLEPRODUCT10.2.0ORADATATESTSYSAUX01.DBF',
16 'E:ORACLEPRODUCT10.2.0ORADATATESTUSERS01.DBF'
17 CHARACTER SET ZHS16GBK
18 ;
控制檔案已建立。
SQL> show parameter control_files
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
control_files string
C:TEMPTESTCONTROLFILEO1_MF
_46H9M7G5_.CTL, E:ORACLEPROD
UCT10.2.0FLASH_RECOVERY_AREA
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/19602/viewspace-1006263/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- FAILGROUP和REDUNDANCY之間的關係關係!AI
- 【OMF】使用Oracle的OMF 特性Oracle
- JavaScript和Java的關係JavaScript
- 平等和效率的關係
- 程式和產品的關係
- oracle session和process的關係OracleSession
- connection和session的關係Session
- sqlldr和external table的關係!SQL
- 屋大維和凱撒的關係
- 學者和媒體的關係
- jre 和 jdk的關係JDK
- 矩陣:橫向關係和縱向關係矩陣
- session和cookie關係SessionCookie
- 關於PR 和PO關係
- 【學習】= 概念 + 關係 + 關係發生的過程和條件
- 關於表空間和表的關係
- iOS 中 UIView 和 CALayer 的關係iOSUIView
- wait、notify和notifyAll的關係AI
- repo和Git的關係 [轉載]Git
- IP地址和MAC地址的關係Mac
- 再議gluPerspective和gluLookAt的關係
- HWM和delete,drop,truncate的關係delete
- tablespace和datafile之間的關係
- 行為和狀態的關係
- cmsis和各種庫的關係
- flink jobmanager和taskmanager的關係
- oracle OMF的使用Oracle
- Windows系統中owner owned 關係和 parent child關係Windows
- 有關resetlogs和incarnation關係的理解
- 關係型資料庫和非關係型資料庫的區別資料庫
- Cookie 和 Session 關係和區別CookieSession
- http中session和cookie的區別和關係HTTPSessionCookie
- Docker——理解好映象和容器的關係Docker
- Window, WindowManager和WindowManagerService之間的關係
- js中__proto__和prototype的關係JS
- Python和人工智慧的關係Python人工智慧
- 理解JavaScript中BOM和DOM的關係JavaScript
- 網站和伺服器的關係網站伺服器