ITPub博客

首页 > Linux操作系统 > Linux操作系统 > JOB调用DBMS_STATS包出错的诊断

JOB调用DBMS_STATS包出错的诊断

原创 Linux操作系统 作者:yangtingkun 时间:2007-12-21 00:00:00 0 删除 编辑

在检查后台alert文件的时候,发现了一个job运行错误。


错误信息为:

Errors in file /opt/oracle/admin/tradedb/bdump/tradedb1_j000_10429.trc:
ORA-12012:
自动执行作业 68 出错
ORA-20000: Insufficient privileges to analyze an object in Schema
ORA-06512:
"SYS.DBMS_STATS", line 13323
ORA-06512:
"SYS.DBMS_STATS", line 13682
ORA-06512:
"SYS.DBMS_STATS", line 13760
ORA-06512:
"SYS.DBMS_STATS", line 13719
ORA-06512:
line 1

从错误信息看,应该是收集统计信息的时候缺少权限。

首先检查出错的JOB

SQL> SELECT JOB, WHAT FROM DBA_JOBS WHERE JOB = 68;

JOB WHAT
---------- -------------------------------------------------------------------
68 DBMS_STATS.GATHER_SCHEMA_STATS(USER, METHOD_OPT => 'FOR ALL INDEXED COLUMNS');

SQL> SELECT JOB, LAST_DATE, NEXT_DATE FROM DBA_JOBS WHERE JOB = 68;

JOB LAST_DATE NEXT_DATE
---------- ------------------- -------------------
68 2007-12-14 04:00:00 2007-12-21 12:37:27

这个JOB是用户在收集自己的统计信息,如果是收集其他用户的统计信息出错是比较正常的,而收集自己的统计信息报权限问题,肯定不正常。

而且这个JOB7天前还顺利执行,现在报错很可能是和最近的数据库修改有关。

根据目前的情况判断,存在两种可能,一种是bug,另一种是由于最近的修改导致的。

通过查询metalink,没有找到相关的bug描述,且大部分类似的错误都和权限有关。看来问题很可能是第二种情况。

如果是第二种情况,那么用户收集自己的统计信息怎么会出现权限不足呢。如果是用户下的表,则用户肯定有权限分析,如果在其他用户下,又不会去收集信息。看来问题应该不是出在表的身上。

再次观察JOB执行的命令,DBMS_STATS.GATHER_SCHEMA_STATS默认是收集索引信息的,那会不会是索引造成的问题。表虽然不会跑到其他用户下,可是索引是可能建立到其他用户下的。

查询索引的OWNER,果然发现问题:

SQL> SELECT DISTINCT OWNER FROM ALL_INDEXES WHERE TABLE_OWNER = 'GPO';

OWNER
------------------------------
SYS
GPO

进一步查询具体错误对象:

SQL> SELECT OWNER, TABLE_NAME, INDEX_NAME
2 FROM ALL_INDEXES
3 WHERE OWNER = 'SYS'
4 AND TABLE_OWNER = 'GPO';

OWNER TABLE_NAME INDEX_NAME
-------------------- ------------------------------ ------------------------------
SYS GPO_ACCREDIT_PRICE IND_GPO_ACC_PRICE_SELLER_ID

查看索引的创建时间,果然是昨天建立的:

SQL> SELECT OBJECT_NAME, CREATED FROM USER_OBJECTS
2 WHERE OBJECT_NAME = 'IND_GPO_ACC_PRICE_SELLER_ID';

OBJECT_NAME CREATED
------------------------------ -------------------
IND_GPO_ACC_PRICE_SELLER_ID 2007-12-20 16:05:35

删除索引后,在GPO用户下重建,问题解决。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/4227/viewspace-69552/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2007-12-29

  • 博文量
    1955
  • 访问量
    10488050