'DBMS_PIPE' must be declared: 10.2 can't connect to my Oracle DB

12659
2
09-06-2013 01:48 PM
847396730
Occasional Contributor III
Hello!  Our IT group maintains three Oracle databases, dev/test/prod--separate from our SQL Server ArcSDE geodatabases.  The Oracle databases have the SDE user and schema, but no sde service. We are preparing to upgrade our clients to ArcGIS Desktop 10.2, and have discovered the following error when trying to connect to IT's production Oracle database:

Failed to connect to the specified server. Do you want to continue? Underlying DBMS error[ORA-06550: line 1, column 44:
PLS-00201: identifier 'DBMS_PIPE' must be declared
ORA-06550: line 1 column 26:
PL/SQL: Statement ignored
No execute privilege for required Oracle builtin package DBMS_PIPE.
]

I can connect successfully in ArcGIS Desktop 10.0, but not 10.2--I see the known bug NIM085951, but that bug is specific to a SQL Server role, and this is Oracle.
What's next?

Thank you!
0 Kudos
2 Replies
VinceAngelo
Esri Esteemed Contributor
What specific build of ArcGIS 10.0 are you using? [SP + patch(es)]
At what specific build is the 10.0 geodatabase? [SP + patch(es)]

Has the required "GRANT EXECUTE ON dbms_pipe TO PUBLIC" been executed
as the SYS user?  If not, has it been explicitly granted to each user?

- V
0 Kudos
847396730
Occasional Contributor III
I have a disappointing answer for anyone following this thread, but feel compelled to provide an update.  Vince, to answer your questions: the ArcGIS 10 is at SP5--that connection works.  The connection that doesn't work is a version 10.2 client connecting to the 10.2 Oracle geodatabase.

I received, from the DBA, a long list of all the permissions (including public role) associated with the user.  I then identified the 18 which existed in dev and test, but not in prod.  I asked the DBA to remove those 18 from dev so I could see if their revocation would result in the same error message. 

The DBA wrote me back, said I was ready to test, and Eureka!  The dev connection works and, mysteriously, so does prod. 

Long story short: the DBA fixed the db permissions in prod, so I'll never know which one was the culprit.  But I can surmise (but not know for sure) that permissions were the issue.

Interestingly, Vince: neither the user nor the public role are granted execute on dbms_pipe, but the connection works.  This seems contrary to the documentation; I'm not sure what to make of it, and since the DBA has hidden the priv tables from me, I can't really get to the bottom of it.  Thanks again for your time!
0 Kudos