junsansi的博客
自我介绍
切换风格
订阅我的Blog
博客日历
文章归档...
最新发表...
最新评论...
最多阅读文章...
最多评论文章...
博客统计...
网站链接...
资源
===========================================================
一步一步学DataGuard(16)逻辑standby之高级管理1
===========================================================

连载第16篇

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

一步一步学DataGuard(15)逻辑standby之failover

一步一步学DataGuard(14)逻辑standby之switchover

一步一步学DataGuard(13)逻辑standby之创建示例

一步一步学DataGuard(12)逻辑standby之创建步骤

一步一步学DataGuard(11)逻辑standby之准备创建

一步一步学DataGuard(10)物理standby之高级管理3

一步一步学DataGuard(9)物理standby之高级管理2

一步一步学DataGuard(8)物理standby之高级管理1

一步一步学DataGuard(7)物理standby之failover

一步一步学DataGuard(6)物理standby之switchover

一步一步学DataGuard(5)物理standby之创建示例

一步一步学DataGuard(4)物理standby之创建步骤(2)

一步一步学DataGuard(3)物理standby之创建步骤(1)

一步一步学DataGuard(2)基础之术语再了解大概

一步一步学DataGuard(1)基础之名词先混个脸熟


监控逻辑standby

与物理standby的管理一样,oracle提供了一系列动态性能视图来查看逻辑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

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

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应用服务的相关信息。常用于诊断归档日志逻辑应用的性能问题(后面优化部分会有涉及),包含的信息也很广:

v 身份信息:SID,SERIAL#,SPID

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

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

v 该进程当前操作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列,该列可能有下述的几种状态:

v INITIALIZING: LogMiner session已创建并初始化

v LOADING DICTIONARY: SQL应用调用LogMiner字典

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

v APPLYING: SQL应用正在工作

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

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

例如:

JSSLDG2> select * from v$Logstdby_state;

PRIMARY_DBID SESSION_ID REALTIME_APPLY STATE

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

3408827880 42 Y APPLYING

junsansi 发表于:2008.03.27 12:54 ::分类: ( 三思笔记 ) ::阅读:(104次) :: 评论 (0) :: 引用 (0)

发表评论
标题

在此添加评论

称呼

邮箱地址(可选)

个人主页(可选)

authimage