oracle dg 维护常用操作和调优
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,1、查看备库状态SQL> select open_mode,database_role,db_unique_name from v$database;2、将备库置与应用日志模式状态SQL> alter
千家信息网最后更新 2024年09月22日oracle dg 维护常用操作和调优1、查看备库状态
SQL> select open_mode,database_role,db_unique_name from v$database;
2、将备库置与应用日志模式状态
SQL> alter database recover managed standby database using current logfile disconnect from session;
3、取消备库的自动恢复
SQL> alter database recover managed standby database cancel;
4、打开实时应用状态模式
SQL> alter database recover managed standby database using current logfile disconnect;
4、查看日志应用到哪个组
SQL> select max(SEQUENCE#) from v$archived_log where applied='YES'
5.主库和备库之间角色切换
5.1 主库切换为备库
alter database commit to switchover to physical standby;
alter database commit to switchover to physical standby with session shutdown;-- 主库有会话连接的时候
shutdown immediate
startup nomount;
alter database mount standby database;
alter database recover managed standby database disconnect from session;
5.2 从库切换为主库
alter database commit to switchover to primary;
shutdown immediate;
startup
alter system switch logfile;
6.备库自动使用主库传过来的日志进行恢复
alter database recover automatic standby database;
有时standby中断一段时间后起来,开启应用日志模式无法正常从归档日志恢复,需要执行这个指令应用归档日志等应用到最近的一个归档日志后再开启应用日志模式
7.更改保护模式
alter database set standby database to maximize protection;
alter database set standby database to maximize availability;
alter database set standby database to maximize performancen;
恢复进度相关的 v$视图应用示例
1、查看进程的活动状况---v$managed_standby
SQL> select process,client_process,sequence#,status from v$managed_standby;
2、确认 redo 应用进度---v$archive_dest_status
SQL> select dest_name,archived_thread#,archived_seq#,applied_thread#,applied_seq#,db_unique_name from v$archive_dest_status where status='VALID';
3、检查归档文件路径及创建信息---v$archived_log
SQL> select name,creator,sequence#,applied,completion_time from v$archived_log;
4、查询归档历史---v$log_history
SQL> select first_time,first_change#,next_change#,sequence# from v$log_history;
再来点与 log 应用相关的 v$视图应用示例:
5、查询当前数据的基本信息---v$database 信息
SQL> select database_role,db_unique_name,open_mode,protection_mode,protection_level,switchover_status from v$database;
6、查询 failover 后快速启动的信息
SQL> select fs_failover_status,fs_failover_current_target,fs_failover_threshold,fs_failover_observer_present from v$database;
7、检查应用模式(是否启用了实时应用)---v$archive_dest_status
SQL> select recovery_mode from v$archive_dest_status where dest_id=2;
12、Data guard 事件---v$dataguard_status
SQL> select message from v$dataguard_status;
8、删除和添加standby log
alter database drop standby logfile group 1; ----------添加日志组
alter database add standby logfile thread 1 group 1 ('/u02/oradata/center/standbylog/standby_log1_1','/u02/oradata/center/standbylog/standby_log1_2') size 4096M; ----------删除日志组
alter database drop logfile member '/u02/oradata/center/standbylog/standby_log1_2'; ----------删除日志组的一个成员
ALTER DATABASE ADD standby LOGFILE MEMBER '/u02/oradata/center/standbylog/standby_log1_2' TO GROUP 1; ---------添加日志组成员
**调整物理 standby log 应用频率
调整应用频率说白了就是调整 io 读取能力,所以通常我们可以从以下几个方面着手:
1、设置 recover 并行度
在介质恢复或 redo 应用期间,都需要读取重做日志文件,默认都是串行恢复,我们可以在执行 recover
的时候加上 parallel 子句来指定并行度,提高读取和应用的性能,例如:
SQL> alter database recover managed standby database parallel 2 disconnect from session;
推荐 parallel 的值是#CPUs*2;
2、加快 redo 应用频繁
设置初始化参数 DB_BLOCK_CHECKING=FALSE 能够提高 2 倍左右的应用效率,该参数是验证数据
块是否有 效,对 于 standby 禁止验证 基本上 还是可 以接受 的,另 外还有 一个关 联初始 化参数
DB_BLOCK_CHECKSUM,建议该参数在 primary 和 standby 都设置为 true。
3、设置 PARALLEL_EXECUTION_MESSAGE_SIZE
如果打开了并行恢复,适当提高初始化参数:PARALLEL_EXECUTION_MESSAGE_SIZE 的参数值,
比如 4096 也能提高大概 20%左右的性能,不过需要注意增大这个参数的参数值可能会占用更多内存。
4、优化磁盘 I/O
在恢复期间最大瓶颈就是 I/O 读写,要缓解这个瓶颈,使用本地异步 I/O 并设置初始化参数
DISK_ASYNCH_IO=TRUE 会有所帮助。 DISK_ASYNCH_IO 参数控制到数据文件的磁盘 I/O 是否异步。 某
些情况下异步 I/O 能降低数据库文件并行读取,提高整个恢复时间。
SQL> select open_mode,database_role,db_unique_name from v$database;
2、将备库置与应用日志模式状态
SQL> alter database recover managed standby database using current logfile disconnect from session;
3、取消备库的自动恢复
SQL> alter database recover managed standby database cancel;
4、打开实时应用状态模式
SQL> alter database recover managed standby database using current logfile disconnect;
4、查看日志应用到哪个组
SQL> select max(SEQUENCE#) from v$archived_log where applied='YES'
5.主库和备库之间角色切换
5.1 主库切换为备库
alter database commit to switchover to physical standby;
alter database commit to switchover to physical standby with session shutdown;-- 主库有会话连接的时候
shutdown immediate
startup nomount;
alter database mount standby database;
alter database recover managed standby database disconnect from session;
5.2 从库切换为主库
alter database commit to switchover to primary;
shutdown immediate;
startup
alter system switch logfile;
6.备库自动使用主库传过来的日志进行恢复
alter database recover automatic standby database;
有时standby中断一段时间后起来,开启应用日志模式无法正常从归档日志恢复,需要执行这个指令应用归档日志等应用到最近的一个归档日志后再开启应用日志模式
7.更改保护模式
alter database set standby database to maximize protection;
alter database set standby database to maximize availability;
alter database set standby database to maximize performancen;
恢复进度相关的 v$视图应用示例
1、查看进程的活动状况---v$managed_standby
SQL> select process,client_process,sequence#,status from v$managed_standby;
2、确认 redo 应用进度---v$archive_dest_status
SQL> select dest_name,archived_thread#,archived_seq#,applied_thread#,applied_seq#,db_unique_name from v$archive_dest_status where status='VALID';
3、检查归档文件路径及创建信息---v$archived_log
SQL> select name,creator,sequence#,applied,completion_time from v$archived_log;
4、查询归档历史---v$log_history
SQL> select first_time,first_change#,next_change#,sequence# from v$log_history;
再来点与 log 应用相关的 v$视图应用示例:
5、查询当前数据的基本信息---v$database 信息
SQL> select database_role,db_unique_name,open_mode,protection_mode,protection_level,switchover_status from v$database;
6、查询 failover 后快速启动的信息
SQL> select fs_failover_status,fs_failover_current_target,fs_failover_threshold,fs_failover_observer_present from v$database;
7、检查应用模式(是否启用了实时应用)---v$archive_dest_status
SQL> select recovery_mode from v$archive_dest_status where dest_id=2;
12、Data guard 事件---v$dataguard_status
SQL> select message from v$dataguard_status;
8、删除和添加standby log
alter database drop standby logfile group 1; ----------添加日志组
alter database add standby logfile thread 1 group 1 ('/u02/oradata/center/standbylog/standby_log1_1','/u02/oradata/center/standbylog/standby_log1_2') size 4096M; ----------删除日志组
alter database drop logfile member '/u02/oradata/center/standbylog/standby_log1_2'; ----------删除日志组的一个成员
ALTER DATABASE ADD standby LOGFILE MEMBER '/u02/oradata/center/standbylog/standby_log1_2' TO GROUP 1; ---------添加日志组成员
**调整物理 standby log 应用频率
调整应用频率说白了就是调整 io 读取能力,所以通常我们可以从以下几个方面着手:
1、设置 recover 并行度
在介质恢复或 redo 应用期间,都需要读取重做日志文件,默认都是串行恢复,我们可以在执行 recover
的时候加上 parallel 子句来指定并行度,提高读取和应用的性能,例如:
SQL> alter database recover managed standby database parallel 2 disconnect from session;
推荐 parallel 的值是#CPUs*2;
2、加快 redo 应用频繁
设置初始化参数 DB_BLOCK_CHECKING=FALSE 能够提高 2 倍左右的应用效率,该参数是验证数据
块是否有 效,对 于 standby 禁止验证 基本上 还是可 以接受 的,另 外还有 一个关 联初始 化参数
DB_BLOCK_CHECKSUM,建议该参数在 primary 和 standby 都设置为 true。
3、设置 PARALLEL_EXECUTION_MESSAGE_SIZE
如果打开了并行恢复,适当提高初始化参数:PARALLEL_EXECUTION_MESSAGE_SIZE 的参数值,
比如 4096 也能提高大概 20%左右的性能,不过需要注意增大这个参数的参数值可能会占用更多内存。
4、优化磁盘 I/O
在恢复期间最大瓶颈就是 I/O 读写,要缓解这个瓶颈,使用本地异步 I/O 并设置初始化参数
DISK_ASYNCH_IO=TRUE 会有所帮助。 DISK_ASYNCH_IO 参数控制到数据文件的磁盘 I/O 是否异步。 某
些情况下异步 I/O 能降低数据库文件并行读取,提高整个恢复时间。
应用
日志
参数
模式
信息
数据
文件
状态
切换
查询
调整
实时
就是
性能
时候
时间
瓶颈
磁盘
示例
视图
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
天龙八部帮贡数据库代码
个性签名软件开发
2018网络安全管理者必读
计算机数据库等级证书
云服务器的数据库
企业公网服务器备案
电脑服务器老断开是怎么回事
家庭服务器 影音管理
中国台湾手机软件开发需求
idea数据库连接放在哪里
三调数据库建设中的遇到的问题
mac dlna 服务器
最节能服务器cpu
网络安全专业词汇
玉溪市网络安全宣传
互联网保险平台科技型企业
自己做游戏服务器要多少钱
存储和服务器基本原理指的是哪些
d3服务器
重庆互联网科技企业
数据库卸载软件有哪些
闵行区机电软件开发设计规范
安顺网络安全系统怎么选
如何把java连接数据库
5g网络安全系数
厦门2016外卖大数据库
软件开发缺陷怎么提
安徽安卓软件开发哪家专业
怎么做电脑上位机软件开发
boss网络安全审查需要多久