Oracle by ODBC
Macros used
| Name | Value |
|---|---|
| {$ORACLE.ASM.USED.PCT.MAX.HIGH} | 95 |
| {$ORACLE.ASM.USED.PCT.MAX.WARN} | 90 |
| {$ORACLE.CONCURRENCY.MAX.WARN} | 80 |
| {$ORACLE.DB.FILE.MAX.WARN} | 80 |
| {$ORACLE.DBNAME.MATCHES} | .* |
| {$ORACLE.DBNAME.NOT_MATCHES} | PDB$SEED |
| {$ORACLE.DRIVER} | <Put path to oracle driver here> |
| {$ORACLE.EXPIRE.PASSWORD.MIN.WARN} | 7 |
| {$ORACLE.PASSWORD} | <Put your password here> |
| {$ORACLE.PGA.USE.MAX.WARN} | 90 |
| {$ORACLE.PORT} | 1521 |
| {$ORACLE.PROCESSES.MAX.WARN} | 80 |
| {$ORACLE.REDO.MIN.WARN} | 3 |
| {$ORACLE.SERVICE} | <Put oracle service name here> |
| {$ORACLE.SESSION.LOCK.MAX.TIME} | 600 |
| {$ORACLE.SESSION.LONG.LOCK.MAX.WARN} | 3 |
| {$ORACLE.SESSIONS.LOCK.MAX.WARN} | 20 |
| {$ORACLE.SESSIONS.MAX.WARN} | 80 |
| {$ORACLE.SHARED.FREE.MIN.WARN} | 5 |
| {$ORACLE.TABLESPACE.NAME.MATCHES} | .* |
| {$ORACLE.TABLESPACE.NAME.NOT_MATCHES} | CHANGE_IF_NEEDED |
| {$ORACLE.TBS.USED.PCT.MAX.HIGH} | 95 |
| {$ORACLE.TBS.USED.PCT.MAX.WARN} | 90 |
| {$ORACLE.TBS.UTIL.PCT.MAX.HIGH} | 90 |
| {$ORACLE.TBS.UTIL.PCT.MAX.WARN} | 80 |
| {$ORACLE.USER} | <Put your username here> |
Items collected
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| Oracle: Get archive log info | - | ODBC | 5m | db.odbc.get[get_archivelog_stat,,"Driver={$ORACLE.DRIVER};DBQ=//{HOST.CONN}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"] |
| Oracle: Get ASM stats | Get ASM disk groups stats. | ODBC | - | db.odbc.get[get_asm_stat,,"Driver={$ORACLE.DRIVER};DBQ=//{HOST.CONN}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"] |
| Oracle: Get CDB and No-CDB info | Get info about CDB and No-CDB databases on instansce. | ODBC | - | db.odbc.get[get_cdb_info,,"Driver={$ORACLE.DRIVER};DBQ=//{HOST.CONN}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"] |
| Oracle: Get instance state | The item gets state of the current instance. | ODBC | - | db.odbc.get[get_instance_state,,"Driver={$ORACLE.DRIVER};DBQ=//{HOST.CONN}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"] |
| Oracle: Get PDB info | Get info about PDB databases on instansce. | ODBC | - | db.odbc.get[get_pdb_info,,"Driver={$ORACLE.DRIVER};DBQ=//{HOST.CONN}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"] |
| Oracle: Get system metrics | The item gets system metric values. | ODBC | 0;m0-59 | db.odbc.get[get_system_metrics,,"Driver={$ORACLE.DRIVER};DBQ=//{HOST.CONN}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"] |
| Oracle: Get tablespaces stats | Get tablespaces stats. | ODBC | - | db.odbc.get[get_tablespaces_stats,,"Driver={$ORACLE.DRIVER};DBQ=//{HOST.CONN}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"] |
| Oracle: Service's TCP port state | Test the availability of Oracle on TCP port. | - | 30s | net.tcp.service[tcp,{HOST.CONN},{$ORACLE.PORT}] |
| Oracle: Active parallel sessions | The number of active parallel sessions. | DEPENDENT | - | oracle.active_parallel_sessions |
| Oracle: Active serial sessions | The number of active serial sessions. | DEPENDENT | - | oracle.active_serial_sessions |
| Oracle: Average active sessions | The average active sessions at a point in time. It is the number of sessions that are either working or waiting. | DEPENDENT | - | oracle.active_sessions |
| Oracle: Archiver state | Automatic archiving status. | DEPENDENT | - | oracle.archiver_state |
| Oracle: Buffer cache hit ratio | Ratio of buffer cache hits. (LogRead - PhyRead)/LogRead | DEPENDENT | - | oracle.buffer_cache_hit_ratio |
| Oracle: Global cache blocks corrupted | The number of blocks that encountered a corruption or checksum failure during interconnect. | DEPENDENT | - | oracle.cache_blocks_corrupt |
| Oracle: Global cache blocks lost | The number of global cache blocks lost | DEPENDENT | - | oracle.cache_blocks_lost |
| Oracle: Cursor cache hit ratio | Ratio of cursor cache hits. CursorCacheHit/SoftParse | DEPENDENT | - | oracle.cursor_cache_hit_ratio |
| Oracle: Database CPU time ratio | Calculated by dividing the total CPU used by the database by the Oracle time model statistic DB time. | DEPENDENT | - | oracle.database_cpu_time_ratio |
| Oracle: Database wait time ratio | Wait time: the time that the server process spends waiting for available shared resources (to be released by other server processes) such as latches, locks, data buffers, and so on | DEPENDENT | - | oracle.database_wait_time_ratio |
| Oracle: Datafiles count | Current number of datafile. | DEPENDENT | - | oracle.db_files_count |
| Oracle: Datafiles limit | Max allowable number of datafile. | DEPENDENT | - | oracle.db_files_limit |
| Oracle: Disk sort per second | The number of sorts going to disk per second | DEPENDENT | - | oracle.disk_sorts |
| Oracle: Enqueue timeouts per second | Enqueue timeouts per second. | DEPENDENT | - | oracle.enqueue_timeouts_rate |
| Oracle: FRA, Number of files | Number of files in the fast recovery area | DEPENDENT | - | oracle.fra_number_of_files |
| Oracle: FRA, Number of restore points | - | DEPENDENT | - | oracle.fra_restore_point |
| Oracle: FRA, Space limit | Maximum amount of disk space (in bytes) that the database can use for the fast recovery area. | DEPENDENT | - | oracle.fra_space_limit |
| Oracle: FRA, Space reclaimable | Total amount of disk space (in bytes) that can be created by deleting obsolete, redundant, and other low priority files from the fast recovery area. | DEPENDENT | - | oracle.fra_space_reclaimable |
| Oracle: FRA, Used space | Amount of disk space (in bytes) used by fast recovery area files created in current and all previous fast recovery areas. | DEPENDENT | - | oracle.fra_space_used |
| Oracle: FRA, Usable space in % | - | DEPENDENT | - | oracle.fra_usable_pct |
| Oracle: GC CR block received per second | GC CR block received per second. | DEPENDENT | - | oracle.gc_cr_block_received_rate |
| Oracle: Instance role | Indicates whether the instance is an active instance or an inactive secondary instance. | DEPENDENT | - | oracle.instance.role |
| Oracle: Instance hostname | Name of the host machine. | DEPENDENT | - | oracle.instance_hostname |
| Oracle: Instance name | Name of the instance. | DEPENDENT | - | oracle.instance_name |
| Oracle: Instance status | Status of the instance. | DEPENDENT | - | oracle.instance_status |
| Oracle: Library cache hit ratio | Ratio of library cache hits. Hits/Pins | DEPENDENT | - | oracle.library_cache_hit_ratio |
| Oracle: Logons per second | The number of logon attempts. | DEPENDENT | - | oracle.logons_rate |
| Oracle: Long table scans per second | The number of long table scans per second. A table is considered 'long' if the table is not cached and if its high-water mark is greater than 5 blocks. | DEPENDENT | - | oracle.long_table_scans_rate |
| Oracle: Memory sorts ratio | The percentage of sorts (from ORDER BY clauses or index building) that are done to disk vs in-memory. | DEPENDENT | - | oracle.memory_sorts_ratio |
| Oracle: PGA, Global memory bound | Maximum size of a work area executed in automatic mode. | DEPENDENT | - | oracle.pga_global_bound |
| Oracle: PGA, Aggregate target parameter | Current value of the PGA_AGGREGATE_TARGET initialization parameter. If this parameter is not set, then its value is 0 and automatic management of PGA memory is disabled. | DEPENDENT | - | oracle.pga_target |
| Oracle: Physical reads per second | Reads per second. | DEPENDENT | - | oracle.physical_reads_rate |
| Oracle: Physical reads bytes per second | Read bytes per second. | DEPENDENT | - | oracle.physical_read_bytes_rate |
| Oracle: Physical writes per second | Writes per second. | DEPENDENT | - | oracle.physical_writes_rate |
| Oracle: Physical writes bytes per second | Write bytes per second. | DEPENDENT | - | oracle.physical_write_bytes_rate |
| Oracle: Number of processes | - | DEPENDENT | - | oracle.processes_count |
| Oracle: Processes limit | Max user processes. | DEPENDENT | - | oracle.processes_limit |
| Oracle: Redo logs available to switch | Number of available for log switching inactive/unused REDO logs. | DEPENDENT | - | oracle.redo_logs_available |
| Oracle: Rows per sort | The average number of rows per sort for all types of sorts performed. | DEPENDENT | - | oracle.rows_per_sort |
| Oracle: SQL service response time | SQL service response time in seconds. | DEPENDENT | - | oracle.service_response_time |
| Oracle: Active background sessions | The number of active background sessions. | DEPENDENT | - | oracle.session_active_background |
| Oracle: Active user sessions | The number of active user sessions. | DEPENDENT | - | oracle.session_active_user |
| Oracle: Sessions concurrency | The percentage of concurrency. Concurrency is a DB behavior when different transactions request to change the same resource - in case of modifying data transactions sequentially block temporarily the right to change data, the rest of the transactions are waiting for access. In the case when access for resource is locked for a long time, then the concurrency grows (like the transaction queue) and this often has an extremely negative impact on performance. A high contention value does not indicate the root cause of the problem, but is a signal to search for it. | DEPENDENT | - | oracle.session_concurrency_rate |
| Oracle: Session count | Session count. | DEPENDENT | - | oracle.session_count |
| Oracle: Inactive user sessions | The number of inactive user sessions. | DEPENDENT | - | oracle.session_inactive_user |
| Oracle: Sessions limit | User and system sessions. | DEPENDENT | - | oracle.session_limit |
| Oracle: Sessions lock rate | The percentage of locked sessions. Locks are mechanisms that prevent destructive interaction between transactions accessing the same resource—either user objects such as tables and rows or system objects not visible to users, such as shared data structures in memory and data dictionary rows. | DEPENDENT | - | oracle.session_lock_rate |
| Oracle: Sessions locked over {$ORACLE.SESSION.LOCK.MAX.TIME}s | Count of the prolongedly locked sessions. (You can change maximum session lock duration in seconds for query by {$ORACLE.SESSION.LOCK.MAX.TIME} macro. Default 600 sec) | DEPENDENT | - | oracle.session_long_time_locked |
| Oracle: SGA, buffer cache | The size of the cache of standard blocks. | DEPENDENT | - | oracle.sga_buffer_cache |
| Oracle: SGA, fixed | The fixed SGA is an internal housekeeping area. | DEPENDENT | - | oracle.sga_fixed |
| Oracle: SGA, java pool | Memory is allocated from the java pool. | DEPENDENT | - | oracle.sga_java_pool |
| Oracle: SGA, large pool | Memory is allocated from the large pool. | DEPENDENT | - | oracle.sga_large_pool |
| Oracle: SGA, log buffer | The number of bytes allocated for the redo log buffer. | DEPENDENT | - | oracle.sga_log_buffer |
| Oracle: SGA, shared pool | Memory is allocated from the shared pool. | DEPENDENT | - | oracle.sga_shared_pool |
| Oracle: Shared pool free % | Shared pool free memory percent. Free/Total | DEPENDENT | - | oracle.shared_pool_free |
| Oracle: Total sorts per user call | Total sorts per user call. | DEPENDENT | - | oracle.sorts_per_user_call |
| Oracle: Temp space used | Temp space used. | DEPENDENT | - | oracle.temp_space_used |
| Oracle: PGA, Total allocated | Current amount of PGA memory allocated by the instance. The Oracle Database attempts to keep this number below the value of the PGA_AGGREGATE_TARGET initialization parameter. However, it is possible for the PGA allocated to exceed that value by a small percentage and for a short period of time when the work area workload is increasing very rapidly or when PGA_AGGREGATE_TARGET is set to a small value. | DEPENDENT | - | oracle.total_pga_allocated |
| Oracle: PGA, Total freeable | Number of bytes of PGA memory in all processes that could be freed back to the operating system. | DEPENDENT | - | oracle.total_pga_freeable |
| Oracle: PGA, Total inuse | Indicates how much PGA memory is currently consumed by work areas. This number can be used to determine how much memory is consumed by other consumers of the PGA memory (for example, PL/SQL or Java). | DEPENDENT | - | oracle.total_pga_used |
| Oracle: Uptime | Oracle instance uptime in seconds. | DEPENDENT | - | oracle.uptime |
| Oracle: User '{$ORACLE.USER}' expire password | The number of days before zabbix account password expired. | DEPENDENT | - | oracle.user_expire_password |
| Oracle: User rollbacks per second | The number of times that users manually issue the ROLLBACK statement or an error occurred during a user's transactions. | DEPENDENT | - | oracle.user_rollbacks_rate |
| Oracle: Version | Oracle Server version. | DEPENDENT | - | oracle.version |
| Oracle: Number of LISTENER processes | Number of LISTENER processes running | - | 30s | proc.num[,,,"tnslsnr LISTENER"] |
Triggers
| Name | Description | Expression | Priority | Dependencies |
|---|---|---|---|---|
| Oracle: Instance hostname has changed | Oracle DB Instance hostname has changed. Ack to close. | last(/Oracle by ODBC/oracle.instance_hostname,#1)<>last(/Oracle by ODBC/oracle.instance_hostname,#2) and length(last(/Oracle by ODBC/oracle.instance_hostname))>0 | INFO 🔔 | Oracle: Instance hostname |
| Oracle: Instance name has changed | Oracle DB Instance name has changed. Ack to close. | last(/Oracle by ODBC/oracle.instance_name,#1)<>last(/Oracle by ODBC/oracle.instance_name,#2) and length(last(/Oracle by ODBC/oracle.instance_name))>0 | INFO 🔔 | Oracle: Instance name |
| Oracle: Number of REDO logs available for switching is too low | Number of available for log switching inactive/unused REDOs is low (Database down risk) | max(/Oracle by ODBC/oracle.redo_logs_available,5m) < {$ORACLE.REDO.MIN.WARN} | WARNING 📢 | Oracle: Redo logs available to switch |
| Oracle: Too high database concurrency | Concurrency rate is over {$ORACLE.CONCURRENCY.MAX.WARN}%. A high contention value does not indicate the root cause of the problem, but is a signal to search for it. In the case of high competition, an analysis of resource consumption should be carried out, the most "heavy" queries made in the database, possibly - session tracing. All this will help determine the root cause and possible optimization points both in the database configuration and in the logic of building queries of the application itself. | min(/Oracle by ODBC/oracle.session_concurrency_rate,5m) > {$ORACLE.CONCURRENCY.MAX.WARN} | WARNING 📢 | Oracle: Sessions concurrency |
| Oracle: Too many locked sessions | Number of locked sessions is over {$ORACLE.SESSIONS.LOCK.MAX.WARN}% of the running sessions. | min(/Oracle by ODBC/oracle.session_lock_rate,5m) > {$ORACLE.SESSIONS.LOCK.MAX.WARN} | WARNING 📢 | Oracle: Sessions lock rate |
| Oracle: Too many sessions locked | Number of sessions locked over {$ORACLE.SESSION.LOCK.MAX.TIME} seconds is too high. Long-term locks can negatively affect database performance, therefore, if they are detected, you should first find the most difficult queries from the database point of view and analyze possible resource leaks. | min(/Oracle by ODBC/oracle.session_long_time_locked,5m) > {$ORACLE.SESSION.LONG.LOCK.MAX.WARN} | WARNING 📢 | Oracle: Sessions locked over {$ORACLE.SESSION.LOCK.MAX.TIME}s |
| Oracle: Shared pool free is too low | The shared pool free memory percent has been less than {$ORACLE.SHARED.FREE.MIN.WARN}% in the last 5 minutes. | max(/Oracle by ODBC/oracle.shared_pool_free,5m)<{$ORACLE.SHARED.FREE.MIN.WARN} | WARNING 📢 | Oracle: Shared pool free % |
| Oracle: Failed to fetch info data | Zabbix has not received data for items for the last 5 minutes. The database might be unavailable for connecting. | nodata(/Oracle by ODBC/oracle.uptime,5m)=1 | WARNING 📢 | Oracle: Uptime |
| Oracle: has been restarted | Uptime is less than 10 minutes. | last(/Oracle by ODBC/oracle.uptime)<10m | INFO 🔔 | Oracle: Uptime |
| Oracle: Zabbix account will expire soon | Password for zabbix user in the database will expire soon. | last(/Oracle by ODBC/oracle.user_expire_password) < {$ORACLE.EXPIRE.PASSWORD.MIN.WARN} | WARNING 📢 | Oracle: User '{$ORACLE.USER}' expire password |
| Oracle: Version has changed | Oracle DB version has changed. Ack to close. | last(/Oracle by ODBC/oracle.version,#1)<>last(/Oracle by ODBC/oracle.version,#2) and length(last(/Oracle by ODBC/oracle.version))>0 | INFO 🔔 | Oracle: Version |
| Oracle: LISTENER process is not running | - | max(/Oracle by ODBC/proc.num[,,,"tnslsnr LISTENER"],#3)=0 | DISASTER 🔥 | Oracle: Number of LISTENER processes |
Discovery rule №1
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| Archive log discovery | Log archive destinations. | ODBC | 1h | db.odbc.discovery[archivelog,,"Driver={$ORACLE.DRIVER};DBQ=//{HOST.CONN}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"] |
Item prototypes
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| Archivelog '{#DEST_NAME}': Error | Displays the error text | DEPENDENT | - | oracle.archivelog_error["{#DEST_NAME}"] |
| Archivelog '{#DEST_NAME}': Last sequence | Identifies the sequence number of the last archived redo log to be archived | DEPENDENT | - | oracle.archivelog_log_sequence["{#DEST_NAME}"] |
| Archivelog '{#DEST_NAME}': Status | Identifies the current status of the destination: 1 - 'Valid', 2 - 'Deferred',3 - 'Error', 0 - 'Unknown' | DEPENDENT | - | oracle.archivelog_log_status["{#DEST_NAME}"] |
Trigger prototypes
| Name | Description | Expression | Priority | Dependencies |
|---|---|---|---|---|
| Archivelog '{#DEST_NAME}': Log Archive is not valid | ARL destination not in 3 - Valid or 2 - Deferred. | last(/Oracle by ODBC/oracle.archivelog_log_status["{#DEST_NAME}"])<2 | HIGH ⛔ | Archivelog '{#DEST_NAME}': Status |
Discovery rule №2
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| ASM disk groups discovery | ASM disk groups | ODBC | 1h | db.odbc.discovery[asm,,"Driver={$ORACLE.DRIVER};DBQ=//{HOST.CONN}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"] |
Item prototypes
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| ASM '{#DG_NAME}': Free size | Free size of ASM disk group. | DEPENDENT | - | oracle.asm_free_size["{#DG_NAME}"] |
| ASM '{#DG_NAME}': Total size | Total size of ASM disk group. | DEPENDENT | - | oracle.asm_total_size["{#DG_NAME}"] |
| ASM '{#DG_NAME}': Free size | Usage percent of ASM disk group. | DEPENDENT | - | oracle.asm_used_pct["{#DG_NAME}"] |
Trigger prototypes
| Name | Description | Expression | Priority | Dependencies |
|---|---|---|---|---|
| ASM '{#DG_NAME}': Disk group usage is too high | Usage percent of ASM disk group is over {$ORACLE.ASM.USED.PCT.MAX.WARN} | min(/Oracle by ODBC/oracle.asm_used_pct["{#DG_NAME}"],5m)>{$ORACLE.ASM.USED.PCT.MAX.HIGH} | HIGH ⛔ | ASM '{#DG_NAME}': Free size |
| ASM '{#DG_NAME}': Disk group usage is too high | Usage percent of ASM disk group is over {$ORACLE.ASM.USED.PCT.MAX.WARN} | min(/Oracle by ODBC/oracle.asm_used_pct["{#DG_NAME}"],5m)>{$ORACLE.ASM.USED.PCT.MAX.WARN} | WARNING 📢 | ASM '{#DG_NAME}': Free size |
Discovery rule №3
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| Database discovery | Scanning databases in DBMS. | ODBC | 1h | db.odbc.discovery[db_list,,"Driver={$ORACLE.DRIVER};DBQ=//{HOST.CONN}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"] |
Item prototypes
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| Oracle Database '{#DBNAME}': Force logging | Indicates whether the database is under force logging mode (YES) or not (NO) | DEPENDENT | - | oracle.db_force_logging["{#DBNAME}"] |
| Oracle Database '{#DBNAME}': Log mode | Archive log mode, 0 - 'NOARCHIVELOG', 1 - 'ARCHIVELOG', 2 - 'MANUAL' | DEPENDENT | - | oracle.db_log_mode["{#DBNAME}"] |
| Oracle Database '{#DBNAME}': Open status | 1 - 'MOUNTED', 2 - 'READ WRITE', 3 - 'READ ONLY', 4 - 'READ ONLY WITH APPLY' (A physical standby database is open in real-time query mode) | DEPENDENT | - | oracle.db_open_mode["{#DBNAME}"] |
| Oracle Database '{#DBNAME}': Role | Current role of the database, 1 - 'SNAPSHOT STANDBY', 2 - 'LOGICAL STANDBY', 3 - 'PHYSICAL STANDBY', 4 - 'PRIMARY ', 5 -'FAR SYNC' | DEPENDENT | - | oracle.db_role["{#DBNAME}"] |
Trigger prototypes
| Name | Description | Expression | Priority | Dependencies |
|---|---|---|---|---|
| Oracle Database '{#DBNAME}': Open status has changed | Oracle DB open status has changed. Ack to close. | last(/Oracle by ODBC/oracle.db_open_mode["{#DBNAME}"],#1)<>last(/Oracle by ODBC/oracle.db_open_mode["{#DBNAME}"],#2) | INFO 🔔 | Oracle Database '{#DBNAME}': Open status |
| Oracle Database '{#DBNAME}': Open status in mount mode | The Oracle DB has a MOUNTED state. | last(/Oracle by ODBC/oracle.db_open_mode["{#DBNAME}"])=1 | WARNING 📢 | Oracle Database '{#DBNAME}': Open status |
| Oracle Database '{#DBNAME}': Role has changed | Oracle DB role has changed. Ack to close. | last(/Oracle by ODBC/oracle.db_role["{#DBNAME}"],#1)<>last(/Oracle by ODBC/oracle.db_role["{#DBNAME}"],#2) | INFO 🔔 | Oracle Database '{#DBNAME}': Role |
Discovery rule №4
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| PDB discovery | Scanning PDB in DBMS. | ODBC | 1h | db.odbc.discovery[pdb_list,,"Driver={$ORACLE.DRIVER};DBQ=//{HOST.CONN}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"] |
Item prototypes
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| Oracle Database '{#DBNAME}': Open status | 1 - 'MOUNTED', 2 - 'READ WRITE', 3 - 'READ ONLY', 4 - 'READ ONLY WITH APPLY' (A physical standby database is open in real-time query mode) | DEPENDENT | - | oracle.pdb_open_mode["{#DBNAME}"] |
Trigger prototypes
| Name | Description | Expression | Priority | Dependencies |
|---|---|---|---|---|
| Oracle Database '{#DBNAME}': Open status has changed | Oracle DB open status has changed. Ack to close. | last(/Oracle by ODBC/oracle.pdb_open_mode["{#DBNAME}"],#1)<>last(/Oracle by ODBC/oracle.pdb_open_mode["{#DBNAME}"],#2) | INFO 🔔 | Oracle Database '{#DBNAME}': Open status |
| Oracle Database '{#DBNAME}': Open status in mount mode | The Oracle DB has a MOUNTED state. | last(/Oracle by ODBC/oracle.pdb_open_mode["{#DBNAME}"])=1 | WARNING 📢 | Oracle Database '{#DBNAME}': Open status |
Discovery rule №5
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| Tablespace discovery | Scanning tablespaces in DBMS. | ODBC | 1h | db.odbc.discovery[tbsname,,"Driver={$ORACLE.DRIVER};DBQ=//{HOST.CONN}:{$ORACLE.PORT}/{$ORACLE.SERVICE};"] |
Item prototypes
| Name | Description | Type | Interval | Key and additional info |
|---|---|---|---|---|
| Oracle TBS '{#TABLESPACE}': Tablespace allocated, bytes | Currently allocated bytes for tablespace (sum of the current size of datafiles). | DEPENDENT | - | oracle.tbs_alloc_bytes["{#TABLESPACE}"] |
| Oracle TBS '{#TABLESPACE}': Tablespace free, bytes | Free bytes of allocated space. | DEPENDENT | - | oracle.tbs_free_bytes["{#TABLESPACE}"] |
| Oracle TBS '{#TABLESPACE}': Tablespace MAX size, bytes | Maximum size of tablespace. | DEPENDENT | - | oracle.tbs_max_bytes["{#TABLESPACE}"] |
| Oracle TBS '{#TABLESPACE}': Open status | Tablespace status. 1 - 'ONLINE' 2 - 'OFFLINE' 3- 'READ ONLY' | DEPENDENT | - | oracle.tbs_status["{#TABLESPACE}"] |
| Oracle TBS '{#TABLESPACE}': Tablespace used, bytes | Currently used bytes for tablespace (current size of datafiles-free space). | DEPENDENT | - | oracle.tbs_used_bytes["{#TABLESPACE}"] |
| Oracle TBS '{#TABLESPACE}': Tablespace usage, percent | Used bytes/Allocated bytes*100 | DEPENDENT | - | oracle.tbs_used_file_pct["{#TABLESPACE}"] |
| Oracle TBS '{#TABLESPACE}': Tablespace allocated, percent | Allocated bytes/Max bytes*100 | DEPENDENT | - | oracle.tbs_used_pct["{#TABLESPACE}"] |
Trigger prototypes
| Name | Description | Expression | Priority | Dependencies |
|---|---|---|---|---|
| Oracle TBS '{#TABLESPACE}': Tablespace is OFFLINE | The tablespace is in the offline state. | last(/Oracle by ODBC/oracle.tbs_status["{#TABLESPACE}"])=2 | WARNING 📢 | Oracle TBS '{#TABLESPACE}': Open status |
| Oracle TBS '{#TABLESPACE}': Tablespace status has changed | Oracle tablespace status has changed. Ack to close. | last(/Oracle by ODBC/oracle.tbs_status["{#TABLESPACE}"],#1)<>last(/Oracle by ODBC/oracle.tbs_status["{#TABLESPACE}"],#2) | INFO 🔔 | Oracle TBS '{#TABLESPACE}': Open status |
| Oracle TBS '{#TABLESPACE}': Tablespace usage is too high | - | min(/Oracle by ODBC/oracle.tbs_used_file_pct["{#TABLESPACE}"],5m)>{$ORACLE.TBS.USED.PCT.MAX.HIGH} | HIGH ⛔ | Oracle TBS '{#TABLESPACE}': Tablespace usage, percent |
| Oracle TBS '{#TABLESPACE}': Tablespace usage is too high | - | min(/Oracle by ODBC/oracle.tbs_used_file_pct["{#TABLESPACE}"],5m)>{$ORACLE.TBS.USED.PCT.MAX.WARN} | WARNING 📢 | Oracle TBS '{#TABLESPACE}': Tablespace usage, percent |
| Oracle TBS '{#TABLESPACE}': Tablespace utilization is too high | - | min(/Oracle by ODBC/oracle.tbs_used_pct["{#TABLESPACE}"],5m)>{$ORACLE.TBS.USED.PCT.MAX.WARN} | WARNING 📢 | Oracle TBS '{#TABLESPACE}': Tablespace allocated, percent |
| Oracle TBS '{#TABLESPACE}': Tablespace utilization is too high | - | min(/Oracle by ODBC/oracle.tbs_used_pct["{#TABLESPACE}"],5m)>{$ORACLE.TBS.UTIL.PCT.MAX.HIGH} | HIGH ⛔ | Oracle TBS '{#TABLESPACE}': Tablespace allocated, percent |