Log Miner не может собирать данные

Я использую виртуальную машину, на которой у меня предварительно установлен Oracle 12c с подключаемой базой данных orcl. Мне нужно включить майнер журнала на этом оракуле, чтобы фиксировать измененные данные. Я написал утилиту Java, которая читает журналы повтора Oracle и создает сеанс майнера журнала и собирает данные. Раньше он собирал данные, но теперь не может их захватить. Вот набор команд, которые я использую для включения лог-майнера.

sqlplus sys/oracle@orcl12c as sysdba

shutdown immediate;

startup mount;

alter database archivelog;

alter database open;



ALTER SESSION SET CONTAINER=ORCL;

CREATE USER inventory IDENTIFIED BY oracle;

GRANT CONNECT TO inventory;

GRANT CONNECT, RESOURCE, DBA TO inventory;

CREATE TABLE inventory.customers(id number(10),first_name varchar2(20),last_name  varchar2(20),email varchar2(20),modified_date timestamp);

ALTER SESSION SET CONTAINER=cdb$root;

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;

ALTER SYSTEM SWITCH LOGFILE;

ALTER SYSTEM SET db_recovery_file_dest_size = 50G SCOPE=BOTH SID='*';

CREATE USER c##cdc IDENTIFIED BY oracle CONTAINER=all;

GRANT create session, alter session, set container, select any dictionary, logmining, execute_catalog_role TO c##cdc CONTAINER=all;



ALTER SESSION SET CONTAINER=ORCL;

GRANT select on inventory.customers TO c##cdc;

ALTER SESSION SET CONTAINER=cdb$root;

EXECUTE DBMS_LOGMNR_D.BUILD(OPTIONS=> DBMS_LOGMNR_D.STORE_IN_REDO_LOGS);

sqlplus sys/oracle@orcl as sysdba

INSERT INTO inventory.customers VALUES (1,'NN','MM','nn@te',CURRENT_TIMESTAMP);

INSERT INTO inventory.customers VALUES (2,'NN','MM','nn@te',CURRENT_TIMESTAMP);

commit;

DELETE FROM inventory.customers;

commit;

Кроме того, в утилите Java нет ошибок. Может ли кто-нибудь помочь в решении этого вопроса?

0 ответов

Другие вопросы по тегам