Last active
December 15, 2020 12:27
-
-
Save eclecticmiraclecat/5fd16d10aef18109e71dc089fef02076 to your computer and use it in GitHub Desktop.
oracle cdc autolog
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
docker run --privileged --name oracle11g -p 1521:1521 -v /home/oracle/install:/install jaspeen/oracle-11g | |
docker exec -it oracle11g bash | |
su oracle | |
sqlplus / as sysdba | |
alter system set log_archive_dest_1 ="location=/opt/oracle/dbs mandatory reopen=5" log_archive_dest_state_1=enable | |
alter system set streams_pool_size='10' java_pool_size=50000000; | |
CREATE USER pink IDENTIFIED BY pink | |
QUOTA UNLIMITED ON SYSTEM | |
QUOTA UNLIMITED ON SYSAUX; | |
GRANT CREATE SESSION TO pink; | |
GRANT CREATE TABLE TO pink; | |
GRANT CREATE TABLESPACE TO pink; | |
GRANT UNLIMITED TABLESPACE TO pink; | |
GRANT SELECT_CATALOG_ROLE TO pink; | |
GRANT EXECUTE_CATALOG_ROLE TO pink; | |
GRANT CREATE SEQUENCE TO pink; | |
GRANT CONNECT, RESOURCE, DBA TO pink; | |
EXECUTE DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE(GRANTEE => 'cdcpub') | |
ALTER DATABASE FORCE LOGGING; | |
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; | |
create tablespace ts_chicago_daily datafile 'ts_cdcpub02.dbf' size 300m; | |
CREATE USER cdcpub IDENTIFIED BY cdcpub DEFAULT TABLESPACE ts_cdcpub | |
QUOTA UNLIMITED ON SYSTEM | |
QUOTA UNLIMITED ON SYSAUX; | |
GRANT CREATE SESSION TO cdcpub; | |
GRANT CREATE TABLE TO cdcpub; | |
GRANT CREATE TABLESPACE TO cdcpub; | |
GRANT UNLIMITED TABLESPACE TO cdcpub; | |
GRANT SELECT_CATALOG_ROLE TO cdcpub; | |
GRANT EXECUTE_CATALOG_ROLE TO cdcpub; | |
GRANT CONNECT, RESOURCE, DBA TO cdcpub; | |
GRANT CREATE SEQUENCE TO cdcpub; | |
EXECUTE DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE(grantee => 'cdcpub'); | |
SET SERVEROUTPUT ON | |
VARIABLE f_scn NUMBER; | |
BEGIN | |
:f_scn := 0; | |
DBMS_CAPTURE_ADM.BUILD(:f_scn); | |
DBMS_OUTPUT.PUT_LINE('The first_scn value is ' || :f_scn); | |
END; | |
/ | |
1016084 | |
BEGIN | |
DBMS_CAPTURE_ADM.PREPARE_TABLE_INSTANTIATION( | |
TABLE_NAME => 'pink.kiki'); | |
END; | |
/ | |
SQL> SELECT GLOBAL_NAME FROM GLOBAL_NAME; | |
GLOBAL_NAME | |
-------------------------------------------------------------------------------- | |
ORCL | |
BEGIN | |
DBMS_CDC_PUBLISH.CREATE_AUTOLOG_CHANGE_SOURCE( | |
change_source_name => 'CHICAGO', | |
description => 'test source', | |
source_database => 'ORCL', | |
first_scn => 1016084); | |
END; | |
/ | |
BEGIN | |
DBMS_CDC_PUBLISH.CREATE_CHANGE_SET( | |
change_set_name => 'CHICAGO_DAILY', | |
description => 'change set for job history info', | |
change_source_name => 'CHICAGO', | |
stop_on_ddl => 'y'); | |
END; | |
/ | |
BEGIN | |
DBMS_CDC_PUBLISH.CREATE_CHANGE_TABLE( | |
owner => 'cdcpub', | |
change_table_name => 'JOB_HIST_CT', | |
change_set_name => 'CHICAGO_DAILY', | |
source_schema => 'PINK', | |
source_table => 'KIKI', | |
column_type_list => 'ID NUMBER(12), NAME VARCHAR2(23)', | |
capture_values => 'both', | |
rs_id => 'y', | |
row_id => 'n', | |
user_id => 'n', | |
timestamp => 'n', | |
object_id => 'n', | |
source_colmap => 'n', | |
target_colmap => 'y', | |
options_string => 'TABLESPACE TS_CHICAGO_DAILY'); | |
END; | |
/ | |
BEGIN | |
DBMS_CDC_PUBLISH.ALTER_CHANGE_SET( | |
change_set_name => 'CHICAGO_DAILY', | |
enable_capture => 'y'); | |
END; | |
/ | |
ALTER SYSTEM SWITCH LOGFILE; | |
--ALTER SYSTEM ARCHIVE LOG ALL; | |
GRANT SELECT ON cdcpub.job_hist_ct TO pink; | |
conn cdcpub/cdcpub | |
SELECT * FROM ALL_SOURCE_TABLES; | |
SELECT UNIQUE CHANGE_SET_NAME, COLUMN_NAME, PUB_ID | |
FROM ALL_PUBLISHED_COLUMNS | |
WHERE SOURCE_SCHEMA_NAME ='PINK' AND SOURCE_TABLE_NAME = 'KIKI'; | |
BEGIN | |
DBMS_CDC_SUBSCRIBE.CREATE_SUBSCRIPTION( | |
change_set_name => 'CHICAGO_DAILY', | |
description => 'Change data for JOB_HISTORY', | |
subscription_name => 'JOBHIST_SUB'); | |
END; | |
/ | |
BEGIN | |
DBMS_CDC_SUBSCRIBE.SUBSCRIBE( | |
subscription_name => 'JOBHIST_SUB', | |
source_schema => 'PINK', | |
source_table => 'KIKI', | |
column_list => 'ID,NAME', | |
subscriber_view => 'JOBHIST_VIEW'); | |
END; | |
/ | |
SELECT UNIQUE CHANGE_SET_NAME, SOURCE_TABLE_NAME, COLUMN_NAME, PUB_ID | |
FROM ALL_PUBLISHED_COLUMNS | |
WHERE SOURCE_SCHEMA_NAME ='PINK' AND SOURCE_TABLE_NAME = 'KIKI'; | |
BEGIN | |
DBMS_CDC_SUBSCRIBE.ACTIVATE_SUBSCRIPTION( | |
subscription_name => 'JOBHIST_SUB'); | |
END; | |
/ | |
BEGIN | |
DBMS_CDC_SUBSCRIBE.EXTEND_WINDOW( | |
subscription_name => 'JOBHIST_SUB'); | |
END; | |
/ | |
SELECT * FROM JOBHIST_VIEW; | |
conn pink/pink | |
insert into pink.kiki values('1','AMITRATHssssaaaa'); | |
conn cdcpub/cdcpub | |
BEGIN | |
DBMS_CDC_SUBSCRIBE.EXTEND_WINDOW( | |
subscription_name => 'JOBHIST_SUB'); | |
END; | |
/ | |
SELECT * FROM JOBHIST_VIEW; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment