创建DATAGUARD的主要步骤

準備工作:
分別在主庫和備庫都安裝上oracle軟件,在主庫上裝數據庫,備庫上不裝。


配置DataGuard
  1.在主備库中分別用$ netmgr命令创建监听和网络服务。
  用tnsping 相互ping,看能否ping通。
  2. 配置主庫為歸檔模式:
      查看 archive log list; 
      如果不是啟動到mount狀態,修改為歸檔模式
       alter database archivelog;
       打開數據庫:alter database open;
   3.更改主庫為強制歸檔模式
       可通過 select force_logging from v$database;查看
       alter database force logging;
       取消 alterdatbase no force logging;
    4.在主庫中創建pfile參數文件
        create pfile from spfile;
    5.編輯pfile文件,添加如下參數:
*.log_archive_dest_1='LOCATION=/data/myora/arch'
*.log_archive_dest_2='service=standby lgwr async noaffirm'
*.log_archive_dest_state_2=ENABLE
*.log_archive_format='%t_%s_%r.dbf'
    6.上一步中pfile的內容改變了,相應地要改變spfile的內容。方式新建一個spfile。
      startup pfile='/u01/product/oracle/dbs/initmyora.ora'
      create spfile from pfile;
    7.在主庫上創建備庫所用的控制文件
SQL> startup mount 
SQL> alter database create standby controlfile as '/data/myora/standby.ctl';
SQL> shutdown immediate
    8.備份主庫,複製(數據文件,剛建立standby控制文件,密碼文件,參數文件)
    9.修改備庫pfile
     *.log_archive_dest_1='LOCATION=/data/myora/arch'
     *.log_archive_dest_state_2=ENABLE
     *.log_archive_format='%t_%s_%r.dbf'
     *.standby_file_management=auto
      并將standby控制文件,改成備庫的控制文件
    10.在備庫上創建spfile
     SQL> startup pfile='/u01/product/oracle/dbs/initmyora.ora'
     SQL> create spfile from pfile;
    11. 把主庫也起來。
    12.配置standby redolog
      (最佳性能模式可以忽略,如果要轉為其他兩種模式則要建立)
        在主庫查看日誌組的數量和每個日誌文件的大小
        SQL> SELECT GROUP#, BYTES FROM V$LOG;
        在被庫中創建日誌組和redo log文件,PS:單實例日誌組數盡量比主庫多一個,大小一樣。語法如下:
        SQL>ALTER DATABASE ADD STANDBY LOGFILE group 4 ('/data/myora/standby_redo04.log') SIZE 50M;
        SQL>ALTER DATABASE ADD STANDBY LOGFILE group 5 ('/data/myora/standby_redo05.log') SIZE 50M;
        SQL>ALTER DATABASE ADD STANDBY LOGFILE group 6 ('/data/myora/standby_redo06.log') SIZE 50M;
        SQL>ALTER DATABASE ADD STANDBY LOGFILE group 7 ('/data/myora/standby_redo07.log') SIZE 50M;
        注:standby redolog的組數參考公式:(online redolog組數 + 1) * 數據庫線程數;單擊線程數為1,RAC一般為2。
        standby redolog的組成員數和大小也盡量和online redolog一樣。
   13. 在備庫上執行備庫恢復模式 
        SQL> alter database recover managed standby database disconnect from session;
   14.結束這個恢復進程:
       SQL> alter database recover managed standby database cancel;
   15.將被庫啟動到open read only的狀態
       SQL> shutdown immediate
       SQL> startup mount
       SQL> alter database open read only;
   16.看主庫和備庫的日誌同步情況,確保已經同步 
        SQL> archive log list;
    檢驗:
   檢驗方法:在主庫中創建一張表,看在備庫是否可以查看。
    1.) 在主庫中創建一個表
        SQL> create table test_table(id number);
     看備庫上是否可以查到
        SQL> desc test_table;
       ERROR:  ORA-04043: 對象 test_table 不存在
    2.)備庫上接收數據,并自動同步:
       SQL> alter database recover managed standby database using current logfile disconnect from session;
       PS: disconnect from session選項是的Redo應用運行在後台會話中。
              using current logfile語句,使得Redo一旦被接收就能投入使用。
    3.) 再次验证数据是否同步。
        SQL>insert into test_table values(1);
        SQL> commit
        如果再備庫上能查到,表示數據實現了同步,說明dataguard配置成功了。

創建主備庫可以相互切換的DG需要的參數:
DB_NAME=
DB_UNIQUE_NAME=db1
LOG_ARCHIVE_CONFIG='DG_CONFIG=(db1,db2)'
LOG_ARCHIVE_DEST_1='LOCATION=/PATHT1/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=db1'
LOG_ARCHIVE_DEST_2='SERVICE=sty監聽名 ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLES) DB_UNIQUE_NAME=db2'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXECLUSIVE
備用較色初始化參數
FAL_SERVER=db2
DB_FILE_NAME_CONVERT='db2' ,'db1'      ----如果路徑相同就不用轉換
LOG_FILE_NAME_CONVERT='db2歸檔路徑','db1歸檔路徑'.........
STANDBY_FILE_MANAGEMENT=AUTO
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值