Czytam posty tutaj, na temat wsparcia Oracle i gdziekolwiek indziej mogę znaleźć przez ostatnie trzy dni i zrezygnowałem z tego problemu ...
Baza danych Oracle została zawieszona. Zamknięcie bazy danych trwało kilka godzin, a potem zakończyło się. Nie uruchomi się ponownie. Serwer został zrestartowany. Oracle zostało zrestartowane. Przechodzenie krok po kroku: uruchamianie nomount działa, zmienia działanie montowania bazy danych, zmienia otwartą bazę danych zwraca ORA-03113. To wszystko na localhost - nie przez sieć. Maszyna nie ma żadnego działającego firewalla.
Masz pomysł, jak ominąć ten błąd ORA-03113? Rozmawiałem przez telefon z obsługą w Indiach przez ostatnie 4,5 godziny i jeszcze nie znalazłem nikogo pomocnego.
ALTER DATABASE OPEN
i błędy po tym.Odpowiedzi:
Po wielu godzinach błędnego przekierowania z oficjalnego wsparcia Oracle, zgłębiłem to sam i naprawiłem to. Dokumentuję to tutaj na wypadek, gdyby ktoś miał ten problem.
Aby to zrobić, musisz być użytkownikiem Oracle:
Krok 1: Musisz spojrzeć na dziennik alertów. Nie ma go w katalogu / var / log zgodnie z oczekiwaniami. Musisz uruchomić program do odczytu dzienników Oracle:
Zwróć uwagę na bazę ADR. To nie jest instalacja. Musisz zobaczyć domy, aby móc połączyć się z tym, którego używasz.
CCI jest domem. Ustaw to.
Teraz możesz przejrzeć dzienniki alertów. Byłoby bardzo miło, gdyby były one w / var / log, dzięki czemu można łatwo parsować dzienniki. Po prostu przestań chcieć i poradzić sobie z tym interfejsem. Przynajmniej możesz ogonić (i mam nadzieję, że masz bufor przewijania):
Przewiń do tyłu, aż zobaczysz błędy. Chcesz PIERWSZY błąd. Wszelkie błędy po pierwszym błędzie są prawdopodobnie spowodowane przez pierwszy błąd. W moim przypadku pierwszym błędem było:
Jest to spowodowane transakcjami. Oracle nie jest przeznaczony do użycia. Jeśli wpychasz do niego dużo danych, zapisywane są dzienniki transakcji. Przechodzą do obszaru plików odzyskiwania. Gdy będzie już pełny (w tym przypadku 50 GB). Potem Oracle po prostu umiera. Zgodnie z projektem, jeśli coś zostanie pomieszane, Oracle zareaguje poprzez wyłączenie.
Istnieją dwa rozwiązania, właściwe i szybkie i brudne. Szybkim i brudnym jest zwiększenie db_recovery_file_dest_size. Najpierw wyjdź z Adrci.
Teraz przejdź do sqlplus bez otwierania bazy danych, po prostu ją instaluj (możesz to zrobić bez montowania bazy danych, ale i tak ją instaluję).
Teraz możesz zwiększyć swój aktualny rozmiar pliku db_recovery_file_dest_size, w moim przypadku do 75G:
Teraz możesz ponownie zamknąć i uruchomić ponownie, a wcześniejszy błąd powinien zniknąć.
Właściwą poprawką jest pozbycie się plików odzyskiwania. Robisz to za pomocą RMAN, a nie SQLPLUS lub ADRCI.
Jeśli tak
RMAN-06171: not connected to target database
, spróbuj użyćrman target /
zamiast po prosturman
Zaczekaj długo, a Twój dziennik archiwalny (który zajmował tyle miejsca) zniknie. Możesz więc zamknąć / uruchomić bazę danych i wrócić do pracy.
źródło
export ORACLE_SID=my_oracle
//rman target /
RMAN
, aby wyczyścić obszar archiwum, a także kilka innych rzeczy. Ostrożnie, ponieważ wyczyści punkty przywracania, jeśli baza