我在我的ORACLE 9.2上试过了,没有问题。

解决方案 »

  1.   

    報錯:
    [1]: (Warning) PLS-00201: 識別字 'V$SQLTEXT' 必須被宣告
    [1]: (Warning) PL/SQL: Compilation unit analysis terminated
      

  2.   

    估计在9I中你用户附于的角色没有读取v$sqltext的权限
    同角色或同样的权限在8和9中可能会不一样
      

  3.   

    select * from v$sqltext 是可以得到结果
      

  4.   

    我用sys登录,测试成功,但其它如system账户不行:
    SQL>conn sys/password as sysdba;
    SQL>/  ...
      

  5.   

    SQL> connect system/beckham
    Connected to Oracle9i Enterprise Edition Release 9.2.0.1.0 
    Connected as systemSQL> declare
      2  num number;
      3  begin
      4  select count(1) into num from v$sqltext;
      5  end;
      6  /PL/SQL procedure successfully completed只需DBA权限就可以
      

  6.   

    如果还不行的话,给赋予一个 select any table 的权限就可以了
      

  7.   

    sys用户下
    create public synonym v$sqltext for v_$sqltext;
    或者重跑catalog.sql好了。