title: Simple Oracle Stored Procedure getting Invalid object error
body: <p>I am trying to write a simple Oracle Stored Procedure:</p>
  
  <pre><code>CREATE OR REPLACE PROCEDURE act.skeleton
  IS
  DECLARE
    v_rowCount NUMBER;
  BEGIN
    SELECT COUNT(1) INTO v_rowCount FROM ex.emp;
    DBMS_OUTPUT.PUT_LINE(v_rowCount);
  END;
  </code></pre>
  
  <p>However, when I try &amp; run the procedure by issuing <code>execute act.skeleton</code> in PL/SQL Developer command window, I get the following error message:</p>
  
  <pre><code>ORA-06550: line 1, column 11:
  PLS-00905: object ACT.SKELETON is invalid
  ORA-06550: line 1, column 7:
  PL/SQL: Statement ignored
  </code></pre>
  
  <p>I tried to just run the code without the create procedure statement &amp; it runs successfully with the output being displayed. I have tried both <code>CREATE OR REPLACE PROCEDURE IS</code> &amp; <code>CREATE OR REPLACE PROCEDURE AS</code> options but I still get the same error. </p>
  
  <p>I am not sure if this has anything to do with authorization or visibility of the procedure when I try and execute it or what is causing the <code>act.skeleton</code> object to be invalid. I looked into what the error means &amp; it seems it usually refers to compilation error in the procedure but since I can run the code sans the procedure declaration, I am guessing the declaration piece is the culprit. I just don't know enough to figure out what is causing this and I was hoping that someone will be able to shed some more light on it and point me in the right direction</p>
  
  <p>Thanks,</p>
  
  <p>Ashish</p>
  
  <p>Other Details:</p>
  
  <pre><code>Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
  PL/SQL Release 10.2.0.4.0 - Production
  </code></pre>