Ayrıntılı oracle klasik hatası: ORA-04030 sorun giderme fikirleri ve çözümleri

Genel Bakış

Oracle 11g veritabanı bir süre önce kullanıldı, bir süre kullanıldıktan sonra (ilk başta görünmesi uzun zaman aldı ve sonra kısa bir süre sonra ortaya çıktı), ORA-04030 hatası sık sık rapor edildi.Söz konusu hata mesajı ORA-04030: Tahsis etmeye çalışılıyor ... .Byte (...) işlem belleği yetersiz.

İstisna bilgilerine göre, bunun aşırı bellek kullanımı ve yetersiz ayırmadan kaynaklandığı kolaylıkla yargılanabilir, ancak sunucunun belleğinin küçük olmaması, Oracle'ın bellek ayırırken bir sınıra sahip olması gerektiğini gösterir.Bu sınır aşıldığında , Bu hata ortaya çıkacaktır.

İnternette pek çok görüş var İşte genel kullanım için fikirlerin ve yöntemlerin bir listesi.

1. Hala yeterli kullanılabilir bellek var mı?

Bellek kullanımını kontrol etmek için temel olarak işletim sistemine özel araçları (top, topas, vmstat, swapon -s) kullanın. Yeterli bellek varsa, işletim sisteminin zorunlu kısıtlamaları olup olmadığını kontrol etmeniz gerekir. Hafıza tükendiyse, hafızanın nerede kullanıldığını bulmanız gerekir.

2. İşletim sistemi kısıtlamaları belirlenmiş mi?

Hala yeterli bellek varsa, işlemin kullanması gereken bellek miktarına izin verilmiyor olabilir. İşletim sistemi sınırlarını görüntülemek için "ulimit -a" komutunu kullanın. Özellikle "veri segmenti boyutu" seçeneği için sınırsız olarak ayarlanmalıdır. Bir RAC veya GRID ortamında, veritabanı izleme CRS aracılığıyla başlatıldığı için izleme, kök kullanıcının ulimit sınırını devralır. Kökün ulimit sınırındaki veri sınırı (kbayt) 1310kb ise, bu, bağlantıyı izleyen her işlem tarafından ayrılabilen bellek kaynaklarının 1310kb'yi aşamayacağı anlamına gelir.

3. Oracle kısıtlaması belirlenmiş mi?

Bir örneğin tahsis edebileceği toplam PGA miktarını sınırlayan PGA_AGGREGATE_TARGET sorgu parametresinin boyutu. Aşağıdaki sorgu, tüm oturumların PGA alanına ayrılan toplam bellek miktarını bulmak için kullanılır:

TOPLA SEÇ (DEĞER) / 1024/1024 PGA_SIZE_MB V $ SESSTAT S, V $ STATNAME N'DEN NEREDE N.STATISTIC # = S.STATISTIC # AND NAME = 'oturum pga belleği';

4. Hangi işlem çok fazla belleğe ihtiyaç duyar?

Bazı işlemler, örneğin büyük PL / SQL tabloları veya çok sayıda sıralama işlemi gibi çok fazla işlem belleği gerektirir.

Aşağıdaki sorgu, tüm Oracle süreçlerinin PGA ve UGA boyutlarını bulmak için kullanılabilir:

SID, NAME, VALUE SEÇ V $ STATNAME N, V $ SESSTAT S'DEN NEREDE N.STATISTIC # = S.STATISTIC # AND NAME GİBİ oturum% memory% ' 3 ASC İLE SİPARİŞ;

Genel olarak, işlem belleği kullanımını işletim sistemi açısından doğrulamanın iyi bir yoludur. Sonuçta, çok fazla bellek kullanan mutlaka Oracle Server işlemi değildir.

5. Sürecin gerçekten gerçekleştirdiği görevler hakkında nasıl bilgi toplanır?

Yığın boşaltma yapabilir ve ardından döküm sonuçlarını analiz edebilirsiniz:

SQL > v $ işlem p, v $ oturum s'den PID'yi seçin, burada p.addr = s.paddr ve sid = < SID > ; SQL > oradebug setorapid < PID > SQL > oradebug unlimit SQL > oradebug dökümü errorstack 3 SQL > oradebug dökümü yığın boşaltma 536870917 SQL > oradebug tracefile_name (yol ve dosya adı bilgilerini gösterir) SQL > oradebug close_trace

Veya etkinliği aşağıdaki gibi kullanın:

ORA-04030 hatası oluştuğunda izleme dosyasını oluşturmak için sistem düzeyinde olayı ayarlayın.Olayı aşağıdaki gibi ayarlayın:

sistem kümesi olaylarını değiştir '4030 izleme adı hata yığını düzeyi 3; adı HEAPDUMP düzeyi 536870917';

Hata içeren döküm dosyasını aldıktan sonra, olay oluşturmayı kapatın:

sistem kümesi olaylarını değiştir '4030 izleme adı hata yığını kapalı'; sistem seti olaylarını değiştir '4030 izleme adı HEAPDUMP off';

Aslında, ORA-04030'un nedeni, daha fazla belleğin ayrılamamasıdır.İki çözüm vardır, biri belleği arttırmak, diğeri bellek ayırmayı akım için daha uygun hale getirmek için oracle bellek kontrol parametrelerini ayarlamaktır. s uygulaması.

Daha fazla devop ve DBA içeriği daha sonra paylaşılacak ve ilgilenen arkadaşlar buna dikkat edebilir! !

Rob, Tiga'nın gölgesinden kurtulmak istedi, ancak Cyro'yu terk etti, sadece popüler olmayan Ultraman'ın çıkmasını bekledi.
önceki
Jailbreak eklentisi: iOS kilit açma klavye stilini kolayca değiştirin!
Sonraki
Meyve tozu için en iyi seçim
Evrenden habersiz olan Ultraman'a bakın, son aşk boşalması, ilk istismar bekar köpek
Yakınlık anahtarı ayrıntılı! NPN ve PNP tipi, iki telli sistem ve üç telli sistemin farkı ve uygulaması!
İPhone 8 konferansından önce iç parçaların sızdırılan fotoğrafları düzenlendi!
Ultraman Rob, şikayette bulunduğu için Tiga'ya saygılarını sunar ve Ace skandalı ortaya çıkar. Netizenler: Tiga, Luo Shuai ile eşleşir
Elektrikli komple ekipmanın ortak sorunlarının analizi, karşılaştırın ve işe alınıp alınmadığınızı görün.
Red Bull China'nın şikayetleri dibe vurdu: 3 yıl önce, Tayland'da yayılan temettü şüphesi ve dava çarkı savaşları vardı
Fildişi kaçakçılığı karaborsa soruşturması: bütün dişler dilimlendi, insan eti sınırdan "mal taşıyor"
Genç nesillerin tanışmaktan en çok korktuğu üç Ultraman, Seven dahil değil ve sonuncusu bahsetmek can sıkıcı.
Xiaomi'yi satamıyorum! İPhone envanteri ağlamak için çok fazla, Apple öfkeyle Hindistan'ın başını kovdu!
iOS9.1-9.3.4 mükemmel bir jailbreak, ancak dikkat edilmesi gereken bazı sorunlar var!
Ultraman'ın hiçbir yeteneği ve silahı olmadığı halde, bu 3 Ultraman hala canavarları, özellikle de üçüncü olanı korkutuyor
To Top