Saya memutuskan untuk mengurangi alokasi memori instance pengembang lokal, dan diberi tahu bahwa perintah berikut melakukan pekerjaan;
alter system set memory_max_target = 512M scope = spfile;
Yang saya kira itu terjadi, karena saya tidak lagi dapat memulai contoh Oracle yang bersangkutan. Ini adalah kesalahan yang saya dapatkan ketika mencoba terhubung sebagai pengguna non-DBA;
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Saat menghubungkan sebagai SYSDBA saya mendapatkan yang berikut;
Connected to an inactive instance.
SQL>startup nomount;
ORA-00837: Specified value of MEMORY_TARGET greater than MEMORY_MAX_TARGET
SQL>alter system set memory_max_target = 2G scope = spfile;
ORA-01034: ORACLE not available
("Terhubung ke instance yang tidak aktif." Adalah terjemahan saya dari pesan kesalahan yang dilokalkan, mungkin tidak sepenuhnya benar) Jadi, saya dalam situasi tangkapan 22, saya tidak dapat mengubah parameter memori tanpa memulai, dan saya bisa mulai.
Apakah ada cara untuk mengubah parameter ini secara offline?
sumber
spfileSID.ora
danspfile.ora
kemudian mencoba untuk membaca dari pfileinit.ora
jika tidak ada spfiles yang ditemukan. Ngomong-ngomongMEMORY_MAX_TARGET
mungkin bisa berkali-kali lebih besar daripadaMEMORY_TARGET
meskipun tidak bisa dimodifikasi secara dinamis - instance harus dipantulkan.initSID.ora
sebenarnya, bukaninit.ora
.Rilis 11gR1 awal memiliki bug ini. Mereka tidak akan memulai jika memory_target diatur ke 2GB (dan banyak lagi). Tingkatkan ke 11gR2 (atau 11.1.0.7) atau gunakan parameter SGA / PGA "klasik" (sga_target, sga_max_size, pga_aggregate_target).
sumber
Dengan asumsi Anda menggunakan OS linux: apakah Anda sudah memeriksa ukuran sistem file / dev / shm? Ukuran fs ini harus cukup panjang agar sesuai dengan SGA Anda. Jika tidak, coba remounting dengan '-o size = xxx'.
sumber