Memutakhirkan instans basis data untuk Amazon RDS Custom 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.

Memutakhirkan instans basis data untuk Amazon RDS Custom for Oracle

Anda dapat memutakhirkan instans basis data Amazon RDS Custom dengan mengubahnya agar menggunakan versi mesin kustom (CEV) baru. Lihat informasi umum tentang pemutakhiran di Meningkatkan versi mesin instans DB.

Ikhtisar pemutakhiran di RDS Custom for Oracle

Dengan RDS Custom for Oracle, Anda dapat menambal basis data Oracle atau sistem operasi (OS) instans basis data Anda dengan membuat CEV baru dan lalu mengubah instans Anda agar menggunakan CEV baru itu.

Opsi-opsi pemutakhiran CEV

Saat membuat CEV untuk pemutakhiran, Anda memiliki opsi-opsi yang saling eksklusif berikut:

Basis data saja

Gunakan ulang Amazon Machine Image (AMI) yang saat ini digunakan oleh instans basis data Anda, tetapi tentukan file biner basis data yang berbeda. RDS Custom mengalokasikan volume biner baru, lalu melampirkannya pada instans Amazon EC2 yang ada. RDS Custom mengganti seluruh volume basis data dengan volume baru yang menggunakan versi basis data target Anda.

OS saja

Gunakan ulang file biner basis data yang saat ini digunakan oleh instans basis data Anda, tetapi tentukan AMI yang berbeda. RDS Custom mengalokasikan instans Amazon EC2 baru, lalu melampirkan volume biner yang ada pada instans yang baru. Volume basis data yang ada dipertahankan.

Jika ingin memutakhirkan OS dan basis data, Anda harus memutakhirkan CEV dua kali. Anda dapat memutakhirkan OS dan kemudian basis data, atau memutakhirkan basis data dan kemudian OS.

Awas

Ketika Anda menambal OS, Anda kehilangan data volume root dan segala kustomisasi OS yang ada. Maka, kami sangat menganjurkan agar Anda tidak menggunakan volume root untuk instalasi atau untuk menyimpan data atau file permanen. Kami juga menganjurkan supaya Anda membuat cadangan data sebelum melakukan pemutakhiran.

Menambal tanpa CEV

Kami sangat menganjurkan agar Anda memutakhirkan instans basis data RDS Custom for Oracle dengan menggunakan CEV. Automasi RDS Custom for Oracle menyinkronkan metadata tambalan dengan file biner basis data pada instans basis data Anda.

Dalam keadaan khusus, RDS Custom mendukung penerapan tambalan basis data "satu kali" secara langsung ke instans Amazon EC2 yang mendasari dengan menggunakan utilitas OPatch. Kasus penggunaan yang valid mungkin adalah tambalan basis data yang ingin Anda terapkan seketika, tetapi tim RDS Custom sedang memutakhirkan fitur CEV, sehingga ada ketertundaan. Untuk menerapkan tambalan basis data secara manual, lakukan langkah-langkah berikut:

  1. Jeda automasi RDS Custom.

  2. Terapkan tambalan Anda ke file biner basis data di instans Amazon EC2.

  3. Lanjutkan automasi RDS Custom.

Kerugian teknik di atas adalah Anda harus menerapkan tambalan basis data secara manual ke setiap instans yang ingin Anda mutakhirkan. Sebaliknya, ketika membuat CEV baru, Anda dapat membuat atau memutakhirkan beberapa instans basis data dengan menggunakan CEV yang sama.

Langkah-langkah umum untuk menambal instans basis data Anda dengan CEV

Apakah Anda menambal OS atau basis data, lakukan langkah-langkah dasar berikut:

  1. Buat CEV yang berisi salah satu elemen berikut, sesuai dengan apakah Anda menambal basis data atau OS:

    • Oracle Database RU yang ingin diterapkan untuk instans basis data Anda

    • AMI yang berbeda—entah yang terbaru yang tersedia atau yang Anda tentukan—dan CEV yang ada untuk digunakan sebagai sumber

    Ikuti langkah-langkah di Membuat CEV.

  2. (Opsional untuk penambalan basis data) Periksa pemutakhiran versi mesin yang tersedia dengan menjalankan describe-db-engine-versions.

  3. Mulai proses penambalan dengan menjalankan modify-db-instance.

    Status instans yang ditambal berbeda sebagai berikut:

    • Selagi RDS menambal basis data, status instans basis data berubah ke Memutakhirkan.

    • Selagi RDS menambal OS, status instans basis data berubah ke Memodifikasi.

    Ketika instans basis data memiliki status Tersedia, penambalan selesai.

  4. Pastikan bahwa instans basis data Anda menggunakan CEV baru dengan menjalankan describe-db-instances.

Persyaratan untuk pemutakhiran RDS Custom for Oracle

Saat memutakhirkan instans basis data RDS Custom for Oracle ke CEV target, pastikan untuk memenuhi persyaratan berikut:

  • CEV target yang menjadi sasaran pemutakhiran Anda harus ada.

  • Anda harus memutakhirkan entah OS atau basis data dalam satu operasi. Memutakhirkan OS dan basis data sekaligus dalam satu panggilan API tidak didukung.

  • CEV target harus menggunakan setelan parameter instalasi yang ada dalam manifes CEV saat ini. Misalnya, Anda tidak dapat memutakhirkan basis data yang menggunakan Oracle home default ke CEV yang menggunakan Oracle home non-default.

  • Untuk pemutakhiran basis data, CEV target harus menggunakan versi basis data kecil baru, bukan versi utama baru. Misalnya, Anda tidak dapat memutakhirkan dari CEV Oracle Database 12c ke CEV Oracle Database 19c. Namun, Anda dapat memutakhirkan dari versi-versi 21.0.0.0.ru-2023-04.rur-2023-04.r1 ke versi 21.0.0.0.ru-2023-07.rur-2023-07.r1.

  • Untuk pemutakhiran OS, CEV target harus menggunakan AMI yang berbeda, tetapi memiliki versi utama yang sama.

Pertimbangan-pertimbangan untuk pemutakhiran basis data RDS Custom for Oracle

Jika Anda merencanakan untuk memutakhirkan basis data, pertimbangkan hal-hal berikut:

  • Saat Anda memutakhirkan file biner basis data di instans basis data utama Anda, RDS Custom for Oracle memutakhirkan replika baca Anda secara otomatis. Saat memutakhirkan OS, Anda harus memutakhirkan replika baca secara manual.

  • Ketika Anda memutakhirkan basis data kontainer (CDB) ke versi basis data baru, RDS Custom for Oracle memeriksa bahwa semua PDB terbuka atau dapat dibuka. Jika kondisi ini tidak terpenuhi, RDS Custom menghentikan pemeriksaan dan mengembalikan basis data ke keadaan semula tanpa mencoba pemutakhiran. Jika kondisi terpenuhi, RDS Custom menambal dahulu root CDB, lalu menambal semua PDB lain (yang meliputi PDB$SEED) secara paralel.

    Setelah penambalan selesai, RDS Custom mencoba membuka semua PDB. Jika ada PDB yang gagal dibuka, Anda menerima peristiwa berikut: The following PDBs failed to open: list-of-PDBs. Jika RDS Custom gagal menambal root CDB atau salah satu PDB, instans ditempatkan ke dalam keadaan PATCH_DB_FAILED.

  • Anda mungkin ingin melakukan pemutakhiran versi basis data utama dan konversi non-CDB ke CDB dengan serentak. Dalam hal ini, sebaiknya lanjutkan sebagai berikut:

    1. Buat RDS Custom baru untuk instans basis data Oracle yang menggunakan arsitektur multi-penghuni Oracle.

    2. Lekatkan non-CDB ke root CDB Anda, menjadikannya PDB. Pastikan bahwa non-CDB adalah versi utama yang sama dengan CDB Anda.

    3. Lakukan konversi PDB Anda dengan menjalankan skrip Oracle SQL noncdb_to_pdb.sql.

    4. Lakukan validasi instans CDB Anda.

    5. Mutakhirkan instans CDB Anda.

Pertimbangan-pertimbangan untuk pemutakhiran OS RDS Custom for Oracle

Ketika Anda merencanakan pemutakhiran OS, pertimbangkan hal-hal berikut:

  • Anda tidak dapat menyediakan AMI Anda sendiri untuk digunakan dalam CEV RDS Custom for Oracle. Anda dapat menentukan AMI default atau AMI yang pernah digunakan oleh CEV RDS Custom for Oracle.

    catatan

    RDS Custom for Oracle merilis AMI default baru ketika ditemukan kerentanan dan eksposur umum. Tidak ada jadwal tetap yang tersedia atau dijamin. RDS Custom for Oracle cenderung menerbitkan AMI default baru setiap 30 hari.

  • Saat memutakhirkan OS di instans basis data utama, Anda harus memutakhirkan replika bacanya yang terkait secara manual.

  • Cadangkan kapasitas komputasi Amazon EC2 yang cukup untuk jenis instans Anda di AZ sebelum mulai menambal OS.

    Saat membuat Reservasi Kapasitas, Anda menentukan AZ, jumlah instans, dan atribut-atribut instans (yang meliputi jenis instans). Misalnya, jika instans basis data Anda menggunakan instans EC2 tipe r5.large yang mendasari, sebaiknya cadangkan kapasitas EC2 untuk r5.large di AZ Anda. Selama penambalan OS, RDS Custom membuat satu host baru bertipe db.r5.large, yang dapat mogok jika AZ tidak memiliki kapasitas EC2 untuk jenis instans ini. Jika mencadangkan kapasitas EC2, Anda menurunkan risiko penambalan diblokir akibat batasan kapasitas. Untuk informasi selengkapnya, lihat Reservasi Kapasitas Sesuai Permintaan di Panduan Pengguna Amazon EC2.

  • Cadangkan instans basis data Anda sebelum memutakhirkan OS-nya. Pemutakhiran menghapus data volume root Anda dan segala kustomisasi OS yang ada.

  • Dalam model tanggung jawab bersama, Anda bertanggung jawab untuk menjaga OS tetap mutakhir. RDS Custom for Oracle tidak mengamanatkan tambalan yang Anda terapkan untuk OS Anda. Jika RDS Custom for Oracle Anda berfungsi, Anda dapat menggunakan AMI yang terkait dengan CEV ini tanpa batas waktu.

Melihat target pemutakhiran CEV yang valid untuk instans basis data RDS Custom for Oracle

Anda dapat melihat CEV yang ada di halaman Versi mesin kustom di AWS Management Console.

Anda juga dapat menggunakan AWS CLI perintah describe-db-engine-versions untuk menemukan CEV yang valid untuk digunakan saat Anda meng-upgrade instance DB Anda, seperti yang ditunjukkan pada contoh berikut. Contoh ini beranggapan bahwa Anda membuat instans basis data dengan menggunakan versi mesin 19.my_cev1, dan bahwa ada versi-versi pemutakhiran 19.my_cev2 dan 19.my_cev.

aws rds describe-db-engine-versions --engine custom-oracle-ee --engine-version 19.my_cev1

Output-nya menyerupai yang berikut. Bidang ImageId menunjukkan ID AMI.

{ "DBEngineVersions": [ { "Engine": "custom-oracle-ee", "EngineVersion": "19.my_cev1", ... "Image": { "ImageId": "ami-2345", "Status": "active" }, "DBEngineVersionArn": "arn:aws:rds:us-west-2:123456789012:cev:custom-oracle-ee/19.my_cev1/12a34b5c-67d8-90e1-2f34-gh56ijk78lm9" "ValidUpgradeTarget": [ { "Engine": "custom-oracle-ee", "EngineVersion": "19.my_cev2", "Description": "19.my_cev2 description", "AutoUpgrade": false, "IsMajorVersionUpgrade": false }, { "Engine": "custom-oracle-ee", "EngineVersion": "19.my_cev3", "Description": "19.my_cev3 description", "AutoUpgrade": false, "IsMajorVersionUpgrade": false } ] ...

Memutakhirkan instans basis data RDS Custom for Oracle

Untuk memutakhirkan instans basis data RDS Custom for Oracle, ubahlah instans agar menggunakan CEV baru. CEV ini boleh berisi entah file biner basis data baru atau AMI baru. Jika ingin memutakhirkan basis data dan OS, Anda harus melakukan dua pemutakhiran terpisah.

catatan

Jika Anda memutakhirkan basis data, RDS Custom memutakhirkan secara otomatis replika baca setelah memutakhirkan instans basis data utama. Jika Anda memutakhirkan OS, Anda harus memutakhirkan replika secara manual.

Sebelum Anda mulai, tinjau Persyaratan untuk pemutakhiran RDS Custom for Oracle dan Pertimbangan-pertimbangan untuk pemutakhiran basis data RDS Custom for Oracle.

Untuk memutakhirkan instans basis data RDS Custom for Oracle
  1. Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.

  2. Di panel navigasi, pilih Basis data, lalu pilih instans basis data RDS Custom for Oracle yang ingin Anda mutakhirkan.

  3. Pilih Ubah. Halaman Ubah instans basis data muncul.

  4. Untuk Versi mesin basis data, pilih CEV baru. Lakukan hal-hal berikut:

    • Jika Anda menambal basis data, pastikan bahwa CEV menentukan file biner basis data yang berbeda dengan yang digunakan oleh instans basis data, dan tidak menentukan AMI yang berbeda dengan AMI yang saat ini digunakan oleh instans basis data.

    • Jika Anda menambal OS, pastikan bahwa CEV menentukan AMI yang berbeda dengan AMI yang saat ini digunakan oleh instans basis data, dan tidak menentukan file biner basis data yang berbeda.

      Awas

      Ketika Anda menambal OS, Anda kehilangan data volume root dan segala kustomisasi OS yang ada.

  5. Pilih Lanjutkan untuk memeriksa ringkasan perubahan.

    Untuk menerapkan perubahan dengan serta-merta, pilih Terapkan seketika.

  6. Jika perubahan Anda benar, pilih Ubah instans basis data. Atau pilih Kembali untuk mengedit perubahan atau Batalkan untuk membatalkan perubahan.

Contoh-contoh berikut menunjukkan beberapa skenario pemutakhiran yang mungkin. Contoh-contoh beranggapan bahwa Anda membuat instans basis data RDS Custom for Oracle dengan karakteristik-karakteristik sebagai berikut:

  • Instans basis data bernama my-custom-instance

  • CEV bernama 19.my_cev1

  • Oracle Database 19c yang menggunakan arsitektur non-CDB

  • Oracle Linux 7.9 yang menggunakan AMI ami-1234

AMI terbaru yang disediakan layanan adalah ami-2345. Anda dapat menemukan AMI dengan menjalankan perintah CLI describe-db-engine-versions.

Memutakhirkan OS

Dalam contoh ini, Anda ingin memutakhirkan ami-1234 ke ami-2345, yang merupakan AMI terbaru yang disediakan layanan. Karena ini pemutakhiran OS, file biner basis data untuk ami-1234 dan ami-2345 harus sama. Anda membuat CEV baru bernama 19.my_cev2 berdasarkan 19.my_cev1.

Untuk Linux, macOS, atau Unix:

aws rds create-custom-db-engine-version \ --engine custom-oracle-ee \ --engine-version 19.my_cev2 \ --description "Non-CDB CEV based on ami-2345" \ --kms-key-id key-name \ --source-custom-db-engine-version-identifer arn:aws:rds:us-west-2:123456789012:cev:custom-oracle-ee/19.my_cev1/12345678-ab12-1234-cde1-abcde123456789 \ --image-id ami-2345

Untuk Windows:

aws rds create-custom-db-engine-version ^ --engine custom-oracle-ee ^ --engine-version 19.my_cev2 ^ --description "Non-CDB CEV based on ami-2345" ^ --kms-key-id key-name ^ --source-custom-db-engine-version-identifer arn:aws:rds:us-west-2:123456789012:cev:custom-oracle-ee/19.my_cev1/12345678-ab12-1234-cde1-abcde123456789 ^ --image-id ami-2345

Untuk memutakhirkan instans basis data RDS Custom, gunakan perintah AWS CLI modify-db-instance dengan parameter-parameter berikut:

  • --db-instance-identifier – Tentukan instans basis data RDS Custom for Oracle yang akan dimutakhirkan.

  • --engine-version – Tentukan CEV yang memiliki AMI baru.

  • --no-apply-immediately | --apply-immediately – Tentukan apakah akan melakukan pemutakhiran dengan serta-merta atau menunggu sampai jendela pemeliharaan terjadwal.

Contoh berikut memutakhirkan my-custom-instance ke versi 19.my_cev2. Hanya OS yang dimutakhirkan.

Untuk Linux, macOS, atau Unix:

aws rds modify-db-instance \ --db-instance-identifier my-custom-instance \ --engine-version 19.my_cev2 \ --apply-immediately

Untuk Windows:

aws rds modify-db-instance ^ --db-instance-identifier my-custom-instance ^ --engine-version 19.my_cev2 ^ --apply-immediately

Memutakhirkan basis data

Dalam contoh ini, Anda ingin menerapkan tambalan Oracle p35042068 ke instans basis data RDS for Oracle Anda. Karena Anda memutakhirkan OS di Memutakhirkan OS, instans basis data Anda saat ini menggunakan 19.my_cev2, yang berdasarkan ami-2345. Anda membuat CEV baru bernama 19.my_cev3 yang juga menggunakan ami-2345, tetapi Anda menentukan manifes JSON baru dalam variabel lingkungan $MANIFEST. Maka, hanya file biner basis data yang berbeda di CEV baru Anda dan di CEV yang saat ini digunakan instans Anda.

Untuk Linux, macOS, atau Unix:

aws rds create-custom-db-engine-version \ --engine custom-oracle-ee \ --engine-version 19.my_cev3 \ --description "Non-CDB CEV with p35042068 based on ami-2345" \ --kms-key-id key-name \ --image-id ami-2345 \ --manifest $MANIFEST

Untuk Windows:

aws rds create-custom-db-engine-version ^ --engine custom-oracle-ee ^ --engine-version 19.my_cev3 ^ --description "Non-CDB CEV with p35042068 based on ami-2345" ^ --kms-key-id key-name ^ --image-id ami-2345 ^ --manifest $MANIFEST

Contoh berikut memutakhirkan my-custom-instance ke versi mesin 19.my_cev3. Hanya basis data yang dimutakhirkan.

Untuk Linux, macOS, atau Unix:

aws rds modify-db-instance \ --db-instance-identifier my-custom-instance \ --engine-version 19.my_cev3 \ --apply-immediately

Untuk Windows:

aws rds modify-db-instance ^ --db-instance-identifier my-custom-instance ^ --engine-version 19.my_cev3 ^ --apply-immediately

Melihat pemutakhiran basis data yang tertunda untuk instans basis data RDS Custom

Anda dapat melihat pemutakhiran database yang tertunda untuk instans DB Kustom Amazon RDS Anda dengan menggunakan perintah deskripsi-db-instance atau deskripsi-pending-maintenance-actions. AWS CLI

Namun, pendekatan ini tidak berfungsi jika Anda menggunakan opsi --apply-immediately atau jika pemutakhiran sedang berlangsung.

Perintah describe-db-instances berikut menunjukkan pemutakhiran basis data tertunda untuk my-custom-instance.

aws rds describe-db-instances --db-instance-identifier my-custom-instance

Output-nya menyerupai yang berikut.

{ "DBInstances": [ { "DBInstanceIdentifier": "my-custom-instance", "EngineVersion": "19.my_cev1", ... "PendingModifiedValues": { "EngineVersion": "19.my_cev3" ... } } ] }

Memecahkan masalah kegagalan pemutakhiran untuk instans basis data RDS Custom for Oracle

Jika pemutakhiran instans basis data RDS Custom gagal, peristiwa RDS dihasilkan dan status instans basis data menjadi upgrade-failed.

Anda dapat melihat status ini dengan menggunakan AWS CLI perintah describe-db-instances, seperti yang ditunjukkan pada contoh berikut.

aws rds describe-db-instances --db-instance-identifier my-custom-instance

Output-nya menyerupai yang berikut.

{ "DBInstances": [ { "DBInstanceIdentifier": "my-custom-instance", "EngineVersion": "19.my_cev1", ... "PendingModifiedValues": { "EngineVersion": "19.my_cev3" ... } "DBInstanceStatus": "upgrade-failed" } ] }

Setelah suatu kegagalan pemutakhiran, semua tindakan basis data diblokir kecuali untuk mengubah instans basis data guna melakukan tugas-tugas berikut:

  • Mencoba lagi pemutakhiran yang sama

  • Menjeda dan melanjutkan automasi RDS Custom

  • oint-in-time Pemulihan P (PITR)

  • Menghapus instans basis data

catatan

Jika automasi telah dijeda untuk instans basis data RDS Custom, Anda tidak dapat mencoba lagi pemutakhiran sampai melanjutkan automasi.

Tindakan yang sama berlaku untuk kegagalan pemutakhiran bagi replika baca yang dikelola RDS sebagaimana untuk yang utama.

Untuk informasi selengkapnya, lihat Memecahkan masalah pemutakhiran untuk RDS Custom for Oracle.