一步一步學DataGuard(25)RMAN備份來建立之實踐
目標:通過rman備份,在同一臺伺服器建立standby,primary資料庫名為jssweb,要建立的standby,db_unique_name命名為jssrman,因為是在同一臺伺服器,所以需要對standby的資料檔案和日誌檔案路徑做下重定義,這裡我們選擇通過初始化引數的形式重定義檔案路徑。
一、 做好準備工作
1、 建立standby例項
需要首先通過ORADIM命令建立一個新的OracleService,非windows環境可以跳過這一步。
E:\ora10g>oradim -new -sid jssrman
例項已建立。
E:\ora10g>set oracle_sid=jssrman
E:\ora10g>sqlplus "/ as sysdba"
.............
順手配置一下監聽,修改tnsname.ora之類,此處不做演示。
2、 建立standby的初始化引數檔案
沒必要完全重建,首先根據primary的spfile生成一個pfile出來,然後比著改改就是了。例如:
在primary資料庫執行,注意是primary資料庫:
SQL> create pfile='E:\ora10g\product\10.2.0\db_1\database\INITjssrman.ora' from spfile;
用任意文字編輯器開啟INITjssrman.ora,注意修改相關的化引數,此例中主要修改下列屬性:
*.audit_file_dest='e:\ora10g\product\10.2.0\admin\jssrman\adump'
*.background_dump_dest='e:\ora10g\product\10.2.0\admin\jssrman\bdump'
*.control_files='E:\ora10g\oradata\jssrman\control01.ctl','E:\ora10g\oradata\jssrman\control02.ctl','E:\ora10g\oradata\jssrman\control03.ctl'
*.core_dump_dest='e:\ora10g\product\10.2.0\admin\jssrman\cdump'
*.DB_FILE_NAME_CONVERT='oradata\jssweb','oradata\jssrman'
*.db_name='jssweb'
*.DB_UNIQUE_NAME='jssrman'
*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(jssweb,jsspdg,jssrman)'
*.LOG_ARCHIVE_DEST_1='LOCATION=E:\ora10g\oradata\jssrman\ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=jssrman'
*.LOG_ARCHIVE_DEST_STATE_1='ENABLE'
*.LOG_FILE_NAME_CONVERT='oradata\jssweb','oradata\jssrman'
*.standby_file_management='AUTO'
*.user_dump_dest='e:\ora10g\product\10.2.0\admin\jssrman\udump'
注意,由於此standby資料庫不考慮切換,因為不再配置fal_*,等相關初始化引數。
然後通過該pfile建立standby的spfile,注意是在standby資料庫執行:
SQL> create spfile from pfile='E:\ora10g\product\10.2.0\db_1\database\initjssrman.ora';
3、 啟動standby到nomount狀態
SQL> startup nomount
ORACLE 例程已經啟動。
Total System Global Area 167772160 bytes
.....................
4、 建立standby的密碼檔案
注意保持密碼與primary資料庫相同,非常重要。
E:\ora10g>orapwd file=e:\ora10g\product\10.2.0\db_1\database\PWDjssrman.ora password=verysafe entries=30
二、 進行建立工作
1、 連線primary和standby
注意連線standby的時候前面指定auxiliary
E:\ora10g>set oracle_sid=jssweb
E:\ora10g> rman target / auxiliary sys/tfad04@jssrman
恢復管理器: Release 10.2.0.3.0 - Production on 星期三 1月 30 13:53:13 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已連線到目標資料庫: JSSWEB (DBID=3408827880, 未開啟)
已連線到輔助資料庫: JSSWEB (未裝載)
2、 建立standby的控制檔案。
我們之前都操作過通過sql命令建立standby的控制檔案,這次換一換,在rman中建立standby的控制檔案。
RMAN> copy current controlfile for standby to 'e:\ora10g\oradata\jssrman\control01.ctl';
啟動 backup 於 29-1月 -08
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=157 devtype=DISK
通道 ORA_DISK_1: 啟動資料檔案副本
複製備用控制檔案
輸出檔名 = E:\ORA10G\ORADATA\JSSRMAN\CONTROL01.CTL 標記 = TAG20080129T150422 recid = 6 時間戳 = 645289463
通道 ORA_DISK_1: 資料檔案複製完畢, 經過時間: 00:00:03
完成 backup 於 29-1月 -08
啟動 Control File and SPFILE Autobackup 於 29-1月 -08
段 handle=D:\BACKUP\C-3408827880-20080129-00 comment=NONE
完成 Control File and SPFILE Autobackup 於 29-1月 -08
3、 生成standby資料庫
由於我們此時的備份集是剛剛的,所以在執行duplicate命令時並不需要指定dorecover子句,而且我們採用了通過db_file_name_convert等初始化引數的方式重定義資料檔案和日誌檔案路徑,因為執行的命令就非常簡單,就這是我們前面說的,不同路徑下建立standby中,最簡單的方式:
RMAN> duplicate target database for standby;
啟動 Duplicate Db 於 30-1月 -08
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=155 devtype=DISK
記憶體指令碼的內容:
{
restore clone standby controlfile;
sql clone 'alter database mount standby database';
}
正在執行記憶體指令碼
啟動 restore 於 30-1月 -08
使用通道 ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: 正在復原控制檔案
通道 ORA_AUX_DISK_1: 已複製控制檔案副本
輸出檔名=E:\ORA10G\ORADATA\JSSRMAN\CONTROL01.CTL
輸出檔名=E:\ORA10G\ORADATA\JSSRMAN\CONTROL01.CTL
輸出檔名=E:\ORA10G\ORADATA\JSSRMAN\CONTROL02.CTL
輸出檔名=E:\ORA10G\ORADATA\JSSRMAN\CONTROL03.CTL
完成 restore 於 30-1月 -08
sql 語句: alter database mount standby database
釋放的通道: ORA_AUX_DISK_1
記憶體指令碼的內容:
{
set newname for tempfile 1 to
"E:\ORA10G\ORADATA\JSSRMAN\TEMP01.DBF";
switch clone tempfile all;
set newname for datafile 1 to
"E:\ORA10G\ORADATA\JSSRMAN\SYSTEM01.DBF";
set newname for datafile 2 to
"E:\ORA10G\ORADATA\JSSRMAN\UNDOTBS01.DBF";
set newname for datafile 3 to
"E:\ORA10G\ORADATA\JSSRMAN\SYSAUX01.DBF";
set newname for datafile 4 to
"E:\ORA10G\ORADATA\JSSRMAN\USERS01.DBF";
set newname for datafile 5 to
"E:\ORA10G\ORADATA\JSSRMAN\TBSWEB01.DBF";
restore
check readonly
clone database
;
}
正在執行記憶體指令碼
正在執行命令: SET NEWNAME
臨時檔案 1 在控制檔案中已重新命名為 E:\ORA10G\ORADATA\JSSRMAN\TEMP01.DBF
正在執行命令: SET NEWNAME
正在執行命令: SET NEWNAME
正在執行命令: SET NEWNAME
正在執行命令: SET NEWNAME
正在執行命令: SET NEWNAME
啟動 restore 於 30-1月 -08
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: sid=155 devtype=DISK
通道 ORA_AUX_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_AUX_DISK_1: 正在指定從備份集恢復的資料檔案
正將資料檔案00001恢復到E:\ORA10G\ORADATA\JSSRMAN\SYSTEM01.DBF
正將資料檔案00002恢復到E:\ORA10G\ORADATA\JSSRMAN\UNDOTBS01.DBF
正將資料檔案00003恢復到E:\ORA10G\ORADATA\JSSRMAN\SYSAUX01.DBF
正將資料檔案00004恢復到E:\ORA10G\ORADATA\JSSRMAN\USERS01.DBF
正將資料檔案00005恢復到E:\ORA10G\ORADATA\JSSRMAN\TBSWEB01.DBF
通道 ORA_AUX_DISK_1: 正在讀取備份段 D:\BACKUP\04J6V1SJ_1_1
通道 ORA_AUX_DISK_1: 已恢復備份段 1
段控制程式碼 = D:\BACKUP\04J6V1SJ_1_1 標記 = TAG20080124T111011
通道 ORA_AUX_DISK_1: 恢復完成, 用時: 00:00:57
完成 restore 於 30-1月 -08
記憶體指令碼的內容:
{
switch clone datafile all;
}
正在執行記憶體指令碼
資料檔案 1 已轉換成資料檔案副本
輸入資料檔案副本 recid=11 stamp=645372185 檔名=E:\ORA10G\ORADATA\JSSRMAN\SYSTEM01.DBF
資料檔案 2 已轉換成資料檔案副本
輸入資料檔案副本 recid=12 stamp=645372185 檔名=E:\ORA10G\ORADATA\JSSRMAN\UNDOTBS01.DBF
資料檔案 3 已轉換成資料檔案副本
輸入資料檔案副本 recid=13 stamp=645372186 檔名=E:\ORA10G\ORADATA\JSSRMAN\SYSAUX01.DBF
資料檔案 4 已轉換成資料檔案副本
輸入資料檔案副本 recid=14 stamp=645372186 檔名=E:\ORA10G\ORADATA\JSSRMAN\USERS01.DBF
資料檔案 5 已轉換成資料檔案副本
輸入資料檔案副本 recid=15 stamp=645372186 檔名=E:\ORA10G\ORADATA\JSSRMAN\TBSWEB01.DBF
完成 Duplicate Db 於 30-1月 -08
4、 重建standby臨時表空間資料檔案
提示:本步非必須,如果該standby不會切換為primary並且也不會有查詢需求,就不必建立!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7607759/viewspace-232248/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 一步一步學DataGuard(26)RMAN備份來建立之實踐2
- 一步一步學RMAN第六篇 實戰RMAN備份
- 來自《三思筆記:一步一步學RMAN06-實戰rman備份》,用rman進行每天自動備份!筆記
- 一步一步學DataGuard(5)物理standby之建立示例
- 一步一步學DataGuard(13)邏輯standby之建立示例
- 一步一步學RMAN第四篇 RMAN備份演練進階篇
- 一步一步學DataGuard(14)邏輯standby之switchover
- 一步一步學DataGuard(15)邏輯standby之failoverAI
- 一步一步學RMAN第11篇 rman筆記之綜述筆記
- 一步一步學Streams(11) 第二部分 實踐之建立全庫複製(1)準備工作
- 一步一步學DataGuard(2)基礎之術語再瞭解大概
- 一步一步學DataGuard(22)Standby之選擇資料保護模式模式
- 一步一步學Streams(12) 第二部分 實踐之建立全庫複製(2)執行建立
- 【DG】[三思筆記]一步一步學DataGuard筆記
- 一步一步學RMAN第二篇 RMAN命令知多少
- RMAN DUPLICATE建立DataGuard物理備庫
- [三思筆記]一步一步學DataGuard.zip筆記
- 一步一步學Streams(13) 第二部分 實踐之建立全庫複製(3)測試
- dataguard回顧之安裝———使用rman建立物理備庫
- 一步一步學Streams(10) 第二部分 實踐之準備工作(2)初始化環境
- 建立RMAN catalog實現物理備份
- 【轉】 RMAN備份與恢復實踐
- 一步一步學RMAN第五篇 RMAN基礎知識補充 一
- 使用RMAN DUPLICATE...FROM ACTIVE DATABASE命令來建立DataGuard物理備庫Database
- 用rman建立dataguard備用資料庫繼續(無法找到備份檔案)資料庫
- 一步一步學RMAN第七篇 RMAN基礎知識補充 二
- 一步一步學RMAN第九篇 實戰rman恢復(1)丟失控制檔案的恢復
- RMAN學習筆記_ Duplicate建立DataGuard筆記
- oracle之rman備份Oracle
- RMAN備份、恢復實驗室 之 備份篇 【rman: can't open target】
- oracle利用scn增量備份來實現同步dataguardOracle
- 一步一步學Streams(14) 第二部分 實踐之移除Streams複製環境
- rman備份學習
- RMAN說,我能備份(14)--實戰RMAN備份
- 【RMAN】Oracle12c之後,rman備份Dataguard備端恢復可能出現邏輯錯誤Oracle
- 使用RMAN備份集搭建Oracle Dataguard Step by Step(一)Oracle
- 使用RMAN備份集搭建Oracle Dataguard Step by Step(二)Oracle
- RMAN備份與恢復之加密備份加密