环境

RAC+DG RAM:4G  ,OS:CENTOS7.5
HOSTNAME:RAC1: PUBLIC IP:162.168.145.244,PRIV IP:192.168.89.219,VIP:192.168.145.144,scanip:192.168.145.140
HOSTNAME:RAC2: PUBLIC IP:162.168.145.245,PRIV IP:192.168.89.220,VIP:192.168.145.145,scanip:192.168.145.140
备库(hostname:racdg): ip:192.168.145.247 
rac DB

DB_NAME=oem      db_unique_Name=oem

备库

DB_NAME=oem      db_unique_name=oem_dg

安装步骤

1.主库(也就是RAC)设置强制归档

sql> alter database force loggin

如果数据库未开启归档,通过以下的方式进行开启

查看数据库是否运行在归档模式:

sql>archive log list;

如上所示未开启归档,可按下面方法开启数据库归档

SQL> shutdown immediate    #关闭数据库

SQL> startup mount;    #启动到mount状态

SQL> alter database archivelog;    #开启归档

SQL> alterdatabase open;   #open数据库

2.主库设置参数

alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(oem,oem_dg)' scope=both sid='*';
alter system set LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST  VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=oem' scope=both sid='*';
alter system set LOG_ARCHIVE_DEST_2='SERVICE=oem_dg LGWR AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=oem_dg' scope=both sid='*';
alter system set log_archive_format='%t_%s_%r.arc' scope=spfile sid='*';
alter system set log_archive_max_processes=4 scope=both sid='*';
alter system set fal_server=oem_dg scope=both sid='*';
alter system set DB_FILE_NAME_CONVERT='/oradata/oem_dg/datafile/','+DATADG/oem/datafile/' scope=spfile sid='*';
alter system set LOG_FILE_NAME_CONVERT='/oradata/oem_dg/','+DATADG/oem/' scope=spfile sid='*';
alter system set standby_file_management=AUTO scope=both sid='*';

3.主库建立standby redolog

查看每个实例的最大日志:

select inst_id,count(1),max(bytes) from gv$log group by inst_id;

每个实例有四组log,最大50M,每个实例需要建立count+1个strandby日志,大小为最大日志大小,也就是5组50M大小的standby日志:

ASMCMD> pwd+DATADG/OEM
ASMCMD> mkdir STANDBYLOG
alter system set standby_file_management=manual scope=both sid='*';alter database add standby logfile thread 1 group 9 '+datadg/oem/standbylog/standby_group_01.log' size 52428800;
alter database add standby logfile thread 1 group 10 '+datadg/oem/standbylog/standby_group_02.log' size 52428800;
alter database add standby logfile thread 1 group 11 '+datadg/oem/standbylog/standby_group_03.log' size 52428800;
alter database add standby logfile thread 1 group 12 '+datadg/oem/standbylog/standby_group_04.log' size 52428800;
alter database add standby logfile thread 1 group 13 '+datadg/oem/standbylog/standby_group_05.log' size 52428800;alter system set standby_file_management=auto scope=both sid='*';select count(*) from v$standby_log;

4.主rman备份整个库

oracle用户下执行 rman target /进入rman,然后执行下面的命令备份

run
{sql "alter system switch logfile";allocate channel ch1 type disk format '/u01/app/oracle/backup/Primary_for_DG_%U';backup database;backup current controlfile for standby;sql "alter system archive log current";
}

5.拷贝主库rman备份文件到备份库的相同的目录下

scp /u01/app/oracle/backup/* 192.168.145.247:/u01/app/oracle/backup/

6.主库:建立standby(备库)的pfile,从primay(主)的spfile:

create pfile='/u01/app/oracle/standby_pfile.ora' from spfile;

7.主库:修改生成的pfile,作为DATAGUARD的目标库的pfile也就是备库

*.audit_file_dest='/u01/app/oracle/admin/oem_dg/adump'
*.audit_trail='db'
*.cluster_database=false
*.compatible='11.2.0.4.0'
*.control_files='/oradata/oem_dg/controlfile/control01.ctl','/oradata/oem_dg/controlfile/control02.ctl'
*.db_block_size=8192
*.db_create_file_dest='/oradata'
*.db_domain=''
*.db_file_name_convert='+DATADG/oem/datafile/','/oradata/oem_dg/datafile/'
*.db_name='oem'
*.db_unique_name='oem_dg'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=oemXDB)'
*.fal_server='OEM'
*.job_queue_processes=100
*.log_archive_config='DG_CONFIG=(oem,oem_dg)'
*.log_archive_dest_1='LOCATION=/backup/oem VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=oem_dg'
*.log_archive_dest_2='SERVICE=oem LGWR AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=oem'
*.log_archive_format='%t_%s_%r.arc'
*.log_archive_max_processes=4
*.log_buffer=10485760
*.log_file_name_convert='+DATADG/oem/','/oradata/oem_dg/'
*.memory_target=1581252608
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='exclusive'
*.session_cached_cursors=300
*.sessions=800
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'

修改了之后,传递给备库

scp /u01/app/oracle/standby_pfile.ora 192.168.145.247:/u01/app/oracle/

8.修改oracle的sys密码,保持所有主库和备份库一致:

#这里主库的ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
#从库的ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
#主库的ORACLE_SID=oem
#从库的ORACLE_SID=oem
#主库执行
scp $ORACLE_HOME/dbs/orapw$ORACLE_SID  192.168.145.247:/
#从库执行
#从库将复制过来的文件放在$ORACLE_HOME/dbs/下
mv $ORACLE_HOME/dbs/orapw$ORACLE_SID $ORACLE_HOME/dbs/orapw$ORACLE_SID.bak
#接下来将传过来的orapwoem1复制到$ORACLE_HOME/dbs/目录下并更名为orapwoem,和从库的sid保持一致,即是替换掉了原来的密码,现在使用主库的密码
#如果更换密码不成功,后面在做日志传输的时候会报错

9.主库:修改的tnsnames.ora文件,添加主库和备库的配置:

OEM =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = scanip)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = oem)))OEM_DG =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST=192.168.145.247)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = oem_dg)(SID=oem)(UR=A))
)OEM1 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST=192.168.145.244)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = oem)(SID=oem1)))OEM2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST=192.168.145.245)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = oem)(SID=oem2)))

10.建立目标库所需要的目录结构

#oracle用户下:
mkdir -p /app/oracle/admin/oem_dg/adumpmkdir -p /app/oracle/diag/rdbms/oem_dg/oem/trace/cdump
#root用户下:
#用于spfile中的.log_archive_dest_1
mkdir /backup
chown oracle:oinstall /backup
#创建oradata相关的目录,这里对应着RAC的ASM磁盘上的储存文件
mkdir -p /oradata/oem_dg/
cd /oradata/oem_dg/mkdir controlfile
mkdir datafile
mkdir onlinelog
mkdir standbylog
chown oracle:oinstall /oradata
chown oracle:oinstall /oradata/*

11.备库修改tnsnames,添加源库和目标库配置

# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration to
OEM =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST=192.168.145.140)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = oem)))OEM_DG =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST=192.168.145.247)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = oem_dg)(SID=oem))
)OEM1 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST=192.168.145.244)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = oem)(SID=oem1)))OEM2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST=192.168.145.245)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = oem)(SID=oem2)))
~

12.备库:nomount启动数据库:

export ORACLE_SID=oem
sqlplus sys as sysdba
startup nomount pfile='/u01/app/oracle/standby_pfile.ora';

13.主库端:rman建立dataguard数据库:

rman target / auxiliary sys/111111@oem_dg
#111111是密码
#rman下执行
DUPLICATE TARGET DATABASE FOR STANDBY NOFILENAMECHECK;

14.备份库创建spfile

create spfile from pfile='/u01/app/oracle/standby_pfile.ora';#关闭
shutdown immediate
#开启并挂载
startup mount

15.主库设置为最大可用模式

alter database set standby database to maximize availability;

16.目标库启用日志应用

alter database recover managed standby database  disconnect from session;

17.测试效果:

主库创建表

create table testdg as select * from user_tables;
alter system switch logfile;

备库查看相关的日志输出

tail -f /u01/app/oracle/diag/rdbms/oem_dg/oem/trace/alert_oem.log

18.检测日志输出

SELECT a.th, a.seq transfered, b.seq archived
FROM (SELECT local.thread# th, MAX (local.sequence#) seqFROM (SELECT thread#, sequence#FROM v$archived_logWHERE dest_id = 1) localWHERE local.sequence# IN(SELECT sequence#FROM v$archived_logWHERE dest_id = 2 AND thread# = local.thread#)GROUP BY local.thread#) a,(SELECT thread# th, MAX (sequence#) seqFROM v$archived_logWHERE dest_id = 1GROUP BY thread#) b
WHERE a.th = b.th
ORDER BY 1;

CentOS7.5搭建ORACLE RAC+DG相关推荐

  1. 一步一步搭建11gR2 rac+dg之DG 机器配置(七)【转】

    DG 机器配置 转自: 一步一步搭建11gR2 rac+dg之DG 机器配置(七)-lhrbest-ITPUB博客 http://blog.itpub.net/26736162/viewspace-1 ...

  2. 【Oracle RAC+DG实验】Oracle RAC+ASM+DataGuard配置实验记录+常见问题

    [Oracle RAC+DG实验]Oracle RAC+ASM+DataGuard配置实验记录+常见问题 1.环境规划: ---RAC环境介绍(primary database)            ...

  3. oracle rac多实例dg,ORACLE RAC+DG(单实例)

    ORACLE RAC+DG(单实例) 前提条件: 1.主库RAC已经成功安装,数据库也已经创建. 2.DG备库已经安装完相同版本的oracle软件,无需创建数据库. 1.RAC开启归档. 任意节点: ...

  4. ORACLE RAC+DG(单实例)

    ORACLE RAC+DG(单实例) 前提条件: 1.主库RAC已经成功安装,数据库也已经创建. 2.DG备库已经安装完相同版本的oracle软件,无需创建数据库. 1.RAC开启归档. 任意节点: ...

  5. Centos7 静默安装 Oracle RAC 11gR2

    vSphere EXSi + CentOS 7.4 静默安装 Oracle RAC (11gR2) 安装之前,先总结一下安装Oracle RAC的注意事项: 如果是在vSphere EXSi环境中搭建 ...

  6. 一步一步搭建11gR2 rac+dg之安装rac出现问题解决(六)

    一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之安装rac出现的问题 (六) 本章主要是搜集了一些安装rac的过程中出现的问题 ...

  7. 使用ESX主机环境搭建Oracle RAC

    配置共享磁盘 首先需要准备操作系统 我用的是Oracle Linux6.5的操作系统,先创建好节点1的操作系统,再将节点1的虚拟机克隆出节点2来.之后就可以配置共享磁盘了. 在节点1上另外再创建一块磁 ...

  8. CentOS7.4搭建oracle 12.2 adg

    一.环境说明 主库:实例cc,db_unique_name=cc62,ip10.128.80.62 备库:实例cc,db_unique_name=cc63,ip10.128.80.63 操作系统平台: ...

  9. ORACLE RAC+DG 硬件配置

    计划建立公司数据中心,RAC 两个节点,DG 一台服务器. 开始配置如下: IBM SERVER + IBM DS3512 System x  Config 3       已添加  4/29/201 ...

最新文章

  1. Linux中的信号处理原理
  2. 如何查看计算机里家庭组有几个,win7网络文件夹-win7家庭组共享的文件在哪儿查?win7 – 手机爱问...
  3. Android 带有字数统计的 TextInputLayout
  4. 提高C++程序运行效率的10个简单方法
  5. 文章id 文章标题点击量php,zblogphp函数:GetPost 获取指定ID/标题/别名的文章或页面数据...
  6. un3.0服务器文档,unturned3.0服务器指令是什么?
  7. matplotlib-plt.style.use
  8. 我的小站:诗词在线 http://www.chinapoesy.com 欢迎大家测试速度。特别是网通的。...
  9. Centos下 为Firefox安装Flash插件
  10. 小米手机抓取Log教程
  11. sdr 软件_将永远改变我们业余无线电爱好的SDR软件定义无线电技术
  12. 关于怎么计算某一年的第一天为周几的问题
  13. 现代控制工程(三)状态方程的解
  14. 24V转3.3V稳压芯片,低压降线性稳压器
  15. 视频教程-Linux基础入门视频课程-Linux
  16. 【大屏可视化】大屏适配公式
  17. eclipse下maven调试的技巧(Re-run Maven using the -X switch to enable full debug logging.)
  18. Gunicorn配置详解
  19. Linux上编译curl
  20. 报Warning如下: Warning: The CUDA driver must recompile the GPU librariesbecause your device is more rec

热门文章

  1. wordpress创建_如何在WordPress中轻松创建T恤店
  2. 配送交付时间轻量级预估实践-笔记
  3. UltraEdit-32的授权码
  4. cygwin构建C++中关于extra qualification 额外的限定 解决方法
  5. win10计算机临时网络设置,win10系统添加设置无线临时网络的详细教程
  6. 拼题A 2021 跨年挑战赛 7-5 整除阶乘 (15分)
  7. 电子画册宣传册制作系统源码 含搭建教程 多行业模板任意调用
  8. 技术盛宴SD2.0大会隆重开幕,现场图文直播,敬请关注!
  9. 【华人学者风采】金海 华中科技大学
  10. 前端如何引入字体包vue项目里