Menyimpan data sementara di penyimpanan instans RDS for Oracle - Layanan Basis Data Relasional Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menyimpan data sementara di penyimpanan instans RDS for Oracle

Gunakan penyimpanan instans untuk ruang tabel sementara dan Database Smart Flash Cache (cache flash) pada kelas instans DB RDS for Oracle yang didukung.

Gambaran umum penyimpanan instans RDS for Oracle

Penyimpanan instans menyediakan penyimpanan tingkat blok sementara untuk instans DB RDS for Oracle. Anda dapat menggunakan penyimpanan instans sebagai penyimpanan sementara informasi yang sering berubah.

Penyimpanan instans didasarkan pada perangkat Non-Volatile Memory Express (NVMe) yang secara fisik terpasang pada komputer host. Penyimpanan tersebut dioptimalkan untuk latensi rendah, performa I/O acak, dan throughput baca berurutan.

Ukuran penyimpanan instans bervariasi menurut jenis instans DB. Untuk informasi selengkapnya tentang penyimpanan instans, lihat penyimpanan instans Amazon EC2 di Panduan Pengguna Amazon Elastic Compute Cloud untuk Instans Linux.

Jenis data di penyimpanan instans RDS for Oracle

Anda dapat menempatkan jenis data sementara RDS for Oracle berikut di penyimpanan instans:

Ruang tabel sementara

Oracle Database menggunakan ruang tabel sementara untuk menyimpan hasil kueri perantara yang tidak sesuai dengan memori. Kueri yang lebih besar dapat menghasilkan data perantara dalam jumlah besar yang perlu di-cache sementara, tetapi tidak perlu disimpan. Secara khusus, ruang tabel sementara berguna untuk pengurutan, agregasi hash, dan gabungan. Jika instans DB RDS for Oracle menggunakan Enterprise Edition atau Standard Edition 2, Anda dapat menempatkan ruang tabel sementara di penyimpanan instans.

Cache flash

Cache flash meningkatkan performa pembacaan acak blok tunggal di jalur konvensional. Praktik terbaiknya adalah mengukur cache untuk mengakomodasi sebagian besar kumpulan data aktif Anda. Jika instans DB RDS for Oracle menggunakan Enterprise Edition, Anda dapat menempatkan cache flash di penyimpanan instans.

Secara default, penyimpanan instans dikonfigurasi untuk ruang tabel sementara tetapi tidak untuk cache flash. Anda tidak dapat menempatkan file data Oracle dan file log basis data di penyimpanan instans.

Manfaat penyimpanan instans RDS for Oracle

Anda dapat mempertimbangkan menggunakan penyimpanan instans untuk menyimpan file sementara dan cache yang dapat Anda tanggung jika hilang. Jika Anda ingin meningkatkan performa DB, atau jika beban kerja yang meningkat menyebabkan masalah performa untuk penyimpanan Amazon EBS Anda, pertimbangkan untuk menskalakan ke kelas instans yang mendukung penyimpanan instans.

Dengan menempatkan ruang tabel sementara dan cache flash di penyimpanan instans, Anda mendapatkan manfaat berikut:

  • Latensi baca lebih rendah

  • Throuput lebih tinggi

  • Berkurangnya beban pada volume Amazon EBS Anda

  • Biaya penyimpanan dan snapshot lebih rendah karena pengurangan beban Amazon EBS

  • Lebih sedikit kebutuhan untuk menyediakan IOPS tinggi, sehingga dapat menurunkan biaya keseluruhan

Dengan menempatkan ruang tabel sementara di penyimpanan instans, Anda menghadirkan peningkatan performa langsung ke kueri yang menggunakan ruang sementara. Saat Anda menempatkan cache flash di penyimpanan instans, pembacaan blok yang di-cache biasanya memiliki latensi yang jauh lebih rendah daripada pembacaan Amazon EBS. Cache flash perlu “dipanaskan” sebelum memberikan manfaat performa. Cache memanas dengan sendirinya karena basis data menulis blok ke cache flash seiring bertambahnya usia cache buffer basis data.

catatan

Dalam beberapa kasus, cache flash menyebabkan overhead performa karena manajemen cache. Sebelum mengaktifkan cache flash di lingkungan produksi, sebaiknya Anda menganalisis beban kerja dan menguji cache di lingkungan pengujian.

Kelas instans yang didukung untuk penyimpanan instans RDS for Oracle

Amazon RDS mendukung penyimpanan instans untuk kelas instans DB berikut:

  • db.m5d

  • db.r5d

  • db.x2idn

  • db.x2iedn

RDS for Oracle mendukung kelas instans DB sebelumnya hanya untuk model lisensi BYOL. Untuk informasi selengkapnya, lihat RDS yang didukung untuk kelas instans Oracle DB dan Bawa Lisensi Anda Sendiri (BYOL) untuk EE dan SE2.

Untuk melihat total penyimpanan instans untuk jenis instans DB yang didukung, jalankan perintah berikut di AWS CLI.

aws ec2 describe-instance-types \ --filters "Name=instance-type,Values=*5d.*large*" \ --query "InstanceTypes[?contains(InstanceType,'m5d')||contains(InstanceType,'r5d')][InstanceType, InstanceStorageInfo.TotalSizeInGB]" \ --output table

Perintah sebelumnya mengembalikan ukuran perangkat mentah untuk penyimpanan instans. RDS for Oracle menggunakan sebagian kecil ruang ini untuk konfigurasi. Ruang di penyimpanan instans yang tersedia untuk ruang tabel sementara atau cache flash sedikit lebih kecil.

Versi mesin yang didukung untuk penyimpanan instans RDS for Oracle

Penyimpanan instans didukung untuk versi mesin RDS for Oracle:

  • 21.0.0.0.ru-2022-01.rur-2022-01.r1 atau versi Oracle Database 21c yang lebih tinggi

  • 19.0.0.0.ru-2021-10.rur-2021-10.r1 atau versi Oracle Database 19c yang lebih tinggi

Wilayah AWS yang didukung untuk penyimpanan instans RDS for Oracle

Penyimpanan instans tersedia di semua Wilayah AWS tempat satu atau beberapa jenis instans ini didukung. Untuk informasi selengkapnya tentang kelas instans db.m5d dan db.r5d, lihat Kelas instans DB . Untuk informasi selengkapnya tentang kelas instans yang didukung oleh Amazon RDS for Oracle, lihat RDS untuk kelas instans Oracle DB.

Biaya penyimpanan instans RDS for Oracle

Biaya penyimpanan instans dimasukkan ke dalam biaya penyimpanan instans yang mengaktifkan instans. Anda tidak dikenakan biaya tambahan dengan mengaktifkan penyimpanan instans pada instans DB RDS for Oracle. Untuk informasi selengkapnya tentang penyimpanan instans yang mengaktifkan instans, lihat Kelas instans yang didukung untuk penyimpanan instans RDS for Oracle.

Mengaktifkan penyimpanan instans RDS for Oracle

Untuk mengaktifkan penyimpanan instans data sementara RDS for Oracle, lakukan salah satu tindakan berikut:

Mengonfigurasi penyimpanan instans RDS for Oracle

Secara default, 100% ruang penyimpanan instans dialokasikan ke ruang tabel sementara. Untuk mengonfigurasi penyimpanan instans guna mengalokasikan ruang ke cache flash dan ruang tabel sementara, atur parameter berikut dalam grup parameter untuk instans Anda:

db_flash_cache_size={DBInstanceStore*{0,2,4,6,8,10}/10}

Parameter ini menentukan jumlah ruang penyimpanan yang dialokasikan untuk cache flash. Parameter ini hanya berlaku untuk Oracle Database Enterprise Edition. Nilai defaultnya adalah {DBInstanceStore*0/10}. Jika Anda menetapkan nilai selain nol untuk db_flash_cache_size, instans RDS for Oracle Anda mengaktifkan cache flash setelah Anda memulai ulang instans.

rds.instance_store_temp_size={DBInstanceStore*{0,2,4,6,8,10}/10}

Parameter ini menentukan jumlah ruang penyimpanan yang dialokasikan untuk ruang tabel sementara. Nilai defaultnya adalah {DBInstanceStore*10/10}. Parameter ini dapat diubah untuk Oracle Database Enterprise Edition dan baca-saja untuk Standard Edition 2. Jika Anda menetapkan nilai bukan nol untuk rds.instance_store_temp_size, Amazon RDS mengalokasikan ruang di penyimpanan instans untuk ruang tabel sementara.

Anda dapat mengatur parameter db_flash_cache_size dan rds.instance_store_temp_size untuk instans DB yang tidak menggunakan penyimpanan instans. Dalam hal ini, kedua pengaturan mengevaluasi 0, yang menonaktifkan fitur. Dalam kasus ini, Anda dapat menggunakan grup parameter yang sama untuk ukuran instans yang berbeda dan untuk instans yang tidak menggunakan penyimpanan instans. Jika Anda mengubah parameter ini, pastikan untuk mem-boot ulang instans terkait sehingga perubahan dapat diterapkan.

penting

Jika Anda mengalokasikan ruang untuk ruang tabel sementara, Amazon RDS tidak membuat ruang tabel sementara secara otomatis. Untuk mempelajari cara membuat ruang tabel sementara di penyimpanan instans, lihat Membuat tablespace sementara di penyimpanan instans.

Nilai gabungan dari parameter sebelumnya tidak boleh melebihi 10/10, atau 100%. Tabel berikut mengilustrasikan pengaturan parameter yang valid dan tidak valid.

Pengaturan db_flash_cache_size Pengaturan rds.instance_store_temp_size Penjelasan

db_flash_cache_size={DBInstanceStore*0/10}

rds.instance_store_temp_size={DBInstanceStore*10/10}

Ini adalah konfigurasi yang valid untuk semua edisi Oracle Database. Amazon RDS mengalokasikan 100% ruang penyimpanan instans ke ruang tabel sementara. Ini adalah default.

db_flash_cache_size={DBInstanceStore*10/10}

rds.instance_store_temp_size={DBInstanceStore*0/10}

Parameter ini hanya berlaku untuk Oracle Database Enterprise Edition. Amazon RDS mengalokasikan 100% ruang penyimpanan instans ke cache flash.

db_flash_cache_size={DBInstanceStore*2/10}

rds.instance_store_temp_size={DBInstanceStore*8/10}

Parameter ini hanya berlaku untuk Oracle Database Enterprise Edition. Amazon RDS mengalokasikan 20% ruang penyimpanan instans ke cache flash, dan 80% ruang penyimpanan instans ke ruang tabel sementara.

db_flash_cache_size={DBInstanceStore*6/10}

rds.instance_store_temp_size={DBInstanceStore*4/10}

Parameter ini hanya berlaku untuk Oracle Database Enterprise Edition. Amazon RDS mengalokasikan 60% ruang penyimpanan instans ke cache flash, dan 40% ruang penyimpanan instans ke ruang tabel sementara.

db_flash_cache_size={DBInstanceStore*2/10}

rds.instance_store_temp_size={DBInstanceStore*4/10}

Parameter ini hanya berlaku untuk Oracle Database Enterprise Edition. Amazon RDS mengalokasikan 20% ruang penyimpanan instans ke cache flash, dan 40% ruang penyimpanan instans ke ruang tabel sementara.

db_flash_cache_size={DBInstanceStore*8/10}

rds.instance_store_temp_size={DBInstanceStore*8/10}

Ini adalah konfigurasi yang tidak valid karena persentase gabungan ruang penyimpanan instans melebihi 100%. Dalam kasus demikian, Amazon RDS gagal dalam upaya tersebut.

Pertimbangan saat mengubah jenis instans DB

Jika Anda mengubah jenis instans DB Anda, hal tersebut dapat memengaruhi konfigurasi cache flash atau ruang tabel sementara di penyimpanan instans. Pertimbangkan pengubahan berikut serta efeknya:

Anda meningkatkan atau menurunkan skala instans DB yang mendukung penyimpanan instans.

Nilai berikut bertambah atau berkurang secara proporsional dengan ukuran penyimpanan instans baru:

  • Ukuran cache flash baru.

  • Ruang tersebut dialokasikan ke ruang tabel sementara yang berada di penyimpanan instans.

Misalnya, pengaturan db_flash_cache_size={DBInstanceStore*6/10} pada instans db.m5d.4xlarge menyediakan sekitar 340 GB ruang cache flash. Jika Anda meningkatkan jenis instans ke db.m5d.8xlarge, ruang cache flash meningkat menjadi sekitar 680 GB.

Anda mengubah instans DB yang tidak menggunakan penyimpanan instans menjadi instans yang menggunakan penyimpanan instans.

Jika db_flash_cache_size diatur ke nilai yang lebih besar dari 0, cache flash dikonfigurasi. Jika rds.instance_store_temp_size diatur ke nilai yang lebih besar dari 0, ruang penyimpanan instans dialokasikan untuk digunakan oleh ruang tabel sementara. RDS for Oracle tidak memindahkan tempfile ke penyimpanan instans secara otomatis. Untuk informasi tentang menggunakan ruang yang dialokasikan, lihat Membuat tablespace sementara di penyimpanan instans atau Menambahkan tempfile ke penyimpanan instans di replika baca.

Anda mengubah instans DB yang menggunakan penyimpanan instans menjadi instans yang tidak menggunakan penyimpanan instans.

Dalam hal ini, RDS for Oracle menghapus cache flash. RDS membuat ulang tempfile yang saat ini berada di penyimpanan instans di volume Amazon EBS. Ukuran maksimum tempfile baru adalah ukuran parameter rds.instance_store_temp_size sebelumnya.

Menggunakan penyimpanan instans pada replika baca Oracle

Replika baca mendukung cache flash dan ruang tabel sementara di penyimpanan instans. Sementara cache flash berfungsi dengan cara yang sama seperti pada instans DB primer, perhatikan perbedaan berikut untuk ruang tabel sementara:

  • Anda tidak dapat membuat ruang tabel sementara yang ada di replika baca. Jika Anda membuat ruang tabel sementara baru pada instans primer, RDS for Oracle mereplikasi informasi ruang tabel tanpa tempfile. Untuk menambahkan tempfile baru, gunakan salah satu teknik berikut:

    • Gunakan prosedur Amazon RDS rdsadmin.rdsadmin_util.add_inst_store_tempfile. RDS for Oracle membuat tempfile di penyimpanan instans pada replika baca Anda, dan menambahkannya ke ruang tabel sementara yang ditentukan.

    • Jalankan perintah ALTER TABLESPACE … ADD TEMPFILE. RDS for Oracle menempatkan tempfile di penyimpanan Amazon EBS.

    catatan

    Jenis penyimpanan dan ukuran tempfile dapat berbeda pada instans DB primer dan replika baca.

  • Anda dapat mengelola pengaturan ruang tabel sementara default hanya pada instans DB primer. RDS for Oracle mereplikasi pengaturan ke semua replika baca.

  • Anda dapat mengonfigurasi grup ruang tabel sementara hanya pada instans DB primer. RDS for Oracle mereplikasi pengaturan ke semua replika baca.

Mengonfigurasi grup ruang tabel sementara di penyimpanan instans dan Amazon EBS

Anda dapat mengonfigurasi grup ruang tabel sementara untuk menyertakan ruang tabel sementara pada penyimpanan instans dan Amazon EBS. Teknik ini berguna ketika Anda menginginkan penyimpanan sementara lebih banyak daripada yang diperbolehkan oleh pengaturan maksimal rds.instance_store_temp_size.

Saat Anda mengonfigurasi grup ruang tabel sementara di penyimpanan instans dan Amazon EBS, kedua ruang tabel memiliki karakteristik performa yang sangat berbeda. Oracle Database memilih ruang tabel untuk melayani kueri berdasarkan algoritma internal. Oleh karena itu, performa kueri yang serupa dapat berbeda.

Biasanya, Anda membuat ruang tabel sementara di penyimpanan instans sebagai berikut:

  1. Buat ruang tabel sementara di penyimpanan instans.

  2. Tetapkan ruang tabel baru sebagai ruang tabel sementara default basis data.

Jika ukuran raung tabel di penyimpanan instans tidak mencukupi, Anda dapat membuat penyimpanan sementara tambahan sebagai berikut:

  1. Tetapkan ruang tabel sementara di penyimpanan instans ke grup ruang tabel sementara.

  2. Buat ruang tabel sementara baru di Amazon EBS jika belum ada.

  3. Tetapkan ruang tabel sementara di Amazon EBS ke grup ruang tabel yang sama yang menyertakan ruang tabel penyimpanan instans.

  4. Tetapkan grup ruang tabel sebagai ruang tabel sementara default.

Contoh berikut mengasumsikan bahwa ukuran ruang tabel sementara di penyimpanan instans tidak memenuhi persyaratan aplikasi Anda. Contoh tersebut membuat ruang tabel sementara temp_in_inst_store di penyimpanan instans, menetapkannya ke grup ruang tabel temp_group, menambahkan ruang tabel Amazon EBS yang sudah ada yang bernama temp_in_ebs ke grup ini, dan menetapkan grup ini sebagai ruang tabel sementara default.

SQL> EXEC rdsadmin.rdsadmin_util.create_inst_store_tmp_tblspace('temp_in_inst_store'); PL/SQL procedure successfully completed. SQL> ALTER TABLESPACE temp_in_inst_store TABLESPACE GROUP temp_group; Tablespace altered. SQL> ALTER TABLESPACE temp_in_ebs TABLESPACE GROUP temp_group; Tablespace altered. SQL> EXEC rdsadmin.rdsadmin_util.alter_default_temp_tablespace('temp_group'); PL/SQL procedure successfully completed. SQL> SELECT * FROM DBA_TABLESPACE_GROUPS; GROUP_NAME TABLESPACE_NAME ------------------------------ ------------------------------ TEMP_GROUP TEMP_IN_EBS TEMP_GROUP TEMP_IN_INST_STORE SQL> SELECT PROPERTY_VALUE FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE'; PROPERTY_VALUE -------------- TEMP_GROUP

Menghapus penyimpanan instans RDS for Oracle

Untuk menghapus penyimpanan instans, ubah instans DB RDS for Oracle Anda untuk menggunakan jenis instans yang tidak mendukung penyimpanan instans, seperti db.m5 atau db.r5.