Konsumsi memori oleh proses klien di server Oracle DB

Kami memiliki database (12c) yang berjalan di server exadata. Aplikasi terhubung ke database menggunakan JDBC dan MQL dari mesin klien jarak jauh (Berbeda dari server DB). Ada hampir 5000 koneksi aplikasi ke database. Konfigurasi DB kami adalah seperti di bawah ini.

SGA : 40 GB PGA : 10 GB parameter proses : 10000

Saya ingin memahami apakah proses (jumlah: 5000) yang berasal dari mesin klien menghabiskan memori di server DB? Saya tahu setiap proses akan menghabiskan sejumlah memori di PGA. Tetapi saya ingin memahami apakah ada memori yang digunakan di server DB, selain PGA yang dialokasikan.


person srinivas    schedule 29.01.2020    source sumber


Jawaban (1)


Pemahaman saya adalah bahwa memori sesi Oracle akan ditangani dalam memori Oracle dan tidak menarik memori terpisah dari sistem operasi. Orang-orang Oracle Real-World Performance telah menyatakan (sebagai aksioma ilmu komputer umum) bahwa sebuah mesin dapat menangani hingga 100 koneksi simultan per inti CPU. Sepertinya Anda mendapatkan Logon Storm**:

**Logon Storm: Logon storm ditandai dengan lonjakan tiba-tiba dalam jumlah permintaan koneksi klien atau jumlah koneksi yang luar biasa tinggi. Karena proses memulai sesi database membutuhkan banyak CPU, logon storm kemungkinan besar akan mengakibatkan konsekuensi yang tidak terduga seperti: kesalahan koneksi, aplikasi yang menunggu di CPU, waktu habis, waktu respons yang buruk, dampak terhadap DB lain di mesin yang sama, peningkatan waktu tunggu untuk semuanya berjalan pada instance, … . Akar penyebab badai logon sering kali ditelusuri kembali ke pengaturan kumpulan koneksi yang tidak tepat atau aplikasi yang tersambung, menggunakan sesi, lalu memutus sambungan.

person Roger Cornejo    schedule 30.01.2020