# Starburst Oracle connector#

The Starburst Oracle connector is an extended version of the Oracle connector, the initial configuration and usage is identical.

The following improvements are included:

## SQL support#

The connector supports all of the SQL statements listed in the Oracle connector documentation

## Performance#

The connector includes a number of performance improvements, detailed in the following sections.

### Parallelism#

The connector is able to read data from Oracle using multiple parallel connections.

Oracle parallelism configuration properties#

Property name

Description

Default

oracle.parallelism-type

Determines the parallelism method. Possible values are:

• NO_PARALLELISM, single JDBC connection

• PARTITIONS, separate connection for each partition

NO_PARALLELISM

oracle.parallel.max-splits-per-scan

Maximum number of parallel connections for a table scan

10

### Table statistics#

The Oracle connector supports table and column statistics to improve query processing performance based on the actual data in the data source.

The statistics are collected by Oracle and retrieved by the connector.

To collect statistics for a table, add the following statement to your Oracle database:

EXECUTE DBMS_STATS.GATHER_TABLE_STATS('USER_NAME', 'TABLE_NAME');


See Oracle’s documentation for additional options and instructions on invoking a procedure when you’re not using SQL*Plus.

### Pushdown#

The connector supports pushdown for the following aggregate functions:

Additionally, pushdown is only supported for DOUBLE type columns with the following functions:

Additionally pushdown is only supported for REAL or DOUBLE type column with the following functions:

### Dynamic filtering#

Dynamic filtering is enabled by default. It causes the connector to wait for dynamic filtering to complete before starting a JDBC query.

You can disable dynamic filtering by setting the property dynamic-filtering.enabled in your catalog properties file to false.

### Starburst Cached Views#

The connectors supports table scan redirection to improve performance and reduce load on the data source.

## Security#

The connector includes a number of security-related features, detailed in the following sections.

### User impersonation#

Oracle connector supports user impersonation. In the Oracle connector, user impersonation creates proxy user accounts and authorizes users to connect through them in Oracle database.

Enable user impersonation in the catalog file:

oracle.impersonation.enabled=true


### Kerberos authentication#

The Oracle connector supports Kerberos-based authentication with the following configuration:

oracle.authentication.type=KERBEROS
kerberos.client.principal=example@example.com
kerberos.client.keytab=etc/kerberos/example.keytab
kerberos.config=etc/kerberos/krb5.conf


In this configuration the user example@example.com, as defined in the principal property, connects to the database. The related Kerberos service ticket is located in the example.keytab file.

### Kerberos credential pass-through#

You can configure the Starburst Oracle connector to pass through Kerberos credentials, received by SEP, to the Oracle database. To configure Kerberos and SEP, see Kerberos credential pass-through.

After you configure Kerberos and SEP, edit the properties file to enable the connector to pass the credentials from the server to the database.

Confirm the correct Kerberos client configuration properties in the catalog properties file. For example:

oracle.authentication.type=KERBEROS_PASS_THROUGH
http.authentication.krb5.config=/etc/krb5.conf
http-server.authentication.krb5.service-name=exampleServiceName
http-server.authentication.krb5.keytab=/path/to/Keytab/File


Now any database accessed using SEP is subject to the Kerberos defined data access restrictions and permissions.

oracle.authentication.type=PASSWORD_PASS_THROUGH