Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1239638
  • 博文数量: 350
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 5668
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-23 17:53
文章分类

全部博文(350)

文章存档

2013年(350)

分类: Oracle

2013-04-24 16:42:30

监控逻辑standby

与物理standby的一样,提供了一系列动态性能视图来查看逻辑standby的状态,有一些我们前面已经接触过,而有一些,我们还从未用过。。。。。

1、DBA_LOGSTDBY_EVENTS

可以把该视图看成逻辑standby操作日志,因此如果发生了错误,可以通过该视图查看近期逻辑standby都做了些什么。默认情况下,该视图保留100条事件的记录,不过你可以通过DBMS_LOGSTDBY.APPLY_SET()过程修改该参数。

例如:

JSSLDG2> select event_time,status,event from dba_logstdby_events;

EVENT_TIME          STATUS                                             EVENT

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

2008-03-06 08:58:11 ORA-16112: 日志挖掘和应用正在停止

2008-03-06 09:02:00 ORA-16111: 日志挖掘和应用正在启动

2008-03-06 09:52:53 ORA-16128: 已成功完成用户启动的停止应用操作

2008-03-12 15:52:53 ORA-16111: 日志挖掘和应用正在启动

2008-03-12 16:09:17 ORA-16226: 由于不支持而跳过 DDL                    ALTER DATABASE OPEN

2008-03-05 17:21:46 ORA-16111: 日志挖掘和应用正在启动

..............................

2、DBA_LOGSTDBY_LOG

该视图用来记录当前的归档日志应用情况,等同于物理standby中的v$archived_log,多数情况下,你只需要关注SEQUENCE#,APPLIED,即查看日志序号和是否应用,当然该视图还能提供更多信息,比如应用的scn,应用时间等,例如:

JSSLDG2> select sequence#,first_change#,next_change#,timestamp,applied from dba_logstdby_log;

 SEQUENCE# FIRST_CHANGE# NEXT_CHANGE# TIMESTAMP           APPLIED

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

       869       1319212      1319811 2008-03-12 16:09:15 CURRENT

通常情况下,该查询只会返回几条记录,如果说你的操作非常频繁,可能记录数会稍多一些,但如果记录数非常多,那你可能就需要关注一下,是不是出了什么问题,难道应用没有启动?

3、V$LOGSTDBY_STATS

从名字就大致猜的出来,该视图显示的是状态信息,没错,你猜对了,该视图就是用来显示LogMiner的统计信息及状态。

JSSLDG2> select *from v$logstdby_stats;

NAME                                                             VALUE

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

number of preparers                                              1

number of appliers                                               5

maximum SGA for LCR cache                                        30

parallel servers in use                                          9

maximum events recorded                                          100

preserve commit order                                            TRUE

transaction consistency                                          FULL

record skip errors                                               Y

record skip DDL                                                  Y

record applied DDL                                               N

.........................

4、V$LOGSTDBY_PROCESS

该视图显示当前log应用服务的相关信息。常用于诊断归档日志逻辑应用的性能问题(后面优化部分会有涉及),包含的信息也很广:

身份信息:SID,SERIAL#,SPID

SQL应用进程:COORDINATOR, READER, BUILDER, PREPARER, ANALYZER, 或APPLIER 

进程当前的状态:见status_code或status列

该进程当前操作redo记录最大SCN:high_scn列

例如:

JSSLDG2> select sid,serial#,spid,type,status,high_scn from v$logstdby_process;

       SID    SERIAL# SPID         TYPE            STATUS                                                 HIGH_SCN

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

       145          1 508          COORDINATOR     ORA-16116: 无可用工作                                   1319811

       146          2 2464         READER          ORA-16240: 正在等待日志文件 (线程号 1, 序列号 870)              1319811

       143          1 1512         BUILDER         ORA-16116: 无可用工作                                   1319742

       142          1 4000         PREPARER        ORA-16116: 无可用工作                                   1319741

       139          1 2980         ANALYZER        ORA-16116: 无可用工作                                   1319707

       135          1 1648         APPLIER         ORA-16116: 无可用工作                                   1319430

       138          1 2332         APPLIER         ORA-16116: 无可用工作                                   1319439

       132          1 2200         APPLIER         ORA-16116: 无可用工作                                   1319443

       134          1 4020         APPLIER         ORA-16116: 无可用工作

...........................................

5、V$LOGSTDBY_PROGRESS

该视图显示log应用服务当前进展状况,比如当前应用到逻辑standby的scn及时间,sql应用开始应用的scn及时间,最后接收及应用的scn和时间等等。

例如:

JSSLDG2> select * from v$Logstdby_progress;

APPLIED_SCN APPLIED_TIME        RESTART_SCN RESTART_TIME        LATEST_SCN LATEST_TIME         MINING_SCN MINING_TIME

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

    1319810 2008-03-12 16:06:51     1319662 2008-03-12 16:03:22    1319810 2008-03-12 16:45:33    1319811 2008-03-12 16:06:51

6、V$LOGSTDBY_STATE

该视图就最简单了,就是显示sql应用的大致状态,比如primary库的dbid啦,是否启动了实时应用啦,当前sql应用的状态啦之类。

注意state列,该列可能有下述的几种状态:

INITIALIZING: LogMiner session已创建并初始化

LOADING DICTIONARY: SQL应用调用LogMiner字典

WAITING ON GAP: SQL应用正等待日志文件,可能有中断

APPLYING: SQL应用正在工作

WAITING FOR DICTIONARY LOGS: SQL应用等待LogMiner字典信息

IDLE: SQL应用工作非常出色,已经干的没什么可干了:)

例如:

JSSLDG2> select * from v$Logstdby_state;

字数受限,详细请查看:

一步一步学DataGuard(16)逻辑standby之高级管理1全文

阅读(661) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~