oracle RAC + DG高可用部署

先从上一篇容灾看起,先安装单实例dg,所以主库一些前置操作在上一篇完成了

http://t.csdnimg.cn/ududM

要求

操作系统:Oracle Linux 7.6x86_64

数据库架构:Oracle 19c RAC+dataguard

源数据库:Oracle19c RAC(itpuxdb)

源库库IP :192.168.238.10/11/12

目标库IP:192.168.238.13  (备库)

oracle数据库运行环境准备

1.准备4台主机  (3RAC)

2.安装4个Linux系统

3.下载Oracle19c版本

oracle19c DG环境准备过程

配置hosts

echo "192.168.238.10        p19c01">>/etc/hosts

echo "192.168.238.11        p19c02">>/etc/hosts

echo "192.168.238.12        p19c03">>/etc/hosts

echo "192.168.238.13        p19c04">>/etc/hosts

关闭防火墙

systemctl stop firewalld.service

systemctl disable firewalld.service

配置目录

umount /oracle

mkdir /opt/oracle

mount /dev/sad3 /opt/oracle

vi /etc/fstab
mount /dev/sda3 /opt/oracle xfs defaults        0 0

配置yum环境

最好网上搜一下yum网络源配置

http://t.csdnimg.cn/0QAbA(链接)

这个视频学的

mkdir /mnt/linux

mount /dev/cdrom /mnt/linux

cd /etc/yum.repos.d
mkdir bk
mv *.repo bk/
echo "[EL]">>/etc/yum.repos.d/itpux.repo

echo "name =Linux7.xDVD">>/etc/yum.repos.d/itpux.repo

echo "baseurl=file:///mnt/linux">>/etc/yum.repos.d/itpux.repo

echo "gpgcheck=0">>/etc/yum.repos.d/itpux.repoecho "enabled=1">>/etc/yum.repos.d/itpux.repo

cat /etc/yum.repos.d/itpux.repo

准备预先先安装的包:

rpm -ivh oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

Oracle Linux 7 (x86_64) Latest | Oracle, Software. Hardware. Complete.(下载连接)

根据提示安装所需要的包:

yum -y install compat-libstdc++-33 ksh libaio-devel

修改密码

passwd oracle

手工目录授权

chown -R oracle:oinstall /opt/oracle

chmod -R 775 /opt/oracle

安装oracle-database-server:

rpm -ivh oracle-database-ee-19c-1.0-1.x86_64.rpm

检查环境:

su-oracle

ps -ef|grep smon

echo $ORACLE HOME

Isnrctl status

环境变量配置:

su - oralce

echo "export LANG=en_US" >> ~/.bash_prefile

echo "export ORACLE_BASE=/opt/oracle" >> ~/.bash_prefile

echo "export ORACLE_HOEM=$ORACLE_BASE/product/19c/dbhome_1" >> ~/.bash_prefile

echo "export ORACLE_UNQNAME=itpuxdg" >> ~/.bash_prefile

echo "export ORACLE_SID=itpuxdb1" >> ~/.bash_prefile

echo "export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG" >> ~/.bash_prefile

echo "exoprt PATH=.:$PATH:$HOME:/bin:$ORACLE_HOME/bin" >> ~/.bash_prefile

source ~/.bash_profile

env |grep ORACLE

准备备库监听配置(70)

vi /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora

LISTNER = 

  (DESCRIPTION_LIST =

     (DESCRIPTION =

        (ADDRESS = (PROTOCOL = TCP)(HOST = 备库主机名)(PORT = 1521)

        (ADDRESS = (PROTOCOL = TCP)(KEY = EXTPROC1521)

      )

SID_LIST_LISTENER=

    (SID_LIST =

                        (SID_DESC =

                (GLOBAL_DBNAME = itpuxdg)

                (SID_NAME = itpuxdg)

                (ORACLE_HOME = /opt/oracle/product/19c/dbhome_1)

               )

        )
 

oracle19c RAC DG 创建过程

主库配置

01.enable force logging

alter database force logging;

  

02.enable archivelog mode

alter system set cluster_database=false scope=spfile

alter system set db_recovery_file_dest_size=10g;

alter system set db_recovery_file_dest='+data';

startup mount;

alter database archivelog;

alter system set cluster_database=true scope=spfile

alter database open;
 

03.create standby redolog

alter database add standby logfile thread 1 group 5 '+data' size 200M;

alter database add standby logfile thread 1 group 6 '+data' size 200M;

alter database add standby logfile thread 1 group 7 '+data' size 200M;

alter database add standby logfile thread 1 group 8 '+data' size 200M;

alter database add standby logfile thread 1 group 9 '+data' size 200M;


alter database add standby logfile thread 2 group 10 '+data' size 200M;

alter database add standby logfile thread 2 group 11 '+data' size 200M;

alter database add standby logfile thread 2 group 12 '+data' size 200M;

alter database add standby logfile thread 2 group 13 '+data' size 200M;

alter database add standby logfile thread 2 group 14'+data' size 200M;

主备库监听tnsnames.ora:

vi /opt/oracle/product/19c/dbhome_1/network/admin/tnsnames.ora

itpuxdb = 

  (DESCRIPTION = 

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

        (CONNECT_DATA = 

          (SERVER = DEDICATED)

          (SERVER_NAME = itpuxdb)

        )

   )

备库

itpuxdg = 

  (DESCRIPTION = 

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

        (CONNECT_DATA = 

          (SERVER = DEDICATED)

          (SERVER_NAME = itpuxdg)

        )

   )

准备备库密码文件

cd /opt/oracle/product/19c/dbhome_1/dbs

orapwd FILE=orapwitpuxdg password=ITPUX-123 FORMAT=12.2

登录

sqlplus "sys/ITPUX-123@itpuxdg as sysdba"

主库

create pfile='/opt/oracle/pfile.ora' from spfile;

主库参数(重启生效)(itpuxdb主库  itpuxdg备库)

alter system set db_unique_name='itpuxdb' scope=spfile;

alter system set LOG_ARCHIVE_CONFIG='DG _CONFIG=(itpuxdb,itpuxdg)’scope=both;

alter system set LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST

VALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=itpuxdb' scope=both;

alter system set LOG_ARCHIVE_DEST_2='SERVICE=itpuxdg LGWR ASYNC

VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=itpuxdgscope=both;

alter system set fal_client='itpuxdb' scope=both;

alter system set FAL_SERVER='itpuxdg' scope=both;

alter system set DB_FILE_NAME_CONVERT='/opt/oracle/oradata/ITPUXDG','+data/itpuxdb' scope=spfile sid='*';
alter system set LOG_FILE_NAME_CONVERT='/opt/oracle/oradata/ITPUXDG','+data/itpuxdb' scope=spfile sid='*';
 

alter system set standby_file_management=AUTO scope=both;

备库参数

db_unique _name='itpuxdg'

LOG_ARCHIVE_CONFIG='DG CONFIG=(itpuxdg,itpuxdb)'

LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST

VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=itpuxdg

LOG_ARCHIVE_DEST_2='SERVICE=itpuxdb LGWR ASYNC

VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE _NAME=itpuxdb

fal_client='itpuxdg'

FAL_SERVER='itpuxdb'

DB_FILE_NAME_CONVERT='+data/itpuxdb','/opt/oracle/oradata/ITPUXDG'

LOG_FILE_NAME_CONVERT='+data/itpuxdb',"/opt/oracle/oradata/ITPUXDG

standby_file_management=AUTO

db_recovery_file_dest_size=10737418240

db_recovery file_dest='/opt/oracle'

oracle19c RAC DG创建过程

mkdir -p /opt/oracle/app/oracle/admin/itpuxdg/adump

mkdir -p /opt/oracle/oradata/ITPUXDG

mkdir -p /opt/oracle/oradata/ITPUXDG/datafile

mkdir -p /opt/oracle/oradata/ITPUXDG/onlinelog

mkdir -p /opt/oracle/oradata/ITPUXDG/tempfile

启动到nomunt;

sqlplus "sys/ITPUX-123@itpuxdg as sysdba"

startup pfile='/opt/oracle/pfile.ora' nomount;

create spfile from pfile='/opt/oracle/pfile.ora';

shutdown immediate;

startup nomount;

创建dataguard数据库

rman target sys/ITPUX-123@itpuxdb auxiliary sys/ITPUX-123@itpuxdgduplicate target database for standby from active database;

检查测试

检查dataguard状态:

select NAME,OPEN_MODE,PROTECTION_MODE,DATABASE_ROLE,SWITCHOVER_STATUS

from v$database;

启动dataguard数据同步

sqlplus "/as sysdba"
alter database recover managed standby database disconnect from session

关闭dataguard数据同步:

alter database recover managed standby database cancel;

启动adg模式的备库

alter database open;
alter database recover managed standby database disconnect from session;

主库测试:

alter system switch logfile;

主备库检查dataguard状态:

SELECT UNIQUE THREAD#, MAX(SEQUENCE#) OVER(PARTITION BY THREAD#) LAST
FROM V$ARCHIVED_LOG;

dataguard数据同步测试

主库:

create tablespace fgedu66 datafile '+data' size 10m autoextend off;

create user fgedu66 identified by fgedu66 default tablespace fgedu66;

grant dba to fgedu66;

conn fgedu66/fgedu66

create table fgedu66.itpux01(c1 varchar2(10),c2 number);

insert into itpux01 values('itpux01','1');

insert into itpux01 values('itpux02','2');

commit;

select * from fgedu66.itpux01;

alter system switch logfile;

备库检查:

select *from fgedu66.itpux01;

检查dataguard状态:

SELECT UNIQUE THREAD#, MAX(SEQUENCE#) OVER(PARTITION BY THREAD#) LAST
FROM V$ARCHIVED_LOG;

检查dataguard日志

tail -100f /opt/oracle/diag/rdbms/itpuxdg/itpuxdb/trace/alert _itpuxdg.log

tail -100f /opt/oracle/app/oracle/diag/rdbms/itpuxdb/itpuxdb1/trace/alert _itpuxdb1.log

  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值