ITPub博客

首页 > 数据库 > Oracle > dataguard 搭建 oracle_sid不同 2节点 primary+standby

dataguard 搭建 oracle_sid不同 2节点 primary+standby

原创 Oracle 作者:hellohf123 时间:2021-09-22 11:32:26 0 删除 编辑

primary 

standby 

Ip

10.8.98.103

10.8.98.104

hostname

dbserver01

dbserver02

Oracle_sid

prod1

proddg

数据库版本

11.2.0.4

11.2.0.4

Db_name

prod

prod

Db_unique_name

prodpri

prodstd

tnsnames

tns_primary

tns_standby


主机安装oracle,备机只需要安装数据库软件,不需要建库。

1、主机设置归档模式

1
2
3
4
5
6
7
SQL> archive log list;
Database log mode        Archive Mode
Automatic archival        Enabled
Archive destination            /oracle/app/oracle/oradata/prod/arch
Oldest online log sequence     60
Next log sequence to archive   62
Current log sequence         62

主机开启force logging 模式

1
SQL> alter database force logging;


2、主机添加standby log

1
2
3
alter database add standby logfile group 21( '/oracle/app/oracle/oradata/prod/redo21_standby.log' ) size 50M;
alter database add standby logfile group 22( '/oracle/app/oracle/oradata/prod/redo22_standby.log' ) size 50M;
alter database add standby logfile group 23( '/oracle/app/oracle/oradata/prod/redo23_standby.log' ) size 50M;


3. 配置主库的初始化参数,如果配置参数有问题,重启数据库服务就ok。

#dg add
alter system set db_unique_name='prodpri' scope=spfile;
alter system set log_archive_config='DG_CONFIG=(prodpri,prodstd)' scope=both ;
alter system set LOG_ARCHIVE_DEST_1='LOCATION=/oracle/app/oracle/oradata/prod/arch  valid_for=(all_logfiles,all_roles)  db_unique_name=prodpri' scope=both;
alter system set LOG_ARCHIVE_DEST_2='SERVICE=tns_standby LGWR  SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=prodstd' scope=both;
alter system set log_archive_format='%t_%s_%r.arc' scope=spfile ;
alter system set log_archive_max_processes=8 scope=both ;
alter system set db_file_name_convert='/oracle/app/oracle/oradata/prod/','/oracle/app/oracle/oradata/prod/' scope=spfile;
alter system set log_file_name_convert='/oracle/app/oracle/oradata/prod/','/oracle/app/oracle/oradata/prod/' scope=spfile;
alter system set standby_file_management=AUTO scope=both;
alter system set fal_server='tns_standby' scope=both ;
alter system set FAL_CLIENT='tns_primary' scope=both ;


重启数据库服务,并查询是否生效

set linesize 500 pages 0
col value for a90
col name for a50
select name, value from v$parameter where name in ('db_name','db_unique_name','log_archive_config', 'log_archive_dest_1','log_archive_dest_2','log_archive_dest_state_1','log_archive_dest_state_2','remote_login_passwordfile','log_archive_format','log_archive_max_processes','fal_server','db_file_name_convert', 'log_file_name_convert', 'standby_file_management');


4.根据spfile创建pfile

SQL> create pfile from spfile;


5.主机更改 lisenter.ora,tnsnames.ora

[oracle@dbserver01 admin]$ cat listener.ora 
# listener.ora Network Configuration File: /oracle/app/oracle/product/11.2.0/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
  (SID_LIST =
     (SID_DESC =
      (GLOBAL_DBNAME = prod)
      (ORACLE_HOME = /oracle/app/oracle/product/11.2.0)
      (SID_NAME = prod1))
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.8.98.103)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
ADR_BASE_LISTENER = /oracle/app/oracle
[oracle@dbserver01 admin]$
[oracle@dbserver01 admin]$ cat tnsnames.ora 
# tnsnames.ora Network Configuration File: /oracle/app/oracle/product/11.2.0/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
PROD =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dbserver01)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = prod)
    )
  )
tns_primary =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.8.98.103)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = prod)
    )
  )
tns_standby =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.8.98.104)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = prod)
    )
  )

重启数据库监听。


5. 拷贝主机上 lisenter.ora,tnsnames.ora (需要更改部分),pfile文件 (部分参数需要更改),密码文件 (需要改名)到备机。

pfile更改以下几行

db_unique_name=' prodstd' scope=spfile;

LOG_ARCHIVE_DEST_1='LOCATION=/oracle/app/oracle/oradata/prod/arch  valid_for=(all_logfiles,all_roles)  db_unique_name= prodstd' scope=both;

LOG_ARCHIVE_DEST_2='SERVICE= tns_primary LGWR  SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME= prodpri' scope=both;

fal_server=' tns_primary' scope=both ;

FAL_CLIENT=' tns_standby' scope=both ;

*.dispatchers='(PROTOCOL=TCP) (SERVICE=prod dgXDB)'

备机根据参数文件initproddg.ora创建相应的文件夹

1
2
3
mkdir -p /oracle/app/oracle/admin/prod/adump
mkdir -p /oracle/app/oracle/oradata/prod/
mkdir -p /oracle/app/oracle/oradata/prod/arch


更改完之后,create spfile from pfile,并且从spfile重新启动



备机 lisenter.ora

[oracle@dbserver02 admin]$ cat listener.ora 
# listener.ora Network Configuration File: /oracle/app/oracle/product/11.2.0/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
  (SID_LIST =
     (SID_DESC =
      (GLOBAL_DBNAME = prod)
      (ORACLE_HOME = /oracle/app/oracle/product/11.2.0)
      (SID_NAME = proddg))
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.8.98.104)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
ADR_BASE_LISTENER = /oracle/app/oracle
[oracle@dbserver02 admin]$

并重新启动监听


备机 tnsnames.ora

[oracle@dbserver02 admin]$ cat tnsnames.ora 
# tnsnames.ora Network Configuration File: /oracle/app/oracle/product/11.2.0/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
PROD =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.8.98.104)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = prod)
    )
  )
tns_primary =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.8.98.103)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = prod)
    )
  )
tns_standby =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.8.98.104)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = prod)
    )
  )



6、测试tnsping  ok,主备机都启动到nomount状态,均从spfile启动

然后主机打开数据库,备机打开到nomount状态。


7. 实施数据库克隆通过rman duplicate  (在备机操作)

请参照 http://blog.itpub.net/70004783/viewspace-2788445/

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

下一篇: RAC+DG(asm单实例)
请登录后发表评论 登录
全部评论

注册时间:2021-08-05

  • 博文量
    35
  • 访问量
    9845