Introduction

This section gives specific details on the configuration and operation of the OracleScanner. The OracleScanner uses SQL-NET using TCP/IP to transfer data to/from the Oracle database if the Oracle database is located on a different host on the network. Otherwise, the OracleScanner connects directly with the local Oracle database.

The OracleScanner, unlike other scan tasks, is used mainly to poll the RTAP database for information to send to an Oracle database. The scan task has been optimized to send data to the Oracle database. The scan task can be set up to poll the Oracle database for upload value(s).

In order to upload value(s) from the Oracle database, the cross ref table (see Configuring the Scan Device Point) must contain a record that has "[alias]" in it's rtap attribute field. Before value(s) are uploaded from the Oracle database, data from the Oracle field corresponding to "[alias]" must match a record in the scan input table's rtap alias name field. If no match is found, an error message is logged, and no data is written to the RTAP database. Once a record from the Oracle database has been processed for an upload, the record is deleted from the Oracle table. This allows for upload value(s) from the Oracle database to be queued.

An array of data can be sent to Oracle by setting "transfer direction" (see Attributes to Configure in the Scan Device Point) appropriately. Each scan input record is sent as a single Oracle transaction. The largest attribute record count specified in the "cross ref table" attribute (see Attributes to Configure in the Scan Device Point) will determine the number of records inserted into the Oracle table. If a scalar attribute is specified, the value will be in all record(s) sent to Oracle. If a vector attribute is specified, and the number of records being sent to Oracle is greater than the vector's record count, the extra record values will be sent as zero. This also applies to table fields.

Data transferred to the Oracle database are sent as arrays. Values are "inserted" into the given Oracle table. Attributes in the RTAP comm port point allow the user to optimize the data transfer to the Oracle database (see Data Transfer Optimization).

Data can be updated to the Oracle database using the update transfer direction (see transfer direction ). In this mode, the cross reference table uses some specific functions (see cross ref table ) to build up the WHERE condition that is part of the UPDATE SQL statement. It is up to the configurator to properly configure this so that the update will occur on the appropriate row(s) in the Oracle table.

If the connection to the Oracle database is disconnected, the OracleScanner can save the transactions into a file (see transfer direction or sql filename). When the connection to the Oracle database is re-established, transactions from this file will then be sent to the Oracle database. The transactions will be sent to the Oracle database until a message arrives on the scan task's queue. The scan task will then process the message before continuing with the transactions from the file.

Performance

The following are some performance figures for the following configuration:

Inserts with an Oracle commit after each transaction = 49 tps
Inserts without an Oracle commit                     = 80 tps
    

where tps = Transactions Per Second

 

[note] The following symbol indicates a reference to the specified section in section 4 of the RTAP/Plus Integration Manual §.