Проблема MView после его падения
-
26-09-2019 - |
Вопрос
я,
У меня есть один материализованный вид на один сервер, который создан ссылкой БД. На этом MVIEW есть одна работа. (Crune с dbms_refresh.make раньше).
Теперь я провел 3 новых поля в оригинальной таблице.
На MVIEW появилась работа, я бросил работу DBMS_REFRESH.Destrey. Затем бросил MVIEW (я забыл бросить индексы на вид)
Теперь, когда я пытаюсь создать MVIEW с SQL, который я раньше, он дает ошибку как: -
Ошибка, начиная с строки 1 в команде:
CREATE MATERIALIZED VIEW TTMU_LAVORAZIONE_TT
TABLESPACE "TTSTAT_DATA"
LOGGING
PCTFREE 10
PCTUSED 40
INITRANS 1
MAXTRANS 255
STORAGE
(
INITIAL 5M
NEXT 5M
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
)
NOCACHE NOPARALLEL BUILD IMMEDIATE
USING INDEX
REFRESH ON DEMAND FAST
WITH ROWID
DISABLE QUERY REWRITE AS
SELECT T288.C1,C2,C3,C4,C5,C6,C7,C8,C536870915,C536870916,C536870917,
C536870918,C536870919,C536870920,C536870921,C536870922,C536870927,
C536870928,C536870929,C536870930,C536870931,C536870932,C536870933,
C536870937,C536870939,C536870940,C536870941,C536870942,C536870945,
C536870951,C536870952,C536870953,C536870954,C536870955,C536870956,
C536870957,C536870959,C536870961,C536870962,C536870965,C536871100
FROM T288@STAT2TTM.WORLD
Ошибка в командной строке: 1 Столбец: 0 Отчет об ошибке:
SQL Error: ORA-00600: internal error code, arguments: [17113], [0x000000000],
[], [], [], [], [], []
00600. 00000 - "internal error code, arguments: [%s], [%s], [%s], [%s],
[%s], [%s], [%s], [%s]"
*Cause: This is the generic internal error number for Oracle program
exceptions. This indicates that a process has encountered an
exceptional condition.
*Action: Report as a bug - the first argument is the internal error number
Ошибка, начиная с строки 26 в команде:
CREATE UNIQUE INDEX I_SNAP$_TTMU_LAVORAZIONE_T
ON TTMU_LAVORAZIONE_TT (M_ROW$$ ASC)
TABLESPACE "TTSTAT_DATA"
LOGGING
PCTFREE 10
INITRANS 2
MAXTRANS 255
STORAGE
(
INITIAL 5M
NEXT 5M
MINEXTENTS 1
MAXEXTENTS 2147483645
PCTINCREASE 0
FREELISTS 1
FREELIST GROUPS 1
BUFFER_POOL DEFAULT
)
Ошибка в командной строке: 26 Столбец: 0 Отчет об ошибке: Ошибка SQL: Закрытое соединение
Решение
Действие довольно ясно:
* Действие: Отчет как ошибка - первый аргумент - это внутренний номер ошибки
Это внутренняя ошибка. Следуйте инструкциям от примечания [ID 153788.1 Устранение неполадок ORA-600 или ORA-7445 Ошибка с использованием инструмента поиска ошибок на Сайт поддержки Oracle.
Другие советы
Вы должны: - Снимите моментальный снимк / MVIEW - отбросьте журнал Snapshot на главной таблице - создайте новый журнал Snapshot на главной таблице - воссоздайте свой MView и упростите свой оператор CREATE: следующее:
CREATE MATERIALIZED VIEW TTMU_LAVORAZIONE_TT
TABLESPACE "TTSTAT_DATA"
REFRESH FAST START WITH SYSDATE NEXT SYSDATE + 5/1440
WITH ROWID
AS
SELECT T288.C1,C2,C3,C4,C5,C6,C7,C8,C536870915,C536870916,C536870917,
C536870918,C536870919,C536870920,C536870921,C536870922,C536870927,
C536870928,C536870929,C536870930,C536870931,C536870932,C536870933,
C536870937,C536870939,C536870940,C536870941,C536870942,C536870945,
C536870951,C536870952,C536870953,C536870954,C536870955,C536870956,
C536870957,C536870959,C536870961,C536870962,C536870965,C536871100
FROM T288@STAT2TTM.WORLD;
Вышеуказанное добавит обновление DBMS_JOB, которая приносит таблицу обновления каждые 5 минут. Вы можете изменить его, чтобы удовлетворить ваши требования.
После того, как вы создадите его, вы должны запустить:
exec dbms_snapshot.refresh("TTMU_LAVORAZIONE_TT",'C');
exec dbms_snapshot.refresh("TTMU_LAVORAZIONE_TT",'F');
Это должно позаботиться об этом. Вам нужно будет использовать альтернативный метод, если таблица массивна. Я не знаю размера, поэтому я предполагаю не слишком большой.
Проверьте журнал оповещения для базы данных для подсказок относительно того, что может происходить в вашей базе данных. Это, вероятно, укажет вас в одном или нескольких файлах трассировки, где можно найти дополнительную информацию о проблеме. Иногда вы можете решить проблему самостоятельно.