Oracle 11g R2 ADG 搭建

來源:互聯網
上載者:User

標籤:ast   遠程歸檔路徑   manual   control   查看   start   mod   tcp   mes   

--============Oracle ADG搭建==============


--==========準備階段=========

1.檢查primary為archivelog模式。
select log_mode from v$database;

如果為noarchivelog模式,切換到archivelog模式。
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;

執行forced logging:
alter database force logging;


2.服務配置。

primay和standby根據tnsname來在DG中解析成員,在伺服器中都要配置"$ORACLE_HOME/network/admin/tnsnames.ora"。
可以使用netca或者手工建立。
SICILY =
   (DESCRIPTION =
     (ADDRESS_LIST =
       (ADDRESS = (PROTOCOL = TCP)(HOST = 10.198.195.163)(PORT = 1521))
     )
     (CONNECT_DATA =
       (SERVICE_NAME = sicily)
     )
   )

SICILYBAK =
   (DESCRIPTION =
     (ADDRESS_LIST =
       (ADDRESS = (PROTOCOL = TCP)(HOST = 10.198.195.164)(PORT = 1521))
     )
     (CONNECT_DATA =
       (SERVICE_NAME = sicilybak)
     )
   )


3.記錄primary和standby的db_name和db_unique_name。
show parameter db_name
show parameter db_unique_name

角色 db_name  db_unique_name
primary sicily sicily
standby sicily sicilybak

standby和primary的db_name相同,但是db_unique_name不同。

primary和standby的db_unique_name被用在配置log_archive_config的dg_config參數。

在primary和standby上執行,參數值為primary和所有standby成員的db_unique_name。
alter system set log_archive_config='dg_config=(sicily,sicilybak)';


4.設定遠程歸檔路徑。

預設的local location歸檔路徑在fast recovery area,應該將閃回區的大小設定得足夠大。(建議不用)
一般,修改log_archive_dest_1

    1) 查看歸檔檔案路徑位置
     show parameter log_archive_dest_1
     2) 關閉資料庫
     alter database chenkpoint;
     shutdown immediate
     3) 掛載資料庫
     start mount
     4) 修改歸檔路徑
     alter system set log_archive_dest_1='LOCATION=/oracle/archive';
     5) 啟動資料庫
     alter database open;
     6) 查看是否生效
     select archiver from v$instance;
     alter system switch logfile;
     ls /oracle/archive

注意,遠程歸檔路徑中與standby相關的service和db_unique_name。

ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=sicilybak NOAFFIRM ASYNC compression=enable VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=sicilybak';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;

ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' SCOPE=SPFILE;
ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=30;
ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE;

如果,需要primary和standby之間來回switchover,讓primary切換為standby角色,需要設定*_convert參數來保證伺服器之間的檔案名稱和路徑不同。
--這裡配置的是服務名,表示日誌出現GAP時,去哪裡去取。
ALTER SYSTEM SET FAL_SERVER=sicilybak;
--這裡是將前面的字串替換為後面的字串
--ALTER SYSTEM SET DB_FILE_NAME_CONVERT='sicilybak','sicily' SCOPE=SPFILE;
--ALTER SYSTEM SET LOG_FILE_NAME_CONVERT='sicilybak','sicily'  SCOPE=SPFILE;
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;
注意,有些參數不能修改,資料庫重啟後生效。


--==========備份==========

1.primary備份
$ rman target /
RMAN> backup database as compressed backupset format '/oracle/rman/full_%D_%u.bak';

2.建立standby控制檔案
--在primary上執行
ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/oracle/rman/standby.ctl';

3.建立standby參數檔案PFILE
CREATE PFILE='/oracle/rman/pfile' FROM SPFILE;

4.修改PFILE與standby相關的配置。由於是原始伺服器的副本,只需要修改如下參數。
*.db_unique_name='sicilybak'
*.fal_server='sicily'
*.log_archive_dest_2='SERVICE=sicily ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=sicily'


--==========拷貝=========

1.在standby上建立資料檔案目錄、歸檔記錄檔目錄、審計目錄及其他參數檔案中列出的目錄
$ mkdir -p /oracle/rman
$ mkdir -p /oracle/archive
$ mkdir -p /oracle/oradata/sicily

2.從primary拷貝檔案到standby
$ # Standby controlfile to all locations.
$ scp [email protected]:/oracle/rman/standby.ctl /oracle/rman/control01.ctl
$ cp /oracle/rman/control01.ctl /oracle/fast_recovery_area/sicily/control02.ctl

$ # Archivelogs
$ scp -r [email protected]:/oracle/archive /oracle/archive

$ # Parameter file.
$ scp [email protected]:/oracle/rman/pfile /oracle/rman/pfile

$ # Remote login password file.
$ scp [email protected]:$ORACLE_HOME/dbs/orapw$ORACLE_SID $ORACLE_HOME/dbs

注意,如果你的備份放在閃回區,那麼需要將閃回區備份拷貝到standby;
如果你的備份不在閃回區,那麼必須確保將備份拷貝到與primary相同目錄下。


--==========恢複===========

1.以PFILE建立SPFILE
create spfile from pfile='/oracle/rman/pfile';

2.恢複控制檔案
RMAN> restore controlfile from '/oracle/rman/standby.ctl';

3.恢複備份
RMAN> startup mount;
RMAN> restore database;


--===========建立online redo logs和standby redo logs==========

1.建立standby的online redo logs,最好與primary一致
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=MANUAL;
ALTER DATABASE ADD LOGFILE ('/oracle/oradata/sicily/redo01.log') SIZE 50M;
ALTER DATABASE ADD LOGFILE ('/oracle/oradata/sicily/redo02.log') SIZE 50M;
ALTER DATABASE ADD LOGFILE ('/oracle/oradata/sicily/redo03.log') SIZE 50M;
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO;

2.建立standby的standby redo logs,如果primary要被切換為standby角色,那在primary上也要建。
standby redo logs應該至少和最大的online redo log一樣大,比online redo logs多一個。
ALTER DATABASE ADD STANDBY LOGFILE ('/oracle/oradata/sicily/standby_redo01.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE ('/oracle/oradata/sicily/standby_redo02.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE ('/oracle/oradata/sicily/standby_redo03.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGFILE ('/oracle/oradata/sicily/standby_redo04.log') SIZE 50M;


--=============啟動應用進程==============

# Background redo apply. Control is returned to the session once the apply process is started.
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

#you need to cancel the apply process, issue the following command.
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

ALTER DATABASE OPEN READ ONLY;

#you have configured standby redo logs, you can start real-time apply using the following command.
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;


--============檢查===========

select database_role,LOG_MODE,PROTECTION_MODE,PROTECTION_LEVEL from v$database;

Oracle 11g R2 ADG 搭建

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.