RMAN高階應用之Duplicate複製資料庫(2)輔助例項
使用rman的duplicate命令複製資料庫系列,本系列可以視為一步一步學RMAN的姊妹篇~~~~
輔助例項是建立副本資料庫的重要一步,一般而言會有下列幾個步驟,有些你已經聽說了,有些,你還從未聽過。。。。。。。:
一、建立輔助例項的密碼檔案(Create an Oracle Password File for the Auxiliary Instance)
Oracle提供了一個建立密碼檔案的命令:ORAPWD。該命令有兩種呼叫方式,帶參呼叫和不帶參呼叫。
不帶參呼叫時,會返回該命令的呼叫方式和引數形式。
F:oracle>orapwd
Usage: orapwd file=
where
file - name of password file (mand),
password - password for SYS (mand),
entries - maximum number of distinct DBA and force - whether to overwrite existing file (opt),OPERs (opt),
There are no spaces around the equal-to (=) character.
File表示檔名稱和路徑,password表示sys使用者密碼,entries指定擁有sys許可權的使用者最大數,force表示如果檔案存在是否覆蓋。File和password為必填參。
該命令使用非常簡單,不詳述了,舉示例如下:
F:oracle>orapwd file=F:oracleproduct10.2.0db_1databasePWDjssdup.ora password=verysafe:) entries=30
二、連線到例項(Establish Oracle Net Connectivity to the Auxiliary Instance)
注意,如果是windows環境,需要首先通過ORADIM命令建立一個新的OracleService,linux環境可以跳過這一步,我是說,跳過oradim這步。本小節其它操作還是要做的。
F:oracle>oradim -new -sid jssdup
例項已建立。
F:oracle>set oracle_sid=jssdup
F:oracle>sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 10月 18 17:26:03 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已連線到空閒例程。
然後就是配置監聽啦,修改tnsname.ora之類,總之就是你要能夠連線到這個輔助例項上來才算了事。
三、建立輔助例項的初始化引數檔案(Create an Initialization Parameter File for the Auxiliary Instance)
由於是手工建庫,相應目錄也需要自己手工建立:
F:oracle>md product10.2.0adminjssdup
F:oracle>cd product10.2.0adminjssdup
F:oracleproduct10.2.0adminjssdup>md adump bdump cdump dpdump pfile udump
1.首先建立本地初始化引數檔案,比著原庫的pfile改改就是,內容不需要太多,DB_NAME,CONTROL_FILES兩項引數為必須項。本例中副本資料庫與主庫在同一臺機器,所以需要注意DB_NAME不能相同。同時還有一些其它引數,反正你就看著改吧,覺著必須的話就用上。
注意:輔助例項的BLOCK SIZE必須與目標庫相同。如果目標庫的引數檔案包括DB_BLOCK_SIZE的引數,你必須指定輔助例項中該引數的值與目標庫相同。如果目標庫的引數檔案中未指定該引數,則輔助例項的引數檔案中也不必指定。
如果是複製到一個新系統或新站點的話,還需要注意各項初始化引數中的路徑,必須確認該路徑對於你的複製是有效的。
下面是三思操作時的示例,為了省事引數設定非常簡單。實際上還可以更簡單,比如只保留前6項。當然最簡單的就是隻保留前3項。呵呵,這就得你自己根據實際情況定了,但是需要注意第3項,雖然官方檔案中並沒有宣告shared_pool_size為必須項,但如果該項不指定或者指定了較小值,在執行RMAN時都極可能報錯,建議此處設定的值不要太小,我這裡設定接近200M。
db_name='jssdup'
control_files='F:oracleoradatajssdupcontrol01.ctl','F:oracleoradatajssdupcontrol02.ctl','F:oracleoradatajssdupcontrol03.ctl'
shared_pool_size=200000000
db_block_size=8192
db_file_name_convert=('F:oracleoradatajssweb','F:oracleoradatajssdup')
log_file_name_convert=('F:oracleoradatajssweb','F:oracleoradatajssdup')
audit_file_dest='F:oracleproduct10.2.0adminjssdupadump'
background_dump_dest='F:oracleproduct10.2.0adminjssdupbdump'
compatible='10.2.0.1.0'
core_dump_dest='F:oracleproduct10.2.0adminjssdupcdump'
user_dump_dest='F:oracleproduct10.2.0adminjssdupudump'
2.通過CREATE SPFILE命令建立伺服器端初始化引數檔案
SQL> create spfile from pfile='F:oracleproduct10.2.0adminjssduppfileinit.ora';
檔案已建立。
這一步也並非完全必須,如果你願意在執行duplicate命令時指定pfile引數的話呢,也可以不用建立spfile。一般情況下,除非腦袋被門擠了,沒人願意採用麻煩的方式專門自己給自己找不痛快吧。更何況spfile是做為oracle9i以來的一項進步而存在,其優勢就不用多提了吧:)
四、啟動輔助例項(Start the Auxiliary Instance)
接著上一步,建立完spfile之後:
SQL> startup force nomount;
ORACLE 例程已經啟動。
Total System Global Area 117440512 bytes
Fixed Size 1247588 bytes
Variable Size 58721948 bytes
Database Buffers 50331648 bytes
Redo Buffers 7139328 bytes
SQL>
重啟例項以載入伺服器端初始化引數檔案。
由於尚無控制檔案,你也只能將其啟動到nomount模式。Oracle說,千萬不要嘗試去建立控制檔案,或者載入到mount或open狀態。
RMAN重啟輔助例項是複製操作的一部分。因此,預設情況下建立伺服器端的初始化引數檔案是最佳選擇。哎,又回老話題上了。如果沒能建立伺服器端初始化引數檔案的話,你就必須指定客戶端初始化引數檔案做為duplicate的引數。
五、Mount或open目標資料庫(Mount or Open the Target Database)
注意喲,這步連線的是目標庫。如果目標庫尚未處於mount或open狀態的話,將其載入到mount或open狀態。
F:oracle>set oracle_sid=jssweb
F:oracle>sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 10月 19 13:11:22 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已連線到空閒例程。
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 113246208 bytes
Fixed Size 1247564 bytes
Variable Size 83887796 bytes
Database Buffers 20971520 bytes
Redo Buffers 7139328 bytes
資料庫裝載完畢。
資料庫已經開啟。
SQL>
六、確認擁有必備的備份(Make Sure You Have the Necessary Backups and Archived Redo Logs)
檢查備份,沒備份就沒法恢復,而恢復又是duplicate的主要工作。So...........What are you waiting for? Just CheckCheckCheck!!!
七、分配輔助通道(Allocate Auxiliary Channels if Automatic Channels Are Not Configured)
首先執行rman連線到目標資料庫和輔助例項(如果有catalog的話,可以同時指定catalog)。如果輔助例項是通過客戶端初始化引數檔案啟動的話,該檔案在執行rman的客戶端也必須存在。
F:oracle>set oracle_sid=jssweb
###目標資料庫使用作業系統認證,所以首先設定SID
F:oracle>rman target / auxiliary sys/verysafe:)@jssdup
恢復管理器: Release 10.2.0.1.0 - Production on 星期五 10月 19 15:03:10 2007
Copyright (c) 1982, 2005, Oracle. All rights reserved.
連線到目標資料庫: JSSWEB (DBID=3402005373)
已連線到輔助資料庫: JSSDUP (未裝載)
RMAN>
輔助例項的事兒基本上就完了,最後一步是分配通道。如果你沒有設定自動分配通道的話,那麼在執行duplicate命令之前,至少要手工指定一個通道。通道是在RMAN的RUN塊中指定,如下例:
RUN
{
# 手工分配通道型別為sbt:
ALLOCATE AUXILIARY CHANNEL ch1 DEVICE TYPE sbt;
# 手工分配通道型別為disk
# 通道名為自定義
ALLOCATE AUXILIARY CHANNEL aux1 DEVICE TYPE DISK;
ALLOCATE AUXILIARY CHANNEL aux2 DEVICE TYPE DISK;
ALLOCATE AUXILIARY CHANNEL aux3 DEVICE TYPE DISK;
.
.
.
DUPLICATE TARGET DATABASE TO jssdup;
}
如果備份檔案儲存在磁碟上,分配的通道越多則速度越快,如果備份檔案在磁帶上,最少指定裝置數量個通道。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-22300/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用RMAN高階應用之Duplicate複製資料庫資料庫
- RMAN高階應用之Duplicate複製資料庫(3)複製流程資料庫
- RMAN高階應用之Duplicate複製資料庫(1)概述資料庫
- RMAN高階應用之Duplicate複製資料庫(4)實戰資料庫
- RMAN高階應用之Duplicate複製資料庫(5)補充資料庫
- duplicate複製資料庫(rac-單例項)資料庫單例
- 【RMAN】使用duplicate本地複製資料庫資料庫
- duplicate rman複製資料庫技術資料庫
- 【RMAN】使用RMAN duplicate複製同機資料庫資料庫
- Oracle 11gR2 使用RMAN Duplicate複製資料庫Oracle資料庫
- Oracle11gR2使用RMAN duplicate複製資料庫Oracle資料庫
- RMAN duplicate from active database 複製資料庫Database資料庫
- Rman duplicate資料庫複製(單系統)資料庫
- 使用rman的命令duplicate複製資料庫資料庫
- Oracle 11gR2 使用 RMAN duplicate from active database 複製資料庫OracleDatabase資料庫
- 【RMAN】使用RMAN duplicate複製同機資料庫遇到的問題資料庫
- RMAN實戰系列之一:用duplicate複製資料庫資料庫
- DG rman duplicate 複製庫錯誤
- Oracle 10g高階複製例項Oracle 10g
- Oracle 之 Duplicate 複製資料庫Oracle資料庫
- DUPLICATE遠端複製資料庫資料庫
- 實戰10g新特性之rman duplicate複製資料庫資料庫
- SqlServer同例項複製資料庫方法SQLServer資料庫
- duplicate複製資料庫(rac-rac)資料庫
- RMAN複製資料庫(十)資料庫
- RMAN複製資料庫(九)資料庫
- RMAN複製資料庫(八)資料庫
- RMAN複製資料庫(七)資料庫
- RMAN複製資料庫(六)資料庫
- RMAN複製資料庫(五)資料庫
- RMAN複製資料庫(四)資料庫
- RMAN複製資料庫(三)資料庫
- RMAN複製資料庫(二)資料庫
- RMAN複製資料庫(一)資料庫
- 使用RMAN複製資料庫資料庫
- oracle rman複製資料庫Oracle資料庫
- Oracle備份與恢復系列(四)續 RMAN Duplicate複製資料庫Oracle資料庫
- 續上_在同一節點上利用rman duplicate複製資料庫資料庫