ltdts_ora

ltdts_ora — Ltdts_ora用于将数据从Oracle同步到LightDB。

Synopsis

java -jar ltdts_ora.jar [option...] [ 示例: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用于将数据从Oracle同步到LightDB。 在运行ltdts_ora.jar之前,您需要先完成以下准备工作。

# 打开Oracle归档日志并启用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;
-- 应显示 "Database log mode: Archive Mode"
archive log list;

exit;

# 创建XStream管理员用户
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;

# 创建连接器的XStream用户

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;


# 创建XStream出站服务器
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;

# 配置XStream用户帐户以连接到XStream出站服务器
sqlplus sys/password@host:port/SID as sysdba

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

exit;
      

Options

必须至少指定以下选项之一才能选择操作:

--oh

指定Oracle的主机、Oracle的端口和Oracle的数据库名称。 格式类似于192.168.1.1:1521/ORCL。

--ou

要连接的Oracle用户名。

--op

Oracle用户密码。

--oa

Oracle XStream out应用程序名称。

--m

数据同步格式模式,选项为{SQL,JSON},默认值为SQL。

--sd

您要在哪里同步数据,选项为{LT,FILE},默认值为LT。 [提示:LT是LightDB的缩写]

--lh

指定LightDB的主机、LightDB的端口和LightDB的数据库名称。 格式类似于192.168.1.1:5432/postgres。

--lu

要连接的LightDB用户名。

--lp

LightDB用户密码。

--bl

不要同步的黑名单表,如果有多个,请用逗号分隔。

See Also

ltdts_recvlogical