1. 程式人生 > >oracle11g dataguard 完全手冊

oracle11g dataguard 完全手冊

一、前言:
   網路上關於dataguard的配置文章很多,但是很多打著oracle11g的文章實際都是隻能在9 10 上執行,比如FAL_CLIENT在11g中已經廢棄,但是現在網路上的文章都是沒有標註這一點。而且對於具體含義語焉不詳對於新手只能知其然而不知其所以然。這篇文章我就想讓像我這樣的人對於dataguard配置不僅僅知道怎麼配置,還要知道為什麼需要這樣配置,這樣的效果才是最好的。
  這篇文章不僅僅是記錄如何配置,還介紹了為什麼是這樣,以及注意要點,我希望這個文章可以作為進行dataguard配置的一個參考手冊。

二、前提
1.主庫是歸檔模式:
  如果我們不清楚為什麼是歸檔模式,那我們就應該也不會清楚dataguard是用來做什麼的。透過很多修飾的官方語言,我們需要明確DG(dataguard簡稱,後同)實際上的作用就是用來高可用。而實現原理就是從主庫獲取資料到從庫,在主庫發生異常的時候,從庫接管主庫,完成身份的變化。可以一個主庫,最多9個從庫。同時分為邏輯standby和物理standby這裡我們討論的是物理standby.
   一旦建立並配置成 standby 後,dg 負責傳輸 primary資料庫 redo data 到 standby 資料庫,standby 資料庫通過應用接收到的 redo data 保持與 primary 資料庫的事務一致。
   這下清楚了吧,需要保證主從庫一致,需要傳輸archive log和redo log到從庫,如果不是歸檔模式無法保證主從庫的資料一致。

2.從庫只需要安裝資料庫軟體,資料從主庫傳輸後完成。

3.很多人說11g有了active dataguard(ADG),邏輯standby 實際上已經沒什麼用處了。

4.主從庫硬體最好一致。oracle資料庫版本需要一致。
  (1)記憶體檢查項:
     # grep MemTotal /proc/meminfo
     交換分割槽檢查項:如果記憶體在1-2G,swap是1.5倍;2-16G,1倍;超過16G,設定為16G即可。
     # grep SwapTotal /proc/meminfo
     檢視共享記憶體大小:
     # df -h /dev/shm


   (2)檢視系統處理器架構,與oracle安裝包一致
     # uname -m


   (3)空間空間 /tmp必須大於1G
     # df -h /tmp

5.配置環境資料庫使用者必須有sysdba許可權
6.後面的環境:主庫 192.168.215.101 資料庫例項名:orcl        db_unique_name:orcl
              從庫 192.168.215.102 資料庫例項名:orcl       db_unique_name:orcldg

三、配置
1.判斷DG是否已經安裝:
  select * from v$option where parameter = 'Oracle Data Guard';
  如果是true表示已經安裝可以配置,否則需要安裝相應元件。

2.設定主庫為強制記錄日誌。
  預設情況下資料庫操作會記錄redo log,但是在一些特定的情況下可以使用nologging來不生成redo資訊
  (1)表的批量INSERT(通過/*+APPEND */提示使用“直接路徑插入“。或採用SQL*Loader直接路徑載入)。表資料不生成redo,但是 
所有索引修改會生成redo,但是所有索引修改會生成redo(儘管表不生成日誌,但這個表上的索引卻會生成redo!)。 
  (2)LOB操作(對大物件的更新不必生成日誌)。 
  (3)通過CREATE TABLE AS SELECT建立表
  (4)各種ALTER TABLE操作,如MOVE和SPLIT
  (5)在一些表遷移和表空間遷移中,可以使用alter table a nologging;或者alter tablespace snk nologging;在操作完成後再修改回logging狀態。
  這裡需要多說一句,如果你使用nologging匯入大批量資料,以後對這些資料的修改會在redo或者archive log中,但是基準的資料是沒有的,所以一旦介質損壞是無法完全恢復的,必須在使用nologging完成切換回logging後,做一次全備或者0級備份。

   (1)強制記錄日誌:sql>alter database force logging;
   (2)檢查狀態(YEs為強制):sql>select name,force_logging from v$database;
   (3)如果需要在主庫新增或者刪除資料檔案時,這些檔案也會在備份新增或刪除,使用如下:
      sql>alter system set standy_file_management='AUTO';
      預設此引數是manual手工方式 sql>show parameter standby
 
 3.建立standby log files(備用日誌檔案)
   從庫使用standby log files來儲存從主庫接收到的重做日誌。既然主要是從庫在使用,那為什麼需要在主庫上也建立
   standby log files?原因主要由兩個:一是主庫可能轉換為備庫,而備庫是需要有standby log files的 二是如果主庫
   建立了standby log files那備庫會自動建立。
   建立standby如要注意以下幾點:
   <1>standby log files的大小和redo log files一樣。
      查詢redo log files檔案大小(預設50M,3個):select group#,bytes/1024/1024 as M from v$log
   <2>一般而言, standbyredo 日誌檔案組數要比 primary 資料庫的 online redo 日誌檔案組數至少多一個。
      推薦 standbyredo 日誌組數量基於 primary 資料庫的執行緒數(這裡的執行緒數可以理解為 rac 結構中的 rac
      節點數)。
      有一個推薦的公式可以做參考:(每執行緒的日誌組數+1)*最大執行緒數
      假設現在節點是1個,則=(3+1)*1=4
      如果是雙節點       則=(3+1)*2=8
      這裡我們建立4個standby logfile:
      另:不建議組號group#緊挨著redo,因為後續redo有可能調整,這裡我們從建立從11到14的standby logfile
     

1 2 3 4 5 6 7 8 # cd $ORACLE_BASE/oradata/orcl/ # mkdir dg # chown oracle:dba dg sql> alter database add standby logfile group  11 '/opt/oracle/oradata/orcl/dg/standby11.log' size 50M; sql> alter database add standby logfile group  12 '/opt/oracle/oradata/orcl/dg/standby12.log' size 50M; sql> alter database add standby logfile group  13 '/opt/oracle/oradata/orcl/dg/standby13.log' size 50M; sql> alter database add standby logfile group  14 '/opt/oracle/oradata/orcl/dg/standby14.log' size 50M;


   4.密碼檔案和控制檔案的建立傳輸
     (1)一般資料庫預設就有密碼檔案,存放在$ORACLE_HOME/dbs/orapwSID  這裡為orapworcl
        如果沒有sql>orapwd file=$ORACLE_HOME/dbs/orapworcl password=oracle
     (2)檢查REMOTE_LOGIN_PASSWORDFILE值是否為 EXCLUSIVE
        sql>show parameter REMOTE_LOGIN_PASSWORDFILE
 如果值不是EXCLUSIVE,則:alter system set remote_login_passwordfile=exclusive scope=spfile;
     (3)密碼檔案需要scp到從庫
        # scp orapworcl [email protected]:/opt/oracle/11.2/dbs 提示輸入yes 
     (4)控制檔案:
        11g的控制檔案一共兩份,內容一樣,一份在$ORACLE_BASE/oradata/orcl/control01.ctl
 一份在/opt/oracle/flash_recovery_area/orcl/control02.ctl

 生成standby控制檔案:

1 2 3 4 sql>shutdown immediate sql>startup mount sql>alter database create standby controlfile as '/tmp/standby_control01.ctl'; sql>startup open;

 
 然後在備庫建立對應的目錄,並授權
 mkdir orcl--- chown oracle:oinstall(或dba) orcl

相關推薦

oracle11g dataguard 完全手冊

一、前言:    網路上關於dataguard的配置文章很多,但是很多打著oracle11g的文章實際都是隻能在9 10 上執行,比如FAL_CLIENT在11g中已經廢棄,但是現在網路上的文章都是沒有標註這一點。而且對於具體含義語焉不詳對於新手只能知其然而不知其所

AAA oracle11g dataguard 完全手冊(這種方法只適應oracle,沒有golden gate好)(資料庫開啟總閃回)

      這個時候,可以給資料庫增加臨時資料檔案(這個在熱備份的時候是沒有備份過來的)       如alter tablespace temp add tempfile '/u02/oradata/test/temp01.dbf' size 100M;      <4>.從只讀方式

oracle11g dataguard 備庫數據同步的檢查方法

是否 ora grep targe 步驟 sequence rec stat 數據文件 概述: 一、環境 主庫: ip地址:192.168.122.203 oracle根目錄:/data/db/oracle SID:qyq

資料結構實戰完全手冊-夏曹俊-專題視訊課程

資料結構實戰完全手冊—85人已學習 課程介紹         資料結構是程式設計的必修知識,它是程式設計的基本功,並且在企業面試、日常工作、研究生入學考試中都佔有重要的地位。不同於其他課程,本課程從

嵌入式Linux應用開發完全手冊(二)GPIO

5 GPIO介面 5.1 GPIO硬體介面介紹 GPIO General Purpose I/O Port,通用輸入、輸出埠。簡單說就是這個埠可以配成輸入的(讀電平訊號),也可以配成輸出的(設定電平訊號) 無論是輸入還是輸出都是通過暫存器來實現的

嵌入式Linux應用開發完全手冊(一)嵌入式Linux基礎知識

嵌入式Linux應用開發完全手冊 3 嵌入式Linux基礎知識 3.1 交叉編譯工具 編譯工具鏈,編譯工作由幾個步驟完成,分別用到了不同的工具 PC端應用 gcc ld objcopy

嵌入式Linux應用開發完全手冊(四)UART

11. 通用非同步收發器 UART 11.1 UART原理,部件使用方法 11.1.1UART原理 UART是Universal Asynchronous Receiver Transmitter的縮寫,即通用非同步收發器 UART用來傳輸序列資料: - 傳送時,CPU將

嵌入式Linux應用開發完全手冊(三)中斷

9 中斷體系結構 9.1 ARM中斷體系 ARM CPU工作模式和狀態 工作模式,7種,1種使用者模式,其他6選中特權模式 usr 使用者模式,ARM處理器正常的工作模式 fiq 快速中斷模式,高速資料傳輸或者通道處理 irq

嵌入式linux應用開發完全手冊(二) 第六章 儲存控制器

第二篇 ARM9 嵌入式系統基礎例項篇 第五章 GPIO介面 5.1 GPIO硬體介紹 GPIO(General Purpose I/O Ports)意思為通用輸入/輸出埠,通俗的說,就是一些引腳,可以通過它們輸出高低電平或者通過它們讀入引腳的狀態——是高電平還是低電平。 5.1.1 通

嵌入式linux應用開發完全手冊(一)

第一篇 嵌入式Linux開發環境構建 1.1.2 嵌入式發展 SCM(Single Chip Microcomputer)微控制器; MCU(Micro Controller Unit)微控制器; SoC(System on a Chip):系統級晶片,在一個晶片上由於廣泛使用

基於公鑰認證方式的 OpenSSH Server 自動登入完全手冊

Linux/Windows 下的 SSH 自動登入指南 假設要以使用者 rainux 的身份登入執行 OpenSSH Server 的遠端主機 www.rainux.org(現在幾乎所有的 Linux 伺服器都使用 OpenSSH Server 作為 SSH Server)

【VSCode】配置完全手冊(編寫中)

前言 VSCode是一個開源的強大程式碼編寫器,但是如果沒有好好的配置使用,會適得其反。 這裡總結VSCode的一些配置,方便自己查詢,也方便網友。 1. 編輯器配置 1.1 功能 為特定型別檔案指定縮排大小、縮排型別(空格,或tab),是否自動插

《嵌入式linux應用程式開發完全手冊》NAND FLASH硬體程式設計學習筆記

1.先看一下Flash的引腳圖,它與S3C2440連線比較少(相對nor flash),地址資料和命令都是在如圖示的一些使能訊號的配合下,通過8個I/O引腳傳輸。寫地址,資料,命令時,nCE,nWE訊號

Jaxb 完全手冊

Jaxb是JavaEE的規範.全稱Java Architecture for XML Binding. 可以根據XML Schema產生Java類的技術.JAXB也提供了將XML例項文件反向生成Java物件樹的方法,並能將Java物件樹的內容重新寫到XML例項文件. JAXB 2.0是JDK 1.6的組成部分

《Cisco路由器配置與管理完全手冊》(第二版)前言和目錄

下面是其中《Cisco路由器配置與管理完全手冊》(第二版)一書的前言和目錄:前言本書的寫作動機自《路由器配置與管理完全手冊——Cisco篇》於2011年上市以來,得到了非常廣泛的讀者支援和高度評價。隨著這幾年與讀者朋友的交流,更加充分地瞭解了讀者的普遍需求,再加上這幾年本人自身的不斷學習和研究也積累了比較多的

《嵌入式linux應用開發完全手冊》核心筆記(全)

** 本文未附任何例項程式碼,基於目標板的不同操作不盡相同,網路資源針對比較成熟的開發板均可找到對應的成套例項程式碼【開發環境構建】 1. 開發環境搭建:作業系統或虛擬機器Ubuntu安裝、網路服務配置、工具安裝等     工具資源<雲盤>:https://pa

window.open引數完全手冊

           【1、最基本的彈出視窗程式碼】         <SCRIPT LANGUAGE="javascript">     <!--     window.open ('page.html')     -->     </SC

linux下搭建SVN伺服器完全手冊

系統環境        RHEL5.4最小化安裝(關iptables,關selinux) + ssh + yum一,安裝必須的軟體包.        yum install subversion (SVN伺服器)                    mysql-serve

lnmp環境搭建完全手冊(四)——lnmp搭建(原始碼安裝)

首先來介紹一下Nginx.Nginx是一個高效能的 HTTP 和 反向代理 伺服器,也是一個 IMAP/POP3/SMTP 代理伺服器。Nginx不僅可以作為web伺服器,也可以作為負載均衡器,之前也有文章介紹,大家可以看一下. MySQL是一款開源免費的資料軟體,My

Android學習筆記——OAuth完全手冊

1 public void getRenrenSessionKey(Context context, String accessToken) { 2 if (accessToken == null || accessToken.length() < 1) { 3