oracle dg 维护常用操作和调优
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,1、查看备库状态SQL> select open_mode,database_role,db_unique_name from v$database;2、将备库置与应用日志模式状态SQL> alter
千家信息网最后更新 2025年01月23日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安全错误
数据库的锁怎样保障安全
服务器房产评估管理系统
文科软件开发怎么样
安庆租车软件开发
数据库绑定报表
fm2018 最新数据库
崇明区智能软件开发销售厂
ipad无法接通激活服务器
互联网周刊中国科技
数据库四级安全体系是什么
lm软件开发
为什么我的服务器下载不了
网络安全周儿童
怎样远程管理服务器
数据库原理与c 程序设计
rfid网络技术层
实况推荐数据库
网络安全宣传周班会内容三年级
mysql 本地数据库
南阳乐居网络技术服务
阿里云服务器可以部署k8s
如何连接数据库两张表
敦化住宿软件开发
c cs数据库实例子
徐州智能还款app软件开发
服务器集成环境包
网络安全手抄报超级复杂
软件开发 验收 议程
各类服务器的管理
qq小世界服务器错误是怎么回事
用户标签画像数据库