title: ORA-00905 missing keyword
body: <p>I am trying to execute the following code in sqlplus through a sql file:</p>
  
  <pre><code>connect sys/knl_test7 as sysdba    
  grant sysdba to user1 identified by user1;    
  grant sysoper to user2 identified by user2;
  
  variable c number;
  
  begin    
    :c := dbms_sql.open_cursor;    
    for i in 3 .. 98 loop    
      dbms_sql.parse(:c, 'grant sysdba to user'||to_char(i)||' identified by user'||to_char(i), dbms_sql.v7);
      dbms_lock.sleep(5);    
    end loop;    
    dbms_sql.close_cursor(:c);
    tkzpwfsync.check_condition('(select count(username) from v$pwfile_users where username like ''USER%'')=98');    
  end;
  /
  </code></pre>
  
  <p>However after running the script I am getting the following error:</p>
  
  <pre><code>begin
  *
  ERROR at line 1:
  ORA-00905 missing keyword
  </code></pre>
  
  <p>The check_condition procedure is as below, it basically verifies if the condition provided is true or not.</p>
  
  <pre><code>create or replace package tkzpwfsync is
    procedure check_condition(condition varchar2);
  end;
  /
  
  show errors
  
  create or replace package body tkzpwfsync is
   procedure check_condition(condition varchar2) is
    x integer;
    c number;
   begin
    x := 0;
    c := dbms_sql.open_cursor;
    dbms_sql.parse(c,'select 1 into x from dual where '||condition,dbms_sql.v7);
    if (x!=1) then raise_application_error(-20001,'Condition '||condition||' is not met.'); end if;
    dbms_sql.close_cursor(c);
   end;
  end;
  /
  
  show errors
  
  create public synonym tkzpwfsync for tkzpwfsync;
  
  grant execute on tkzpwfsync to public;
  </code></pre>