初步了解Oracle DG

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 初步了解Oracle DG

一、什么是dg

DG是由一个生产数据库和一个或多个(最多9个)备用数据库构成。

 生产库通常叫做主库,其他备用数据库叫做standby数据库

 standby库可以通过Oracle Net连接并可以分布在不同地理位置。

 当主库出现计划和非计划宕机时,任何一个备用数据库切换为生产数据库角色,从而最小化中断引起的宕机时间。

二、物理备库

基于块对块的与主数据库一致的数据库结构,提供主数据库的完全一致的物理拷贝。

物理备库和主数据库之间通过redo apply保持同步,接受到主库的redo后,以recover模式应用到备库

物理备库只能在mount下应用redo,open模式也只能选择read only。

一旦以read write打开,则备库损坏。

三、开启关闭DG

开启 DG

启动备库(mount)——启动主库(open)——启动备库日志同步

具体操作

登录备库:$lsnrctl    start

SQL>startup mount;

登录主库:$lsnrctl    start

SQL>startup

登录备库:

SQL> alter database recover managed standby database disconnect from session;

关闭 DG(请确保应用程序已经断开数据库连接或关闭)

关闭备库日志同步——关闭主库——关闭备库

具体操作

登录备库:

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

登录主库:

SQL>shutdown  immediate

$lsnrctl  stop

登录备库

SQL>shutdown  immediate

$lsnrctl  stop

四、如何查看备库是否应用日志

主库检查

SQL>  SELECT  SEQUENCE#,  FIRST_TIME,  NEXT_TIME  FROM  V$ARCHIVED_LOG  ORDER  BY

SEQUENCE#;

查询结果如下

SEQUENCE#      FIRST_TIM    NEXT_TIME

-----------------------------------------------------------------------

14      05-JAN-17    05-JAN-17

14    05-JAN-17    05-JAN-17

15    05-JAN-17    05-JAN-17

05-JAN-17    05-JAN-17

备库检查

SQL>  SELECT  SEQUENCE#,  FIRST_TIME,  NEXT_TIME  FROM  V$ARCHIVED_LOG  ORDER  BY

SEQUENCE#;

查询结果如下

SEQUENCE#      FIRST_TIM    NEXT_TIME

--------------------------------------------------------------------

14            05-JAN-17    05-JAN-17

15            05-JAN-17    05-JAN-17

检查日志是否被备库使用(APPLIED 值为 yes)

SQL>  SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

SEQUENCE#    APPLIED

--------------------------------------------------------

12              YES

13              YES

14                YES

15              YES

三种模式:

   最大保护模式:主库的每个事物的redo日志必须在本地和备库上都写入日志文件后才能提交,如果不能写入到备库,主库则会自动关闭(挂起)以防止数据库丢失。

     最大可用性:主库每个事务的redo要写到本地和备库中才能提交。但与最大保护不同,如果写入失败,主库不会自动关闭。这时候主库会转换为最大性能模式,等待问题解决并且备库再次和主库同步之后,,主库则会自动转换回最大可用性。

     最大性能:为缺省模式,侧重对主库的可用性不造成任何影响。主库上的事务redo只要写到本地日志文件就可以提交,不必等到备库的传递完成。

五、dg迁移数据文件(严格按照步骤)

主库:

1、shutdown immediate;(第二步)

2、cp ’数据文件旧路径‘ 到 ‘数据文件新路径’(第三步)

3、startup mount;(第四步)

4、alter database rename file '数据文件旧路径' to '数据文件新路径';(第五步)

5、alter database open;(第十步)

备库:

1、ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;  (第一步)

2、alter system set standby_file_management=manual; (第六步)

3、cp '数据文件旧路径' 到 '数据文件新路径'(第七步)

4、alter database rename file '数据文件旧路径' to '数据文件新路径';(第八步)

5、alter system set standby_file_management=auto;(第九步)

6、alter database recover managed standby database disconnect from session;(第十一步)

六、删除归档日志

查看日志应用到哪里(备库查看)

select sequence#,applied from v$archived_log order by sequence#;(主备都要查)

类似这样:

SQL>  SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

SEQUENCE#    APPLIED

--------------------------------------------------------

12              YES

13              YES

14                YES

15              YES

主库这样表示日志应用到15这个,如果后面为no表示没有应用,则不能删除

rman terget /

crosscheck archivelog all;    (校验日志的可用性)

delete archvielog until sequence 15; (删除日志序列号15前包括15的所有日志)

七、删除归档日志

查看日志应用到哪里(备库查看)

select sequence#,applied from v$archived_log order by sequence#;(主备都要查)

类似这样:

SQL>  SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

SEQUENCE#    APPLIED

--------------------------------------------------------

12              YES

13              YES

14                YES

15              YES

主库这样表示日志应用到15这个,如果后面为no表示没有应用,则不能删除

rman terget /

crosscheck archivelog all;    (校验日志的可用性)

delete archvielog until sequence 15; (删除日志序列号15前包括15的所有日志)

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6月前
|
Oracle 安全 关系型数据库
Oracle数据守卫(DG):数据的“守护者”与“时光机”
【4月更文挑战第19天】Oracle Data Guard保障数据安全,通过实时维护备库实现故障切换,保证业务连续性。它使用日志传输和应用保持数据同步,如同“时光机”,借助闪回技术能恢复误操作数据。此外,它还提供数据压缩、加密和故障转移等功能,提升数据库安全性与性能。作为数据管理员,理解并善用Data Guard是确保企业数据安全的关键。
|
Oracle 关系型数据库
Oracle 物理 DG 转 ADG 步骤
DataGuard 物理备库,正常为 mount 状态,如果想要进行查询,需要转为 ADG,即 read only 状态!
Oracle 物理 DG 转 ADG 步骤
|
运维 Oracle 安全
Oracle运维笔记之DG主备切换后的细节修改
Oracle运维笔记之DG主备切换后的细节修改
1005 0
Oracle运维笔记之DG主备切换后的细节修改
|
运维 网络协议 Oracle
Oracle运维笔记之通过duplicate创建DG时遇到的ORA-12528问题
Oracle运维笔记之通过duplicate创建DG时遇到的ORA-12528问题
1177 0
Oracle运维笔记之通过duplicate创建DG时遇到的ORA-12528问题
|
SQL Oracle 关系型数据库