ArcGIS Monitor 通过EgdbOracle扩展插件,可以采用三种不同模式,对数据库进行监控,Mode分别为 Activity | Status | Performance。
Oracle Activity
Activity 主要是获取DBMS需要做的工作和相应的资源利用率等信息,一般一分钟获取一次。
CollectorType | Category/Instance | Counter Name | 描述 |
---|---|---|---|
Activity | Demand | Connections | 连接到 eGDB 的连接数量 |
Activity | Demand | StateLocksOther | 非共享状态锁的数量 |
Activity | Demand | TableLocksOther | 非共享表锁的数量 |
Activity | Demand | StateLocksShared | 共享状态锁的数量 |
Activity | Demand | TableLocksShared | 共享表锁的数量 |
Activity | Demand | Exec(PerSec) | 实例中每秒的执行数 |
Activity | Demand | HardParse(PerSec) | 实例中每秒的硬解析数 |
Activity | Demand | HardParse(PerTr) | 实例中每个事务的硬解析数 |
Activity | Demand | OpenCursors | 实例中的打开游标数 |
Activity | Demand | Tr(PerSec) | 实例中每秒的事务数 |
Activity | Resources | CpuUtilizationDb(%) | 实例中cpu 时间与数据库时间的比率 |
Activity | Resources | TablespacesUnused(MB) | 存储 eGDB 对象的表空间中未使用的空间的 MB |
Activity | Resources | CpuUtilizationHost(%) | 使用的主机 CPU 百分比 |
Activity | Resources | TimeExecutingSql(%) | SQL 执行时间占所有 DB 时间的百分比(包括解析等内容) |
Activity | Resources | BufferCacheHit(Ratio) | 缓冲区缓存命中率 |
Activity | Resources | SortDiskToMem(Ratio) | 磁盘上排序与内存中排序的比率 |
Activity | Resources | SharedStatements(%) | 由多个会话共享的 SQL 所占的百分比 |
Activity | Resources | Read(msec) | 执行读取的毫秒数 |
Activity | Resources | Reads(PerSec) | 每秒物理读取数 |
Activity | Resources | SharedPoolFree(MB) | 当前未使用的共享池大小 MB |
Activity | Resources | Writes(PerSec) | 每秒物理写入数 |
- HardParse
硬解析数。如果硬解析的次数太多,证明SQL的重用率不高,在Fast Parse和 Soft Parse中都没有命中,所以需要创建解析树、生成执行计划来执行SQL,资源比较开销大。 - CpuUtilizationHost(%)
使用中的主机CPU百分比。如果大部分时间超过80%,证明CPU一直处于较高负载状态,应考虑添加更多的处理器资源。 - TimeExecutingSql(%)
SQL 执行时间占所有 DB 时间(包括解析等内容)的百分比。如果低于 75%,可能是硬解析的次数较多或时间较长,也可能是I/O读取时间较长。应根据分析硬解析和I/O的具体情况,确定内存压力的瓶颈。 - BufferCacheHit(Ratio)
缓冲区缓存命中率。理想值是达到 90% 以上。如果缓存命中率低于80%,应考虑给数据库分配更多的内存,或者查看并优化数据缓存的使用模式。 - SortDiskToMem(Ratio)
磁盘上排序与内存中排序的比率 。内存中的排序效率比磁盘高。如果该比率超过 0.5 ,则内存中排序比例较低,应该审核排序活动,考虑增加排序区域的内存。 - SharedStatements(%)
由多个会话共享的 SQL 所占的百分比 。如果低于 75% ,建议对查询工作负载配置文件和语句缓存进行优化。 - Read(msec)
执行读取的毫秒数。如果超过 100毫秒,建议调配具有更高 i/o 吞吐量的存储。
Oracle Performance
Performance 是获取选择图层查询的性能,一般五分钟获取一次。
Collector Type | Category/Instance | Counter | 描述 |
---|---|---|---|
Performance | Execution(msec) | <layer> | 执行查询的毫秒数 |
Performance | Fetch(msec) | <layer> | 返回查询结果的毫秒数 |
Performance | Records | <layer> | 查询返回的记录数 |
- Execution(msec)
执行查询的毫秒数。如果超过 300毫秒,建议对查询语句和查询执行计划进行优化。 - Fetch(msec)
返回查询结果的毫秒数。如果超过 200毫秒,可能是CPU响应返回较慢或者网络传输有延迟,应该排查CPU响应或网络资源短缺问题。
Oracle Status
Status 是获取关于eGDB、版本控制和RDBMS的整体信息,一般一小时获取一次。
Collector Type | Category/Instance | Counter | 描述 |
---|---|---|---|
Status | Egdb | BaseTableRecords | 所有基表(非增量表)中的记录数 |
Status | Egdb | LongestSession(hr) | 当前时间最长的会话持续时间(以小时) |
Status | Egdb | GdbItemsXmlSize(MB) | GDB_ITEMS 表中 XML 内容的大小(以兆字节为单位)。 |
Status | Egdb | Connections(%) | 允许到 eGDB 的最大连接数的百分比 |
Status | Egdb | EgdbLicenseRemaining(days) | eGDB 许可证过期之前的天数 |
Status | Rdbms | Uptime(hr) | 实例启动以来的小时数 |
Status | Rdbms | Connections(%) | 允许与实例连接的最大连接的百分比 |
Status | Rdbms | Locks | 本机 rdbms 锁的个数 |
Status | Rdbms | CpuMaxSpatialQuery(sec) | RDBMS 统计信息中空间查询使用的最大处理器时间 |
Status | Rdbms | ElapsedMaxSpatialQuery(sec) | RDBMS 统计信息中空间查询的最大持续时间 |
Status | Rdbms | ResponsePerTr(sec) | 实例中每个事务的平均响应时间 |
Status | Rdbms | ProcessorPerformanceMetric | 处理器性能计算。 |
Status | Versioning | DefaultVersionDepth | 在状态数中默认版本的深度 |
Status | Versioning | DeltaTableRecords | 增量表中的记录数 |
Status | Versioning | StalestVersionIdle(days) | 自上次执行编辑或协调以来,再次执行编辑或协调间隔的天数 |
Status | Versioning | StateLineages | SDE系统表STATES_LINEAGES表中的记录数 |
Status | Versioning | States | SDE系统表States表中的记录数 |
Status | Versioning | Versions | 版本数 |
Status | Versioning | BranchVersions | 分支版本的数量 |
Status | Versioning | BranchVersionLocks | 分支版本锁的数量 |
Status | Versioning | BranchVersionConflicts | 分支版本冲突的数量 |
- LongestSession(hr)
当前持续时间最长的会话时间。如果存在超过 24 小时的会话,需要确定存在长时间连接会话的原因,并考虑重构客户端行为。 - GdbItemsXmlSize(MB)
GDB_ITEMS 表中 XML 内容的大小。如果存在超过 50 MB的记录,应查看并优化 GDB_ITEMS 表内的相关内容,减小其大小。 - Connections(%)
连续数占 eGDB 的最大连接数的百分比。如果超过 75%,应考虑增加 eGDB 的连接数配置。 - EgdbLicenseRemaining(days)
eGDB 许可证过期前的剩余天数。低于 45 天,应考虑重新授权,避免影响使用。 - Uptime(hr)
实例自启动以来经过的时间。如果低于 24 小时,应查看并分析最近停机的原因。 - Connections(%)
连接数占实例配置的最大连接数的百分比。如果超过 75%,应考虑增加 RDBMS 的最大连接数配置。 - ProcessorPerformanceMetric
处理器性能的近似计算,数字越小越好。如果该值在系统上波动超过 20%,请咨询基础设施技术支持团队以确定变异的来源。 - StalestVersionIdle(days)
自上次执行编辑或协调以来,再次执行编辑或协调间隔的天数。如果该值超过 7 天,建议赶紧协调最后不一致的版本。 - StateLineages
SDE系统表STATES_LINEAGES表中的记录数。对SDE中的某一张表有频繁编辑操作时,会导致STATES_LINEAGES表增长,从而访问其它数据的速度会变慢。