通過RMAN 異機複製資料庫
使用RMAN進行複製時,RMAN會串連目標資料庫和輔助執行個體,如果使用了catalog備份的還會串連恢複目錄。RMAN串連了目標資料庫才能夠訪問其控制檔案中記錄的備份的詳細資料,串連輔助執行個體才能夠在輔助執行個體上分配一個或多個通道進程,9i開始會自動建立通道; 要串連輔助執行個體就先要啟動輔助執行個體,就需要一個pfile參數檔案,由目標資料庫creata pfile from spfile得來,由於沒有控制檔案,所以只能啟動到nomount階段,RMAN會產生到這個輔助執行個體的sysdba串連。
串連了目標庫和輔助執行個體後,就可以使用duplicate命令,複製資料庫,複製過程一般分為以下階段:1,rman確定備份的狀態和位置2,rman在輔助執行個體上分配輔助通道,3,在輔助執行個體上還原資料檔案,4,構建新的控制檔案 5,rman還原歸檔日誌,並進行恢複 6,rman重設輔助庫的DBID(唯一標識一個資料庫),並以open resetlogs開啟資料庫。
--------------------------------------推薦閱讀 --------------------------------------
RMAN 配置歸檔日誌刪除策略
Oracle基礎教程之通過RMAN複製資料庫
RMAN備份策略制定參考內容
RMAN備份學習筆記
OracleDatabase Backup加密 RMAN加密
--------------------------------------分割線 --------------------------------------
平台準備:
Oracle Linux + Oracle 11G
目標庫:
ORACLE_HOME=/uoracle/app
ORACLE_BASE=/orabase
ORACLE_SID= orcl
IP : 192.168.0.45
輔助庫:
ORACLE_HOME=/uoracle/app
ORACLE_BASE=/orabase
ORACLE_SID=orcl
IP : 192.168.0.46
操作步驟(異機和同機複製,步驟基本一樣):
1:運行輔助執行個體的伺服器需要先安裝好相應的oracle用戶端,且ORACLE_BASE 和ORACLE_HOME目錄和目標庫相同;
2:構建次要資料庫目錄結構;
3:建立參數檔案,複製過來,並進行相應修改;
4:建立輔助執行個體口令檔案,orapwd
5:配置監聽及tnsname檔案
6:目標庫進行備份,並拷貝到輔助執行個體服務其上,或同NFS掛載過去;
7:使用pfile啟動輔助執行個體到nomount,並退出會話;
8:duplicate命令複製資料庫;
9: 建立spfile
具體實現:
1:安裝用戶端
2:構建次要資料庫目錄結構(根據參數檔案中涉及到的目錄來構建輔助庫的目錄結構)
[oracle@orclA ~]$ echo $ORACLE_BASE
/orabase
[oracle@orclA ~]$ cd /orabase
[oracle@orclA orabase]$ mkdir ./oradata/orcl -p
[oracle@orclA orabase]$mkdir ./fast_recovery_area/orcl -p # 重新構建控制檔案,存放控制檔案
[oracle@orclA orabase]$ pwd
/orabase
[oracle@orclA orabase]$ mkdir ./admin/orcl -p
[oracle@orclA orabase]$ cd ./admin/orcl/
[oracle@orclA orcl]$ mkdir {a,b,c,d,u}dump
[oracle@orclA orcl]$ mkdir pfile
3:建立參數檔案,複製過來,並進行相應修改
3.1: 目標庫上建立pfile,並拷貝到輔助庫上 ?/dbs 目錄下(必須是$ORACLE_HOME/dbs 目錄下,否則識別不到)
SQL> create pfile='/tmp/initorcl.ora' from spfile;
SQL> scp /tmp/initorcl.ora 192.168.0.46:/oracle/home/dbs
3.2: 對參數檔案進行相應修改
由於這裡是進行異機複製,目錄結構及執行個體名都一樣,所以沒有進行修改
3.3: 使用pfile啟動資料庫到nomount 狀態,進行測試,並建立spfile
SQL> startup pfile='/uoracle/app/dbs/initorcl.ora'>ORACLE instance started.
Total System Global Area 1.0055E+10 bytes
Fixed Size 2237008 bytes
Variable Size 3154120112 bytes
Database Buffers 6878658560 bytes
Redo Buffers 19767296 bytes
Database mounted.
Database opened.
SQL> create spfile from pfile;
File created.
4:為輔助執行個體建立口令檔案,密碼與源庫一致
[oracle@orclA bin]$ pwd
/uoracle/app/bin
[oracle@orclA bin]$ orapwd file=$ORACLE_HOME/dbs/orapworcl password=admin123;
[oracle@orclA bin]$
[oracle@orclA bin]$ ls /uoracle/app/dbs/orapworcl
/uoracle/app/dbs/orapworcl
5:配置監聽及tnsname檔案
源庫上:
[root@bzdb ~]# cat /uoracle/app/network/admin/listener.ora
# listener.ora Network Configuration File: /uoracle/app/network/admin/listener.ora
# Generated by Oracle configuration tools.
orcl =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.45)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /orabase
[root@bzdb ~]# cat /uoracle/app/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /uoracle/app/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.0.45)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
AUXORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.46)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
更多詳情見請繼續閱讀下一頁的精彩內容: