Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORA-26723: user "STRMADM1" requires the role "DBA"

user1323May 23 2008 — edited Nov 3 2009
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
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 1 2009
Added on May 23 2008
4 comments
1,745 views