物理Standby資料庫的檔案路徑轉換(1)
Dataguard 是項常見並且實用的技術,常規方式的配置非常簡單,基本上沒有太多技術問題,大部時間可能都會花在複製資料檔案的 IO 操作上,不過如果條件特殊,比如 Primary 資料檔案路徑與 Standby 路徑不一致,配置時還是有一些需要引起注意的地方。
下面通過示例,演示當物理 Standby 資料庫與 Primary 資料庫路徑不同時的可能出現的問題。
設定環境如下:
- Primary 資料庫: JSSWEB ,檔案路徑在 F:\oracle\oradata\jssbook 目錄下
- 物理 Standby : JSSPDG ,通過 Primary 備份建立,檔案路徑在 L:\oradata\jsspdg 目錄下
- 物理 Standby : JSSLDG ,通過 JSSPDG 建立,檔案路徑在 L:\oradata\jss l dg 目錄下
1、 *_FILE_NAME_CONVERT 引數什麼時候生效的呢
如果要建立的 Standby 資料庫與 Primary 資料庫的路徑無法保持一致, ORACLE 中的實現方式都是藉助引數,自動轉換資料檔案路徑。需要設定設定的引數有兩個: db_file_name_convert 和 log_file_name_convert ,分別用來轉換資料檔案路徑和重做日誌檔案路徑 ( 含聯機重做日誌檔案和 Standby 重做日誌檔案 ) 。不過設定初始化引數的方式在任何場合都好使嗎,答案是否定的,下面的演示能詳細說明這一點。
物理 Standby JSSPDG ,檢視當前的路徑轉換引數設定:
JSSPDG> show parameter convert;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string F:\oracle\oradata\jssbook, L:\
oradata\jsspdg, L:\oradata\jss
pdg, F:\oracle\oradata\jssbook
log_file_name_convert string F:\oracle\oradata\jssbook, L:\
oradata\jsspdg, L:\oradata\jss
pdg, F:\oracle\oradata\jssbook檢視當前資料檔案路徑:
JSSPDG> select name from v$datafile;
NAME
-------------------------------------------------------
L:\ORADATA\JSSPDG\SYSTEM01.DBF
L:\ORADATA\JSSPDG\UNDOTBS01.DBF
L:\ORADATA\JSSPDG\SYSAUX01.DBF
L:\ORADATA\JSSPDG\USERS01.DBF
L:\ORADATA\JSSPDG\SCOTT01.DBF
JSSPDG> select member from v$Logfile;
MEMBER
-------------------------------------------------------
L:\ORADATA\JSSPDG\REDO01.LOG
L:\ORADATA\JSSPDG\REDO02.LOG
L:\ORADATA\JSSPDG\REDO03.LOG
L:\ORADATA\JSSPDG\STDREDO01.LOG
L:\ORADATA\JSSPDG\STDREDO02.LOG
L:\ORADATA\JSSPDG\STDREDO03.LOG
6 rows selected.運氣不錯,看起來路徑轉換正常。不過你有沒有想過,當前顯示的資料檔案、日誌檔案的路徑是否就是控制檔案中所儲存的路徑呢?
答案是否定的,例如,嘗試修改檔案轉換引數:
JSSPDG > alter system set db _file_name_convert='' scope=spfile;
System altered.重新啟動資料庫:
JSSPDG > shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
JSSPDG > startup mount;
ORACLE instance started.
Total System Global Area 314572800 bytes
Fixed Size 1248720 bytes
Variable Size 96469552 bytes
Database Buffers 209715200 bytes
Redo Buffers 7139328 bytes
Database mounted.再次檢視日誌檔案的路徑:
JSSPDG > select name from v$ datafile ;
NAME
----------------------------------------------------------------------------------------------------
F:\ORACLE\ORADATA\JSSBOOK\SYSTEM01.DBF
F:\ORACLE\ORADATA\JSSBOOK\UNDOTBS01.DBF
F:\ORACLE\ORADATA\JSSBOOK\SYSAUX01.DBF
F:\ORACLE\ORADATA\JSSBOOK\USERS01.DBF
L:\ORADATA\JSSPDG\SCOTT01.DBF除了 scott01.dbf 外,其它檔案仍然顯示的是原路徑。 Scott01.dbf 為什麼能顯示正確的路徑後面再說。其它資料檔案顯示的路徑和當前 db_file_name_convert 引數的設定,結合來看至少能夠得出結論:物理 Standby 控制檔案中儲存的檔案路徑並不一定就是實際路徑,同時而 *_file_name_convert 引數也不是任何情況下均有效。下面我們就接著探討另一個話題,什麼情況下控制檔案中儲存的檔案路徑等於實際顯示的路徑呢?
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-600553/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 物理Standby資料庫的檔案路徑轉換(2)資料庫
- 物理Standby資料庫的檔案路徑轉換(3)資料庫
- 物理Standby資料庫及邏輯Standby資料庫(Physical Standby & Logical Standby)資料庫
- Dataguard物理Standby Switchover 角色轉換
- cp資料檔案方式搭建 11g 物理standby
- ORACLE DUPLICATE建立物理standby資料庫Oracle資料庫
- 使用RMAN建立物理Standby資料庫資料庫
- MySQL資料庫資料檔案路徑遷移步驟MySql資料庫
- 修改資料檔案路徑
- standby庫歸檔日誌路徑小節
- postgresql資料庫安裝以及修改資料檔案路徑SQL資料庫
- 更改資料檔案路徑的方法
- 改變資料檔案的路徑
- 遷移資料庫的檔案到不同路徑(轉)資料庫
- dataguard之物理standby庫failover 切換AI
- [重慶思莊每日技術分享]-ORACLE DG物理備庫使用別名資料檔案改變路徑到OMF路徑Oracle
- CentOS修改Mariadb資料庫檔案儲存路徑CentOS資料庫
- 使用RMAN複製活動資料庫(檔案路徑相同)資料庫
- 使用RMAN複製活動資料庫(檔案路徑不同)資料庫
- 在單機上建立物理的Oracle9i standby資料庫(轉)Oracle資料庫
- oracle資料庫更改歸檔路徑Oracle資料庫
- 修改資料庫檔名字和路徑資料庫
- 【DATAGUARD】 將11g物理備庫轉換為Snapshot Standby
- gcc g++ 新增標頭檔案路徑和庫檔案路徑的方法GC
- Java中的獲取檔案的物理絕對路徑,和讀取檔案Java
- 【DATAGUARD 學習】使用duplicate 建立物理standby 資料庫資料庫
- 管理物理STANDBY資料庫——DATA GUARD概念和管理資料庫
- 建立物理STANDBY資料庫——DATA GUARD概念和管理資料庫
- Python科研武器庫 - 檔案/路徑操作 - 判斷檔案或資料夾Python
- 修改Oracle資料檔名及資料檔案存放路徑Oracle
- 非歸檔模式下的資料檔案路徑修改模式
- oracle 資料庫lsnrctl監聽的日誌路徑和trace檔案Oracle資料庫
- 【Oracle】如何修改資料檔案和日誌檔案的路徑Oracle
- 用重建控制檔案的方法修改oracle資料檔案路徑Oracle
- 分析Oracle資料庫日誌檔案(1)(轉)Oracle資料庫
- 分析Oracle資料庫日誌檔案(1) [轉]Oracle資料庫
- 移動資料庫物理檔案 Move Physical Files資料庫
- dataguard之物理備庫丟失資料檔案