ltdts_ora

ltdts_ora — Ltdts_ora is used for synchronize data from Oracle to LightDB.

Synopsis

java -jar ltdts_ora.jar [option...] [ example:java -jar ltdts_ora.jar --server.port=7777 --oh=192.168.1.1:1521/test --ou=XSTRM --op=dbz --oa=DBZXOUT --lh=192.168.1.2:7000/postgres --lu=lightdb --lp=lightdb123 ]

Description

ltdts_ora is used for synchronize data from Oracle to LightDB. Befor you run the ltdts_ora.jar, you should finish the prepare work as blow first.

# Open Oracle archive log and enable XStream.
sqlplus /nolog
CONNECT sys/password@host:port AS SYSDBA;

alter system set db_recovery_file_dest_size = 100G;
alter system set db_recovery_file_dest = '/opt/oracle/oradata/recovery_area' scope=spfile;
alter system set enable_goldengate_replication=true;
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
-- select status from v$instance;
-- Should show "Database log mode: Archive Mode"
archive log list;

exit;

# Creating an XStream Administrator user
sqlplus sys/password@host:port/SID as sysdba

CREATE TABLESPACE xstream_adm_tbs DATAFILE '/opt/oracle/oradata/orcl/xstream_adm_tbs.dbf' SIZE 25M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
CREATE USER xstrmadmin IDENTIFIED BY dbz DEFAULT TABLESPACE xstream_adm_tbs QUOTA UNLIMITED ON xstream_adm_tbs;
GRANT CREATE SESSION TO xstrmadmin;
BEGIN
 DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE(
  grantee                 => 'xstrmadmin',
  privilege_type          => 'CAPTURE',
  grant_select_privileges => TRUE,
  container             => 'ALL'
 );
END;

# Creating the connector’s XStream user

CREATE TABLESPACE xstream_tbs DATAFILE '/opt/oracle/oradata/orcl/xstream_tbs.dbf' SIZE 25M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
CREATE USER xstrm IDENTIFIED BY dbz DEFAULT TABLESPACE xstream_tbs QUOTA UNLIMITED ON xstream_tbs;
GRANT CREATE SESSION TO xstrm;
GRANT SELECT ON V_$DATABASE to xstrm;
GRANT FLASHBACK ANY TABLE TO xstrm;
GRANT SELECT ANY TABLE to xstrm;
GRANT LOCK ANY TABLE TO xstrm;
grant select_catalog_role to xstrm;
GRANT EXECUTE_CATALOG_ROLE TO xstrm;

# alter database add supplemental log data (all) columns;
alter database add supplemental log data (primary key, unique index) columns;

exit;


# Create an XStream Outbound Server
sqlplus xstrmadmin/password@host:port/SID

DECLARE
tables DBMS_UTILITY.UNCL_ARRAY;
schemas DBMS_UTILITY.UNCL_ARRAY;
BEGIN
 tables(1) := NULL;
 schemas(1) := 'XSTRM';
 DBMS_XSTREAM_ADM.CREATE_OUTBOUND(
  server_name => 'dbzxout',
  table_names => tables,
  schema_names => schemas
 );
END;
/

exit;

# Configure the XStream user account to connect to the XStream Outbound Server
sqlplus sys/password@host:port/SID as sysdba

BEGIN
 DBMS_XSTREAM_ADM.ALTER_OUTBOUND(
  server_name  => 'dbzxout',
  connect_user => 'xstrm'
 );
END;
/

exit;
      

Options

At least one of the following options must be specified to select an action:

--oh

Specifies the host of the Oracle,the port of the Oracle,and the database name of the Oracle. The format is like 192.168.1.1:1521/ORCL

--ou

Oracle user name to connect as

--op

Oracle user password

--oa

Oracle XStream out apply name

--m

Data synchronization format mode, options are {SQL,JSON},the default value is SQL.

--sd

Where do you want to synchronize data, options are {LT,FILE},the default value is LT. [tips:LT is short for LightDB]

--lh

Specifies the host of the LightDB,the port of the LightDB,and the database name of the LightDB. The format is like 192.168.1.1:5432/postgres

--lu

LightDB user name to connect as.

--lp

LightDB user password.

--bl

Blacklist table not to synchronize, if you have more then one, separate by ','.

See Also

ltdts_recvlogical