oracle 搭建dg步骤解析

如果搭建dg 先安装主库database 并建库,同时建备库database 软件,不需要建库。

1 主库打开归档功能

    启动到mount状态下,打开归档功能

    alter database archivelog;
SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     17
Next log sequence to archive   19
Current log sequence           19
# 检查已经打开归档功能

2 配置主库监听和tnsnames文件

# listener.ora Network Configuration File: /u01/oracle/11g/network/admin/listene
r.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/oracle/11g)
      (SID_NAME = orcl)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = porcl)    
      (ORACLE_HOME = /u01/oracle/11g)
      (SID_NAME = orcl)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = porcl_DGMGRL)
      (ORACLE_HOME = /u01/oracle/11g)
      (SID_NAME = orcl)
    )
  )

LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dghost)(PORT = 1521))
  )

ADR_BASE_LISTENER = /u01/oracle
[oracle@dghost root]$ cat /u01/oracle/11g/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/oracle/11g/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

SORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = dgstandby)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = sorcl)
    )
  )

PORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = dghost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = porcl)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dghost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl.dghost)
    )
  )
备库也配置监听

注意主库和备库配置完监听要用tnsping测试都能ping通
[oracle@dghost root]$ tnsping porcl

TNS Ping Utility for Linux: Version 11.2.0.3.0 - Production on 17-JAN-2017 00:19:12

Copyright (c) 1997, 2011, Oracle.  All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = dghost)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = porcl)))
OK (10 msec)
#主库tnsping自己成功
[oracle@dghost root]$ tnsping sorcl

TNS Ping Utility for Linux: Version 11.2.0.3.0 - Production on 17-JAN-2017 00:19:42

Copyright (c) 1997, 2011, Oracle.  All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = dgstandby)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = sorcl)))
OK (20 msec)
#主库tnsping备库成功
# 下面同样需要在备库中tnsping自己和主库,这里就不一一举例

3 主库修改db_unique_name

SQL> show parameter db_un

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_unique_name                       string      PORCL  #db_unique_name 需要配置成tnsname里面能解析的域名
db_unrecoverable_scn_tracking        boolean     TRUE
# alter system set db_unique_name='porcl' scope=spfile;

4 主库修改standby_file_management

SQL> show parameter standby_f

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
standby_file_management              string      AUTO #修改为auto

5 主库打开强制日志和dg_broker

alter database force logging;
SQL> show parameter dg_b

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
dg_broker_config_file1               string      /u01/oracle/11g/dbs/dr1PORCL.d
                                                 at
dg_broker_config_file2               string      /u01/oracle/11g/dbs/dr2PORCL.d
                                                 at
dg_broker_start                      boolean     TRUE #设置为true 打开

6 增加备库日志

alter database add standby logfile;

多增加几个

7 切换日志

    alter system switch logfile;

    多切换几次

8 主库参数文件拷贝到备库中

[oracle@dgstandby dbs]$ strings spfileorcl.ora
orcl.__db_cache_size=218103808
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__oracle_base='/u01/oracle'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=205520896
orcl.__sga_target=381681664
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=142606336
orcl.__streams_pool_size=4194304
*.archive_lag_target=0
*.audit_file_dest='/u01/oracle/admin/orcl/adump' #备库需要创建这个目录 
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/oracle/oradata/orcl/control01 #备库需要创建这个目录
.ctl','/u01/oracle/fast_recovery_area/orcl/control02.ctl' #备库需要创建这个目录
*.db_block_size=8192
*.db_domain='dghost'
*.db_name='orcl'
*.db_recovery_file_dest='/u01/oracle/fast_recovery_area' #备库需要创建这个目录
*.db_recovery_file_dest_size=4322230272
*.db_unique_name='SORCL'
*.dg_broker_start=TRUE
*.diagnostic_dest='/u01/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.fal_server='porcl'
*.log_archive_config='dg_config=(SORCL,porcl)'
*.log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST','valid_for=(ALL_LOG
FILES, ALL_ROLES)'
orcl.log_archive_format='%t_%s_%r.dbf'
*.log_archive_max_processes=4
*.log_archive_min_succeed_dest=1
orcl.log_archive_trace=0
*.memory_target=585105408
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'
备库启动到nomount状态下,如果能正常启动到nomount 状态下说明参数文件没有问题

9 主库密码文件拷贝到备库

10 在备库中克隆

[oracle@dgstandby dbs]$ rman target sys/oracle@porcl auxiliary sys/oracle@sorcl nocatalog;

Recovery Manager: Release 11.2.0.3.0 - Production on Tue Jan 17 00:31:46 2017

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: ORCL (DBID=1461163151)
using target database control file instead of recovery catalog
connected to auxiliary database: ORCL (DBID=1461163151)
# 通过rman链接了主库和备库
RMAN> duplicate target database for standby nofilenamecheck from active database;
# 用这个进行克隆,不能有任何错误

11 dgbroker 创建主库和备库

扫描二维码关注公众号,回复: 3259517 查看本文章
DGMGRL for Linux: Version 11.2.0.3.0 - 64bit Production

Copyright (c) 2000, 2009, Oracle. All rights reserved.

Welcome to DGMGRL, type "help" for information.
Connected.
#进入 dgbroker 环境
DGMGRL> help create

Creates a broker configuration

Syntax:

  CREATE CONFIGURATION <configuration name> AS
    PRIMARY DATABASE IS <database name>
    CONNECT IDENTIFIER IS <connect identifier>;
# 使用帮助查看创建dgbroker的语法
DGMGRL> CREATE CONFIGURATION dgc as PRIMARY DATABASE IS porcl CONNECT IDENTIFIER IS porcl;
# 创建主库dgbroker
DGMGRL> help add

Adds a standby database to the broker configuration

Syntax:

  ADD DATABASE <database name>
    [AS CONNECT IDENTIFIER IS <connect identifier>]
    [MAINTAINED AS {PHYSICAL|LOGICAL}];
#使用帮助文档查看添加备库dgbroker的语法
DGMGRL> ADD DATABASE sorcl as CONNECT IDENTIFIER  IS sorcl;

12 激活dgbroker

DGMGRL> enable configuration;

13 启动备库到open 中测试主库和备库是否实时同步。

14 主备切换

    switchover to sorcl;

想了解更多的同学可以加群705673780哦,群里有很多小伙伴一起学习交流Python,还有很多免费资料哦~

猜你喜欢

转载自blog.csdn.net/Python_GCS/article/details/82590782