全部的數據庫,無論是物理的仍是邏輯的,都必須首先被建立爲物理備用數據庫。用來建立備用數據庫的工具備:RMAN,數據衛士代理,Oracle 網格控制。必須在主服務器和備用服務器上都進行操做。然而,不管你打算建立多少個備用服務器,在主數據庫上的步驟只須要執行一次。Oracle 11g RMAN 提供了一個簡單的命令用來建立備用數據庫並同時備份該數據庫。建立物理備用服務器一步一步跟我學,在主服務器上完成如下步驟: git
select FORCE_LOGGING from v$database; it培訓機構 數據庫
alter database force logging; 服務器
強制全部修改都會記錄日誌,即使某些可能設置爲不記錄日誌的對象也會被記錄日誌。 網絡
配置重作傳輸認證;使用遠程登陸口令文件。 app
添加備用服務器日誌文件給主服務器。爲使應用到主服務器的重作日誌能夠應用到備用服務器,備用服務器上的日誌須要與主服務器的日誌同樣大,或者比主服務器日誌更大。 工具
alter database add standby logfile '/u...' size 50M; spa
設置主服務器上的初始化參數: 代理
DB_NAME = 日誌
DB_UNIQUE_NAME (即使備用服務器變成了主服務器,該參數也不會改變。) server
CONTROL_FILES ## 控制文件。
LOG_ARCHIVE_CONFIG='dg_config=(DG01,DG02)'
LOG_ARCHIVE_DEST_1='LOCATION=/u01/oraarch/DG01' ## 本地歸檔目錄。
LOG_ARCHIVE_DEST_2='service=DG01 ASYNC
VALID_FOR=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=DG01' ## 設置傳輸類型,用於物理備用服務器。
REMOTE_LOGIN_PASSWORDFILE = Exclusive
LOG_ARCHIVE_DEST_STATE_n
把主服務器設置爲歸檔日誌模式。
備用數據庫的網絡配置須要在主服務器和備用服務器上都進行配置。在兩臺服務器上使用 Oracle 網絡管理器有助於完成該配置。(相關內容在第三章論述了)。在配置服務名時,對備用服務器使用「unique_db」名稱。在兩臺服務器上都設置完監聽和服務之後,驗證一下複製過來的口令文件和 adump,bdump,閃回等等的目錄是否已經被建立。
經過網絡建立備用數據庫,以 NOMOUNT 模式啓動備用數據庫。
在主服務器上,執行 RMAN 命令並以 sysdba 權限鏈接:
RMAN> connect auxiliary sys/password@DG02
RMAN> run {
allocate channel disk1 type disk;
allocate auxiliary channel stby type disk;
duplicate target database for standby from active database
spfile
parameter_value_convert 'DG01','DG02'
set db_unique_name='DG02'
set db_file_name_convert='/dg01/','/dg02/'
set log_file_name_convert='/dg01/','/dg02/'
set control_files='/u01/app/oradata/controlfiles/dg02.ctl'
set log_archive_max_processes='5'
set fal_client='dg02' ## FAL(提取歸檔日誌)客戶端,若是角色被切換的話會被使用。
set fal_server='dg01'
set standby_file_management='AUTO'
set log_archive_config='dg_config=(dg01,dg02)'
set log_archive_dest_1='service=dg01 ASYNC
valid_for=(ONLINE_LOGFILE,PRIMARY_ROLE) db_unique_name=DG01' ;}
進入主服務器並切換日誌文件:
在備用服務器上啓動恢復進程:
SQLPLUS> alter database recover managed standby database using current logfile disconnect;
主服務器和備用服務器已經建立好了,如今應該進行驗證。