CentOS7.5搭建ORACLE RAC+DG
环境
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相关推荐
- 一步一步搭建11gR2 rac+dg之DG 机器配置(七)【转】
DG 机器配置 转自: 一步一步搭建11gR2 rac+dg之DG 机器配置(七)-lhrbest-ITPUB博客 http://blog.itpub.net/26736162/viewspace-1 ...
- 【Oracle RAC+DG实验】Oracle RAC+ASM+DataGuard配置实验记录+常见问题
[Oracle RAC+DG实验]Oracle RAC+ASM+DataGuard配置实验记录+常见问题 1.环境规划: ---RAC环境介绍(primary database) ...
- oracle rac多实例dg,ORACLE RAC+DG(单实例)
ORACLE RAC+DG(单实例) 前提条件: 1.主库RAC已经成功安装,数据库也已经创建. 2.DG备库已经安装完相同版本的oracle软件,无需创建数据库. 1.RAC开启归档. 任意节点: ...
- ORACLE RAC+DG(单实例)
ORACLE RAC+DG(单实例) 前提条件: 1.主库RAC已经成功安装,数据库也已经创建. 2.DG备库已经安装完相同版本的oracle软件,无需创建数据库. 1.RAC开启归档. 任意节点: ...
- Centos7 静默安装 Oracle RAC 11gR2
vSphere EXSi + CentOS 7.4 静默安装 Oracle RAC (11gR2) 安装之前,先总结一下安装Oracle RAC的注意事项: 如果是在vSphere EXSi环境中搭建 ...
- 一步一步搭建11gR2 rac+dg之安装rac出现问题解决(六)
一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之安装rac出现的问题 (六) 本章主要是搜集了一些安装rac的过程中出现的问题 ...
- 使用ESX主机环境搭建Oracle RAC
配置共享磁盘 首先需要准备操作系统 我用的是Oracle Linux6.5的操作系统,先创建好节点1的操作系统,再将节点1的虚拟机克隆出节点2来.之后就可以配置共享磁盘了. 在节点1上另外再创建一块磁 ...
- CentOS7.4搭建oracle 12.2 adg
一.环境说明 主库:实例cc,db_unique_name=cc62,ip10.128.80.62 备库:实例cc,db_unique_name=cc63,ip10.128.80.63 操作系统平台: ...
- ORACLE RAC+DG 硬件配置
计划建立公司数据中心,RAC 两个节点,DG 一台服务器. 开始配置如下: IBM SERVER + IBM DS3512 System x Config 3 已添加 4/29/201 ...
最新文章
- Linux中的信号处理原理
- 如何查看计算机里家庭组有几个,win7网络文件夹-win7家庭组共享的文件在哪儿查?win7 – 手机爱问...
- Android 带有字数统计的 TextInputLayout
- 提高C++程序运行效率的10个简单方法
- 文章id 文章标题点击量php,zblogphp函数:GetPost 获取指定ID/标题/别名的文章或页面数据...
- un3.0服务器文档,unturned3.0服务器指令是什么?
- matplotlib-plt.style.use
- 我的小站:诗词在线 http://www.chinapoesy.com 欢迎大家测试速度。特别是网通的。...
- Centos下 为Firefox安装Flash插件
- 小米手机抓取Log教程
- sdr 软件_将永远改变我们业余无线电爱好的SDR软件定义无线电技术
- 关于怎么计算某一年的第一天为周几的问题
- 现代控制工程(三)状态方程的解
- 24V转3.3V稳压芯片,低压降线性稳压器
- 视频教程-Linux基础入门视频课程-Linux
- 【大屏可视化】大屏适配公式
- eclipse下maven调试的技巧(Re-run Maven using the -X switch to enable full debug logging.)
- Gunicorn配置详解
- Linux上编译curl
- 报Warning如下: Warning: The CUDA driver must recompile the GPU librariesbecause your device is more rec
热门文章
- wordpress创建_如何在WordPress中轻松创建T恤店
- 配送交付时间轻量级预估实践-笔记
- UltraEdit-32的授权码
- cygwin构建C++中关于extra qualification 额外的限定 解决方法
- win10计算机临时网络设置,win10系统添加设置无线临时网络的详细教程
- 拼题A 2021 跨年挑战赛 7-5 整除阶乘 (15分)
- 电子画册宣传册制作系统源码 含搭建教程 多行业模板任意调用
- 技术盛宴SD2.0大会隆重开幕,现场图文直播,敬请关注!
- 【华人学者风采】金海 华中科技大学
- 前端如何引入字体包vue项目里