物理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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 遷移資料庫的檔案到不同路徑(轉)資料庫
- 更改資料檔案路徑的方法
- CentOS修改Mariadb資料庫檔案儲存路徑CentOS資料庫
- [重慶思莊每日技術分享]-ORACLE DG物理備庫使用別名資料檔案改變路徑到OMF路徑Oracle
- Python科研武器庫 - 檔案/路徑操作 - 判斷檔案或資料夾Python
- gcc g++ 新增標頭檔案路徑和庫檔案路徑的方法GC
- Java中的獲取檔案的物理絕對路徑,和讀取檔案Java
- oracle 資料庫lsnrctl監聽的日誌路徑和trace檔案Oracle資料庫
- 修改Oracle資料檔名及資料檔案存放路徑Oracle
- 【Oracle】如何修改資料檔案和日誌檔案的路徑Oracle
- DataGuard---->物理StandBy的角色切換之switchover
- Linux-vscode-c++-slambook2-庫檔案找不到路徑LinuxVSCodeC++SLAM
- 歸檔路徑更改後,如何對資料庫進行恢復(轉)資料庫
- dedecms資料庫配置檔案所在路徑為:/data/common.inc.php資料庫PHP
- oracle11g修改資料檔案路徑Oracle
- oracle 修改資料檔案位置(路徑)(移動)Oracle
- oracle 修改資料檔案路徑(四種方式)Oracle
- 用Aspose-Java免費實現 PDF、Word、Excel、Word互相轉換並將轉換過得檔案上傳OSS,返回轉換後的檔案路徑JavaExcel
- Python科研武器庫 - 檔案/路徑操作 - 判斷路徑是否存在Python
- 資料庫轉換工具,不同資料庫之前任意轉換資料庫
- Python內建庫:pathlib(檔案路徑操作)Python
- 【轉載】Linux查詢檔案安裝路徑Linux
- Linux檔案的路徑定位-相對路徑和絕對路徑Linux
- nodejs遞迴資料夾獲取所有檔案路徑NodeJS遞迴
- CR2檔案怎麼轉換成jpg格式?快速轉換cr2檔案成jpg格式的操作技巧
- 10GR2下建立物理standby STEP BY STEP
- 1.3. 資料庫路徑整合資料庫
- 桌面檔案在c盤哪個資料夾 c盤桌面檔案路徑
- Sqlserver資料庫儲存路徑的修改SQLServer資料庫
- NodeJs 的幾種檔案路徑NodeJS
- 【物理】回首路徑積分
- oracle升級後資料檔案路徑變為大寫Oracle
- css檔案與資源路徑相關CSS
- python如何將相對路徑轉換為絕對路徑?Python
- 將DBF檔案(dBase, FoxPro等)中的資料轉換到SQLiteSQLite
- CMake連結庫,會檢索庫引用標頭檔案路徑
- Unity 編輯器中獲取選中的資料夾、檔案路徑Unity
- 回顧Node檔案路徑
- 查詢檔案位置路徑