Skip to content

Commit

Permalink
update quick start oracle
Browse files Browse the repository at this point in the history
  • Loading branch information
LordofAvernus committed Jan 26, 2022
1 parent 18f8c5b commit 902778c
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 43 deletions.
1 change: 1 addition & 0 deletions 0/0_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ dtle (Data-Transformation-le) 是[上海爱可生信息技术股份有限公司]
- 多种源/目标端
- 支持MySQL - MySQL的数据传输
- 支持MySQL - Kafka的数据传输
- 支持Oracle - MySQL的数据传输
- 集群模式
- 提供可靠的元数据存储
- 可进行自动任务分配
Expand Down
43 changes: 13 additions & 30 deletions 2/2.6_oracle_mysql.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ docker network create dtle-net

```
# 启动oracle镜像
docker run -it -d -p 15211:1521 --name oracle-src -e ORACLE_ALLOW_REMOTE=true wnameless/oracle-xe-11g-r2
docker run -it -d -p 1521:1521 --name oracle-src -e ORACLE_ALLOW_REMOTE=true wnameless/oracle-xe-11g-r2
# 环境配置并启动oracle
docker exec -it oracle-src bash
Expand All @@ -28,45 +28,28 @@ docker network create dtle-net
# 设置同步配置
sqlplus SYS/oracle AS SYSDBA
alter system set log_archive_dest_1='location=/u01/app/oracle/oradata/ archive_log' scope=spfile;
alter system set log_archive_dest_1='location=/u01/app/oracle/oradata/archive_log' scope=spfile;
alter system set db_recovery_file_dest_size = 10G;
shutdown immediate;
startup mount;
alter database add logfile group 3 '/u01/app/oracle/fast_recovery_area/ XE/onlinelog/redo01.log' size 500m;
alter database add logfile group 4 '/u01/app/oracle/fast_recovery_area/ XE/onlinelog/redo02.log' size 500m;
alter database add logfile group 5 '/u01/app/oracle/fast_recovery_area/ XE/onlinelog/redo03.log' size 500m;
alter database add logfile group 3 '/u01/app/oracle/fast_recovery_area/XE/onlinelog/redo01.log' size 500m;
alter database add logfile group 4 '/u01/app/oracle/fast_recovery_area/XE/onlinelog/redo02.log' size 500m;
alter database add logfile group 5 '/u01/app/oracle/fast_recovery_area/XE/onlinelog/redo03.log' size 500m;
alter database archivelog;
alter database add supplemental log data (all) columns;
alter database open;
# 创建同步账号
create role roma_logminer_privs;
grant create session,execute_catalog_role,select any transaction,select_catalog_role,select any dictionary to roma_logminer_privs;
grant select on SYSTEM.LOGMNR_COL$ to roma_logminer_privs;
grant select on SYSTEM.LOGMNR_OBJ$ to roma_logminer_privs;
grant select on SYSTEM.LOGMNR_USER$ to roma_logminer_privs;
grant select on SYSTEM.LOGMNR_UID$ to roma_logminer_privs;
create user roma_logminer identified by oracle default tablespace users;
GRANT CREATE SESSION TO roma_logminer;
GRANT SET CONTAINER TO roma_logminer;
GRANT SELECT ON V_$DATABASE TO roma_logminer;
GRANT FLASHBACK ANY TABLE TO roma_logminer;
GRANT SELECT ANY TABLE TO roma_logminer;
GRANT SELECT_CATALOG_ROLE TO roma_logminer;
GRANT EXECUTE_CATALOG_ROLE TO roma_logminer;
GRANT SELECT ANY TRANSACTION TO roma_logminer;
GRANT CREATE TABLE TO roma_logminer;
GRANT LOCK ANY TABLE TO roma_logminer;
GRANT CREATE SEQUENCE TO roma_logminer;
GRANT EXECUTE ON DBMS_LOGMNR TO roma_logminer;
GRANT EXECUTE ON DBMS_LOGMNR_D TO roma_logminer;
GRANT SELECT ON V_$LOG TO roma_logminer;
GRANT SELECT ON V_$LOG_HISTORY TO roma_logminer;
GRANT SELECT ON V_$LOGMNR_LOGS TO roma_logminer;
GRANT SELECT ON V_$LOGMNR_CONTENTS TO roma_logminer;
GRANT SELECT ON V_$LOGMNR_PARAMETERS TO roma_logminer;
GRANT SELECT ON V_$LOGFILE TO roma_logminer;
GRANT SELECT ON V_$ARCHIVED_LOG TO roma_logminer;
GRANT SELECT ON V_$ARCHIVE_DEST_STATUS TO roma_logminer;
alter user roma_logminer quota unlimited ON users;
grant roma_logminer_privs to roma_logminer;
alter user roma_logminer quota unlimited on users;
```


Expand Down
27 changes: 14 additions & 13 deletions 3/3.11_oracle_mysql.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,30 @@
# CDC场景
##
### 全量复制

## 全量复制
- 待支持
### 增量复制(全量库表结构需先同步)
## 增量复制(全量库表结构需先同步)
- 根据SCN节点开启增量复制
- 从任务启动时间开启增量复制

# DML支持

## DML类型
| DML类型 |option |Oracle SQL | MySQL SQL |其他 |
| --- | --- | --- | --- | --- |
| INSERT | | INSERT INTO TEST.CHARACTER_256_COLUMNS VALUES (4, NULL); |replace into `TEST`.`CHAR_256_COLUMNS`(`COL1`, `COL2`)values(?, ?) | args=[0, <nil>] | | |
| INSERT | | INSERT INTO TEST.CHARACTER_256_COLUMNS VALUES (4, NULL); |replace into `TEST`.`CHAR_256_COLUMNS`(`COL1`, `COL2`)values(?, ?) | args=[0, <nil>] |
| UPDATE | | UPDATE TEST.CHAR_20000_COLUMNS SET COL2='a a b ' WHERE COL1=2; | update `TEST`.`CHAR_256_COLUMNS` set`COL1`=?, `COL2`=?where((`COL1` = ?) and (`COL2` = ?)) limit 1| args=[3, "a a", 3, "a a"] |
| DELETE | | DELETE FROM TEST.CHAR_256_COLUMNS WHERE COL1 = 5; | delete from `TEST`.`CHAR_256_COLUMNS` where((`COL1` = ?) and (`COL2` = ?)) limit 1 | args=[5, "ABCDEFGHIJKLMNOPQRSTUVWXYZ "]|
## 函数支持

## 函数支持
| 函数名 | 是否支持 | 其他 |
| --- | --- | --- |
| EMPTY_BLOB || 函数支持解析为NULL|
| EMPTY_CLOB || 函数支持解析为NULL|
| CHR ||
| CHR || |
| HEXTORAW || |
| DATE ||
| DATE || |
| TO_DATE || |
| TO_DSINTERVAL || | |
| TO_DSINTERVAL || |
| TO_YMINTERVAL || |
| RAWTOHEX || |
| UNISTR || |
Expand All @@ -32,17 +33,17 @@
| LOCALTIMESTAMP || |
| CURRENT_TIMESTAMP || |
| SYSTIMESTAMP || |
# DDL支持

# DDL支持
| SQL类型 |Option | Oracle SQL | 转化后MySQL SQL | 语法支持 |
| --- | --- |--- | --- | --- |
| CREATE TABLE | 不带约束 | CREATE TABLE test."persons"("first_name" VARCHAR(15) NOT NULL,last_name VARCHAR2(45) NOT NULL); | CREATE TABLE TEST.persons (first_name VARCHAR(15),LAST_NAME VARCHAR(45)) | 支持 |
| CREATE TABLE | 带约束 | | | 暂未支持 | |
| CREATE TABLE | 带约束 | | | 暂未支持 |
| ALTER TABLE | AddColumnClase | ALTER TABLE test."persons" ADD alter_name1 VARCHAR2 ( 30 )) ADD ( alter_name2 VARCHAR2 ( 30 )); |ALTER TABLE TEST.persons ADD COLUMN(ALTER_NAME1 VARCHAR(30)),ADD COLUMN(ALTER_NAME2 VARCHAR(30)) | 支持 |
| ALTER TABLE| ModifyColumnClause | ALTER TABLE test."persons" MODIFY ( alter_new_name1 CHAR ( 13 )) MODIFY ( alter_name2 VARCHAR ( 66 )) | ALTER TABLE TEST.persons MODIFY COLUMN(ALTER_NEW_NAME1 CHAR(13)),MODIFY COLUMN(ALTER_NAME2 VARCHAR(66)) |支持 |
| ALTER TABLE| DropColumnClause | ALTER TABLE "TEST"."persons" DROP ("DROP_NAME1",drop_name2) | ALTER TABLE TEST.persons DROP COLUMN(DROP_NAME1,DROP_NAME2) | 支持 | |
| ALTER TABLE| RenameColumnClase |ALTER TABLE "TEST"."persons" RENAME COLUMN "RE_NAME" TO "RE_NAME_NEW |ALTER TABLE TEST.persons CHANGE COLUMN RE_NAME RE_NAME_NEW | 当前仅支持8.0语法 | | | | | |
|DROP TABLE || DROP TABLE test."persons| DROP TABLE TEST.persons | | | | | | |
| ALTER TABLE| DropColumnClause | ALTER TABLE "TEST"."persons" DROP ("DROP_NAME1",drop_name2) | ALTER TABLE TEST.persons DROP COLUMN(DROP_NAME1,DROP_NAME2) | 支持 |
| ALTER TABLE| RenameColumnClase |ALTER TABLE "TEST"."persons" RENAME COLUMN "RE_NAME" TO "RE_NAME_NEW |ALTER TABLE TEST.persons CHANGE COLUMN RE_NAME RE_NAME_NEW | 当前仅支持8.0语法 |
|DROP TABLE || DROP TABLE test."persons| DROP TABLE TEST.persons | |
|create schema/create user | | | | 实现为执行create table 前先执行create schema if not exists,保持库同步 [#840](https://github.com/actiontech/dtle/issues/840)|

# 下个版本支持功能
Expand Down

0 comments on commit 902778c

Please sign in to comment.