ltdts_ora — Ltdts_ora用于将数据从Oracle同步到LightDB。
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
]
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;
必须至少指定以下选项之一才能选择操作:
--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
不要同步的黑名单表,如果有多个,请用逗号分隔。