> ## Documentation Index
> Fetch the complete documentation index at: https://docs.honeycomb.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Oracle Database

<Badge className="hny-badge-enterprise-addon" stroke>Ent+</Badge>

<Note>
  This feature is available as an add-on for the [Honeycomb Enterprise plan](https://www.honeycomb.io/pricing/).
  Please contact your Honeycomb account team for details.
</Note>

## Supported Platforms

| Platform | Metrics | Logs | Traces |
| :- | :- | :- | :- |
| Linux | ✓ | ✓ | |
| Windows | ✓ | ✓ | |
| macOS | ✓ | ✓ | |

## Metrics Requirements

To collect metrics from OracleDB, a user with `SELECT` access to the relevant views is required. To create a new user with those permissions, run the following SQL script as a user with sufficient permissions connected to the Oracle DB instance as SYSDBA or SYSOPER.

```sql theme={}
  -- Create the monitoring user "bindplane"
  CREATE USER bindplane IDENTIFIED BY <authentication password>;

  -- Grant the "bindplane" user the required permissions
  GRANT CONNECT TO bindplane;
  GRANT SELECT ON SYS.GV_$DATABASE to bindplane;
  GRANT SELECT ON SYS.GV_$INSTANCE to bindplane;
  GRANT SELECT ON SYS.GV_$PROCESS to bindplane;
  GRANT SELECT ON SYS.GV_$RESOURCE_LIMIT to bindplane;
  GRANT SELECT ON SYS.GV_$SYSMETRIC to bindplane;
  GRANT SELECT ON SYS.GV_$SYSSTAT to bindplane;
  GRANT SELECT ON SYS.GV_$SYSTEM_EVENT to bindplane;
  GRANT SELECT ON SYS.V_$RMAN_BACKUP_JOB_DETAILS to bindplane;
  GRANT SELECT ON SYS.V_$SORT_SEGMENT to bindplane;
  GRANT SELECT ON SYS.V_$TABLESPACE to bindplane;
  GRANT SELECT ON SYS.V_$TEMPFILE to bindplane;
  GRANT SELECT ON SYS.DBA_DATA_FILES to bindplane;
  GRANT SELECT ON SYS.DBA_FREE_SPACE to bindplane;
  GRANT SELECT ON SYS.DBA_TABLESPACE_USAGE_METRICS to bindplane;
  GRANT SELECT ON SYS.DBA_TABLESPACES to bindplane;
  GRANT SELECT ON SYS.GLOBAL_NAME to bindplane;
```

## Configuration Table

| Parameter | Type | Default | Description |
| :- | :- | :- | :- |
| telemetry\_types | `telemetrySelector` | `["Logs", "Metrics"]` | Choose Telemetry Type. |
| audit\_log\_path | `strings` | "/u01/app/oracle/product/*/dbhome\_1/admin/*/adump/\*.aud" | File paths to audit logs. |
| enable\_alert\_log | `bool` | true | |
| alert\_log\_path | `strings` | "/u01/app/oracle/product/*/dbhome\_1/diag/rdbms/*/\_/trace/alert\_\_.log" | File paths to alert logs. |
| enable\_listener\_log | `bool` | true | |
| listener\_log\_path | `strings` | "/u01/app/oracle/product/*/dbhome\_1/diag/tnslsnr/*/listener/alert/log.xml" | File paths to listener logs. |
| start\_at | `enum` | end | Start reading the file from the 'beginning' or 'end'. |
| host | `string` | localhost | Host to scrape metrics from. |
| port | `int` | 1521 | Port of the host to scrape metrics from. |
| username\* | `string` | | Database user to run metric queries with. |
| password | `string` | | Password for user. |
| sid | `string` | | Site Identifier. One or both of sid or service\_name must be specified. |
| service\_name | `string` | | OracleDB Service Name. One or both of sid or service\_name must be specified. |
| wallet | `string` | | OracleDB Wallet file location (must be URL encoded). |
| collection\_interval | `int` | 60 | Sets how often (seconds) to scrape for metrics. |
| enable\_audit\_log | `bool` | true | Enable to collect audit logs. |
