ORA-26723: user "STRMADM1" requires the role "DBA"
I granted dba to the streams adm user but sqlplus still complains:
sqlplus / as sysdba
SQL> grant dba to strmadm1;
Grant succeeded.
SQL> conn strmadm1/xxxxx
Connected.
SQL> BEGIN add_capture_rules('TABLE1','capture_db1','strmadm1','emsuser'); END;
2 /
BEGIN add_capture_rules('TABLE1','capture_db1','strmadm1','emsuser'); END;
*
ERROR at line 1:
ORA-26723: user "STRMADM1" requires the role "DBA"
ORA-06512: at "SYS.DBMS_STREAMS_ADM", line 372
ORA-06512: at "SYS.DBMS_STREAMS_ADM", line 312
ORA-06512: at "STRMADM1.ADD_CAPTURE_RULES", line 14
ORA-06512: at line 1
where add_capture_rules is simply a wraper of DBMS_STREAMS_ADM.ADD_TABLE_RULES:
CREATE OR REPLACE PROCEDURE ADD_CAPTURE_RULES(
p_table_name IN VARCHAR2,
p_streams_name IN VARCHAR2,
p_strmadm IN VARCHAR2,
emsuser IN VARCHAR2)
IS
p_queue_name VARCHAR2(100) := p_strmadm || '.' || emsuser || '_queue';
BEGIN
dbms_output.put_line('queue_name=' || p_queue_name);
DBMS_STREAMS_ADM.ADD_TABLE_RULES(
table_name => emsuser || '.' || p_table_name,
streams_type => 'capture',
streams_name => p_streams_name,
queue_name => p_queue_name,
include_dml => true,
include_ddl => true);
END;
/
Why? Please help!
- Zach