# tOracleConfiguration properties for Apache Spark Batch

These properties are used to configure tOracleConfiguration running in the Spark Batch Job framework.

The Spark Batch tOracleConfiguration component belongs to the Storage and the Databases families.

The component in this framework is available in all subscription-based Talend products with Big Data and Talend Data Fabric.

## Basic settings

| Properties | Description |
| --- | --- |
| Property type | Either Built-In or Repository.<br><br><br>Built-In: No property data stored centrally.<br><br><br>Repository: Select the repository file where the<br>properties are stored. |
| Connection type | The available drivers are:<br><br><ul> <li> <p> <span>Oracle OCI</span>: Select this connection type                    to use Oracle Call Interface with a set of C-language software APIs that provide                    an interface to the Oracle database.</p> </li> <li> <p> <span>Oracle Custom</span>: Select this connection                    type to access a clustered database. With this type of connection, the                        <span>Username</span> and the <span>Password</span> fields are deactivated and you need to                    enter the connection URL in the <span>URL</span> field                    that is displayed.</p> <p>For further information about the valid form of this URL, see <a href="http://www.dba-resources.com/oracle/jdbc-connection-strings-for-oracle-thin-driver/" target="_blank">JDBC Connection                        strings</a> from the Oracle documentation.</p> </li> <li> <p> <span>Oracle Service Name</span>: Select this                    connection type to use the TNS alias that you give when you connect to the                    remote database. </p> </li> <li> <p> <span>WALLET</span>: Select this connection type to                    store credentials in an Oracle wallet.</p> </li> <li> <p> <span>Oracle SID</span>: Select this connection type                    to uniquely identify a particular database on a system.</p> </li> </ul> |
| DB Version | Select the version of the Oracle database to be used. |
| Use tns file | Select this check box to use the metadata of a context included in a tns<br>file.<br><br>Note that one tns file may have many contexts.<br><br><br>TNS File: Enter the path to the tns file manually or<br>browse to the file by clicking the [...] button next<br>to the field.<br><br><br>Select a DB Connection in Tns File: Click the<br>[...] button to display all the contexts held in<br>the tns file and select the desired one. |
| Host | Enter the IP address of the database server. |
| Port | Enter the listening port number of the database server. |
| Database | Enter the name of the database to be used. |
| Schema | Enter the name of the schema. |
| Username and Password | Enter the user authentication data.<br><br>To enter the password, click the [...] button<br>next to the password field, enter the password in double quotes in the pop-up dialog box,<br>and click OK to save the settings. |
| Additional JDBC parameters | Specify additional connection properties for the database connection you are<br>creating. The properties are separated by semicolon and each property is a key-value<br>pair, for example, *encryption=1;clientname=Talend*.<br><br>This field is not available if the Use an existing<br>connection check box is selected. |

## Advanced settings

| Properties | Description |
| --- | --- |
| connection pool | In this area, you configure, for each Spark executor, the connection pool used to control<br>the number of connections that stay open simultaneously. The default values given to the<br>following connection pool parameters are good enough for most use cases.<br><br><ul> <li> <p> <span>Max total number of connections</span>: enter the maximum number            of connections (idle or active) that are allowed to stay open simultaneously.</p> <p>The default number is <em>8</em>. If you enter <em>-1</em>, you allow unlimited number of open connections at the same                time.</p> </li> <li> <p> <span>Max waiting time (ms)</span>: enter the maximum amount of time                    at the end of which the response to a demand for using a connection should be returned by                    the connection pool. By default, it is -1, that is to say, infinite.</p> </li> <li> <p> <span>Min number of idle connections</span>: enter the minimum number                        of idle connections (connections not used) maintained in the connection pool.</p> </li> <li> <p> <span>Max number of idle connections</span>: enter the maximum number                            of idle connections (connections not used) maintained in the connection pool.</p> </li> </ul> |
| Evict connections | Select this check box to define criteria to destroy connections in the connection pool. The<br>following fields are displayed once you have selected it.<br><br><ul> <li> <p> <span>Time between two eviction runs</span>: enter the time interval                                    (in milliseconds) at the end of which the component checks the status of the connections and                                    destroys the idle ones.</p> </li> <li> <p> <span>Min idle time for a connection to be eligible to                                            eviction</span>: enter the time interval (in milliseconds) at the end of which the idle                                        connections are destroyed.</p> </li> <li> <p> <span>Soft min idle time for a connection to be eligible to                                                eviction</span>: this parameter works the same way as <span>Min idle                                                    time for a connection to be eligible to eviction</span> but it keeps the minimum number                                            of idle connections, the number you define in the <span>Min number of idle                                                connections</span> field.</p> </li> </ul> |

## Usage

| Usage guidance | Description |
| --- | --- |
| **Usage rule** | This component is used with no need to be connected to other<br>components.<br><br>The configuration in a tOracleConfiguration component applies only on the Oracle related<br>components in the same Job. In other words, the Oracle components used in a child or a<br>parent Job that is called via tRunJob cannot reuse<br>this configuration.<br><br>This component, along with the Spark Batch component Palette it belongs to,<br>appears only when you are creating a Spark Batch Job.<br><br>Note that in this documentation, unless otherwise explicitly stated, a<br>scenario presents only Standard Jobs, that is to<br>say traditional<br>Talend<br>data integration Jobs. |
| Spark Connection | In the Spark<br>Configuration tab in the Run<br>view, define the connection to a given Spark cluster for the whole Job. In<br>addition, since the Job expects its dependent jar files for execution, you must<br>specify the directory in the file system to which these jar files are<br>transferred so that Spark can access these files:<br><br><ul> <li> <div> <span>Yarn mode</span> (Yarn client or Yarn cluster):<ul> <li> <p>When using Google Dataproc, specify a bucket in the                                            <span>Google Storage staging bucket</span>                                        field in the <span>Spark configuration</span>                                        tab.</p> </li> <li> <p>When using HDInsight, specify the blob to be used for Job                                        deployment in the <span>Windows Azure Storage                                            configuration</span> area in the <span>Spark                                            configuration</span> tab.</p> </li> <li>When using Altus, specify the S3 bucket or the Azure                                    Data Lake Storage for Job deployment in the <span>Spark                                        configuration</span> tab.</li> <li> <p>When using on-premises distributions, use                                        the configuration component corresponding to the file system                                        your cluster is using. Typically, this system is HDFS and so                                        use <a href="https://help.qlik.com/talend/r/en-US/8.0/components/hdfs/thdfsconfiguration">tHDFSConfiguration</a>.</p> </li> </ul> </div> </li> <li> <p> <span>Standalone mode</span>: use the                            configuration component corresponding to the file system your cluster is                            using, such as <a href="https://help.qlik.com/talend/r/en-US/8.0/components/hdfs/thdfsconfiguration-properties-for-apache-spark-batch">tHDFSConfiguration Apache Spark Batch</a> or <a href="https://help.qlik.com/talend/r/en-US/8.0/components/amazon-s3/ts3configuration-properties-for-apache-spark-batch">tS3Configuration Apache Spark Batch</a>.</p> <p>If you are using Databricks without any configuration component present                            in your Job, your business data is written directly in DBFS (Databricks                            Filesystem).</p> </li> </ul><br><br>This connection is effective on a per-Job basis. |