rman 建 Standby Database 筆記
此次測試仍然使用兩臺伺服器不同的目錄結構來做。
TRGT 10-10-10-72 orcl
STANDBY 10-10-10-73 standby1 需要先把原來手工建立的備庫給刪除掉
CATDB 10-10-10-72 millet
在millet庫上新增rman使用者,並在主庫和備庫上同時新增catdb服務名連線millet資料庫,
$ rman target sys/oracle@orcl catalog rman/cat@catdb
並對72.orcl做一個備份,備份集也放在/ww/目錄下
RMAN> run {
2> backup incremental
3> level=0
4> format '/ww/full_%d_%p_%t_%s'
5> tag '72orcl_full'
6> database plus archivelog;
7> }
[@more@]目標庫上的資料檔案目錄 /opt/oracle/oradata/orcl/
備庫上的資料檔案目錄 /opt/oracle/oradata/standby1/
備庫上control_files位置
/opt/oracle/oradata/standby1/control01.ctl,
/opt/oracle/oradata/standby1/control02.ctl,
/opt/oracle/oradata/standby1/control03.ctl
不能使用RMAN來完成的內容
1 設定主庫的初始化引數
2 建立備庫初始化引數,並修改個別引數
3 配置主備庫通訊的TNSNAMES
4 啟動備庫不載入控制檔案
回憶原來的手工建立備庫的過程
1 確認主庫上的tnsnames,可以連通備庫 名稱standby1
備庫也可以連通主庫 名稱 orcl
2 確認主庫上的force logging 已啟用YES;確認在歸檔模式下,確認歸檔啟動
SQL> select force_logging from v$database;
3 確認主庫上的資料檔案(為COPY 資料檔案準備)
select file#,name from v$database;
4 使用作業系統的CP複製資料檔案到主庫的一個臨時目錄;
5 從主庫建立備庫用的控制檔案,必須在備份資料檔案之後
SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS
2> '/opt/oracle/oradata/standby1.ctl';
6 從主庫建立備庫用的初始化引數檔案
SQL> CREATE PFILE='/opt/oracle/oradata/initstandby1.ora' from spfile;
7 將4-5-6三步準備的檔案複製到備庫伺服器上
8 設定備庫上的引數檔案,要修改的地方包括以下內容
db_name='orcl'
control_files='/opt/oracle/oradata/standby1/control01.ctl','/opt/oracle/oradata/st
andby1/control02.ctl','/opt/oracle/oradata/standby1/control03.ctl'
standby_archive_dest='/ww/arch1'
db_file_name_convert='/opt/oracle/oradata/orcl/','/opt/oracle/oradata/standby1/'
log_file_name_convert='/opt/oracle/oradata/orcl/','/opt/oracle/oradata/standby1/'
remote_archive_enable='true'
log_archive_dest_1='LOCATION=/ww/arch2'
standby_file_management='auto'
instance_name='standby1'
9 如果是WINDOWS環境,需要新增windows service
oradim -new -sid standby1 -startmode manual
10 在主庫和備庫修改listener.ora 新增SID list 靜態註冊
11 設定備庫上的sqlnet.ora檔案,啟用斷連線檢測,新增
$ more $ORACLE_HOME/network/admin/sqlnet.ora
sqlnet.expire_time=2
12 建立服務名,在主庫和備庫上都要同樣新增兩個連線名 orcl standby1
13 在備庫上建立SPFILE from pfile
14 啟動備庫到nomount,然後mount standby database
sql> startup nomount;
sql> alter database mount standby database;
15 在備庫上初始化日誌應用服務
sql> alter database recover managed standby database disconnect from session;
16 在主庫啟用歸檔到備庫上(前提條件是在引數檔案中設定了dest_2='service=...')
sql> alter system archive log current;
中間遇到不少問題,比如控制檔案中的最大日誌數、主機不能歸檔到備機上(服務不通)、備機上能收日誌但不能APP,也是因為最大日誌數的限定;具體參見《9iDG學習筆記.doc》
-----------------------------------------------------------------------------------------------------------------
這裡使用RMAN,因此從建立控制檔案開始
確認主庫上的初始化引數
*.db_name='orcl'
*.instance_name='orcl'
*.log_archive_dest_1='LOCATION=/ww/arch'
*.log_archive_dest_2='service=standby1'
確認備庫上的初始化引數檔案
*.db_name='orcl'
*.instance_name='standby1'
*.db_file_name_convert='/opt/oracle/oradata/orcl/','/opt/oracle/oradata/standby1/'
*.log_file_name_convert='/opt/oracle/oradata/orcl/','/opt/oracle/oradata/standby1/'
*.remote_archive_enable='true'
*.log_archive_dest_1='LOCATION=/ww/arch2'
*.standby_archive_dest='/ww/arch1'
*.standby_file_management='auto'
*.star_transformation_enabled='FALSE'
0 刪除原有的資料檔案和控制檔案
1 使用rman備份主庫的控制檔案給備庫用(有三種備份方法)
方法1 backup
backup current controlfile for standby;
sql 'alter system archive log current'; # so backup is consistent and recoverable
backup archivelog all not backed up 1 times;
或者
backup database
include current controlfile for standby
plus archivelog;
如果不帶plus archivelog,那麼備份完後要做一個當前日誌的歸檔
sql 'alter system archive log current';
此處忘記做導致duplicate 時出現 RMAN-05507 錯誤
方法2 copy
copy current controlfile for standby to '/tmp/sby_control01.ctl';
方法3 將已備份的控制檔案catalog ,如:
sql> alter database create standby controlfile as '/tmp/sby_control01.ctl';
% rman target sys/oracle@trgt catalog rman/cat@catdb
catalog controlfilecopy '/tmp/sby_control01.ctl';
這裡我使用第三種方法,過程如下:
$ sqlplus system/oracle@orcl
alter database create standby controlfile as '/ww/standby1.ctl'
$ rman target sys/oracle@orcl catalog rman/cat@catdb
catalog controlfilecopy '/ww/standby1.ctl' ;
2 對備庫上的控制檔案做一個映象
RMAN> copy controlfilecopy '/ww/standby1.ctl' to '/ww/standby2.ctl';
3 使用RMAN時,重新命名資料檔案
因為資料檔案結構相同,所以使用了初始化引數DB_FILE_NAME_CONVERT
,不需要顯式地進行重新命名。
因為主庫上的資料檔案與備庫上的資料檔名稱相同,所以在duplicate時,要加上NOFILENAMECHECK
option
附db_file_name_convert引數的使用說明
DB_FILE_NAME_CONVERT = ('oldstring1', 'newstring1', 'oldstring2', 'newstring2', ...)
For example,
DB_FILE_NAME_CONVERT = ('/dbs/t1/', '/dbs/t1/s_', '/dbs/t2/', '/dbs/t2/s_')
4 使用RMAN時,重新命名線上日誌檔案
此處也使用LOG_FILE_NAME_CONVERT
引數
5 使用rman進行資料檔案的複製,備庫的建立(兩種方式 帶恢復和不帶恢復)
5.1start the standby instance
SQL> conn sys/change_on_install@standby1 as sysdba
Connected to an idle instance.
SQL> startup nomount
檢查主庫與CATDB,是否啟動,沒有啟動,啟之
在主機和備機都要能連通standby1服務
/ww/standby2.ctl 檔案要FTP到73庫上
使用 rman 登入備庫
% rman TARGET / AUXILIARY SYS/sys_pwd@sbdb1
rman target sys/oracle@orcl auxiliary sys/change_on_install@standby1
run {
duplicate target database for standby
nofilenamecheck
dorecover;
}
遭遇RMAN-05507 錯誤
原因是備份控制檔案後沒有歸檔當前日誌
解決方法,去TRGT 庫archive log current;
然後成功。
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
主庫上切日誌,到備庫上檢查結果
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
Database altered.
SQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG
2 ORDER BY SEQUENCE#;
SEQUENCE# APP
---------- ---
39 YES
40 YES
41 YES
OK 一切順利!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/271063/viewspace-1016395/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Rman backup standby databaseDatabase
- 使用rman建立standby database的過程Database
- Using RMAN Incremental Backups to Refresh a Standby DatabaseREMDatabase
- 11g rman新特性 duplicate target database for standby from active databaseDatabase
- 同事總結的 : 用RMAN建立Physical Standby DatabaseDatabase
- Using RMAN Incremental Backups to Roll Forward a Physical Standby DatabaseREMForwardDatabase
- standby databaseDatabase
- Convert a Physical Standby Database into a Snapshot Standby DatabaseDatabase
- 透過RMAN備份standby database成功恢復還原Database
- Creating a Physical Standby using RMAN DUPLICATE FROM ACTIVE DATABASEDatabase
- 11g RMAN新特性 active database duplication createing standbyDatabase
- standby database to primary database.Database
- Physical Standby Database 切換到 Snapshot Standby DatabaseDatabase
- Standby Database ---09Database
- Step By Step Guide To Create Physical Standby Database Using RMAN [ID 469493.1]GUIIDEDatabase
- RMAN筆記筆記
- Create RAC Standby Database for RAC Primary DatabaseDatabase
- standby database No RFS 程式Database
- Standby Database for reportDatabase
- Creating a Standby Database using RMAN (Recovery Manager) [ID 118409.1]Database
- rman 建立ftp standbyFTP
- Secrets of the Oracle Database筆記OracleDatabase筆記
- Duplicating a Database 筆記Database筆記
- Standby Database的工作原理Database
- 建立 Logical Standby DatabaseDatabase
- manage logical standby databaseDatabase
- How a Standby Database Is Mounted (295)Database
- RMAN duplicat databaseDatabase
- rman recover databaseDatabase
- RMAN duplicate databaseDatabase
- oracle實驗記錄Rman duplicate database(1)OracleDatabase
- oracle實驗記錄Rman duplicate database 2OracleDatabase
- rman備份筆記筆記
- RMAN筆記——綜合概述筆記
- 利用rman快速搭建standby
- 使用oracle 11g rman新特性 duplicate target database for standby from active database 建立物理dataguard並開啟RealOracleDatabase
- oracle 10g rman duplicate target database for standby會自動新增臨時檔案Oracle 10gDatabase
- Setup Standby Database on One PC(轉)Database