快速搭建Data Guard之物理standby

來源:互聯網
上載者:User

Data Gurad的作用就不多說了,主在這說下物理standby的搭建步驟。
大致有這三種方式建立standby庫
方式一:用rman的方式產生standby. (用rman的duplice方式直接建立,無須先備份)
方式二:用rman的restore方式產生。(先用rman全備份主庫後,再用rman通過restore的方式建立)
方式三:用cp的方式產生 (關閉主庫後,複製控制項檔案,密碼檔案,資料檔案到備庫所在位置)
我主要在這用duplice方式,優點無須多說,假設你的資料庫上T,你會選哪種方法?

Oracle測試版本為11g;
1. 設定好主備庫的環境變數,及建立好相關目錄
主庫: 

su - oracle
  --歸檔日誌存放目錄
  --例子放在/u01/app/oracle/archivelog/xcldb 下
  mkdir -p $ORACLE_BASE/archivelog/$ORACLE_SID

環境變數注意下面兩個參數:
  ORACLE_SID=xcldb
  ORACLE_UNQNAME=xcldb

備庫:

 su - oracle
  --產生相關的目錄,還要注意下許可權, 另11g就這幾個,10G還有幾個目錄
  mkdir -p $ORACLE_BASE/admin/$ORACLE_SID/{adump,bdump,cdump,dpdump,udump,pfile}
  --資料庫所在目錄
  mkdir -p $ORACLE_BASE/oradata/$ORACLE_SID
  --閃回
  mkdir -p $ORACLE_BASE/flash_recovery_area/$ORACLE_SID
  --歸檔日誌存放目錄
  mkdir -p $ORACLE_BASE/archivelog/$ORACLE_SID

環境變數注意下面兩個參數:
  ORACLE_SID=xcldbdg
  ORACLE_UNQNAME=xcldbdg
 
2. 設定資料庫為歸檔模式

  --查看當前模式
  archive log list
  --設定歸檔日誌的路徑,可以產生多份一樣的日誌,儲存多個位置,以防丟失
  --如果沒設定,預設會設到$ORACLE_HOME/dbs下。
  alter system set log_archive_dest_1='location=/u01/app/oracle/archivelog/xcldb';
  shutdown immediate
  startup mount
  alter database archivelog;
  archive log list;

3.設定force logging 強制記錄模式 

 alter database force logging
  select force_logging from v$database;
  --取消此模式:alter database no force logging;
  --手工切換日誌,好產生歸檔日誌
  alter system switch logfile --執行個三次
  select name from v$archived_log;
  --查看已有的記錄檔
  select * from v$logfile;

4.建立Standby redo log
  建立個數建議公式:
  Standby redo log 組數公式>=(每個instance日誌組個數+1)*instance個數
  (maximum number of logfiles for each thread + 1) * maximum number of threads   

 --找到最大的group#,因為group#不能重複
  select max(group#) from v$log;
  --可用這兩條查詢看到組號及檔案大小, 11g預設是52428800
  SELECT GROUP#, BYTES FROM V$LOG;
  SELECT GROUP#, BYTES FROM V$STANDBY_LOG;
 
  --注意下大小一致,我是測試,沒管size
  alter database add standby logfile thread 1 group 11 '/u01/app/oracle/oradata/xcldb/redo11.log' size 50m;
  alter database add standby logfile thread 1 group 12 '/u01/app/oracle/oradata/xcldb/redo12.log' size 50m;
  alter database add standby logfile thread 1 group 13 '/u01/app/oracle/oradata/xcldb/redo13.log' size 50m;
  alter database add standby logfile thread 1 group 14 '/u01/app/oracle/oradata/xcldb/redo14.log' size 50m;

注意:
    在add standby logfile 時,如果是單一實例資料庫thread 1可以不加,但如果是RAC資料庫,
  則要分別為每個執行個體各增加相關的Standby log; 
    另外如果是用OMF管理的可用下面的命令建立:
    alter database add standby logfile thread 1 group 11 size 500m;
 
  驗證下成果:
  col member format a50
  select group#, type, member from v$logfile where type = 'STANDBY';

 

相關參考:

Oracle Data Guard 重要配置參數

基於同一主機配置 Oracle 11g Data Guard

探索Oracle之11g DataGuard

Oracle Data Guard (RAC+DG) 歸檔刪除策略及指令碼

Oracle Data Guard 的角色轉換

Oracle Data Guard的日誌FAL gap問題

Oracle 11g Data Guard Error 16143 Heartbeat failed to connect to standby 處理方法

  • 1
  • 2
  • 3
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.