使用 Statspack报错的解决方法

        1. 今天安装Statspack后,运行报以下错误,处理办法是将STATS$SNAPSHOT主键和外键都删掉,然后悲剧的是报告一直生成不了。

SQL> execute statspack.snap;
begin statspack.snap; end;
 
ORA-04063: package body "SYS.DBMS_SHARED_POOL" 有错误
ORA-06508: PL/SQL: 无法找到正在调用 : "SYS.DBMS_SHARED_POOL" 的程序单元
ORA-06512: 在 "PERFSTAT.STATSPACK", line 5370
ORA-06512: 在 line 2
 
SQL> execute statspack.snap;
begin statspack.snap; end;
 
ORA-02291: 违反完整约束条件 (PERFSTAT.STATS$SNAPSHOT_FK) - 未找到父项关键字
ORA-06512: 在 "PERFSTAT.STATSPACK", line 4239
ORA-06512: 在 "PERFSTAT.STATSPACK", line 104
ORA-06512: 在 line 2

       2. 找到原因是DBMS_SHARED_POOL编译不通过。

         ORA-04063: package body "SYS.DBMS_SHARED_POOL" 有错误
         ORA-06508: PL/SQL: 无法找到正在调用 : "SYS.DBMS_SHARED_POOL" 的程序单元
         ORA-06512: 在 "PERFSTAT.STATSPACK", line 5370
         ORA-06512: 在 line 2

       3. 继续找原因是@spcreate.sql在pl/sql中执行的,应该要做cmd中执行。

       4. 生成的报告在D:\oracle\product\10.2.0\db_1\BIN下,可以指定报告路径如 D:/gg1

 

       Statspack生成报告步骤:

         SQL> @D:\oracle\RDBMS\ADMIN\spcreate.sql

         SQL> execute statspack.snap

         SQL> execute statspack.snap

         SQL> @D:\oracle\RDBMS\ADMIN\spreport.sql

         SQL> @D:\oracle\RDBMS\ADMIN\spdrop.sql

 

     

你可能感兴趣的:(sql)