Oracle
 sql >> база данни >  >> RDS >> Oracle

ORA-20001 в R12 Съберете статистически данни за схемата на 11g(FND_HISTOGRAM_COLS)

Програмата “Gather Schema Statistics” отчете следните грешки в регистрационните файлове на заявките:

Грешка №1:ГРЕШКА:Докато GATHER_TABLE_STATS:object_name=GL.JE_BE_LINE_TYPE_MAP***ORA-20001:невалидно име на колона или дублирани колони/групи колони/изрази в method_opt***Грешка №2:ГРЕШКА:Докато GATHER_TABLE_name:=GL.JE_BE_LOGS***ORA-20001:невалидно име на колона или дублирани колони/групи колони/изрази в method_opt***Грешка №3:​​ГРЕШКА:Докато GATHER_TABLE_STATS:object_name=GL.JE_BE_VAT_REP_RULES***ORA-20001:невалидна колона име или дублирани колони/групи колони/изрази в method_opt***Грешка №4:ГРЕШКА:Докато GATHER_TABLE_STATS:object_name=FII.FII_FIN_ITEM_HIERARCHIES***ORA-20001:невалидно име на колона или дублирани колони/групи на колони/изрази** в methodo *

Това се случи, ако има дублиращи се или невалидни колони в FND_HISTOGRAMS_COL

(1) Има дублиращи се редове в таблицата FND_HISTOGRAM_COLS за таблицата JE_BE_LINE_TYPE_MAP. Поради този проблем FND_STATS се опитва да събере информация за хистограмата с помощта на грешна команда и не успява с грешки ORA-20001.

Следният SQL трябва да върне един ред, а не два:

SQL>изберете име на колона, nvl(hsize,254) hsize от FND_HISTOGRAM_COLS, където table_name ='JE_BE_LINE_TYPE_MAP'подредете по име на колона;COLUMN_NAME HSIZE----------------------- ------- ----------ИЗТОЧНИК 254ИЗТОЧНИК 254

Тъй като в таблицата с хистограми има два реда, FND_STATS създава следната команда за събиране на статистически данни за таблица „JE_BE_LINE_TYPE_MAP“:

dbms_Stats.gather_table_stats(OWNNAME => 'GL', TABNAME=>'JE_BE_LINE_TYPE_MAP',METHOD_OPT=>'ЗА ВСИЧКИ КОЛОНИ РАЗМЕР 1 ЗА КОЛОНИ ИЗТОЧНИК РАЗМЕР 254 FORCOLUMNS SOURCE
 Горната команда ще работи на 9i и 10G бази данни, но ще се провали с ora-20001 грешки в 11G.

(2) Колоната не съществува в таблицата, но все още е посочена в таблицата FND_HISTOGRAMS_COL.

Можете да използвате следния SQL за идентифициране. SQL ще поиска името на таблицата, използвайте името на таблицата от грешките. В горните примери можете да използвате FII_FIN_ITEM_HIERARCHIES.

изберете hc.table_name, hc.column_name от FND_HISTOGRAM_COLS hc , dba_tab_columns tc, където hc.table_name ='&TABLE_NAME'и hc.table_name=tc.table_name (+)и hc.column_name =column_name е.column_name нула;

Открийте всички дублирани и/или остарели редове в FND_HISTOGRAM_COLS и изтрийте един от тях. Не забравяйте да направите резервно копие на таблицата FND_HISTOGRAM_COLS, преди да изтриете каквито и да е данни.
— идентифицирайте дублиращи се редове

изберете table_name, column_name, count(*)от FND_HISTOGRAM_COLSgroup по table_name, column_name с брой (*)> 1;

— Използвайте горните резултати за следния SQL, за да изтриете дубликати

изтрийте от FND_HISTOGRAM_COLS, където table_name ='&TABLE_NAME' и column_name ='&COLUMN_NAME' и rownum=1;

— Използвайте следния SQL, за да изтриете остарели редове

изтрийте от FND_HISTOGRAM_COLSwhere (име_на_таблица, име_на_стола) в(изберете hc.table_name, hc.column_name от FND_HISTOGRAM_COLS hc , dba_tab_columns tc, където hc.table_name ='&TABLE_name ='&TABLE_name.column_name='&TABLE_name.column_име_на_таблица.colm'и .column_name (+) и tc.column_name е нула);

Също чете
ORA-00900 :Невалиден израз на Sql
ORA-03113
ora-29283:невалидна файлова операция
ORA-29285:грешка при запис на файл
ORA-00054


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвате ora_hash в колона с тип данни xmltype

  2. Инкрементално събиране на статистически данни в 11g

  3. Получаване на грешка - ORA-01858:беше намерен нецифров знак, където се очакваше число

  4. Проблем с променливите за свързване на Oracle, които не използват правилно индекса

  5. Използване на Oracle® Heterogeneous Services с два ODBC източника на данни