Oracle DataGuard单机对单机搭建

生产中由于归档丢失,导致DG失效,所以搭建一套单机对单机用于测试
一、主备安装数据库软件(略)
二、配置网络,在主备分配配置listener.ora、tnsnames.ora文件,保证主备网络互通
主:
listener.ora
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.103)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )


ADR_BASE_LISTENER = /opt/oracle

tnsnams.ora
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.103)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
)
standby =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.101)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = standby)
    )
  )
备机
listener.ora
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = standby)
      (ORACLE_HOME = /opt/oracle/product/11.2/db_1)
      (SID_NAME = standby)
    )
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.101)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
ADR_BASE_LISTENER = /opt/oracle
tnsnames.ora
STANDBY =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.101)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = standby)
    )
  )


ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.103)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )
在主备分别用tnsping命令测试是否成功

三、配置参数
1、主库参数文件修改
orcl.__db_cache_size=297795584
orcl.__java_pool_size=4194304
orcl.__large_pool_size=8388608
orcl.__oracle_base='/opt/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=293601280
orcl.__sga_target=440401920
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=117440512
orcl.__streams_pool_size=4194304
*.audit_file_dest='/opt/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/opt/oracle/oradata/orcl/control01.ctl','/opt/oracle/fast_recovery_area/orcl/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='/opt/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4385144832
*.diagnostic_dest='/opt/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=730857472
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
*.db_file_name_convert='/opt/oracle/oradata/standby','/opt/oracle/oradata/orcl'
*.log_file_name_convert='/opt/oracle/oradata/standby','/opt/oracle/oradata/orcl'
*.log_archive_config='dg_config=(orcl,standby)'
*.log_archive_dest_1='location=/opt/oracle/archlog valid_for=(all_logfiles,all_roles) db_unique_name=orcl'
*.log_archive_dest_2='service=standby lgwr sync valid_for=(online_logfiles,primary_role) db_unique_name=standby'
*.fal_server=standy
*.fal_client=orcl
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable

注:主库参数文件配置完成后重启一下数据库
2、创建备库日志文件
alter database add standby logfile '/opt/oracle/oradata/orcl/redo01_sty.log' size 500m;
alter database add standby logfile '/opt/oracle/oradata/orcl/redo02_sty.log' size 500m;
alter database add standby logfile '/opt/oracle/oradata/orcl/redo03_sty.log' size 500m;
alter database add standby logfile '/opt/oracle/oradata/orcl/redo04_sty.log' size 500m;

3、拷贝主库密码文件、参数文件到主库
4、修改备库参数文件
[oracle@standby dbs]$ cat initstandby.ora 
standby.__db_cache_size=297795584
standby.__java_pool_size=4194304
standby.__large_pool_size=8388608
standby.__oracle_base='/opt/oracle'#ORACLE_BASE set from environment
standby.__pga_aggregate_target=293601280
standby.__sga_target=440401920
standby.__shared_io_pool_size=0
standby.__shared_pool_size=117440512
standby.__streams_pool_size=4194304
*.audit_file_dest='/opt/oracle/admin/standby/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/opt/oracle/oradata/standby/control01.ctl','/opt/oracle/fast_recovery_area/standby/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='/opt/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4385144832
*.diagnostic_dest='/opt/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=standbyXDB)'
*.log_archive_format='%t_%s_%r.dbf'
*.memory_target=730857472
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
*.db_unique_name='standby'
*.db_file_name_convert='/opt/oracle/oradata/orcl','/opt/oracle/oradata/standby'
*.log_file_name_convert='/opt/oracle/oradata/orcl','/opt/oracle/oradata/standby'
*.log_archive_config='dg_config=(orcl,standby)'
*.log_archive_dest_1='location=/opt/oracle/archlog valid_for=(all_logfiles,all_roles) db_unique_name=standby'
*.log_archive_dest_2='service=orcl lgwr async valid_for=(online_logfiles,primary_role) db_unique_name=orcl'
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.log_archive_max_processes=10
*.fal_server=orcl
*.fal_client=standby
*.standby_file_management=auto

5、在备库创建相应的目录
mkdir -p /opt/oracle/oradata/standby
mkdir -p /opt/oracle/fast_recovery_area/standby/
mkdir -p  /opt/oracle/admin/standby/adump
6、备库启动到nomount状态

四、复制主库做备库
rman target sys/123@orcl auxiliary sys/123@standby nocatalog;
duplicate target database for standby from active database nofilenamecheck;

五、将备库切换到mount状态,并设置为standby 
alter database mount;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

六、验证DG是否搭建成功
SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

1、备库查询存在的归档
 SEQUENCE# FIRST_TIM NEXT_TIME
---------- --------- ---------
         7 04-MAY-17 04-MAY-17
         8 04-MAY-17 04-MAY-17
         9 04-MAY-17 04-MAY-17
        10 04-MAY-17 04-MAY-17
        11 04-MAY-17 04-MAY-17
        12 04-MAY-17 04-MAY-17
        13 04-MAY-17 04-MAY-17
        14 04-MAY-17 04-MAY-17
        15 04-MAY-17 04-MAY-17
        16 04-MAY-17 04-MAY-17
        17 04-MAY-17 04-MAY-17


 SEQUENCE# FIRST_TIM NEXT_TIME
---------- --------- ---------
        18 04-MAY-17 04-MAY-17


12 rows selected.


2、在主库切换日志
alter system switch logfile
3、在备库再次查询归档日志


SQL> r
  1* SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#


 SEQUENCE# FIRST_TIM NEXT_TIME
---------- --------- ---------
         7 04-MAY-17 04-MAY-17
         8 04-MAY-17 04-MAY-17
         9 04-MAY-17 04-MAY-17
        10 04-MAY-17 04-MAY-17
        11 04-MAY-17 04-MAY-17
        12 04-MAY-17 04-MAY-17
        13 04-MAY-17 04-MAY-17
        14 04-MAY-17 04-MAY-17
        15 04-MAY-17 04-MAY-17
        16 04-MAY-17 04-MAY-17
        17 04-MAY-17 04-MAY-17


 SEQUENCE# FIRST_TIM NEXT_TIME
---------- --------- ---------
        18 04-MAY-17 04-MAY-17
        19 04-MAY-17 04-MAY-17
        20 04-MAY-17 04-MAY-17
        21 04-MAY-17 04-MAY-17


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29108856/viewspace-2138914/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29108856/viewspace-2138914/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值