Saya telah membaca posting di sini, tentang dukungan Oracle, dan di mana pun saya dapat menemukan selama tiga hari terakhir dan saya sudah menyerah pada masalah ini ...
Basis data Oracle digantung. Pematian basis data berlangsung selama beberapa jam dan kemudian berhenti. Itu tidak mau restart. Server telah dimulai kembali. Oracle dimulai kembali. Selangkah demi selangkah: startup nomount works, mengubah basis data mount works, mengubah database open return ORA-03113. Ini semua di localhost - bukan melalui jaringan. Mesin tidak memiliki firewall apa pun yang berjalan.
Adakah yang tahu bagaimana cara melewati kesalahan ORA-03113 ini? Saya telah berbicara di telepon dengan dukungan di India selama 4,5 jam terakhir dan saya belum menemukan orang yang membantu.
ALTER DATABASE OPEN
dan kesalahan setelah itu.Jawaban:
Setelah beberapa jam salah arah dari dukungan resmi Oracle, saya terjun sendiri dan memperbaikinya. Saya mendokumentasikannya di sini kalau-kalau ada orang lain yang memiliki masalah ini.
Untuk melakukan semua ini, Anda harus menjadi pengguna oracle:
Langkah 1: Anda perlu melihat log peringatan. Itu tidak ada di / var / log seperti yang diharapkan. Anda harus menjalankan program membaca log Oracle:
Perhatikan basis ADR. Itu bukan instal. Anda perlu melihat rumah sehingga Anda dapat terhubung ke rumah yang Anda gunakan.
CCI adalah rumah. Atur itu.
Sekarang, Anda dapat melihat log peringatan. Akan sangat bagus jika mereka berada di / var / log sehingga Anda dapat dengan mudah menguraikan log. Berhentilah menginginkan dan berurusan dengan antarmuka ini. Setidaknya Anda dapat mengekor (dan saya harap Anda memiliki buffer scrollback):
Gulir ke belakang sampai Anda melihat kesalahan. Anda ingin kesalahan PERTAMA. Kesalahan apa pun setelah kesalahan pertama kemungkinan disebabkan oleh kesalahan pertama. Dalam kasus saya, kesalahan pertama adalah:
Ini disebabkan oleh transaksi. Oracle tidak dirancang untuk digunakan. Jika Anda memasukkan banyak data ke dalamnya, ia menyimpan log transaksi. Itu masuk ke area file pemulihan. Setelah itu penuh (50GB penuh dalam hal ini). Kemudian, Oracle mati. Secara desain, jika ada masalah, Oracle akan merespons dengan mematikan.
Ada dua solusi, yang tepat dan yang cepat dan kotor. Yang cepat dan kotor adalah meningkatkan db_recovery_file_dest_size. Pertama, keluar dari adrci.
Sekarang, masuklah ke sqlplus tanpa membuka basis data, cukup memasangnya (Anda mungkin bisa melakukan ini tanpa memasang basis data, tapi saya tetap memasangnya).
Sekarang, Anda dapat meningkatkan db_recovery_file_dest_size Anda saat ini, meningkat menjadi 75G dalam kasus saya:
Sekarang, Anda dapat mematikan dan memulai lagi dan kesalahan sebelumnya harus hilang.
Perbaikan yang tepat adalah menyingkirkan file pemulihan. Anda melakukannya menggunakan RMAN, bukan SQLPLUS atau ADRCI.
Jika sudah
RMAN-06171: not connected to target database
, daripada mencoba menggunakannya,rman target /
bukan hanyarman
Tunggu lama dan archivelog Anda (yang menggunakan semua ruang itu) akan hilang. Jadi, Anda dapat mematikan / memulai database Anda dan kembali berbisnis.
sumber
export ORACLE_SID=my_oracle
//rman target /
RMAN
, untuk menghapus area arsip, serta beberapa hal lainnya. Hati-hati, karena juga akan menghapus titik pemulihan jika DB terbuka untuk beberapa alasan (bit terakhir): the1403.github.io/RMAN-cleanup-logs