Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Ubah suai oracle sga

Ubah suai oracle sga

WBOY
WBOYasal
2023-05-20 12:19:37802semak imbas

Oracle's SGA (System Global Area) ialah kawasan memori yang dikongsi oleh semua proses. Ia menyimpan sejumlah besar struktur data penting seperti cache, kunci, sambungan, dll. Saiz SGA secara langsung mempengaruhi prestasi pangkalan data Oracle. Jika SGA ditetapkan terlalu kecil, ia tidak akan dapat menampung data yang diperlukan oleh semua proses, mengakibatkan pembacaan dan penulisan cakera yang kerap dan sejumlah besar operasi I/O, yang akan menjejaskan masa tindak balas pertanyaan dan transaksi. Jika ia ditetapkan terlalu besar, ia akan menduduki terlalu banyak sumber memori dan menyebabkan sistem pengendalian ranap.

Oleh itu, untuk pangkalan data Oracle dalam persekitaran pengeluaran, tetapan SGA yang munasabah adalah penting. Artikel ini akan meneroka cara mengubah suai Oracle SGA.

  1. Sahkan saiz semasa SGA

Gunakan pernyataan pertanyaan berikut dalam antara muka baris arahan SQL*Plus:

SHOW PARAMETER SGA_TARGET;

Anda boleh menyemak saiz daripada parameter SGA_TARGET semasa . Nilai ini menentukan saiz sasaran SGA Oracle, dalam bait. Ambil perhatian bahawa nilai ini mungkin berbeza daripada saiz memori sebenar yang diperuntukkan kepada SGA. Oleh itu, kita juga perlu mendapatkan saiz SGA yang digunakan sebenar melalui pernyataan pertanyaan berikut:

SELECT * FROM V$SGA;

Selepas melaksanakan pernyataan ini, keadaan SGA semasa akan dikeluarkan, di mana lajur "Saiz" memaparkan jumlah saiz SGA .

  1. Kira saiz SGA yang diperlukan

Sebelum mengubah suai SGA, kita perlu mengira saiz SGA yang diperlukan terlebih dahulu. Proses ini perlu mempertimbangkan banyak faktor, seperti saiz pangkalan data, bilangan sambungan, kadar hit cache, konkurensi, dsb. Di sini, kami menggunakan formula mudah untuk mengira saiz SGA awal:

SGA = (DB_BLOCK_SIZE * DB_BLOCK_BUFFERS) + SHARED_POOL_SIZE + LARGE_POOL_SIZE + JAVA_POOL_SIZE + PGA_AGGREGATE_TARGET

di mana, DB_BLOCK_SIZE ialah saiz setiap blok data, DB_BLOCK_BUFFERS ialah bilangan blok dalam kawasan cache blok data dan SHARED_POOL_SIZE ialah bahagian yang dikongsi. Saiz kolam, LARGE_POOL_SIZE ialah saiz kolam besar dan kolam berubah-ubah, JAVA_POOL_SIZE ialah saiz kolam Java dan PGA_AGGREGATE_TARGET ialah saiz sasaran PGA. Nilai parameter ini boleh diperolehi dengan menanyakan jadual V$PARAMETER. Perlu diingat bahawa nilai DB_BLOCK_BUFFERS hendaklah kuasa ke-n 2, dan nilainya harus memenuhi: SGA+PGA+memori lain<=memori yang tersedia*90%.

Contohnya, jika kami memerlukan SGA menjadi 400MB, DB_BLOCK_SIZE menjadi 8KB, DB_BLOCK_BUFFERS menjadi 50176, SHARED_POOL_SIZE menjadi 60MB, LARGE_POOL_SIZE menjadi 10MBSIZE, JAVA_POOL menjadi 10MBSIZE, JAVA_POOL 0MB, kemudian kami boleh dapat:

SGA = (8KB * 50176) + 60MB + 10MB + 30MB + 50MB
    = 400MB

Oleh itu, kita boleh menetapkan nilai parameter SGA_TARGET kepada 400MB untuk memenuhi keperluan kita.

  1. Ubah suai saiz SGA

Untuk mengubah suai saiz SGA, kita perlu mengedit fail parameter permulaan Oracle (seperti pfile atau spfile). Di sini, kami mengambil pengubahsuaian spfile sebagai contoh untuk menggambarkan. Sila ambil perhatian bahawa mengubah suai fail parameter permulaan boleh memberi kesan yang ketara pada pangkalan data dan mesti dilakukan dengan berhati-hati. Sebelum membuat pengubahsuaian, sila sandarkan fail parameter permulaan dan pangkalan data.

Pertama, sambung ke pangkalan data Oracle melalui SQL*Plus. Kemudian gunakan arahan berikut untuk menyemak sama ada terdapat spfile:

SHOW PARAMETER SPFILE;

Jika output menunjukkan bahawa spfile sudah wujud, maka kita boleh mengubah suai spfile secara langsung. Jika hasil keluaran kosong, maka kita perlu menggunakan arahan berikut untuk mencipta spfile:

CREATE SPFILE FROM PFILE;

Seterusnya, kita boleh menggunakan arahan berikut untuk mengubah suai saiz SGA:

ALTER SYSTEM SET SGA_TARGET = 400M SCOPE=SPFILE;

Ini arahan akan menukar parameter SGA_TARGET Tukar nilai kepada 400MB dan tulis perubahan pada spfile. Pada ketika ini, kita perlu menggunakan arahan berikut untuk memulakan semula pangkalan data untuk pengubahsuaian berkuat kuasa:

SHUTDOWN IMMEDIATE;
STARTUP;

Melalui langkah di atas, kami telah berjaya mengubah suai saiz Oracle SGA.

Ringkasan

Oracle SGA ialah salah satu kunci kepada prestasi pangkalan data, jadi tetapan yang munasabah adalah penting. Artikel ini memperkenalkan langkah-langkah untuk mengubah suai Oracle SGA saya harap ia akan membantu semua orang. Sudah tentu, sebelum mengubah suai SGA, kita juga harus memahami konsep dan parameter penting lain, seperti PGA, SGA_MAX_SIZE, SGA_TARGET, MEMORY_MAX_TARGET, dsb., untuk membuat tetapan SGA yang lebih munasabah.

Atas ialah kandungan terperinci Ubah suai oracle sga. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:tutorial latihan oracleArtikel seterusnya:tutorial latihan oracle