Cannot grant INDEX to a ROLE



Relatively new here. Having an issue when doing package builds. Sometimes we get zombies. It is not a happening at regular intervals or for specific servers its just random. The only common point we have found is that there are DB issues with all even builds that do not zombie. Any ideas on how to fix this? ...Tools REV 9.2

[FONT=&quot]3164/2332 Tue Feb 07 11:05:23.523000 dbperfrq.c471[/FONT]
OCI0000178 - Unable to execute - GRANT INDEX ON PY920.F98762PYU170207 TO JDEADMIN[/FONT]​
[FONT=&quot]3164/2332 Tue Feb 07 11:05:23.523001 dbperfrq.c477[/FONT]
OCI0000179 - Error - ORA-01931: cannot grant INDEX to a role[/FONT]​
[FONT=&quot] [/FONT]
[FONT=&quot]3164/2332 Tue Feb 07 11:05:23.523002 JDB_DRVM.C1001[/FONT]
JDB9900401 - Failed to execute db request



Reputable Poster
This is due to lack of permissions on the PY920 schema. Check the permissions for the system user (probably JDE).


Thank You... I went into SQL developer and added permissions to the user and I still get the DB error.
Last edited:


Active Member
In P98OWSEC, add an override for the central objects datasource for that environment/schema owner. So for example if the environment is DV, do an add in P98OWSEC and fill out datasource field with Central Objects - DV920, user as DV920 and the corresponding db password. Log out and back in to have it take affect.


I feel its worth noting that even when our builds do finish successfully that these errors are still there. I found this on the oracle support site. I granted the index privilege to user JDE as well and the error still bugs me.

ORA-01931: cannot grant string to a role
Cause: UNLIMITED TABLESPACE, REFERENCES, INDEX, SYSDBA, SYSOPER or SYSASM privilege could not be granted to a role.
Action: Grant privilege directly to the user.


Well Known Member
No problem. Who is JDEADMIN? In your screenshot, JDE is using the JDE system user but the error is saying it can't grant access to a role? Sounds like some type of bug. Open a ticket with Oracle. Do an update package with debug logs turned on for a more detailed look.

JDEADMIN Role is Introduced from 9.2 !!!

Check whether PY920 has the Role JDEUSER and JDE_ROLE ? Seems like PY920 is missing any of this role.


The reason you're seeing these error messages during a package build is that it creates a bunch of tables in the Central Objects schema of that pathcode as part of the build, and when it creates the tables, it tries to put in place the database privileges set up in the P986117 (Work With Data Source Privileges). This is a feature new to 9.2 I believe.
You've most likely got it set up so that all privileges are being granted to the JDEADMIN database role when new tables are generated. One of the privileges included in this is "Allow Index".
Specifically in Oracle (I can't say for certain on other database types) you can't grant "Index" to a role, only a user. That's why you get this error: Error - ORA-01931: cannot grant INDEX to a role.