Last active
March 29, 2021 14:26
-
-
Save hguerrero/f85b3995a5e54fd15bff23e3151f5402 to your computer and use it in GitHub Desktop.
Database configuration Oracle Connector for Debezium
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- Create and populate our products using a single insert with many rows | |
CREATE TABLE products ( | |
id NUMBER(4) GENERATED BY DEFAULT ON NULL AS IDENTITY (START WITH 101) NOT NULL PRIMARY KEY, | |
name VARCHAR2(255) NOT NULL, | |
description VARCHAR2(512), | |
weight FLOAT | |
); | |
GRANT SELECT ON products to c##dbzuser; | |
ALTER TABLE products ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS; | |
INSERT INTO products | |
VALUES (NULL,'scooter','Small 2-wheel scooter',3.14); | |
INSERT INTO products | |
VALUES (NULL,'car battery','12V car battery',8.1); | |
INSERT INTO products | |
VALUES (NULL,'12-pack drill bits','12-pack of drill bits with sizes ranging from #40 to #3',0.8); | |
INSERT INTO products | |
VALUES (NULL,'hammer','12oz carpenter''s hammer',0.75); | |
INSERT INTO products | |
VALUES (NULL,'hammer','14oz carpenter''s hammer',0.875); | |
INSERT INTO products | |
VALUES (NULL,'hammer','16oz carpenter''s hammer',1.0); | |
INSERT INTO products | |
VALUES (NULL,'rocks','box of assorted rocks',5.3); | |
INSERT INTO products | |
VALUES (NULL,'jacket','water resistent black wind breaker',0.1); | |
INSERT INTO products | |
VALUES (NULL,'spare tire','24 inch spare tire',22.2); | |
-- Create and populate the products on hand using multiple inserts | |
CREATE TABLE products_on_hand ( | |
product_id NUMBER(4) NOT NULL PRIMARY KEY, | |
quantity NUMBER(4) NOT NULL, | |
FOREIGN KEY (product_id) REFERENCES products(id) | |
); | |
GRANT SELECT ON products_on_hand to c##dbzuser; | |
ALTER TABLE products_on_hand ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS; | |
INSERT INTO products_on_hand VALUES (101,3); | |
INSERT INTO products_on_hand VALUES (102,8); | |
INSERT INTO products_on_hand VALUES (103,18); | |
INSERT INTO products_on_hand VALUES (104,4); | |
INSERT INTO products_on_hand VALUES (105,5); | |
INSERT INTO products_on_hand VALUES (106,0); | |
INSERT INTO products_on_hand VALUES (107,44); | |
INSERT INTO products_on_hand VALUES (108,2); | |
INSERT INTO products_on_hand VALUES (109,5); | |
-- Create some customers ... | |
CREATE TABLE customers ( | |
id NUMBER(4) GENERATED BY DEFAULT ON NULL AS IDENTITY (START WITH 1001) NOT NULL PRIMARY KEY, | |
first_name VARCHAR2(255) NOT NULL, | |
last_name VARCHAR2(255) NOT NULL, | |
email VARCHAR2(255) NOT NULL UNIQUE | |
); | |
GRANT SELECT ON customers to c##dbzuser; | |
ALTER TABLE customers ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS; | |
INSERT INTO customers | |
VALUES (NULL,'Sally','Thomas','[email protected]'); | |
INSERT INTO customers | |
VALUES (NULL,'George','Bailey','[email protected]'); | |
INSERT INTO customers | |
VALUES (NULL,'Edward','Walker','[email protected]'); | |
INSERT INTO customers | |
VALUES (NULL,'Anne','Kretchmar','[email protected]'); | |
-- Create some very simple orders | |
CREATE TABLE debezium.orders ( | |
id NUMBER(6) GENERATED BY DEFAULT ON NULL AS IDENTITY (START WITH 10001) NOT NULL PRIMARY KEY, | |
order_date DATE NOT NULL, | |
purchaser NUMBER(4) NOT NULL, | |
quantity NUMBER(4) NOT NULL, | |
product_id NUMBER(4) NOT NULL, | |
FOREIGN KEY (purchaser) REFERENCES customers(id), | |
FOREIGN KEY (product_id) REFERENCES products(id) | |
); | |
GRANT SELECT ON orders to c##dbzuser; | |
ALTER TABLE orders ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS; | |
INSERT INTO orders | |
VALUES (NULL, '16-JAN-2016', 1001, 1, 102); | |
INSERT INTO orders | |
VALUES (NULL, '17-JAN-2016', 1002, 2, 105); | |
INSERT INTO orders | |
VALUES (NULL, '19-FEB-2016', 1002, 2, 106); | |
INSERT INTO orders | |
VALUES (NULL, '21-FEB-2016', 1003, 1, 107); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# Set archive log mode and enable GG replication | |
ORACLE_SID=ORCLCDB | |
export ORACLE_SID | |
sqlplus /nolog <<- EOF | |
CONNECT sys/Oradoc_db1 AS SYSDBA | |
alter system set db_recovery_file_dest_size = 10G; | |
alter system set db_recovery_file_dest = '/ORCL/u02/app/oracle/oradata/recovery_data' scope=spfile; | |
shutdown immediate | |
startup mount | |
alter database archivelog; | |
alter database open; | |
-- Should show "Database log mode: Archive Mode" | |
archive log list | |
exit; | |
EOF | |
# Enable LogMiner required database features/settings | |
sqlplus sys/Oradoc_db1@//localhost:1521/ORCLCDB.localdomain as sysdba <<- EOF | |
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; | |
ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED; | |
exit; | |
EOF | |
# Create Log Miner Tablespace and User | |
sqlplus sys/Oradoc_db1@//localhost:1521/ORCLCDB.localdomain as sysdba <<- EOF | |
CREATE TABLESPACE LOGMINER_TBS DATAFILE '/ORCL/u02/app/oracle/oradata/ORCLCDB/logminer_tbs.dbf' SIZE 25M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED; | |
exit; | |
EOF | |
sqlplus sys/Oradoc_db1@//localhost:1521/ORCLPDB1.localdomain as sysdba <<- EOF | |
CREATE TABLESPACE LOGMINER_TBS DATAFILE '/ORCL/u02/app/oracle/oradata/ORCLCDB/ORCLPDB1/logminer_tbs.dbf' SIZE 25M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED; | |
exit; | |
EOF | |
sqlplus sys/Oradoc_db1@//localhost:1521/ORCLCDB.localdomain as sysdba <<- EOF | |
CREATE USER c##dbzuser IDENTIFIED BY dbz DEFAULT TABLESPACE LOGMINER_TBS QUOTA UNLIMITED ON LOGMINER_TBS CONTAINER=ALL; | |
GRANT CREATE SESSION TO c##dbzuser CONTAINER=ALL; | |
GRANT SET CONTAINER TO c##dbzuser CONTAINER=ALL; | |
GRANT SELECT ON V_\$DATABASE TO c##dbzuser CONTAINER=ALL; | |
GRANT FLASHBACK ANY TABLE TO c##dbzuser CONTAINER=ALL; | |
GRANT SELECT ANY TABLE TO c##dbzuser CONTAINER=ALL; | |
GRANT SELECT_CATALOG_ROLE TO c##dbzuser CONTAINER=ALL; | |
GRANT EXECUTE_CATALOG_ROLE TO c##dbzuser CONTAINER=ALL; | |
GRANT SELECT ANY TRANSACTION TO c##dbzuser CONTAINER=ALL; | |
GRANT SELECT ANY DICTIONARY TO c##dbzuser CONTAINER=ALL; | |
GRANT LOGMINING TO c##dbzuser CONTAINER=ALL; | |
GRANT CREATE TABLE TO c##dbzuser CONTAINER=ALL; | |
GRANT ALTER ANY TABLE TO c##dbzuser CONTAINER=ALL; | |
GRANT LOCK ANY TABLE TO c##dbzuser CONTAINER=ALL; | |
GRANT CREATE SEQUENCE TO c##dbzuser CONTAINER=ALL; | |
GRANT EXECUTE ON DBMS_LOGMNR TO c##dbzuser CONTAINER=ALL; | |
GRANT EXECUTE ON DBMS_LOGMNR_D TO c##dbzuser CONTAINER=ALL; | |
GRANT SELECT ON V_\$LOGMNR_LOGS TO c##dbzuser CONTAINER=ALL; | |
GRANT SELECT ON V_\$LOGMNR_CONTENTS TO c##dbzuser CONTAINER=ALL; | |
GRANT SELECT ON V_\$LOGFILE TO c##dbzuser CONTAINER=ALL; | |
GRANT SELECT ON V_\$ARCHIVED_LOG TO c##dbzuser CONTAINER=ALL; | |
GRANT SELECT ON V_\$ARCHIVE_DEST_STATUS TO c##dbzuser CONTAINER=ALL; | |
exit; | |
EOF | |
sqlplus sys/Oradoc_db1@//localhost:1521/ORCLPDB1.localdomain as sysdba <<- EOF | |
CREATE USER debezium IDENTIFIED BY dbz; | |
GRANT CONNECT TO debezium; | |
GRANT CREATE SESSION TO debezium; | |
GRANT CREATE TABLE TO debezium; | |
GRANT CREATE SEQUENCE to debezium; | |
ALTER USER debezium QUOTA 100M on users; | |
exit; | |
EOF |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment