Я читал сообщения здесь, о поддержке Oracle, и где-нибудь еще, я могу найти в течение последних трех дней, и я разочаровался в этой проблеме ...
База данных Oracle зависла. Завершение работы базы данных длилось несколько часов, после чего она вышла. Это не перезапустит. Сервер был перезапущен. Oracle был перезапущен. Идем шаг за шагом: запускается номер запуска, изменяется монтирование базы данных, изменяется открытая база данных и возвращается ORA-03113. Это все на локальном хосте, а не по сети. На машине нет запущенного брандмауэра.
Есть идеи, как обойти эту ошибку ORA-03113? Я разговаривал по телефону с поддержкой в Индии последние 4,5 часа и пока не нашел никого полезного.
ALTER DATABASE OPEN
ошибками после этого.Ответы:
После нескольких часов неправильной ориентации от официальной поддержки Oracle, я самостоятельно решил эту проблему и исправил ее. Я документирую это здесь на случай, если у кого-то еще есть эта проблема.
Чтобы сделать это, вы должны быть пользователем оракула:
Шаг 1: Вам нужно посмотреть журнал предупреждений. Это не в / var / log, как ожидалось. Вы должны запустить программу чтения журнала Oracle:
Обратите внимание на базу ADR. Это не установка. Вам нужно увидеть дома, чтобы вы могли подключиться к тому, который вы используете.
ТПП это дом. Установите это.
Теперь вы можете посмотреть журналы оповещений. Было бы очень хорошо, если бы они были в / var / log, чтобы вы могли легко разобрать логи. Просто перестаньте хотеть и разберитесь с этим интерфейсом. По крайней мере, вы можете хвост (и я надеюсь, у вас есть буфер прокрутки):
Прокрутите назад, пока не увидите ошибки. Вы хотите первую ошибку. Любые ошибки после первой ошибки, вероятно, вызваны первой ошибкой. В моем случае первая ошибка была:
Это вызвано транзакциями. Oracle не предназначен для использования. Если вы вставите в него много данных, он сохранит журналы транзакций. Те идут в область файла восстановления. Как только это заполнено (50 ГБ заполнено в этом случае). Тогда Oracle просто умирает. По замыслу, если что-то испортится, Oracle ответит выключением.
Есть два решения, правильное и быстрое и грязное. Быстрым и грязным является увеличение db_recovery_file_dest_size. Во-первых, выйдите из adrci.
Теперь зайдите в sqlplus, не открывая базу данных, просто монтируя ее (вы можете сделать это без монтирования базы данных, но я все равно ее монтирую).
Теперь вы можете увеличить свой текущий db_recovery_file_dest_size, увеличенный до 75G в моем случае:
Теперь вы можете снова завершить работу и запустить эту предыдущую ошибку.
Правильное решение состоит в том, чтобы избавиться от файлов восстановления. Вы делаете это с помощью RMAN, а не SQLPLUS или ADRCI.
Если у вас есть
RMAN-06171: not connected to target database
, чем пытаться использоватьrman target /
вместо простоrman
Подождите долго, и ваш архив (который занимал все это пространство) исчезнет. Таким образом, вы можете отключить / запустить вашу базу данных и вернуться к работе.
источник
export ORACLE_SID=my_oracle
//rman target /
RMAN
, чтобы очистить область архива, а также некоторые другие вещи. Осторожнее, поскольку это также очистит точки восстановления, если БД по какой-то причине открыта (последний бит): the1403.github.io/RMAN-cleanup-logs