redhat+ oracle 11.2.0.4 RAC 搭建 dataguard

news2024/9/23 7:30:54

知识改变命运,技术就是要分享,有问题随时联系,免费答疑,欢迎联系!

redhat+ oracle 11.2.0.4 RAC 搭建 dataguard

1.安装环境

主机名

OS

DB

SID

db_name

db_unique_name

rac1

Redhat7

11.2.0.4

orcl1

orcl

orcl_rac

rac1

Redhat7

11.2.0.4

orcl2

orcl

orcl_rac

orcldg

Redhat7

11.2.0.4

orcl

orcl

orcl_dg

备注:orcl1是一套oracle RAC 集群中的一台服务器

2.安装前配置

IP地址配置

主库:192.168.2.15

备库:192.168.2.180

Oracle安装要求

主库:安装oracle 软件,并创建oracle 数据库

备库:仅安装oracle软件

安装位置

主库:/u01/app/oracle/product/11.2.0.4/db_1

备库:/u01/app/oracle/product/11.2.0.4/dbhome_1

数据库实例规划

主库:

实例名:orcl1数据库名orcl 数据库唯一名:orcl_rac

备库:

实例名:orcl数据库名 orcl 数据库唯一名:orcl_dg

Oracle Dataguard 要求主库和备库的数据库名字一样,即db_name要一样,

使用db_unique_name名字区分

3.安装过程

主库为归档模式

主库:

Select log_mode from v$database;

启用强制日志模式(mount 状态下修改)

主库:

SQL>select force_logging from v$database;

FORCE_

------

NO

SQL> shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL>startup mount;

ORACLE 例程已经启动。

Total System Global Area 1119043584 bytes

Fixed Size                  2280496 bytes

Variable Size             738198480 bytes

Database Buffers          369098752 bytes

Redo Buffers                9465856 bytes

数据库装载完毕。

SQL>alter database force logging;

数据库已更改。

SQL> alter database open;

数据库已更改。

SQL>select force_logging from v$database;

FORCE_

------

YES

Force_logging 为YES 代表数据库是强制日志模式。

配置standby 日志文件

主库:

增加standby 日志组(正常比online 日志多一组)

alter database add standby logfile thread 1 group 5 '+DATA/orcl/onlinelog/group5_01.log' size 50M;

alter database add standby logfile thread 1 group 6 '+DATA/orcl/onlinelog/group6_01.log' size 50M;

alter database add standby logfile thread 1 group 7 '+DATA/orcl/onlinelog/group7_01.log' size 50M;

alter database add standby logfile thread 2 group 8 '+DATA/orcl/onlinelog/group8_01.log' size 50M;

alter database add standby logfile thread 2 group 9 '+DATA/orcl/onlinelog/group9_01.log' size 50M;

alter database add standby logfile thread 2 group 10 '+DATA/orcl/onlinelog/group10_01.log' size 50M;

--查询standby log 命令

SELECT bytes,GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;

--删除standby 的命令

alter database drop standby logfile group 4;

配置监听(主库和备库)

使用netca配置监听。

下图是监听配置后的结果,监听正常。

主库:RAC 不用单独配置监听

备库:配置DG的时候,备份的数据库还无法open,所有要配置静态监听

/u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/listener.ora

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (GLOBAL_DBNAME = orcl_dg)

      (ORACLE_HOME = /u01/app/oracle/product/11.2.0.4/dbhome_1)

      (SID_NAME = orcl)

    )

  )

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

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

    )

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

  )

ADR_BASE_LISTENER = /u01/app/oracle/product/11.2.0.4/dbhome_1

启动监听:lsnrctl start

配置tnsnames文件(主库和备库)

ORCL_PRI  为主库的连接信息,orcl_std为备库的连接信息

/u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/tnsnames.ora

主库:

ORCL_PRI  =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVICE_NAME = orcl_rac)

    )

  )

ORCL_STD =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVICE_NAME = orcl_dg)

    )

  )

备库:

ORCL_PRI  =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVICE_NAME = orcl_rac)

    )

  )

ORCL_STD =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVICE_NAME = orcl_dg)

    )

  )

tnsping (主库和备库)

确认主库和备库是否联通

主备库:tnsping ORCL_PRI

        tnsping ORCL_STD

创建pfile并修改。

主库:

创建pfile ,修改pfile,生成spfile,并以spfile 启动数据库

alter system set  DB_UNIQUE_NAME=orcl_rac scope=spfile sid='*';

alter system set  LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl_rac,orcl_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=orcl_rac' scope=both sid='*';

alter system set LOG_ARCHIVE_DEST_2='SERVICE=orcl_std ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl_dg' scope=both sid='*';

#standby

alter system set FAL_SERVER=orcl_std scope=both sid='*';

alter system set fal_client=orcl1 scope=both sid='orcl1';

alter system set fal_client=orcl2 scope=both sid='orcl2';

alter system set DB_FILE_NAME_CONVERT='/data/oradata/','+DATA/orcl/datafile/','/data/oradata/', '+DATA/orcl/tempfile/' scope=spfile sid='*';

alter system set LOG_FILE_NAME_CONVERT='/data/oradata/','+DATA/orcl/onlinelog/' scope=spfile sid='*';

alter system set STANDBY_FILE_MANAGEMENT=AUTO scope=both sid='*';

备库:

*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'

*.audit_trail='db'

*.compatible='11.2.0.4.0'

*.control_files='/data/oradata/control01.ctl','/data/oradata/control02.ctl'

*.db_create_file_dest='/u01/app/oracle/oradata'

*.db_name='orcl'

*.diagnostic_dest='/u01/app/oracle'

*.db_recovery_file_dest='/data/oradata/fast_recovery_area'

*.db_recovery_file_dest_size=462107443200

*.undo_tablespace='UNDOTBS1'

*.open_cursors=300

*.pga_aggregate_target=200M

*.processes=1500

*.sessions=1655

*.sga_target=420M

*.db_unique_name='orcl_dg'

*.log_archive_config='DG_CONFIG=(orcl_dg,orcl_rac)'

*.log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DEST valid_for=(all_logfiles,all_roles) db_unique_name=orcl_dg'

*.log_archive_dest_2='SERVICE=orcl_pri ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl_pri'

*.log_file_name_convert='+DATA/orcl/onlinelog/','/data/oradata/'

*.db_file_name_convert='+DATA/orcl/datafile/','/data/oradata/','+DATA/orcl/tempfile/','/data/oradata/'

*.fal_client='ORCL_STD'

*.fal_server='ORCL1,ORCL2'

*.standby_file_management='AUTO'

创建相应的路径:

mkdir -p /u01/app/oracle/admin/orcl/adump

mkdir -p /data/oradata/

mkdir -p /u01/app/oracle

mkdir -p /data/oradata/fast_recovery_area

配置密码文件

将主库A的密码文件复制到备库和 主库B

scp orapworcl1 192.168.2.180:/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs

mv orapworcl1 orapworcl

scp orapworcl1 192.168.2.14:/u01/app/oracle/product/11.2.0.4/db_1/dbs

备库创建spfile ,并启动到nomount

export ORACLE_SID=orcl

Sql> create spfile from pfile='/tmp/pfile.txt';

使用RMAN连接主备库,复制数据

主库:使用RMAN 复制主库的控制文件和数据文件到备库

rman target sys/oracle@orcl_pri auxiliary sys/oracle@orcl_std

RMAN> duplicate target database for standby from active database nofilenamecheck dorecover;

打开备库,并开始同步数据

备库:

Alter database open read only;

alter database recover managed standby database using current logfile disconnect from session;

4.同步数据测试

主库:创建表

SQL> Create table t_test as select * from dba_users;

Table created.

SQL> Select count(1) from t_test;

  COUNT(1)

----------

       35

备库:

SQL> Select count(1) from t_test;

  COUNT(1)

----------

       35

主库的数据已经同步到备库。

切换测试

主库:

查看状态

SELECT DATABASE_ROLE, DB_UNIQUE_NAME INSTANCE, OPEN_MODE,PROTECTION_MODE, PROTECTION_LEVEL, SWITCHOVER_STATUS FROM V$DATABASE;

执行切换命令

alter database commit to switchover to physical standby WITH SESSION SHUTDOWN;

只读方式打开数据库

startup mount ;

alter database open read only;

开始应用日志

alter database recover managed standby database using current logfile disconnect from session;

备库:

查看状态

SELECT DATABASE_ROLE, DB_UNIQUE_NAME INSTANCE, OPEN_MODE,PROTECTION_MODE, PROTECTION_LEVEL, SWITCHOVER_STATUS FROM V$DATABASE;

切换为主模式

shutdown immediate;

startup mount;

将数据库切换为主库:

alter database commit to switchover to primary;

查看数据库角色:

SELECT DATABASE_ROLE, DB_UNIQUE_NAME INSTANCE, OPEN_MODE,PROTECTION_MODE, PROTECTION_LEVEL, SWITCHOVER_STATUS FROM V$DATABASE;

打开数据库

alter database open;

数据同步测试

主库:

备库:

数据正常同步

6.DG常用管理命令

停止Standby

select process, status from v$managed_standby; --查看备库是否在应用日志进行恢复

alter database recover managed standby database cancel;

shutdown immediate;

切换到只读模式

-----由shutdown模式切换到只读模式-------

startup nomount;

alter database mount standby database;

alter database open read only;

-----由应用日志模式切换到只读模式-------

alter database recover managed standby database cancel; -- 取消日志应用

alter database open read only;

切换回管理恢复模式

startup nomount;

alter database mount standby database;

alter database recover managed standby database disconnect from session; -- 启动归档日志应用

or

alter database recover managed standby database using current logfile disconnect from session; -- 启动实时日志应用

主库和备库之间角色切换

6.4.1 主库切换为备库

alter database commit to switchover to physical standby;

alter database commit to switchover to physical standby with session shutdown;-- 主库有会话连接的时候

shutdown immediate

startup ;

alter database recover managed standby database disconnect from session;

or

alter database recover managed standby database using current logfile disconnect from session;

6.4.2 从库切换为主库

alter database commit to switchover to primary;

shutdown immediate;

startup;

alter system switch logfile;

备库自动使用主库传过来的日志进行恢复

alter database recover automatic standby database;

更改保护模式

alter database set standby database to maximize protection;

alter database set standby database to maximize availability;

alter database set standby database to maximize performancen;

查看备库日志应用

set linesize 200

col name format a100

select sequence#,name,applied from v$archived_log;

查看数据库角色

select database_role, protection_mode, protection_level from v$database;

常用切换步骤

正常切换

主库和备库之间角色切换

主库切换为备库

alter database commit to switchover to physical standby;

alter database commit to switchover to physical standby with session shutdown;-- 主库有会话连接的时候

shutdown immediate

startup ;

alter database recover managed standby database disconnect from session;

or

alter database recover managed standby database using current logfile disconnect from session;

从库切换为主库

alter database commit to switchover to primary;

shutdown immediate;

startup;

alter system switch logfile;

故障切换

停止应用恢复模式

alter database recover managed standby database finish;

转换standbydb为primary db

alter database commit to switchover to primary;

重启数据库,恢复正常业务

shutdown immediate

startup

最大性能切换为最大保护

1:备库停止日志应用

alter database recover managed standby database cancel;

2:主库重启到mount

shutdown immediate;

startup mount;

alter system set log_archive_dest_2='SERVICE=orcl_dgtd lgwr sync valid_for=(online_logfiles,primary_role) db_unique_name=orcl_dgtandby'

3:主库,备库操作更改为最大保护

alter database set standby database to maximize PROTECTION;

alter database open;

4:备库开始应用日志

alter database recover managed standby database using current logfile disconnect from session;

最大保护切换为最大性能

1:备库取消日志应用

备库:

alter database recover managed standby database cancel;

2:主库调整模式

主库:

alter database set standby database to maximize performance;

3:备库开始日志应用

alter database recover managed standby database using current logfile disconnect from session;

4:查看数据库角色(主备)

select database_role, protection_mode, protection_level from v$database;

最大保护切换为最大可用

1:备库取消日志应用

备库:

alter database recover managed standby database cancel;

2:主库调整模式

主库:

alter database set standby database to maximize availability;

3:备库开始日志应用

alter database recover managed standby database using current logfile disconnect from session;

4:查看数据库角色(主备)

select database_role, protection_mode, protection_level from v$database;

最大可用切换为最大保护

1:备库停止日志应用

alter database recover managed standby database cancel;

2:主库,备库操作更改为最大保护

alter database set standby database to maximize PROTECTION;

3:备库开始应用日志

alter database recover managed standby database using current logfile disconnect from session;

联系我们

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1369149.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

用React给XXL-JOB开发一个新皮肤(一):环境搭建和项目初始化

目录 一. 简述二. Fork 项目三. 搭建开发环境四. 初始化皮肤项目五. 添加相关依赖六. 预览 一. 简述 大名鼎鼎的 xxl-job 任务调度中心我们应该都使用过,项目地址:xxl-job。它是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单…

XREAL推出其新款AR眼镜:XREAL Air 2 Ultra,体量轻内置音效

这款眼镜堪称科技的杰作,它以钛合金为框架,尽显轻盈与精致。配备的双3D环境传感器,宛如双眼般敏锐,能精准捕捉头部运动,让你在虚拟与现实间自由穿梭。120Hz的超高刷新率与500尼特的亮度,让你在4米之外感受1…

tcp/ip协议2实现的插图,数据结构6 (24 - 章)

(142) 142 二四1 TCP传输控制协议 tcpstat统计量与tcp 函数调用链 (143) 143 二四2 TCP传输控制协议 宏定义与常量值–上 (144) 144 二四3 TCP传输控制协议 宏定义与常量值–下 (145) 145 二四4 TCP传输控制协议 结构tcphdr,tcpiphdr (146) 146 二四5 TCP传输控制协议 结构 tcp…

服务端性能测试——性能测试体系

目录: 1.性能测试介绍 性能测试介绍性能体系:性能测试与分析优化:行业流行性能压测工具介绍行业流行性能监控工具介绍行业流行性能剖析工具介绍性能测试流程与方法性能测试计划 计划:DAU,PV(perday),订单量…

混淆技术概论

混淆技术概论 引言 在逆向工程领域,混淆技术是一种非常重要的技术手段,通过打破人们的思维惯性,使得逆向分析变得更加困难。本文将会介绍混淆技术的概念、分类及其应用,以及如何使用IPA Guard进行iOS IPA重签名。 混淆技术概述…

2024 运维监控方案解读

WGCLOUD监控系统是一款免费开源的运维工具,具有部署简单,上手容易,轻量高效,性能突出,对新手友好,安全稳定,私有化部署等特点 1、WGCLOUD可以监控大部分的主机和服务器,比如Linux、…

Java索引优先队列设计思路与实现

Java 学习面试指南:https://javaxiaobear.cn 1、实现思路 存储数据时,给每一个数据元素关联一个整数,例如insert(int k,T t),我们可以看做k是t关联的整数,那么我们的实现需要通过k这个值,快速获取到队列中t这个元素&a…

加速科技ST2500 数模混合信号测试设备累计装机量突破500台!

国产数字机,测试中国芯!新年伊始,国产半导体测试设备领军企业加速科技迎来了振奋人心的一刻,ST2500 数模混合信号测试设备累计装机量突破500台!加速科技凭借其持续的创新能力、完善的解决方案能力、专业热忱的本地化服…

【记录】一次内存泄漏造成的内存溢出

记录一下这个问题,前一阵子同事离职了,接手了他的一个项目,然后测试同事说程序连续运行半天就会崩溃,看了下crash文件的关键信息是最后oom了,oom上面的log是logutils写日志,以为是频繁的日志写造成的内存溢…

js viewer 图片浏览器

示例1 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title></title></head><script src"js/viewer.min.js"></script><link rel"stylesheet" href"css/viewer.min.css…

<Python>PyQt5中UI界面和逻辑函数分开写的一种方式

前言 如果经常使用PyQt5这种模块来编写带UI界面的程序&#xff0c;那么很自然的就会涉及到&#xff0c;一旦程序比较大&#xff0c;UI控件多的时候&#xff0c;需要将UI和逻辑程序分离&#xff0c;这样方便管理&#xff0c;也方便维护。 配置&#xff1a; 平台&#xff1a;win…

工程监测中振弦采集仪的数据处理方法研究

工程监测中振弦采集仪的数据处理方法研究 工程监测中振弦采集仪的数据处理方法研究是针对振弦采集仪所采集到的数据进行分析和处理&#xff0c;以获得需要的监测信息和结构响应。以下是一种常见的数据处理方法&#xff1a; 1. 数据清洗: 首先对采集到的原始数据进行清洗&#…

python爬取豆瓣影评,涉及知识点:bs4,requests、time、random

页面源代码: <!DOCTYPE html> <html lang="zh-CN" class="ua-windows ua-webkit"> <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="renderer" conten…

Low Poly Cartoon House Interiors

400个独特的低多边形预制件的集合,可以轻松创建高质量的室内场景。所有模型都已准备好放入场景中,并使用一个纹理创建,以提高性能!包含演示场景! 模型分类: - 墙壁(79件) - 地板(28块) - 浴室(33个) - 厨房(36件) - 厨房道具(68件) - 房间道具(85件) - 灯具(…

【HarmonyOS4.0】第四篇-ArkUI基础实战

一、ArkUI框架简介 ArkUI开发框架是方舟开发框架的简称&#xff0c;它是一套构建 HarmonyOS / OpenHarmony 应用界面的声明式UI开发框架&#xff0c;它使用极简的UI信息语法、丰富的UI组件以及实时界面语言工具&#xff0c;帮助开发者提升应用界面开发效率 30%&#xff0c;开发…

Uibot (RPA设计软件)培训前期准备指南————课前材料三

(本博客中会有部分课程ppt截屏,如有侵权请及请及时与小北我取得联系~&#xff09; 紧接着小北的前两篇博客&#xff0c;友友们我们即将开展新课的学习~RPA 培训前期准备指南——安装Uibot(RPA设计软件&#xff09;-CSDN博客https://blog.csdn.net/Zhiyilang/article/details/1…

2024-01-09 Android.mk 根据c文件名插入特定的宏定义,我这里用于定义log LOG_TAG 标签

一、在Android的构建系统中&#xff0c;使用Android.mk构建脚本可以根据特定需求来定义宏。如果你想根据C文件的名称来插入特定的宏定义&#xff0c;可以使用条件语句检查文件名&#xff0c;并相应地设置宏。 在Android的构建系统中&#xff0c;使用Android.mk构建脚本可以根据…

灵活使用Redis高可用

1 Redis高可用 1.1 Redis的高可用方式 主从复制&#xff1a; 主从复制时高可用Redis的基础&#xff0c;哨兵和集群都是在主从复制的基础上实现高可用。主从复制主要实现了数据的多机备份&#xff0c;以及对于读操作的负载均衡和简单的故障恢复。缺陷&#xff1a;复制恢复无法…

期货日数据维护与使用_日数据维护_主力合约计算逻辑

目录 主力合约换月规则&#xff08;文化财经&#xff09; 主力合约计算逻辑 数据准备 代码 ​下载 主力合约换月规则&#xff08;文化财经&#xff09; 主力合约计算逻辑 数据准备 本文以沪银为例&#xff0c;将沪银所有日数据文件放入一个文件夹中&#xff0c;文件名命…

OBD汽车

相当于客户端与服务器 诊断设备流程 》》》》诊断服务 OBD很多的定死了 Vme就很灵活 WWH 就是两个的结合 OBD15031 SID PID 可以自己定义一些 一个字节255个 两个有效字节 02 01 0D 5555&#xff08;随机值&#xff09;这是请求 两个有效字节 01 OD&#xff08;请求速…