ORA-06550 PLS-00201: identifier must be declared Issue. [message #599068] |
Tue, 22 October 2013 01:20 |
Manoj.Gupta.91
Messages: 239 Registered: March 2008 Location: Delhi
|
Senior Member |
|
|
Hi All,
I'm facing an issue as below.
We have two schemas COMN and APPL. Procedure exists in COMN schema from COMN we have given Execute and Debug grants to APPL. In APPL we have created synonym for the procedure in COMN. On checking I found grants are properly given and synonym is also valid.
SELECT * FROM DBA_OBJECTS WHERE OBJECT_NAME = 'PRC_EOD_PROCESSING' ;
OWNER OBJECT_NAME SUBOBJECT_NAME OBJECT_ID DATA_OBJECT_ID OBJECT_TYPE CREATED
COMN PRC_EOD_PROCESSING 83531 PROCEDURE 03-09-2013 11:58:26
APPL PRC_EOD_PROCESSING 83644 SYNONYM 04-09-2013 15:10:44
LAST_DDL_TIME TIMESTAMP STATUS TEMPORARY GENERATED SECONDARY NAMESPACE EDITION_NAME
18-10-2013 17:51:17 2013-10-18:17:51:17 VALID N N N 1
22-10-2013 11:04:17 2013-10-22:11:04:17 VALID N N N 1
SELECT * FROM DBA_TAB_PRIVS WHERE TABLE_NAME = 'PRC_EOD_PROCESSING' ;
GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRANTABLE HIERARCHY
APPL COMN PRC_EOD_PROCESSING COMN EXECUTE NO NO
APPL COMN PRC_EOD_PROCESSING COMN DEBUG NO NO
From APPL User.
If I execute procedure using COMN.PRC_EOD_PROCESSING I'm able to execute. Since I've created synonym I should be able to execute without prefixing owner schema name. If I execute it without prefixing owner name PRC_EOD_PROCESSING I receive below error.
ORA-06550: line 1, column 7:
PLS-00201: identifier 'PRC_EOD_PROCESSING' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
When I executed below statement I was able to execute procedure without prefixing owner name.
CREATE OR REPLACE SYNONYM PRC_EOD_PROCESSING FOR COMN.PRC_EOD_PROCESSING ;
It seems there was an issue with synonym. But data dictionary was showing it's status as valid.
Is this issue related to SGA or Shared Pool flushing etc.
Please help me to resolve this issue.
Thanks & Regards
Manoj
|
|
|
|
Re: ORA-06550 PLS-00201: identifier must be declared Issue. [message #599076 is a reply to message #599069] |
Tue, 22 October 2013 01:50 |
Manoj.Gupta.91
Messages: 239 Registered: March 2008 Location: Delhi
|
Senior Member |
|
|
Hi Michel,
It normally works. But I faced this situation which looks very very odd for me.
I suppose it is some memory related issue. Anyhow background processed didn't find this object.
I don't know which data dictionary should be used to find information related to this issue. May be some traces etc. will help.
Please guide me how to investigate this issue.
Thanks & Regards
Manoj
|
|
|
|
Re: ORA-06550 PLS-00201: identifier must be declared Issue. [message #599082 is a reply to message #599078] |
Tue, 22 October 2013 02:15 |
Manoj.Gupta.91
Messages: 239 Registered: March 2008 Location: Delhi
|
Senior Member |
|
|
Hi Michel,
I'll do the same when I come across this issue again.
At present can we have some historical traces to investigate this issue. Because this is strange and should not happen in production system. Although this has happened in development environment but we should do some route cause analysis for this issue.
Thanks & Regards
Manoj
|
|
|
|
Re: ORA-06550 PLS-00201: identifier must be declared Issue. [message #599094 is a reply to message #599089] |
Tue, 22 October 2013 03:45 |
Manoj.Gupta.91
Messages: 239 Registered: March 2008 Location: Delhi
|
Senior Member |
|
|
Hi Michel,
Steps are same as you described in your post. I didn't do anything, just attempted to execute that procedure and faced below issue.
ORA-06550: line 1, column 7:
PLS-00201: identifier 'PRC_EOD_PROCESSING' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
Please advise.
Thanks & Regards
Manoj
|
|
|
|