package
2.1.0+incompatible
Repository: https://github.com/cloudspannerecosystem/harbourbridge.git
Documentation: pkg.go.dev

# README

HarbourBridge: Oracle-to-Spanner Evaluation and Migration

HarbourBridge is a stand-alone open source tool for Cloud Spanner evaluation, using data from an existing Oracle database. This README provides details of the tool's Oracle capabilities. For general HarbourBridge information see this README.

We currently do not support dump file mode for Oracle. The only way to use HarbourBridge with OracleDB is connecting directly.

Note that 'oracle' can be used as an identifier with the flag -source in the command line.

Example Oracle DB Usage

HarbourBridge can be run directly on a Oracle database (via go's database/sql package).

The following examples assume a harbourbridge alias has been setup as described in the Installing HarbourBridge section of the main README.

Directly connecting to an Oracle database

In this case, HarbourBridge connects directly to the Oracle database to retrieve table schema and data. Set the -source=oracle and corresponding source profile connection parameters host, port, user, dbName and password.

For example, to perform schema conversion, run

harbourbridge schema -source=oracle -source-profile="host=<>,port=<>,user=<>,dbName=<>,password=<>"

In Oracle DB, USER is the account name, SCHEMA is the set of objects owned by that user. Oracle creates the SCHEMA object as part of the CREATE USER statement and the SCHEMA has the same name as the USER.

dbName will be the SID of the Database used. The Oracle System ID (SID) is used to uniquely identify a particular database on a system.

Schema Conversion

SQL_Server_TypeSpanner_Type
NUMBER (* , 0)INT64
FLOATFLOAT64
BINARY_FLOATFLOAT64
BINARY_DOUBLEFLOAT64
NUMBER (* , >0)NUMERIC
CHARSTRING(1)
NCHARSTRING(N)
VARCHARSTRING(MAX)
VARCHAR2STRING(MAX)
NVARCHAR2STRING(MAX)
CLOBSTRING(MAX)
NCLOBSTRING(MAX)
LONGSTRING(MAX)
ROWIDSTRING(MAX)
UROWIDSTRING(MAX)
DATEDATE
TIMESTAMPTIMESTAMP
BLOBBYTES
BFILEBYTES
RAWBYTES
LONG RAWBYTES
XMLTYPESTRING(MAX)
INTERVAL YEARSTRING(MAX)
INTERVAL DAYSTRING(MAX)
GEOMETRYSTRING(MAX)
JSONJSON