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安全错误
数据库的锁怎样保障安全
三违四涉网络安全隐患对照检查
11年腾讯数据库
江西网络技术服务采购
合肥文因互联网科技有限公司
净网2018增强网络安全意识
有关网络技术的英语翻译
数据库怎么替换日期里的星期
网络安全教育儿歌视频
双电源服务器有一路电源断开
计算机网络技术好不好好就业吗
中美执法和网络安全
win8dns辅服务器未响应
班会网络安全进校园
好游快爆下游戏连接不到服务器
软件开发的工作好不好的
服务器资源占有率
网络安全进校园200字
联想集团网络安全
个人数据库怎么设置
定时关机如何让服务器不生效
p6连接不上数据库
java中的表单查询数据库
浙江门店管理软件开发
有关网络技术的英语翻译
莆田网络技术推广平台
泉州千智网络技术支持
新东方互联网科技有限公司
定时关机如何让服务器不生效
肥东有私人网络技术员吗
win10怎么确定网络安全