IMP-00003: 遇到 ORACLE 错误 20005
ORA-20005: object statistics are locked (stattype = ALL)
ORA-06512: 在 "SYS.DBMS_STATS", line 3635
ORA-06512: 在 "SYS.DBMS_STATS", line 4451
ORA-06512: 在 "SYS.DBMS_STATS", line 8897
ORA-06512: 在 line 1
IMP-00017: 由于 ORACLE 错误 20005, 以下语句失败:
"DECLARE SREC DBMS_STATS.STATREC; BEGIN SREC.MINVAL := NULL; SREC.MAXVAL :="
" NULL; SREC.EAVS := 0; SREC.CHVALS := NULL; SREC.NOVALS := DBMS_STATS.NUMAR"
"RAY(0,0); SREC.BKVALS := DBMS_STATS.NUMARRAY(0,1); SREC.EPC := 2; DBMS_STAT"
"S.SET_COLUMN_STATS(NULL,'"T87_AREA_MAP"','"UNION_CITYNAME"', NULL ,NULL,NUL"
"L,0,0,2080,srec,0,6); END;"
这个问题比较好处理,其实就两步:
1、 查出那些表的统计信息被锁住了,此处我就直接生成可执行SQL了
select'exec dbms_stats.unlock_table_stats('''||owner||''','''||table_name||''');'
from dba_tab_statistics
where stattype_locked isnotnull;
2、 然后就是执行上一步中得到的SQL,如
exec dbms_stats.unlock_table_stats('AMLNEW','TMP_RISK_TRANS2');
完!