ORA-00942 when trying to select from gv$session inside of procedure
Try doing this:

GRANT SELECT ON gv_$session TO system;


Because you are accessing a sys table by system in a stored 
procedure you need a direct grant on the underlying table.