Streams Capture Error: ORA-01333: failed to establish Logminer Dictionary
583757May 20 2008 — edited May 22 2008I get the following error:
ORA-01333: failed to establish Logminer Dictionary ORA-01304: subordinate process error. Check alert and trace logs ORA-29900: operator binding does not exist
when the capture process is started. I am trying to get[b] schema to schema replication going within a Database. I have tried a few different scripts to get this replication going for the EMPLOYEES table from a HR to HR2 schemas which are identical.
One of the scripts I used is given below.
If anyone could point out what could be possibly wrong? or what parameter is not set it would be greatly appreciated. The database is Oracle 11g running in ARCHIVELOG Mode.
CREATE TABLESPACE streams_tbs
DATAFILE 'C:\app\oradata\stream_files\ORCL\streams_tbs.dbf' SIZE 25M;
-- Create the Streams administrator user in the database, as follows:
CREATE USER strmadmin
IDENTIFIED BY strmadmin
DEFAULT TABLESPACE streams_tbs
TEMPORARY TABLESPACE temp
QUOTA UNLIMITED ON streams_tbs;
-- Grant the CONNECT, RESOURCE, and DBA roles to the Streams administrator:
GRANT CONNECT, RESOURCE, DBA
TO strmadmin;
--Grant the required privileges to the Streams administrator:
BEGIN
DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE(
grantee => 'strmadmin',
grant_privileges => true);
END;
/
--Granting these roles can assist with administration:
GRANT SELECT_CATALOG_ROLE
TO strmadmin;
GRANT SELECT ANY DICTIONARY
TO strmadmin;
commit;
-- Setup queues
CONNECT strmadmin/strmadmin@ORCL
BEGIN
DBMS_STREAMS_ADM.SET_UP_QUEUE();
END;
/
--Capture
BEGIN
DBMS_STREAMS_ADM.ADD_TABLE_RULES(
table_name => 'HR.EMPLOYEES',
streams_type => 'capture',
streams_name => 'capture_stream',
queue_name =>
'strmadmin.streams_queue',
include_dml => true,
include_ddl => true,
inclusion_rule => true);
END;
/
--Apply
BEGIN
DBMS_STREAMS_ADM.ADD_TABLE_RULES(
table_name => 'HR2.EMPLOYEES',
streams_type => 'apply',
streams_name => 'apply_stream',
queue_name =>
'strmadmin.streams_queue',
include_dml => true,
include_ddl => true,
source_database => 'ORCL',
inclusion_rule => true);
END;
/
--Start Capture
BEGIN
DBMS_CAPTURE_ADM.START_CAPTURE(
capture_name =>
'capture_stream');
END;
/
--Start the apply Process
BEGIN
DBMS_APPLY_ADM.SET_PARAMETER(
apply_name => 'apply_stream',
parameter => 'disable_on_error',
value => 'n');
END;
/
BEGIN
DBMS_APPLY_ADM.START_APPLY(
apply_name => 'apply_stream');
END;
/
Any suggestions?