cancel
Showing results for 
Search instead for 
Did you mean: 

Cannot execute flowgraph - Required privileges and/or roles not granted to the database user

Former Member
0 Kudos

Hi everyone, at first glance the problems seems obvious (if you read the title again)...but I'm stuck!

(I'm using a productive license, not a trial!)

I got my VIRTUAL TABLE up and running along with the agent (I'm using Oracle 11g)

I'm trying to create a flowgraph and execute it. Basically this flowgraph uses a VIRTUAL TABLE (replicated from Oracle) and replicates to a TemplateTable1 (column table in HANA) (as showed below).

I've flagged the VIRTUAL TABLE and the flowgraph itself to use "realtime replication" (as showed below).

When I save and activate the flowgraph everything goes well....However, when I execute the flowgraph the following error comes up:

[17:25:44] Start executing Teste....
[17:25:48] InternalError: dberror($.hdb.Connection.executeProcedure): 256 - SQL error, server error code: 256. sql processing error: "<MY_COMPANY_NAME_HERE>"."SercorpKestraaReplication::Teste_SP": line 7 col 7 (at pos 298): 
[256] (range 3) sql processing error exception: sql processing error: QUEUE: SercorpKestraaReplication::Teste_RS: Failed to add subscription for remote subscription 
SercorpKestraaReplication::Teste_RS[id = 171942] in remote source SERCORP_LOGREADER[id = 171223]. Error: exception 151050: CDC add subscription failed: Adapter validation failed. Required privileges 
and/or roles not granted to the database user [<MY_COMPANY_NAME_HERE>]. Missing privileges and/or roles are [SELECT ON SYS.ATTRIBUTE$, SELECT ON SYS.TABCOMPART$, SELECT ON SYS.V_$DATABASE, SELECT ON 
SYS.DBA_ERRORS, SELECT ON SYS.COLLECTION$, EXECUTE ON SYS.DBMS_LOGMNR, SELECT ON SYS.TYPE$, SELECT ON SYS.DBA_SYNONYMS, SELECT ON SYS.CDEF$, EXECUTE ON SYS.DBMS_LOGMNR_D, SELECT ON SYS.TABSUBPART$, 
SELECT ON SYS.LOB$, SELECT ON SYS.TABPART$, SELECT ON SYS.SEQ$, SELECT ON SYS.TAB$, SELECT ON SYS.USER$, SELECT ON SYS.V_$LOGMNR_CONTENTS, SELECT ON SYS.LOBFRAG$, SELECT ON SYS.OPQTYPE$, SELECT ON 
SYS.INDSUBPART$, SELECT ON SYS.V_$LOGFILE, SELECT ON SYS.DBA_LOG_GROUPS, ADMINISTER DATABASE TRIGGER, SELECT ON SYS.COLTYPE$, SELECT ON SYS.CCOL$, SELECT ON SYS.INDCOMPART$, SELECT ON 
SYS.V_$ARCHIVE_DEST, SELECT ON SYS.V_$PARAMETER, SELECT ON SYS.V_$LOG, SELECT ON SYS.PARTOBJ$, SELECT ON SYS.ICOL$, SELECT ON SYS.V_$LOGMNR_LOGS, SELECT ON SYS.DBA_TRIGGERS, SELECT ON SYS.OBJ$, SELECT 
ON SYS.SEG$, SELECT ON SYS.V_$ARCHIVED_LOG, SELECT ON SYS.GV_$SESSION, SELECT ON SYS.NTAB$, SELECT ON SYS.V_$DATABASE_INCARNATION, SELECT ON SYS.DBA_TABLES, SELECT ON SYS.V_$INSTANCE, SELECT ON 
SYS.DEFERRED_STG$, SELECT ON SYS.IND$, SELECT ON SYS.INDPART$, ALTER ANY TABLE, SELECT ON SYS.DBA_OBJECTS, SELECT ANY TRANSACTION, SELECT ON SYS.MLOG$, SELECT ON SYS.LOBCOMPPART$, SELECT ON SYS.CON$, 
SELECT ON SYS.DBA_LIBRARIES, SELECT ON SYS.GV_$INSTANCE, SELECT ON SYS.SNAP$, SELECT ON SYS.V_$TRANSACTION, SELECT ON SYS.COL$, SELECT ON SYS.TS$]

My database user has the following privileges:

Granted Roles:

HCP_PUBLIC
HCP_SYSTEM 
PUBLIC 
sap.hana.admin.roles::Monitoring
sap.hana.uis.db::SITE_DESIGNER
sap.hana.xs.admin.roles::HTTPDestAdministrator
sap.hana.xs.admin.roles::HTTPDestViewer
sap.hana.xs.admin.roles::TrustStoreAdministrator
sap.hana.xs.admin.roles::TrustStoreViewer
sap.hana.xs.debugger::Debugger
sap.hana.xs.ide.roles::CatalogDeveloper
sap.hana.xs.ide.roles::Developer
sap.hana.xs.ide.roles::EditorDeveloper
sap.hana.xs.ide.roles::SecurityAdmin 

System Privilegies:

AGENT ADMIN
ADAPTER ADMIN
CREATE REMOTE SOURCE

Application Privilegies:

sap.hana.im.dp.admin::Administrator

Does anyone has a clue of what I'm doing wrong?

Thank you!

Wagner Alves

Skype: wagner.developers

Accepted Solutions (1)

Accepted Solutions (1)

Hello,

I think the privileges are missing on the remote system. In order for the CDC(realtime) to work on the Oracle Remote Source you need to up an appropriate user on the oracle side.

The Hana setup itself seems to be fine.

Kind Regards,

Timo Wagner

Answers (0)