OracleDB
This integration is enabled by default.
Versions supported: > 12.1.0.2
This integration uses a standalone exporter that is available in UBI or scratch base image.
This integration has 33 metrics.
Timeseries generated: ~500 timeseries
List of Alerts
Alert | Description | Format |
---|---|---|
[OracleDB] Exporter Process Down | Exporter process is not serving metrics. | Prometheus |
[OracleDB] Low UpTime | The OracleDB instance has an UpTime of less than 1 hour. | Prometheus |
[OracleDB] Low Cache Hit Rate | Low cache hit rate. | Prometheus |
[OracleDB] High Tablespace Usage | High Tablespace Usage. | Prometheus |
[OracleDB] Tablespace Full In 12h | Tablespace will be full within 12 hours. | Prometheus |
[OracleDB] Tablespace Full In 48h | Tablespace will be full within 48 hours. | Prometheus |
List of Dashboards
Oracle DB
The dashboard provides information on the Oracle DB integration.
List of Metrics
Metric name |
---|
oracledb_activity_execute_count |
oracledb_activity_parse_count_total |
oracledb_activity_user_commits |
oracledb_activity_user_rollbacks |
oracledb_big_queries_p95_rows |
oracledb_big_queries_p99_rows |
oracledb_cache_hit_ratio_percentage |
oracledb_process_count |
oracledb_resource_current_utilization |
oracledb_resource_limit_value |
oracledb_sessions_value |
oracledb_size_dba_segments_top100_cluster_bytes |
oracledb_size_dba_segments_top100_table_bytes |
oracledb_size_dba_segments_top100_table_partition_bytes |
oracledb_size_user_segments_top100_table_bytes |
oracledb_size_user_segments_top100_table_partition_bytes |
oracledb_slow_queries_p95_time_usecs |
oracledb_slow_queries_p99_time_usecs |
oracledb_startup_time_seconds |
oracledb_tablespace_bytes |
oracledb_tablespace_free |
oracledb_tablespace_used_percent |
oracledb_up |
oracledb_wait_time_administrative |
oracledb_wait_time_application |
oracledb_wait_time_commit |
oracledb_wait_time_concurrency |
oracledb_wait_time_configuration |
oracledb_wait_time_network |
oracledb_wait_time_other |
oracledb_wait_time_scheduler |
oracledb_wait_time_system_io |
oracledb_wait_time_user_io |
Prerequisites
Create OracleDB user and grant permission
Create a user for monitoring in Oracle Database.
Make sure you grant SELECT permission for the monitoring user on the following tables:
dba_tablespace_usage_metrics
dba_tablespaces
v$system_wait_class
v$asm_diskgroup_stat
v$datafile
v$sysstat
v$process
v$waitclassmetric
v$session
v$resource_limit
Create Credentials for OracleDB Exporter
Create the secret with the Oracle Datasource in the namespace where the exporter will be deployed:
kubectl create secret -n 'EXPORTER-NAMESPACE' generic oracledb-exporter-secret --from-literal=datasource="YOUR_CONNECTION_STRING"
YOUR_CONNECTION_STRING should be like: oracle://user:password@hostname:1521/DB_SID
Installation
An automated wizard is present in the Monitoring Integrations in Sysdig Monitor. Expert users can also use the Helm chart for installation: https://github.com/sysdiglabs/integrations-charts/tree/main/charts/oracledb-exporter
Monitoring and Troubleshooting OracleDB exporter
This document describes important metrics and queries that you can use to monitor and troubleshoot OracleDB.
OracleDB Activity
Executions
Use the following query to determine the number of executions per second:
rate(oracledb_activity_user_commits[5m])
Commits
Use the following query to determine the number of commits per second:
rate(oracledb_activity_user_commits[5m])
Rollbacks
Use the following query to determine the number of rollbacks per second:
rate(oracledb_activity_user_rollbacks[5m])
Processes
Use the following query to determine the number of processes in OracleDB:
oracledb_process_count
Cache Hit Ratio
Use the following query to determine the Hit Ratio in OracleDB:
oracledb_cache_hit_ratio_percentage
OracleDB Sessions
Active sessions
Use the following query to determine the number of active sessions:
sum(oracledb_sessions_value{status="ACTIVE"}) by (status)
Inactive sessions
Use the following query to determine the number of inactive sessions:
sum(oracledb_sessions_value{status="INACTIVE"}) by (status)
OracleDB Tables
Table Size
Use the following query to determine the top 10 dba tables ordered by size:
topk(10,sum(oracledb_size_dba_segments_top100_table_bytes) by (segment_name, owner))
Use the following query to determine the top 10 user tables ordered by size:
topk(10,sum(oracledb_size_user_segments_top100_table_bytes) by (segment_name, owner))
Partition Size
Use the following query to determine the top 10 dba partitions ordered by size:
topk(10,sum(oracledb_size_dba_segments_top100_table_partition_bytes) by (segment_name))
Use the following query to determine the top 10 user partitions ordered by size:
topk(10,sum(oracledb_size_user_segments_top100_table_partition_bytes) by (segment_name))
Related Blog Posts
Agent Configuration
The default agent job for this integration is as follows:
- job_name: oracledb-exporter-default
tls_config:
insecure_skip_verify: true
kubernetes_sd_configs:
- role: pod
relabel_configs:
- action: keep
source_labels: [__meta_kubernetes_pod_host_ip]
regex: __HOSTIPS__
- action: keep
source_labels:
- __meta_kubernetes_pod_annotation_promcat_sysdig_com_integration_type
regex: "oracledb"
- action: replace
source_labels: [__address__, __meta_kubernetes_pod_annotation_promcat_sysdig_com_port]
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
target_label: __address__
- action: replace
source_labels: [__meta_kubernetes_pod_uid]
target_label: sysdig_k8s_pod_uid
- action: replace
source_labels: [__meta_kubernetes_pod_container_name]
target_label: sysdig_k8s_pod_container_name
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.