物理Standby資料庫的檔案路徑轉換(2)
前文連結:
物理Standby資料庫的檔案路徑轉換(1)--*_FILE_NAME_CONVERT 引數什麼時候生效的呢
==========================================
2、 STANDBY_FILE_MANAGEMENT 引數的值很重要
看了前面的例子,相信會對scott01.dbf檔案印象深刻。這傢伙不知道是哪位大員的表親或內侍,反正後臺相當強硬,*_file_name_convert這麼彪悍的實權派都耐何不了它。偷偷告訴你,後臺老闆有可能是STANDBY_FILE_MANAGEMENT喲。話不多說,直接看示例:
手動修改資料檔案路徑:
JSSPDG> alter database rename file ' F:\ORACLE\ORADATA\JSSBOOK\USERS01.DBF ' to 'L:\ORADATA\JSSPDG\USERS01.DBF';
alter database rename file ' F:\ORACLE\ORADATA\JSSBOOK\USERS01.DBF ' to 'L:\ORADATA\JSSPDG\USERS01.DBF'
*
ERROR at line 1:
ORA-01511: error in renaming log/data files
ORA-01275: Operation RENAME is not allowed if standby file management is automatic.注意檔案路徑喲。
命令執行報錯,提示需要修改standby file maangement引數為手動,好吧,聽它的:
JSSPDG> show parameter standby
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
standby_archive_dest string %ORACLE_HOME%\RDBMS
standby_file_management string AUTO
SQL> alter system set standby_file_management = MANUAL;
System altered.然後再次執行修改:
JSSPDG> alter database rename file ' F:\ORACLE\ORADATA\JSSBOOK\USERS01.DBF ' to 'L:\ORADATA\JSSPDG\USERS01.DBF';
Database altered.成功,然後再次檢視當前檔案路徑:
JSSPDG> show parameter db_file_name_convert;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string
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
L:\ORADATA\JSSPDG\USERS01.DBF
L:\ORADATA\JSSPDG\SCOTT01.DBF顯式手動修改檔案路徑後,即使不設定檔案轉換的引數,顯示的也是正確的路徑了(廢話,我們手動指定了嘛,當然指定成什麼就顯示什麼)。
注意這個顯式手動指定的概念,這個包含的範圍是很廣的,不僅僅是我們手動通過alter database命令修改,alter tablespace修改肯定也好使。另外還有一條,就是standby_file_management引數的初始功能。該引數其實就用來同步Primary資料庫與物理Standby資料庫,當有表空間或資料檔案修改操作時,是否自動同步到Standby端,預設情況下是AUTO,也就是自動同步。如果是AUTO狀態,自動繼承自Primary資料庫的修改,那麼這部分檔案的路徑儲存在Standby資料庫的控制檔案中時,仍然是Primary資料庫時的路徑,顯示時受制於*_file_name_convert引數的影響。受制於篇幅,這裡就不演示standby_file_management引數在Primary和物理Standby間自動同步表空間、資料檔案修改時的狀態了,如果有興趣,你可以私下自行測試。
另外,有沒有可能,前面不生效是由於db_file_name_convert引數設定不適當造成的呢?之前都是對f:\oracle.....路徑進行轉換,修改一下初始化引數,顯式指定l:\oradata\jsspdg試一試呢:
JSSPDG> alter system set db_file_name_convert='L:\ORADATA\JSSPDG\','L:\ORADATA\JSS\',' F:\ORACLE\ORADATA\JSSBOOK \','L:\ORADATA\JSS\' Scope=spfile;
System altered.重新啟動物理Standby資料庫(沒辦法,convert引數均無法即時生效):
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
----------------------------------------------------------------------------------------------------
L:\ORADATA\JSS \SYSTEM01.DBF
L:\ORADATA\JSS \UNDOTBS01.DBF
L:\ORADATA\JSS \SYSAUX01.DBF
L:\ORADATA\JSSPDG\USERS01.DBF
L:\ORADATA\JSSPDG\SCOTT01.DBF未顯式修改過的檔案的路徑已經做了轉換,但其它兩個檔案的路徑毫無變化,看起來對於這類檔案手動指定過的檔案路徑,即使設定*_file_name_convert引數,也無法對它們的檔案路徑做轉換。如果這類檔案路徑有誤或需要修改,唯一的方式,只能是顯式通過SQL命令手動修改其路徑。接著,我們再來探討一個問題,什麼情況下*_file_name_convert引數能夠"真正"起作用呢?
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-600634/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 物理Standby資料庫的檔案路徑轉換(1)資料庫
- 物理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
- 移動資料庫物理檔案 Move Physical Files資料庫
- dataguard之物理備庫丟失資料檔案
- 將Standby資料庫臨時轉換為主資料庫用於測試資料庫
- DATA GUARD物理STANDBY的 SWITCHOVER切換