ORACLE 11G 建立 DATAGUARD(雙節點RAC-->單例項DG)

gxlineji發表於2016-09-14

說明:
雙節點RAC-->單例項DG

一、修改主庫配置

(線上修改即可
主庫((雙節點RAC)):
alter system set log_archive_config='dg_config=(orcl,orclpdg)' scope=both;
alter system set log_archive_dest_1='location=/arch/orcl1/arch valid_for=(all_logfiles,all_roles) db_unique_name=orcl'  sid='orcl1' scope=both;
alter system set log_archive_dest_1='location=/arch/orcl2/arch valid_for=(all_logfiles,all_roles) db_unique_name=orcl'  sid='orcl2' scope=both;
alter system set log_archive_dest_2='service=orclpdg  ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)  db_unique_name=orclpdg'  scope=both;
alter system set log_archive_dest_state_2='enable'  scope=both;
alter system set STANDBY_FILE_MANAGEMENT=AUTO  scope=both;
附件引數(只有主庫變成備庫時才使用)
alter system set db_file_name_convert='/u01/app/oracle/oradata/orcl/','+DATA/orcl/datafile/'  scope=spfile;
alter system set LOG_FILE_NAME_CONVERT='/u01/app/oracle/oradata/orcl/','+DATA/orcl/onlinelog/' scope=spfile;
alter system set FAL_SERVER=orclpdg   scope=both;

在tnsnames.ora增加連線到從庫的TNS
cat >> $ORACLE_HOME/network/admin/tnsnames.ora << EOF
orclpdg =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.11)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

EOF

二、配置從庫

從庫:單例項DG

修改引數檔案(只能手工修改引數檔案 )
db_unique_name=orclpdg
service_names=orcl

修改引數 (這些引數可以使用命令修改spfile
alter system set log_archive_config='dg_config=(orcl,orclpdg)' scope=spfile;
alter system set log_archive_dest_1='location=/arch/orcl/recive valid_for=(all_logfiles,all_roles) db_unique_name=orclpdg'  scope=spfile;
alter system set log_archive_dest_2='service=orclpri  ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)  db_unique_name=orcl'  scope=spfile;
alter system set log_archive_dest_state_2='enable' scope=spfile;
alter system set STANDBY_FILE_MANAGEMENT=AUTO scope=spfile;
alter system set DB_FILES=800 scope=spfile;
alter system set db_file_name_convert='+DATA/orcl/datafile/','/u01/app/oracle/oradata/orcl/','+DATA/orcl/tempfile/','/u01/app/oracle/oradata/orcl/'    scope=spfile;
alter system set LOG_FILE_NAME_CONVERT='+DATA/orcl/onlinelog/','/u02/app/oracle/oradata/orcl/','+DATA/mm100/standbylog/','/u02/app/oracle/oradata/orcl/'  scope=spfile;
alter system set FAL_SERVER=orclpri  scope=spfile;

建立接收主庫傳過來的 歸檔日誌 目錄
mkdir -p /arch/orcl/recive
chown oracle.oinstall -R /arch

建立靜態監聽器
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = orcl)
    )
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

ADR_BASE_LISTENER = /u01/app/oracle

配置TNS連線
su - oracle
cat >> $ORACLE_HOME/network/admin/tnsnames.ora << EOF
orclpri=
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.166)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

orclpdg =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.11)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

EOF

從主庫複製密碼檔案到從庫:
scp 192.168.1.17:/u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl1 /u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl

主庫:
rman target sys/password@orclpri auxiliary sys/BV3792Ty64@orclpdg nocatalog <<eof
duplicate target database for standby from active database nofilenamecheck;
EOF

從庫執行應用日誌
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

定期刪除日誌:
[root@s001pm: script]# more del_arch_standby.sh 

點選( 此處 )摺疊或開啟

  1. #!/bin/bash

  2. cd  /home/oracle/script/

  3. rm -rf /home/oracle/script/del_arch_standby.txt

  4. source /home/oracle/.bash_profile


  5. sqlplus -s sys/xxx123 AS SYSDBA  <<eof</eof<>

  6. set linesize 200

  7. set pagesize 0

  8. set echo off

  9. set feedback off

  10. set trimspool on

  11. alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';

  12. spool del_arch_standby.txt

  13. select 'rm -rf  ' || t.NAME as name

  14. from v\$archived_log t

  15. where t.APPLIED = 'YES'

  16. and t.FIRST_TIME < sysdate - 4 / 24

  17. and NAME like '/arch/orcl/%'

  18. order by t.first_time desc;


  19. spool off

  20. exit

  21. EOF


  22. cd  /home/oracle/script/

  23. sh del_arch_standby.txt





</eof

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10995764/viewspace-2124969/,如需轉載,請註明出處,否則將追究法律責任。

相關文章