70 GB RAM ile güçlü bir makinem var. 20 GB ile kaç Oracle örneği oluşturulabilir?


9

70 GB RAM ile güçlü bir makinem var. Sga_target olarak 20 GB'lık bir Oracle örneği oluşturdum. sga_target > 10Gİlk veritabanını basılı tuttuğumda bile başka bir Oracle örneği oluşturamıyorum . Ayarladıysam sga_target >=10Gbaşlangıçta aşağıdaki hatayı veriyor:

ORA-27104: paylaşılan bellek için sistem tanımlı limitler yanlış yapılandırıldı

İken free -myeterli memeory mevcut olsa olduğunu gösterir:

             total       used       free     shared    buffers     cached
Mem:         72419      34490      37928          0        618      28159
-/+ buffers/cache:       5711      66707
Swap:         2047          0       2047

Takas alanını artırmam gerekir mi? Bu konuda herhangi bir işaretçi çok takdir edilmektedir.

Ayrıca 70 GB bellek için, birçok örnek oluşturmak için, takas alanı için en iyi değer ne olacaktır - bunu hesaplamanın bir yolu var mı? Amacım, her birinde en az iki örneğe sahip olmak sga_target=20Gve aynı anda yalnızca bir örneği yukarıda tutmaktır. Burada herhangi bir kavram eksikse?

Çıktısı ipcs -imaşağıdaki gibidir

------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 4194303
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1

Yanıtlar:


13

Çekirdek parametrelerinizin değiştirilmesi gerekiyor.

Düzen /etc/sysctl.confve sağlamak aşağıdaki satırlar mevcut:

kernel.shmall = 18350080
kernel.shmmax = 75161927680
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128

Ardından makineyi yeniden başlatın.


Teşekkürler bu çalışıyor. Lütfen shmall, shmax ve shmni vb. İçin bu değerlere nasıl karar verebileceğinizi bize bildirir misiniz? Bunları hesaplamanın bir yolu var mı?
user419534

3
shmmax, tek bir paylaşılan bellek segmentinin bayt cinsinden maksimum boyutudur, 70Gb RAM'e sahipsiniz, bu yüzden 70 * 1024 * 1024 * 1024 kullandım. shmall, aynı anda bulunabilen ve sayfalarda ölçülen tüm paylaşılan bellek segmentlerinin maksimum toplamıdır. Linux'ta sayfa boyutu genellikle 4k'dir, bu yüzden shmmax sayısını 4096'ya böldüm.
Philᵀᴹ


0

Shmmax değerinin ayarlanması işletim sisteminin 32 Bit mi yoksa 64 Bit mi olduğuna bağlıdır. Bunu ayrıntılı olarak açıklayan metalink bir not var.

Linux x86 ve x86-64 için maksimum SHMMAX değerleri [ID 567506.1]

Lütfen bir göz at.

Ayrıca Oracle için Paylaşılan Bellek / Semaforlar hakkında ilginç bir not olması gereken bir not var.

TECH: Unix Semaforları ve Paylaşılan Bellek Açıklaması [ID 15566.1]

Saygılarımızla, Nagendra Chillale

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.