oracle 11g dataguard环境搭建

硬件和系统软件说明:

操作系统:Oracle Linux 5.8 64位

oracle软件:oracle 11.2.0.1

角色    主机名  IP地址      数据库  服务名

primary   dg1   192.168.3.55   tong    tong

standby   dg2   192.168.3.56   tong    cheng

一.primary主库操作

1.在primary服务器安装oracle软件,并创建数据库.在standby服务器只安装oracle软件,不创建数据库.

2.配置监听

[[email protected] dbs]$ cd /u01/product/11.2.0.1/db_1/network/admin/

[[email protected] admin]$ vim listener.ora

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = tong)    --primary库的名字

(ORACLE_HOME = /u01/product/11.2.0.1/db_1)

(SID_NAME = tong)

)

)

LISTENER =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.55)(PORT = 1521))  --prmary库的IP地址

)

ADR_BASE_LISTENER = /u01

[[email protected] admin]$ vim tnsnames.ora

tong =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.55)(PORT = 1521)) --primary库的IP地址

)

(CONNECT_DATA =

(SERVICE_NAME = tong)  --primary库的服务名

)

)

cheng =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.56)(PORT = 1521)) --standby库的IP地址

)

(CONNECT_DATA =

(SERVICE_NAME = cheng)   --standby库的服务名

)

)

[[email protected] admin]$  lsnrctl stop

[[email protected] admin]$  lsnrctl start

3.在primary库启用归档和日志强行写入redo文件

SQL> shutdown immediate

SQL> startup mount

SQL> alter database archivelog;

SQL> alter database open;

SQL>  alter database force logging;

SQL>  select force_logging from v$database;

4.在primary 库添加standbt日志文件(standby文件和redo文件大小一至,文件个数比redo多一个)

SQL> alter database add standby logfile group 4 (‘/u01/oradata/tong/sredo04.log‘) size 50m;

SQL> alter database add standby logfile group 4 (‘/u01/oradata/tong/sredo04.log‘) size 50m;

SQL> alter database add standby logfile group 4 (‘/u01/oradata/tong/sredo04.log‘) size 50m;

SQL> alter database add standby logfile group 4 (‘/u01/oradata/tong/sredo04.log‘) size 50m;

SQL> select * from v$logfile order by 1;

5.利用spfile文件内容生成pfile文件

SQL> create pfile from spfile;

SQL> shutdown immediate

6.修改pfile文件的内容

[[email protected] dbs]$ vim inittong.ora

*.db_name=‘tong‘                       --数据库名

*.db_unique_name=tong            --数据库服务名

*.fal_server=‘tong‘     --primary数据库服务名,是监听文件里面的名字(在standby库名字要和fal_client对调)

*.fal_client=‘cheng‘     --standby数据库服务名,是监听文件里面的名字

*.standby_file_management=auto

*.log_archive_start=true

*.db_file_name_convert=‘/u01/oradata/tong/‘,‘/u01/oradata/tong/‘

*.log_file_name_convert=‘/u01/oradata/tong/‘,‘/u01/oradata/tong/‘

*.log_archive_config=‘dg_config=(tong,cheng)‘

*.log_archive_dest_1=‘LOCATION=/u01/oradata/tong/archive valid_for=(all_logfiles,all_roles) db_unique_name=tong‘   --归档文件存放的路径

*.log_archive_dest_2=‘service=cheng LGWR SYNC AFFIRM valid_for=(online_logfiles,all_roles) db_unique_name=cheng‘   --cheng是standby库的服务名

*.log_archive_dest_state_1=‘ENABLE‘

*.log_archive_dest_state_2=‘ENABLE‘

[[email protected] dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Nov 9 11:56:26 2016

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

Connected to an idle instance.

SQL> create spfile from pfile;         --用pfile文件创建spfile文件  
SQL>

7.启动主库

[[email protected] dbs]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Nov 9 11:56:26 2016

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

Connected to an idle instance.

SQL> startup

ORACLE instancestarted

SQL> alterdatabase set standby database to maximize availability;

Databasealtered.

SQL> exit

8.备份数据库(备份文件在闪恢复区)

[[email protected] dbs]$ rman target /

RMAN> backup database plus archivelog;

RMAN> backup curent controlfile for standby;

9.考贝文件到standby服务器

[[email protected] dbs]$ cd /u01/flash_recovery_area/     --考贝闪回恢复区的备份文件

[[email protected] flash_recovery_area]$ scp *  [email protected];/u01/flash_recovery_area/

[[email protected] flash_recovery_area]$ cd /u01/product/11.2.0.1/db_1/dbs/

[[email protected] dbs]$ scp *.ora   [email protected]:/u01/product/11.2.0.1/db_1/dbs/  --考贝pfile和spfile参数文件

[[email protected] dbs]$ cd /u01/product/11.2.0.1/db_1/network/admin/

[[email protected] admin]$ scp listener.ora tnsnames.ora [email protected]:/u01/product/11.2.0.1/db_1/network/admin/   --考贝监听文件

[[email protected] admin]$

二.standby从库操作

10.修改监听的地址

[[email protected] ~]$ cd /u01/product/11.2.0.1/db_1/network/admin/

[[email protected] admin]$ vim listener.ora

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = cheng)

(ORACLE_HOME = /u01/product/11.2.0.1/db_1)

(SID_NAME = cheng)

)

)

LISTENER =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.56)(PORT = 1521))

)

ADR_BASE_LISTENER = /u01

[[email protected] admin]$ vim tnsnames.ora

tong =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.55)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = tong)

)

)

cheng =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.56)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = cheng)

)

)

[[email protected] admin]$  lsnrctl stop

[[email protected] admin]$  lsnrctl start

11.修改pfile和spfile文件名

[[email protected] admin]$ cd /u01/product/11.2.0.1/db_1/dbs/

[[email protected] dbs]$ mv inittong.ora  initcheng.ora     --修改pfile文件名

[[email protected] ~]$ cp  /u01/flash_recovery_area/tong/control02.ctl /u01/oradata/tong/control01.ctl   --新的控制文件替换旧控制文件

12.恢复数据库

[[email protected] ~]$  rman target sys/[email protected]  auxiliary /

RMAN> duplicate target database for standbynofilenamecheck;

13.修改pfile参数文件

SQL> shutdown immediate

[[email protected] dbs]$ cd /u01/product/11.2.0.1/db_1/dbs/

[[email protected] dbs]$ vim initcheng.ora

*.db_name=‘tong‘

*.db_recovery_file_dest=‘/u01/flash_recovery_area‘

*.db_recovery_file_dest_size=4070572032

*.diagnostic_dest=‘/u01‘

*.dispatchers=‘(PROTOCOL=TCP) (SERVICE=tongXDB)‘

*.log_archive_format=‘%t_%s_%r.dbf‘

*.memory_target=833617920

*.open_cursors=300

*.processes=150

*.remote_login_passwordfile=‘EXCLUSIVE‘

*.undo_tablespace=‘UNDOTBS1‘

*.db_unique_name=cheng

*.fal_server=‘tong‘

*.fal_client=‘cheng‘

*.standby_file_management=auto

*.db_file_name_convert=‘/u01/oradata/tong/‘,‘/u01/oradata/tong/‘

*.log_file_name_convert=‘/u01/oradata/tong/‘,‘/u01/oradata/tong/‘

*.log_archive_config=‘dg_config=(tong,cheng)‘

*.log_archive_dest_1=‘LOCATION=/u01/oradata/tong/archive valid_for=(all_logfiles,all_roles) db_unique_name=cheng‘

*.log_archive_dest_2=‘service=cheng LGWR SYNC AFFIRM valid_for=(online_logfiles,all_roles) db_unique_name=cheng‘

*.log_archive_dest_state_1=‘ENABLE‘

*.log_archive_dest_state_2=‘ENABLE‘

[[email protected] dbs]$

14.启动standby库

SQL> startupnomount;

SQL> alterdatabase mount standby database;

SQL> alterdatabase add standby logfile;

SQL> alterdatabase recover managed standby database using current logfile disconnect fromsession;

15.检查standby的日志

[[email protected] dbs]$ tailf  /u01/diag/rdbms/cheng/cheng/trace/alert_cheng.log

Tue Nov 08 22:47:42 2016

SMON: enabling cache recovery

Tue Nov 08 22:47:43 2016

Dictionary check beginning

Dictionary check complete

Database Characterset is AL32UTF8

No Resource Manager plan active

replication_dependency_tracking turned off (no async multimaster replication found)

Physical standby database opened for read only access.

Completed: alter database open read only

时间: 2024-08-11 05:44:53

oracle 11g dataguard环境搭建的相关文章

Oracle 11G DataGuard生产环境重新启动详细过程

场景,重启数据库,不重启linux系统,所以不用考虑监听程序,#linux输入lsnrctl start1 数据库关闭1.1 关闭主库SHUTDOWN IMMEDIATE; SQL> SHUTDOWN IMMEDIATE;                                                                                                                                          

ORACLE 11G DataGuard的一些高级管理案例研究

搭建完了ORACLE 11G dataguard后,也做了角色切换的实验,有switchover已经failover,感觉受益颇多,而后继续研究了下dataguard的一些高级管理功能,所谓冰山一角,ORACLE果然博大精深,总结记录如下:1,ORACLE 11G dataguard的高级管理1.1.READ ONLY/WRITE模式打开物理STANDBY一般standby都是可以设置为mount状态的,于物理standby 可以有效分担primary 数据库压力,提升资源利用,实际上说的就是这

Oracle Study之案例--Oracle 11g DataGuard Snapshot Standby

Oracle Study之案例--Oracle 11g  DataGuard Snapshot Standby Oracle 11g的Data Guard不仅仅带给我们的是Active Data Guard实时查询特性,同时还带来了另外一个新特性,这便是Snapshot Standby数据库功能,此项功能可将备库置身于"可读写状态"用于不方便在生产环境主库中测试的内容,比如模拟上线测试等任务.当备库读写状态下任务完成后,可以非常轻松的完成Snapshot Standby数据库角色切换回

【转】Oracle 11g Dataguard 参数详解

转自:https://www.jb51.net/article/52269.htm 这篇文章主要介绍了Oracle 11g Dataguard参数详解,包含了独立参数.主库参数.备库参数的详细说明,需要的朋友可以参考下. 注:本文译自<Oracle Data Guard 11g Handbook> Page 78 – Page 88 就Data Guard(后面都写成DG)来说,我们只关注如下三种参数: 1.独立于数据库角色的参数2.数据库角色为primary时的参数3.数据库角色为stand

ORACLE安装之环境搭建

Oracle安装之环境搭建 一.系统外环境 1,准备好一个linux系统,ip地址为192.168.12.3, 2.系统在安装的时候要创建一个目录/u01,之前我们都是吧剩余所有空间给/根目录,这里我们指定空间给根目录10G20G就可以了,然后再手动输入/u01,把剩余的空间全部给它,如下图所示: 3,选择安装包,如下图: 查找并选择sysstat-7开头的包,然后确定, 其他的包自己不清楚的可以全部安装, 4.定义网络配置,自定义虚拟网络VMNET1,编辑 然后ip地址改一下改为192.168

Linux Oracle 11g dataguard物理standby 配置过程

这两天研究了下oracle 11g dataguard 物理standby 功能,总体来说这个功能满足公司需求,好了,不多说了,以下是详细的配置过程. 数据库的安装可以参考之前写的六步搞定Linux Oracle 11gR2 配置安装 注意:分别在主库和备库都安装上oracle软件,不装数据库. 主库: IP:192.168.77.5 主机名:nod1 ORACLE_SID=test ORACLE_BASE=/oracle/app/oracle ORACLE_HOME=/oracle/app/o

Oracle 11g dataguard三种模式以及实时查询(Real-time query)功能设置

之前我们讨论过<Linux Oracle 11g dataguard物理standby 配置过程>, 但是在实际过程中会遇到不同的问题,首先我们讨论下ORACLE DATAGUARD的三种模式, 保护最大化:这种模式的配置可以保证主库和备库的同步,任何情况下主库的损毁都不会导致已提交数据的丢失.如果主库和备库之间的网络出现问题,或者备库本身出现问题,都会导致主库停止数据处理. 可用最大化:这种模式和上面一种类似,也是会保证主库和备库的同步,区别在于,当网络或备库不可用时,主库仍然可以继续处理.

Oracle 11G DataGuard ORA-16086问题修复详细过程

1,问题描述,standby从库没有应用redo日志Tue Jul 22 09:05:07 2014RFS[8852]: Assigned to RFS process 12956RFS[8852]: Identified database type as 'physical standby': Client is ARCH pid 16028Tue Jul 22 09:05:09 2014RFS[8853]: Assigned to RFS process 12958RFS[8853]: Id

Oracle 11g Dataguard 暂停物理备库的日志传输

Oracle 11g Dataguard 暂停物理备库的日志传输分类: Oracle2017-07-18 10:03:17这两天生产端的日志产生过多导致灾备端的归档日志目录满的现象,在清除灾备端的日志后发现log_archive_dest_2处于error状态,需要将其enable.在实际生产系统中,通常有这样的场景,例如在系统维护日,对主库进行大量的业务更新,会有大量的DML操作:为了避免主库中的业务更新对备库造成影响,可以暂停主库对备库的日志传输,这样的话,如果主库的更新出现问题,备库还保留