Saya memiliki mesin yang kuat dengan 70 GB RAM. Saya membuat satu instance Oracle dengan 20 GB sebagai sga_target. Saya tidak dapat membuat contoh Oracle lain sga_target > 10G
bahkan ketika saya menyimpan database pertama. Jika saya atur sga_target >=10G
ini memberikan kesalahan di bawah saat startup:
ORA-27104: batas yang ditentukan sistem untuk memori bersama salah konfigurasi
Meskipun free -m
menunjukkan bahwa ada cukup memeory tersedia:
total used free shared buffers cached
Mem: 72419 34490 37928 0 618 28159
-/+ buffers/cache: 5711 66707
Swap: 2047 0 2047
Apakah saya perlu menambah ruang swap? Pointer apa pun dalam hal ini sangat dihargai.
Juga untuk memori 70 GB, untuk membuat banyak contoh, apa nilai terbaik untuk ruang swap - apakah ada cara untuk menghitungnya? Tujuan saya adalah memiliki setidaknya dua instance masing-masing dengan sga_target=20G
dan hanya akan menjaga satu instance pada satu waktu. Jika saya kehilangan konsep apa pun di sini?
Outputnya ipcs -im
seperti di bawah ini
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 4194303
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1
sumber
Parameter kernel harus dikonfigurasi dengan benar:
Panduan Instalasi Database Oracle, 11g Rilis 2 (11.2) untuk Linux, Nomor Bagian E24321-04, 2.10 Mengkonfigurasi Parameter Kernel untuk Linux ,
sumber
Pengaturan nilai shmmax tergantung pada apakah OS adalah 32-Bit atau 64-Bit. Ada catatan metalink yang menjelaskan tentang ini secara rinci.
Nilai SHMMAX maksimum untuk Linux x86 dan x86-64 [ID 567506.1]
Mohon dilihat.
Ada juga catatan tentang Memori Bersama / Semafor untuk Oracle yang seharusnya menjadi bacaan yang menarik.
TECH: Unix Semaphores dan Memori Bersama Dijelaskan [ID 15566.1]
Salam, Nagendra Chillale
sumber