RMAN性能监控
2015-06-30 22:37 abce 阅读(897) 评论(0) 编辑 收藏 举报RMAN性能调优相关视图
视图名 | 说明 |
v$rman_backup_job_details | 备份job信息 |
v$backup_async_io | 当前正在运行的、最近完成的备份和restore操作的rman异步I/O性能信息 |
v$backup_sync_io | 当前正在运行的、最近完成的备份和restore操作的rman同步I/O性能信息 |
v$process | 当前活跃进程 |
v$session | 当前活跃会话信息 |
v$session_longops | 可以显示rman备份、还原和恢复进度 |
v$recovery_progress | rman操作进度 |
v$session_wait | 显示会话正在等待的事件、资源信息 |
1.找出执行rman的数据库会话
SQL> SELECT s.sid, s.serial#, p.spid, s.client_info 2 FROM v$process p, v$session s 3 WHERE p.addr = s.paddr 4 AND s.client_info LIKE '%rman%'; SID SERIAL# SPID CLIENT_INFO ---------- ---------- ------------------------ ---------------------------------------------------------------- 69 153 13356 rman channel=ORA_DISK_1 SQL>
在执行rman操作时候,可以使用"set command id"来标识rman会话进程
RMAN> run{ 2> allocate channel d1 type disk; 3> set command id to 'my_session'; 4> backup database; 5> }
SQL> SELECT b.sid, b.serial#, a.spid, b.client_info 2 FROM v$process a, v$session b 3 WHERE a.addr = b.paddr 4 AND b.client_info LIKE '%rman%'; SID SERIAL# SPID CLIENT_INFO ---------- ---------- ------------------------ ---------------------------------------------------------------- 69 157 13434 id=my_session,rman channel=d1 SQL>
2.查看rman job详细信息:
SQL> select session_recid, 2 input_bytes_per_sec_display, 3 output_bytes_per_sec_display, 4 time_taken_display, 5 end_time 6 from v$rman_backup_job_details 7 order by end_time; SESSION_RECID INPUT_BYTES_PER_SEC_ OUTPUT_BYTES_PER_SEC TIME_TAKEN_DISPLAY END_TIME ------------- -------------------- -------------------- ------------------------------ ------------------------------ 1 3.09M 3.12M 00:00:03 17-JUN-15 3 178.12K 122.60K 05:38:23 17-JUN-15 27 107.93M 75.97M 00:00:17 23-JUN-15 42 64.91M 50.01M 00:00:37 25-JUN-15 51 109.27M 76.85M 00:00:17 25-JUN-15 57 109.27M 76.85M 00:00:17 25-JUN-15 90 43.96M 31.23M 00:02:10 29-JUN-15 98 19.74M 14.03M 00:03:13 29-JUN-15 8 rows selected. SQL>
3.查看rman操作的进度
select s.client_info, sl.opname, sl.message, sl.sid, sl.serial#, p.spid, sl.sofar, sl.totalwork, round(sl.sofar / sl.totalwork * 100, 2) "% Complete" from v$session_longops sl, v$session s, v$process p where p.addr = s.paddr and sl.sid = s.sid and sl.serial# = s.serial# and opname LIKE 'RMAN%' and opname NOT LIKE '%aggregate%' and totalwork != 0 and sofar <> totalwork;
如果没有开启I/O slaves,rman只是使用share pool。
如果开启了I/O slaves进行rman备份(设置了dbwr_io_slaves或backup_tape_io_slaves),需要考虑large pool的大小,因为rman会使用large pool。
Oracle官方建议: large_pool_size = num_of_allocated_channels * (16 MB + (4 * size_of_tape_buffer ))
RMAN的media recovery默认会根据cpu_count参数的值,开启并行恢复。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)