17.Oracle10g服務器管理恢復--RMAN復制數據庫(練習30)
通過使用數據庫備份,DBA可以在同一服務器或其他服務器上建立副本數據庫,這個副本數據庫可以和主數據庫有相同的名稱(數據庫拷貝)或者與數據庫名稱不同(數據庫克隆),Oracle在數據庫備份和數據庫克隆之間唯一不同的是拷貝的數據庫不能更改原名稱。使用RMAN的復制數據庫特性,可以從RMAN備份創建一個新的數據庫,并為這個副本數據庫保留已有的數據庫名稱或賦予新的名稱。在練習9已經介紹了復制數據庫的概念,在練習20-23和練習27-29中,講述了如何使用恢復管理器(RMAN)進行備份與恢復,本練習將講解如何綜合這幾個練習的知識,用RMAN創建副本數據庫。
RMAN如何從備份創建一個副本數據庫?在復制期間,RMAN連接主數據庫和副本的實例,復制進程包括在副本服務器上還原并恢復主數據庫的備份文件。首先在副本數據庫服務器上恢復RMAN創建的主數據庫備份基準;在恢復期間,所需的主數據庫的增量備份和歸檔重做日志將應用到副本數據庫中,副本數據庫不能進行完全恢復,因為聯機重做日志不能還原(由于沒有用RMAN進行備份),因此不完全恢復將執行到一個指定的停止點或者直到RMAN所知的最新歸檔日志文件,此時RMAN將不會應用任何來自聯機日志的重做。
副本數據庫相比主數據庫而言已經過時了,在復制期間,會生成一個新的控制文件和聯機重做日志文件。RMAN也將賦予這個數據庫一個新的數據庫標識(DBID)。
就向其他介紹RMAN其他練習一樣,在本練習中將定義屬于本章內容的新RMAN術語或命令,本章將介紹一下RMAN術語和命令:
- 輔助數據庫(Auxiliary database): RMAN將目標(主)數據庫復制到該數據庫實例,要創建該數據庫的參數文件、路徑和口令文件。必須在RMAN數據庫復制之前以非加載(NOMOUNT)模式啟動輔助數據庫實例;
- 復制(Duplicate) :從其他數據庫的RMAN備份創建一個新的數據庫,要在RMAN執行復制操作的位置配置輔助數據庫并啟動Oracle的實例,從RMAN的角度來看,目標數據庫被復制到副本數據庫;
- 設置新名稱(Set newname) :在一個RMAN運行塊內為數據設置新的名稱,提供給該參數名將覆蓋任何該數據文件的輔助數據庫名(用SET_AUXNAME)或者輔助數據庫參數(DB_FILE_NAME_CONVERT),這個新名稱的值只在數據塊內有效);
- 設置輔助名稱(Set auxname) :為數據文件設置輔助名稱。這個輔助名稱將在RMAN會話之間存在,如果不希望以后的RMAN使用這個設置的名稱,則必須要將該名稱設置為null;
- 日志文件(Log fiel):可以在duplicate命令中使用這個關鍵字,以指定副本數據庫創建的聯機重做日志。如果沒有特別指定這個關鍵字,則RMAN將在輔助參數文件中的LOG_FILE_NAME_CONVERT參數決定路徑中生成日志文件。如果沒有這個RMAN關鍵字,而且沒有設置輔助參數,則RMAN將在目標數據庫同樣的位置創建日志文件(假設已經指定了NOCHECKFILENAME選項);
- 不檢查文件名(NoCheckfilename) :默認情況下,RMAN將檢查在副本主機上被恢復到主機目標數據文件路徑下的數據文件,以確保不會被錯誤地覆蓋。使用該選項可以覆蓋這個默認的操作。這樣就需要手工確保RMAN沒有覆蓋任何已經存在的數據文件。應當謹慎使用這個命令,防止覆蓋數據文件。
在Duplication命令中執行的過程中,RMAN執行了一系列工作。當連接到目標、輔助和可選的目錄數據庫后,RMAN將執行如下操作:
- 根據最近發生的或者是提供的恢復停止點來決定復制操作將使用哪個基本的備份;
- 根據輔助數據庫參數或RMAN設置的命令和選項來決定將數據文件保存在輔助數據庫實例的什么位置;
- 為輔助數據庫讀出備份片或映像拷貝并恢復數據文件,這個RMAN的功能與執行正常的數據庫還原是一樣的;
- 根據恢復停止點將任何增量備份應用于還原數據文件,這個增量方式應用與應用RMAN發布恢復數據庫命令的任務是一樣的;
- 根據恢復停止點從磁盤或備份將所有歸檔日志文件應用于還原數據文件
- 為輔助數據庫創建新的控制文件
- 當重新設置聯機重做日志文件時,打開副本數據庫。新的聯機重做日志文件將根據RMAN復制數據庫命令中指定的或者根據轉換的輔助參數文件來創建。
為什么要使用RMAN來創建副本數據庫呢?如果備份知識RMAN備份則必須使用RMAN進行操作。如果既有RMAN備份也有用戶管理的備份,則RMAN進行復制會比較容易,RMAN將創建新的控制文件并處理數據文件的還原與恢復。
當用RMAN進行數據庫復制時,應該考慮以下注意是事項:
- 不是必須要使用RMAN目錄。RMAN信息被存儲在目標數據庫的控制文件中,必須確保創建副本數據庫的備份仍然在目標控制文件中。例如,如果將init.ora文件的CONTROLFILE_RECORD_KEEP_FOR_TIME參數設置為21天,則不能從2個月以前開始還原;
- 如果當數據庫打開時進行備份,則應包括隨后的日志切換以確保當備份進行時任何重做的更改都被歸檔;
- 確保選取的備份包含了必要的歸檔日志,RMAN必須清楚應用的歸檔日志;
- 不能在復制期間進行完全恢復,恢復必須有停止點。該停止點可以是一個指定的停止點也可以是歸檔重做日志所知的最后一個點可以基于時間、日志序列或者SCN來指定一個停止點;
- 為了在復制期間創建數據庫的拷貝,應使用與輔助數據庫參數文件中的目標文件一樣的數據庫名稱;
- 如果副本數據庫駐留在其他服務器上,而且服務器擁有與主數據庫服務器同樣的路徑結構,則在復制期間不需要重新命名任何文件。默認情況下,DUPLICATE命令將告知RMAN還原的輔助文件的位置與目標數據庫文件備份時的主數據庫文件位置相同;
- 新的副本數據庫的數據庫名稱可以和主數據庫的相同,也可以不同。當數據庫的名稱必須與任何共享ORACLE_HOME路徑的數據庫的名稱不同。因此,如果主數據庫和副本數據庫駐留在同一服務器上,而且共享相同的ORACLE_HOME,則副本數據庫必須重新命名。雖然在同一服務器上,但是擁有獨立的ORACLE_HOME路徑或在不同的服務器上則它們可以具有相同的數據庫名稱。
在本練習中,將用RMAN創建一個副本數據庫。可以通過輔助初始化參數文件以及RMAN命令更改數據庫文件的名稱和位置。
創建副本數據庫涉及一系列相互協調的步驟,在下列描述的步驟中,主數據庫為目標數據庫,而副本數據庫為輔助數據庫。
- 使RMAN備份可以被將要存儲副本數據庫的服務器訪問 如果備份生在磁盤上,可以用ftp的二進制模式傳送或用NFS這樣的磁盤共享機制進行訪問;
- 準備副本數據庫參數文件 在副本數據庫被創建以前,RMAN需要連接到一個輔助實例上,這類似于練習12-14中要執行的表空間時間點恢復時需要連接的輔助實例。RMAN連接到輔助實例后,則從備份開始還原數據文件以生成副本數據庫。為了啟動輔助實例,必須創建一個包含許多特殊參數的初始化參數文件,當在與主數據庫同樣的服務器上創建副本數據庫時,必須確保控制文件、數據文件和聯機重做日志文件沒有覆蓋已經存在的文件。為了達到這個目的,可以告知RMAN在執行DUPLICATE命令時在新的位置重新命名這些文件,或者可以指定某些特殊的初始化參數自動完成這個工作。
- 生成副本數據庫口令文件 為了進行DBA驗證,副本數據庫需要一個口令文件,可以按照練習9步驟一生成這個文件;
- 創建NET8連接文件 RMAN需要同時連接到主數據庫(目標實例)以及副本數據庫(輔助實例),如果這兩個數據庫駐留在不同的服務器上,則需要配置副本服務器上的lister監聽器,而且需要配置運行RMAN服務器上的tnsnames文件;
- 啟動輔助實例 在RMAN創建副本數據庫之前,輔助實例需要以非加載模式啟動,啟動時將要讀取步驟二創建的參數文件;
- 加載或打開主數據庫 RMAN需要主數據庫加載或打開以便創建副本數據庫;
- 創建副本數據庫 當要求RMAN創建副本數據庫時,它會自動還原所需的基準備份,并應用增量備份和歸檔重做日志文件,恢復完成后副本數據庫會以RESETLOGS選項打開。
練習30:用RMAN復制PRACTICE數據庫
本練習中將要克隆生成的數據庫名為CLNE,因此在本練習中PRACTICE數據庫就是主/目標數據庫,副本數據庫是一個克隆。因為該數據庫被賦予了一個新的名稱,如果在其他服務器上執行該練習,則創建的數據庫可以具有相同的名稱(PRACTICE),只需要將本練習中的CLNE用PRACTICE代替就可以了。
步驟一:準備克隆數據庫
為CLNE數據庫開始創建數據庫路徑、參數文件、口令文件(及Window服務),如果已經執行了練習9,這些步驟就都已經完成了。
- 路徑 為將要生成的CLNE數據庫創建所有相關路徑:
1 set ORACLE_SID=CLNE
2 set ORACLE_BASE=D:\oracle
3 set ORACLE_HOME=D:\oracle\product\10.1.0
4 set ORACLE_DATA=D:\oracle\%ORACLE_SID%
5 set ORACLE_ADMIN=%ORACLE_HOME%\admin\%ORACLE_SID%
6 md %ORACLE_ADMIN%
7 md %ORACLE_ADMIN%\pfile
8 md %ORACLE_ADMIN%\bdump
9 md %ORACLE_ADMIN%\cdump
10 md %ORACLE_ADMIN%\udump
11 md %ORACLE_ADMIN%\create
12 md %ORACLE_DATA%\
13 md %ORACLE_DATA%\ARCHIVE
(圖2)

(圖4)
- 參數文件 接下來,進入D:\oracle\product\10.1.0\admin\PRACTICE\pfile文件夾,復制PRACTICE參數文件init.ora.1016201010059并命名為initCLNE.ORA,使用寫字板打開,將文件中出現”PRACTICE”替換為”CLNE”。當執行這個全文搜索和替換時,就為參數更改了數據庫名、服務名、控制文件的位置以及許多路徑。修改完畢后應確認一下參數:DB_NAME、CONTROL_FILES以及目標路徑。在CLNE數據庫參數文件中增加三個參數:
1 log_archive_dest='D:\oracle\CLNE\ARCHIVE'
2 db_file_name_convert=("PRACTICE","CLNE")
3 log_file_name_convert=("PRACTICE","CLNE")
(圖6)
在復制期間,這三個參數將把文件名和位置名從舊值轉換為新值。在這個示例中任何數據文件全名稱中的PRACTICE都將改為CLNE。因此,PRACTICE數據庫文件 D:\oracle\PRACTICE\system01.dbf將在CLNE中創為D:\oracle\CLNE\system01.dbf。日志文件D:\oracle\PRACTICE\redo01.log將在CLNE數據庫中創建為D:\oracle\CLNE\redo01.log;
- 口令文件 在RMAN復制期間,需要以SYSDBA角色的身份連接到CLNE數據庫,創建口令文件,這個口令文件將用于遠程身份認證安全;
1 WIN>orapwd file=D:\oracle\product\10.1.0\Db_1\database\PWDCLNE.ORA password=CLNE entries=10

(圖8)
- Window服務 在Window中,用oradmin工具為CLNE數據庫創建一個名稱OracleServiceCLNE數據庫服務;
1 WIN>oradim -NEW -SID CLNE -SYSPWD CLNE

(圖10)
- Net8連接 最后為CLNE數據庫配置NET8連接,這個步驟對于練習9中復制數據庫是沒有必要的,因為在連接到PRACTICE數據庫的同時不需要連接到CLNE實例。應用NET8 Assistant來更新NET8的配置;
(圖12)
配置Lisenter服務:打開D:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN\ listener.ora,添加目標數據庫服務
(圖14)
特別注意:配置完畢后,重啟監聽,把CLNE數據庫以非加載模式啟動。
(圖16)

(圖18)
如果已經創建一個在練習9描述的克隆數據庫,則沒有必要執行所有這些步驟。數據庫文件已經存在D:\oracle\CLNE目錄下,可以保留這些以前創建的數據庫文件(數據文件、日志文件和控制文件),也可以刪除。
步驟二:備份PRACTICE數據庫
現在已經有足夠多的PRACTICE數據庫的備份可以用來復制到CLNE數據庫,為了確保成功,連續創建兩個用于復制PRACTICE數據庫備份。
第一個備份是用練習24的b_whole_0.rcv命令腳本創建的基準備份(增量級別為0),數據庫文件和控制文件的基準備份也是數據庫所有數據文件和控制文件的完全數據庫備份或映像拷貝。
第二個備份在基本數據文件和控制文件備份之后進行一個歸檔日志文件備份。可以運行練習24名為b_archive_2days.rcv的RMAN命令文件來生成這個備份。該文件中包含的命令將強迫進行一次日志切換,并備份所有最近兩天以來含有重做信息的歸檔日志文件:
2 WIN>connect target system/system@practice
3 WIN>connect catalog rman1010/rman@rcat
4 RMAN>@D:\oracle\CODE\chap12\b_whole_inc0.rcv
5 RMAN>@D:\oracle\CODE\chap12\b_archive_2days.rcv

(圖20)
標記PRACTICE數據庫當前的日志文件,在復制期間將使用這個日志文件作為停止點。
2 SQL>SELECT sequence#, thread# FROM v$log WHERE status = 'CURRENT';

(圖22)
步驟三:復制PRACTICE數據庫
在這個任務中,RMAN將對幾個命令相應并執行一些列操作,所有需要命令如下所示:
2 connect catalog rman1010/rman@rcat
3 connect auxiliary sys/clne@clne
4 #Dulicate the PRACTICE database to the CLNE database
5 run{
6 set until logseq 9 thread 1;
7 allocate auxiliary channel d1 type disk;
8 duplicate target database to CLNE;
9 }
這個RMAN腳本文件包含連接目標、目錄和輔助數據庫的命令,在復制期間,需要目標數據庫和輔助數據庫的連接,而目錄的連接則是可選的:
- Connect target 要被復制的數據庫是目標數據庫連接,這個數據庫應該被加載或打開;
- Connect catalog 如果需要目錄,則應該包含所有目標數據庫備份的歷史,RMAN可以使用合適的備份來還原副本數據庫,則這個數據庫必須被打開;
- Connect auxiliary 副本數據庫是輔助數據庫連接,這個數據必須以非加載模式啟動;
- Set until 因為在目標數據庫被打開的情況下復制數據庫一定是不完全的,所以可以使用一個比最終歸檔的重做日志文件的序列號大的日志序列停止點。如果目標數據庫上的當前日志文件是9,則恢復到輔助數據庫將包括日志序列號8而不是9。必須包括trhead的值,但該值并不屬于一個Oracle并行服務器的配置,選擇的停止點必須在時間點上要大于RMAN能從其中恢復的最早備份時間;
- Allocate auxiliary channel 在輔助數據庫上的操作都是通過輔助通道執行的,目標數據庫的備份片將通過這個通道讀取,并還原到CLNE數據庫中,CLNE數據庫的恢復也是通過這個通道進行的;
- Duplicate target 目標數據庫將被復制到名為CLNE的輔助數據庫,復制命令從目標數據庫備份還原數據文件到輔助數據庫的新位置。還原之后,RMAN將生成新控制文件,然后恢復數據庫。最后,在重新設置日志文件時輔助數據庫將被打開。
DUPLICATE命令的輸出比較長,所以這里并沒有全部顯示這些輸出,這里指出一些重要的地方加以說明:

在復制期間,輔助通道連接到CLNE實例上,當復制過程進行時,可以使用會話標識在SQL*Plus中連接到CLNE實例,并查看RMAN連接。
這個RMAN腳本文件包含連接目標、目錄和輔助數據庫的命令,在復制期間,需要目標數據庫和輔助數據庫的連接,而目錄的連接則是可選的:

復制命令將使RMAN腳本執行,RMAN可以選擇使用在內存中動態生成的腳本,因為這些腳本沒有在什么地方靜態存儲,這就是說復制有沒有目錄也是可以工作。在第一個內存腳本中,RMAN確定PRACTICE數據庫的日志序列9是從SCN708359開始,并將用增量備份和歸檔重做恢復到這SCN值。類似于正常的RMAN恢復,RMAN首先在輔助數據庫的databas_archive_log_dest路徑下查找所需要的歸檔日志文件是否已經存在。如果不存在,則必須從一個備份中應用并還原,其次RMAN基于CLNE數據庫的initCLNE.ora參數文件中的DB_FILE_NAME_CONVERT參數決定數據文件新的名稱。所遇到的PRACTICE都將被替換成CLNE,當還原數據文件時,有效地為每個數據文件改變路徑;最后向克隆數據庫發出restore命令,RMAN生成的腳本中的關鍵字clone將被寫到CLNE輔助數據庫。如果已經連接到一個名為TST1的輔助數據庫,則這個命令仍然是RESTORE CLONE DATABASE。

還原命令將發現在步驟二中生成的備份,并使用這個備份從目標數據庫PRACTICE為輔助數據庫CLNE還原數據文件,數據文件是從備份中還原的,而不是從目標數據庫拷貝因此將很少影響目標數據庫的性能。

當還原完成之后,RMAN創建一個新的控制文件,在控制文件的創建命令中,數據名稱被設置為CLNE,而不是PRACTICE。因為在步驟一中設置了CLNE數據庫init.ora的LOG_FILE_NAME_CONVERT參數,所以這個日志文件的位置將從D:\oracle\PRACTICE更改為D:\oracle\CLNE

所有克隆數據庫(CLNE)中的非系統數據文件必須從目標數據庫的位置切換到新的數據庫的相應位置。

數據文件已經被還原到CLNE數據庫的位置中而且已經創建了新的CLNE控制文件,接下來RMAN使用首次增量備份和歸檔日志文件恢復在克隆數據庫上的已經還原的數據庫文件。因為在本練習中沒有增量備份,所以不會看到任何增量備份被還原和應用,應該在RMAN恢復階段使用數據庫的歸檔文件進行介質恢復。


在介質恢復后,用resetlogs選項將CLNE數據庫打開。

如果在整個復制命令腳本的輸出中,沒有遇到錯誤信息,而且看到消息RMAN:database opened message,則RMAN數據庫復制操作就成功了!
步驟四:驗證克隆數據庫
為了檢查CLNE數據庫是否已經創建成功,通過SQL*Plus連接并運行一些查詢語句。SYS口令(沒有SYSDBA角色)將與PRACTICE數據庫上的SYSTEM口令一樣,因為CLNE數據庫就是PRACTICE數據庫的副本。
2 SQL>SELECT sequence#, first_change#, status FROM v$log ORDER BY status;

(圖42)
當前聯機重做日志文件的序列號是1!當CLNE數據庫以resetlogs打開時,日志序列號被重置為1。這個日志序列號的首先改變為708360,當數據庫被打開并且重置重做日志,則當前重做日志SCN的第一個改變是比恢復結束SCN改變的值大1。在恢復期間,所有數據庫文件都向前回退到SCN708359,數據庫打開的重置日志操作發生在SCN708360。
2 SQL>SELECT name FROM v$database;
3 SQL>SELECT name FROM v$datafile;
4 SQL>SELECT member FROM v$logfile;
5 SQL>SELECT name FROM v$controlfile;
6 SQL>SELECT max(create_date) FROM tina.date_log;

(圖44)
可以通過查詢看到數據文件的位置,也可以檢查一個數據庫表的數據。可以隨意在D:\oracle\CLNE目錄下查看由RMAN復制操作創建的數據文件。因為RMAN自動賦予副本數據庫一個新的DBID,所以可以將這個新的數據庫在恢復目錄中注冊并開始備份,即使副本數據庫與主數據庫擁有相同的名稱,只要DBID不同也可以在恢復目錄中注冊。
步驟五:再次復制PRACTICE數據庫
最后的這個任務將再次復制數據庫,但是卻使用RMAN的關鍵字和命令來控制數據庫文件和日志文件的名稱和位置(控制文件的位置是由輔助數據庫文件參數文件control_file設置的)。可以按照下面的做法控制數據文件位置并設置新名稱或設置輔助名稱:
2 SET auxname for datafile 4 TO 'D:\oracle\CLNE\auxname04.dbf';
3 SET auxname for datafile 6 TO 'D:\oracle\CLNE\auxname06.dbf';
4 SET auxname for datafile 1 TO 'D:\oracle\CLNE\auxname01.dbf';
5 SET auxname for datafile 3 TO 'D:\oracle\CLNE\auxname03.dbf';
6 SET auxname for datafile 5 TO 'D:\oracle\CLNE\auxname05.dbf';
7 SET auxname for datafile 7 TO 'D:\oracle\CLNE\auxname07.dbf';
8 run{
9 allocate auxiliary channel d1 type disk;
10 set until logseq 9 thread 1;
11 duplicate target database to CLNE logfile
12 group 1 ( 'D:\oracle\CLNE\redo01_1.log',
13 'D:\oracle\CLNE\redo01_2.log') size 10000K reuse,
14 group 2 ( 'D:\oracle\CLNE\redo02_1.log',
15 'D:\oracle\CLNE\redo02_2.log') size 10000K reuse,
16 group 3 ( 'D:\oracle\CLNE\redo03_1.log',
17 'D:\oracle\CLNE\redo03_2.log') size 10000K reuse;
18 }
19 set auxname for datafile 1 to null;
20 set auxname for datafile 2 to null;
21 set auxname for datafile 3 to null;
20 set auxname for datafile 5 to null;
21 set auxname for datafile 6 to null;
以上顯示如何在復制期間為CLNE數據庫的每個數據文件指定一個新的文件名(或者位置)。這樣當PRACTICE備份還原CLNE的位置時,每個文件都可以重新命名,日志文件可以指定為附加到DUPLICATE TARGET DATABASE命令。在以上的示例中,每個數據文件都重命名并且日志文件也被重新定義大小、重命名和鏡像。為了說明問題,對單數的數據文件重命名而對偶數的數據文件輔助命名。同時對不完全恢復增加了一個set until語句,這個復制將使用基準復制,并應用直到日志序列9的重做,但不包括日志序列號9。
可以用以上的腳本創建備份,確保關閉了CLNE數據庫并在運行這個復制腳本之前以非加載方式打開實例(在Window中在啟動CLNE實例之前先關閉Window服務,如果沒有這樣做,則控制文件仍然保持加載狀態)。盡管在步驟一的initCLNE.ora文件后面增加了數據文件和日志文件的轉換參數,但通過RMAN SET命令的數據文件和日志文件名將覆蓋這個initCLNE.ora中的參數。

設置數據文件名稱

運行克隆腳本

拷貝數據文件

(圖52)
還原數據文件和聯機日志文件

切換數據庫路徑

(圖56)
恢復數據庫

(圖58)
重啟CLNE數據庫

(圖60)

以重置方式打開CLNE數據庫

一旦通過運行這個腳本的一個(或者兩者都運行)來進行數據庫復制工作,請查看步驟四中描述的數據文件和日志文件的位置。在D:\oracle\CLNE將會看到不同的文件名,就可以證實可以通過RMAN命令和關鍵字控制副本數據庫的文件名和位置。
技巧:將每個auxname重置為null以便以后的RMAN命令不會錯誤地使用同樣的名稱。例如,在本章中創建D:\oracle\CLNE\auxname1.dbf作為數據庫文件1。而在下一個練習中,數據文件1將仍然是D:\oracle\CLNE\auxname1.dbf,除非為這個文件重置輔助名稱更或者用set newname進行覆蓋。
在不同的服務器上進行復制數據庫
很多情況下,復制操作將發生在與主數據庫服務器不同的其他服務器上那么如何處理?
- 如果目標數據庫的RMAN備份已經保存在磁盤上,那么備份片必須拷貝到復制的服務器上。例如,如果在主機hostA有一個RMAN備份的備份文件D:\oracle\CLNE\db_100_12455_1,則這個文件必須被拷貝到主機hostB上相同位置。這樣RMAN才能夠將這個備份的片段用于還原任務;
- 如果目標的RMAN備份已經保存在磁帶上,則磁帶供應商的軟件和磁帶的運行庫必須對擁有輔助數據庫的服務器可用;
- 如果克隆的數據需要與主數據庫同樣的目錄路徑結構時,應該增加NOCHECKFILENAME選項。這樣可以阻止RMAN檢查還原數據文件的存在,并覆蓋任何已經存在的具有相同名稱的文件。

浙公網安備 33010602011771號