home

Sunday, December 26, 2010

struktur memori di oracle


Dalam penambahan ke file data memuat tabel dan daftar, mereka adalah control files, redo logs, archived redo logs, dan rollback segments.
control file memuat bermacam-macam metadata yang dibutuhkan untuk mengoperasikan database, termasuk informasi tentang backup.
Oracle mendokumenkan berbagai modifikasi transaksi dari sebuah database buffer di redo log, yang mana terdiri dari dua atau lebih file. itu melogkan modifikasi sebagai bagian dari operasi yang menyebabkan itu dan tanpa memperhatikan dari apakah transaksi itu akhirnya dilakukan. Itu melogkan perubahan dari daftar dan memaksa mundur bagian-bagian sama baiknya mengganti ke tabel data. Sebagai redo logs fill up, mereka mengarsipkan dengan satu atau beberapa orang proses background (jika database berjalan di mode archivelog).
rollback segment mengandung informasi tentang versi lama dari data (itu adalah, informasi sebelumnya). dalam penambahan ke dalam aturan konsistensi Oracle’s model, informasi tersebut digunakan untuk mengembalikan versi lama dari data items ketika sebuah transaksi sudah dimodifikasi data items tersebut adalah rolled back.



Dedicated Server: Memori Structures

Memori  yang digunakan oleh Oracle diturunkan menjadi tiga kategori : software code areas, system global area (SGA), dan program global area (PGA).
system code areas adalah bagian dari memori dimana Oracle server code terletak. PGA di alokasikan untuk tiap proses untuk menahan local data tersebut dan  informasi kontrol. Area ini berisi ruang tersusun untuk bermacam sesi data dan private memori untuk pernyataan SQL bahwa itu di eksekusi. Itu juga berisi memori untuk operasi pengurutan dan pembagian yang dapat terjadi selama evaluasi dari statement.
SGA adalah sebuah memori area untuk pengstrukturan itu dibagi diantara user.itu dibuat ulang dengan beberapa orang struktur major, termasuk:
The buffer cache. cache ini sering menjaga blok data akses (dari tabel sama seperti daftar) dalam memori untuk mengurangi kebutuhan performa physical disk I/O. penerimaan baru yang sedikit menggunakan penggantian kebijakan yang digunakan kecuali untuk memblok akses selama pemeriksaan tabel secara penuh. Akan tetapi, Oracle membiarkan multiple buffer pools untuk dibuat mempunyai perbedaan kriteria untuk menyimpan lama data. Beberapa operasi Oracle mengabaikan buffer cache tersebut  dan membaca data seraca langsung dari disk.
The redo log buffer. buffer ini berisi bagian dari redo log yang belum dituliskan di disk.
The shared pool. Oracle mencari untuk memaksimalkan angka dari pengguna yang dapat menggunakan database berbarengan dengan  meminimalkan jumlah dari memori yang dibutuhkan tiap user. Satu konsep penting di konteks ini adalah kemampuan untuk membagi representasi internal x dari pernyataan SQL dan procedural code yang tertulis di PL/SQL. Ketika multiple users mengeksekusi pernyataan SQL yang sama, mereka dapat memvagi banyak struktur data yang merepresentasikan rencana eksekusi untuk the statement. hanya data that  is local to each specific invocation of the statement butuhkan untuk menjaga private memori.

The sharable parts of the data structures representing the SQL statement arestored in the shared pool, including the text of the statement. The caching of SQL statements in the shared pool also saves compilation time, since a new invocation of a statement that is already cached does not have to go through the complete compilation process. The determination of whether an SQL statement is the same as one existing in the shared pool is based on exact text matching dan the setting of certain session parameters. Oracle can automatically replace constants in an SQL statement with bind variables; future queries that are the same except for the values of constants will then match the earlier query in the shared pool. The shared pool also berisi caches for dictionary informasi dan bermacam control structures.



Dedicated Server: Process Structures
Ada dua tipe dari proses execute Oracle server code: server processes itu process SQL statements dan background processes itu bermacam performa administratif dan related tasks performance. Beberapa dari proses ini adalah pilihan, dan dibeberapa kasus, multiple processes dari tipe yang sama digunakan for alas an performance.

Beberapa tipe yang paling penting dari background processes adalah:

Database writer
Ketika sebuah buffer dibuang dari buffer cache, itu mesti ditulis kembali ke disk jika sudah dimodifikasi  selama cache itu dimasuki. Task ini adalah performa dengan database writer processes, yang mana bantuan performance dari sistem dengan freeing up space di buffer cache.

Log writer
 The log writer memproses tulisan masuk di redo log buffer ke redo log file di disk. Itu juga dapat menulis record ke disk kapan saja ketika melakukan transaksi.

Checkpoint
Proses checkpoint mengupdate headers dari data file ketika a checkpoint terjadi.

System monitor
process performs crash recovery jika dibutuhkan. Itu juga melakukan beberapa managemen ruang untuk memperoleh  tidak pengunaan space di temporary segments.

Process monitor
process ini elakukan process recovery untuk pemroses server yang salah, melepaskan resources dan bermacam sperforming cleanup operations.

Recoverer
Process recoverer memecahkan kesalahan dan mengadakan cleanup untuk  distributed transaksi.

Archiver
archiver kopian redo log file onine  ke sebuah  archived redo log setiap online log file fills up.

1 comment: