Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> PLS-00201 identifier 'SYS.V_$SESSION' must be declared
I cannot compile a procedure that selects from v$session. I am getting
error PLS-00201 identifier 'SYS.V_$SESSION' must be declared. V$SESSION is
a valid synonym for SYS.V_$SESSION. I can select from V$SESSION in SQL
Plus, but not from within a procedure. Supposedly, my role has select
permission on ALL tables.
1) How can I verify my table permissions?
2) What else could be causing this error?
If I use the EXECUTE IMMEDIATE statement to run dynamic sql (see below) that selects from SYS.V_$SESSION, the procedure compiles, but I receive error message ORA-00942: table or view does not exist.
CREATE OR REPLACE PROCEDURE jsession (p_in IN NUMBER, p_out OUT VARCHAR2) IS
v_sql VARCHAR2(2000);
BEGIN
v_sql := 'SELECT username FROM sys.v_$session WHERE sid = ' || p_in;
EXECUTE IMMEDIATE v_sql INTO p_out;
END;
/
Thanks for any assistance. JW
Received on Fri Jan 11 2002 - 15:53:00 CST
![]() |
![]() |