Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Проблема с dbms_stats.gather_schema_stats  [new]
jjj32
Guest
От sys шедулю job: dbms_stats.gather_schema_stats(ownname => 'JJJ32',cascade => true); который постоянно валится с трейсом
*** SESSION ID:(96.11310) 2006-10-04 04:01:53.000
*** 2006-10-04 04:01:53.000
ORA-12012: ошибка при автоисполнении задания 6891
ORA-00907: отсутствует правая скобка
ORA-06512: на  "SYS.DBMS_STATS", line 9136
ORA-06512: на  "SYS.DBMS_STATS", line 9616
ORA-06512: на  "SYS.DBMS_STATS", line 9800
ORA-06512: на  "SYS.DBMS_STATS", line 9854
ORA-06512: на  "SYS.DBMS_STATS", line 9831
ORA-06512: на  line 1
Dump file d:\orcl92\admin\orcl\udump\orcl_j000_1904.trc
Wed Oct 04 08:25:39 2006
ORACLE V9.2.0.1.0 - Production vsnsta=0
vsnsql=12 vsnxtr=3
Windows 2000 Version 5.0 Service Pack 4, CPU type 586
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
Windows 2000 Version 5.0 Service Pack 4, CPU type 586
Instance name: orcl
в чем может быть трабла?
4 окт 06, 09:06    [3218118]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с dbms_stats.gather_schema_stats  [new]
Владимор Конев
Member

Откуда:
Сообщений: 3451
Полный текст создания джоба приведи.
4 окт 06, 09:31    [3218201]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с dbms_stats.gather_schema_stats  [new]
jjj32
Guest
текст такой был
declare
 n BINARY_INTEGER;
begin
 dbms_job.submit(n,'dbms_stats.gather_schema_stats(ownname => ''JJJ32'',cascade => true);',to_date('04-10-2004 04:00:00','dd.mm.yy hh24:mi:ss'),'trunc(sysdate)+3+6/24');
end;
4 окт 06, 10:13    [3218434]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с dbms_stats.gather_schema_stats  [new]
jjj32
Guest
SQL> select * from dba_jobs where job=6891;

       JOB LOG_USER                       PRIV_USER                      SCHEMA_USER                    LAST_DATE   LAST_SEC THIS_DATE   THIS_SEC NEXT_DATE   NEXT_SEC TOTAL_TIME BROKEN INTERVAL                                                                           FAILURES WHAT                                                                             NLS_ENV                                                                          MISC_ENV                                                           INSTANCE
---------- ------------------------------ ------------------------------ ------------------------------ ----------- -------- ----------- -------- ----------- -------- ---------- ------ -------------------------------------------------------------------------------- ---------- -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ---------------------------------------------------------------- ----------
      6891 SYS                            SYS                            SYS                            04.10.2006  08:24:19                      04.10.2006  12:41:39        664 N      trunc(sysdate)+3+6/24                                                                     8 dbms_stats.gather_schema_stats(ownname => 'JJJ32',cascade => true);               NLS_LANGUAGE='RUSSIAN' NLS_TERRITORY='CIS' NLS_CURRENCY='р.' NLS_ISO_CURRENCY='C 010200020A000000                                                          0

SQL> 
4 окт 06, 10:19    [3218469]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с dbms_stats.gather_schema_stats  [new]
Щукина Анна
Member

Откуда:
Сообщений: 1489
jjj32
текст такой был
declare
 n BINARY_INTEGER;
begin
 dbms_job.submit(n,'dbms_stats.gather_schema_stats(ownname => ''JJJ32'',cascade => true);',to_date('04-10-2004 04:00:00','dd.mm.yy hh24:mi:ss'),'trunc(sysdate)+3+6/24');
end;

А разве вызов процедуры сбора статистики не нужно обрамлять в BEGIN ... END:
declare
 n BINARY_INTEGER;
begin
 dbms_job.submit(n,' 
BEGIN 
   dbms_stats.gather_schema_stats(ownname => ''JJJ32'',cascade => true);
END;',
to_date('04-10-2004 04:00:00','dd.mm.yy hh24:mi:ss'),'trunc(sysdate)+3+6/24');
end;
???
4 окт 06, 12:36    [3219512]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с dbms_stats.gather_schema_stats  [new]
jjj32
Guest
а он сам их неявно не обрамляет?
4 окт 06, 12:48    [3219614]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с dbms_stats.gather_schema_stats  [new]
jjj32
Guest
в схеме есть объектная таблица с CLOB-ом, может на этом высыпается? Удалить чтобы проверить не могу... Хотя по ней статистика собрана... last_analyzed половина таблиц соответствует последнему запуску джоба, половина нет... Ничего не пойму
4 окт 06, 12:59    [3219711]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с dbms_stats.gather_schema_stats  [new]
MacDuck
Member

Откуда: Москва-Подольск
Сообщений: 6387
jjj32
Ничего не пойму


ручной вызов проходит? Ошибок нет?
4 окт 06, 13:06    [3219774]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с dbms_stats.gather_schema_stats  [new]
Щукина Анна
Member

Откуда:
Сообщений: 1489
MacDuck
jjj32
Ничего не пойму


ручной вызов проходит? Ошибок нет?
+1
Если просто выполнить вызов процедуры сбора статистики (в sqlplus, sqlnavigator, TOAD, и т.д.), то она отрабатывает нормально или с такими же ошибками?
4 окт 06, 13:15    [3219837]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с dbms_stats.gather_schema_stats  [new]
jjj32
Guest
честно говоря не знаю, ночью я сплю :-) хотя попробовать можно неверное... один сек...
4 окт 06, 13:18    [3219863]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с dbms_stats.gather_schema_stats  [new]
jjj32
Guest
SQL> exec dbms_stats.gather_schema_stats(ownname => 'JJJ32',cascade => true);

begin dbms_stats.gather_schema_stats(ownname => 'JJJ32',cascade => true); end;

ORA-00907: отсутствует правая скобка
ORA-06512: на  "SYS.DBMS_STATS", line 9136
ORA-06512: на  "SYS.DBMS_STATS", line 9616
ORA-06512: на  "SYS.DBMS_STATS", line 9800
ORA-06512: на  "SYS.DBMS_STATS", line 9854
ORA-06512: на  "SYS.DBMS_STATS", line 9831
ORA-06512: на  line 1

SQL> 
4 окт 06, 13:29    [3219958]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с dbms_stats.gather_schema_stats  [new]
jjj32
Guest
даже не знаю куда копать...может
SQL> select t.KEYWORD from v$reserved_words t
  2  intersect
  3  select t1.table_name from user_tables t1;

KEYWORD
----------------------------------------------------------------
PLAN
хотя
SQL> exec dbms_stats.gather_table_stats(ownname => 'JJJ32',tabname => 'PLAN',cascade => true);

PL/SQL procedure successfully completed

SQL> 
?
4 окт 06, 14:33    [3220415]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с dbms_stats.gather_schema_stats  [new]
Oleg Ivanov
Member

Откуда: Киев
Сообщений: 289
Сгенери скрипт, который будет собирать статистику отдельно по каждой таблице и посмотри на какой свалится.
Потом смотри чем она отличается от других, мож возникнут какие-то мысли.
4 окт 06, 14:47    [3220528]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с dbms_stats.gather_schema_stats  [new]
jjj32
Guest
скрипт был до этого.. собственно с чего все и началось, так это с решения заменить этот скрипт на что-то более цивилизованное :-) В настоящее время трассирую сессию, может ясность появится...
4 окт 06, 14:51    [3220563]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с dbms_stats.gather_schema_stats  [new]
Oleg Ivanov
Member

Откуда: Киев
Сообщений: 289
Т.е.
begin
  dbms_stats.gather_schema_stats(ownname => 'JJJ32',cascade => true);
end;
/
валится, а
begin
  dbms_stats.gather_table_stats(ownname => 'JJJ32',tabname => 'TAB1',cascade => true);
  dbms_stats.gather_table_stats(ownname => 'JJJ32',tabname => 'TAB2',cascade => true);
...
end;
/
нормально проходит?
4 окт 06, 14:57    [3220610]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с dbms_stats.gather_schema_stats  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
тынц
4 окт 06, 15:00    [3220642]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с dbms_stats.gather_schema_stats  [new]
jjj32
Guest
вроде словил его за хвост, но что с этим делать?
PARSE ERROR #23:len=491 dep=1 uid=41 oct=3 lid=41 tim=18446744070515677158 err=907
select case when count(*)=0 then 100 else round(count(case when substr(i.gdba,7,9)=substr(pi.lbid,7,9) then 1 else null end)/count(*))*100 end from (select /*+ index_ffs(t,"OPL_OCFO_OPL_O_OPL_O_INDX") */ "OPL_OCFO_ID" pk1,sys_op_lbid(74900,'G',OPL_O_OPL_O_ID) gdba from "JJJ32"."OPL_OCFO" sample block(3,76239709843935768356735443285626138125) t) i, (select /*+ index_ffs(t,"OPL_OCFO_PK") */ "OPL_OCFO_ID" pk1,sys_op_lbid(74899,'L',rowid) lbid from "JJJ32"."OPL_OCFO" t) pi where i.pk1=pi.pk1
EXEC #2:c=254187500,e=289583558,p=57859,cr=165367,cu=2591,mis=0,r=0,dep=0,og=4,tim=18446744070515678307
ERROR #2:err=907 tim=84511296
скобку он хочет в районе sample block :-)
таблица iot
SQL> exec dbms_stats.gather_table_stats(ownname => 'JJJ32',tabname => 'OPL_OCFO',cascade => true);

begin dbms_stats.gather_table_stats(ownname => 'JJJ32',tabname => 'OPL_OCFO',cascade => true); end;

ORA-00907: отсутствует правая скобка
ORA-06512: на  "SYS.DBMS_STATS", line 9136
ORA-06512: на  "SYS.DBMS_STATS", line 9150
ORA-06512: на  line 1
SQL> 
4 окт 06, 15:06    [3220684]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с dbms_stats.gather_schema_stats  [new]
PPA
Member

Откуда: Караганда -> Липецк
Сообщений: 812
Аналогичное валилось на 9.2.0.4
после миграции на 9.2.0.7 (x64) собралось без проблем.
4 окт 06, 15:27    [3220851]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с dbms_stats.gather_schema_stats  [new]
jjj32
Guest
харе кришна!
SQL> alter session set nls_numeric_characters='.,';

Session altered

SQL> exec dbms_stats.gather_table_stats(ownname => 'JJJ32',tabname => 'OPL_OCFO',cascade => true);

PL/SQL procedure successfully completed

Jannny, спасибо за тынц, чуть не проглядел :-)
4 окт 06, 15:40    [3220963]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить