Mencadangkan dan memulihkan Oracle Database di Azure Linux VM dengan menggunakan Azure Backup
Diterapkan ke: ✔️ VM Linux
Artikel ini menunjukkan penggunaan Azure Backup untuk mengambil rekam jepret disk disk komputer virtual (VM), yang mencakup file Oracle Database dan area pemulihan cepat Oracle. Dengan menggunakan Azure Backup, Anda dapat mengambil rekam jepret disk penuh yang cocok sebagai cadangan dan disimpan dalam vault Layanan Pemulihan.
Azure Backup juga menyediakan cadangan yang konsisten dengan aplikasi, yang memastikan bahwa lebih banyak perbaikan tidak diperlukan untuk memulihkan data. Pencadangan yang konsisten dengan aplikasi berfungsi dengan sistem file dan database Oracle Automatic Storage Management (ASM).
Memulihkan data yang konsisten dengan aplikasi mengurangi waktu pemulihan, sehingga Anda dapat dengan cepat kembali ke status berjalan. Pemulihan Oracle Database masih diperlukan setelah pemulihan. Anda memfasilitasi pemulihan dengan menggunakan file log fase pengulangan yang diarsipkan Oracle yang diambil dan disimpan dalam berbagi file Azure terpisah.
Artikel ini memanding Anda melalui tugas-tugas berikut:
- Cadangkan database dengan cadangan yang konsisten dengan aplikasi.
- Memulihkan dan memulihkan database dari titik pemulihan.
- Pulihkan VM dari titik pemulihan.
Prasyarat
Gunakan lingkungan Bash di Azure Cloud Shell. Untuk informasi selengkapnya, lihat Mulai Cepat untuk Bash di Azure Cloud Shell.
Jika Anda lebih memilih untuk menjalankan perintah referensi CLI secara lokal, pasang Azure CLI. Jika Anda menjalankan Windows atau macOS, pertimbangkan untuk menjalankan Azure CLI dalam kontainer Docker. Untuk informasi lebih lanjut, lihat Cara menjalankan Azure CLI di kontainer Docker.
Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah login az. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk lainnya, lihat Masuk dengan Azure CLI.
Saat Anda diminta, instal ekstensi Azure CLI pada penggunaan pertama. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan ekstensi dengan Azure CLI.
Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk meningkatkan ke versi terbaru, jalankan peningkatan az.
Untuk melakukan proses pencadangan dan pemulihan, Anda harus terlebih dahulu membuat VM Linux yang memiliki instans Oracle Database 12.1 atau yang lebih baru yang terinstal.
Buat instans Oracle Database dengan mengikuti langkah-langkah dalam Membuat instans Oracle Database di Azure VM.
Menyiapkan lingkungan
Untuk menyiapkan lingkungan, selesaikan langkah-langkah berikut:
Menyambungkan ke VM
Untuk membuat sesi Secure Shell (SSH) dengan VM, gunakan perintah berikut. Ganti
<publicIpAddress>
dengan nilai alamat publik untuk VM Anda.ssh azureuser@<publicIpAddress>
Beralih ke pengguna root:
sudo su -
oracle
Tambahkan pengguna ke file /etc/sudoers:echo "oracle ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
Menyiapkan penyimpanan Azure Files untuk file log fase pengulangan yang diarsipkan Oracle
File log fase pengulangan yang diarsipkan instans Oracle Database memainkan peran penting dalam pemulihan database. Mereka menyimpan transaksi berkomitmen yang diperlukan untuk bergulir maju dari rekam jepret database yang diambil di masa lalu.
Ketika database dalam ARCHIVELOG
mode, database mengarsipkan konten file log fase pengulangan online ketika menjadi penuh dan beralih. Bersama dengan cadangan, mereka diharuskan untuk mencapai pemulihan titik waktu ketika database hilang.
Oracle menyediakan kemampuan untuk mengarsipkan file log fase pengulangan ke lokasi yang berbeda. Praktik terbaik industri adalah bahwa setidaknya salah satu tujuan tersebut harus berada di penyimpanan jarak jauh, sehingga terpisah dari penyimpanan host dan dilindungi dengan rekam jepret independen. Azure Files memenuhi persyaratan tersebut.
Berbagi file Azure adalah penyimpanan yang Anda lampirkan ke VM Linux atau Windows sebagai komponen sistem file biasa, dengan menggunakan protokol Server Message Block (SMB) atau Network File System (NFS). Untuk menyiapkan berbagi file Azure di Linux (dengan menggunakan protokol SMB 3.0) untuk digunakan sebagai penyimpanan log arsip, lihat Memasang berbagi file Azure SMB di Linux. Saat Anda menyelesaikan penyiapan, kembali ke panduan ini dan selesaikan semua langkah yang tersisa.
Siapkan database
Bagian dari proses ini mengasumsikan bahwa Anda mengikuti Buat instans Oracle Database di Azure VM. Akibatnya:
- Anda memiliki instans Oracle bernama
oratest1
yang berjalan pada VM bernamavmoracle19c
. - Anda menggunakan skrip Oracle
oraenv
standar dengan dependensinya pada file konfigurasi Oracle standar /etc/oratab untuk menyiapkan variabel lingkungan dalam sesi shell.
Lakukan langkah-langkah berikut untuk setiap database pada VM:
Pindahkan ke
oracle
sudo su - oracle
Atur variabel
ORACLE_SID
lingkungan dengan menjalankanoraenv
skrip. Ini akan meminta Anda untuk memasukkanORACLE_SID
nama.. oraenv
Tambahkan berbagi file Azure sebagai tujuan lain untuk file log arsip database.
Langkah ini mengasumsikan bahwa Anda mengonfigurasi dan memasang berbagi file Azure di VM Linux. Untuk setiap database yang diinstal pada VM, buat subdirektori yang dinamai sesuai dengan pengidentifikasi keamanan database (SID) Anda.
Dalam contoh ini, nama titik pemasangan adalah
/backup
dan SID adalahoratest1
. Jadi Anda membuat subdirektori/backup/oratest1
dan mengubah kepemilikan kepadaoracle
pengguna. Ganti/backup/SID
untuk nama titik pemasangan dan SID database Anda.sudo mkdir /backup/oratest1 sudo chown oracle:oinstall /backup/oratest1
Sambungkan ke database:
sqlplus / as sysdba
Mulai database jika belum berjalan:
SQL> startup
Atur tujuan log arsip pertama database ke direktori berbagi file yang Anda buat sebelumnya:
SQL> alter system set log_archive_dest_1='LOCATION=/backup/oratest1' scope=both;
Tentukan tujuan titik pemulihan (RPO) untuk database tersebut.
Untuk mencapai RPO yang konsisten, pertimbangkan frekuensi di mana file log fase pengulangan online akan diarsipkan. Faktor-faktor ini mengontrol frekuensi:
- Ukuran file log fase pengulangan online. Saat file log online menjadi penuh, file tersebut dialihkan dan diarsipkan. Semakin besar file log online, semakin lama waktu yang diperlukan untuk mengisi. Waktu tambahan mengurangi frekuensi pembuatan arsip.
- Pengaturan
ARCHIVE_LAG_TARGET
parameter mengontrol jumlah detik maksimum yang diizinkan sebelum file log online saat ini harus dialihkan dan diarsipkan.
Untuk meminimalkan frekuensi pengalihan dan pengarsipan, bersama dengan operasi titik pemeriksaan yang menyertainya, file log fase pengulangan online Oracle umumnya memiliki ukuran besar (misalnya, 1.024M, 4.096M, atau 8.192M). Dalam lingkungan database yang sibuk, log masih cenderung beralih dan mengarsipkan setiap beberapa detik atau menit. Dalam database yang kurang aktif, mereka mungkin pergi berjam-jam atau berjam-hari sebelum transaksi terbaru diarsipkan, yang akan secara dramatis mengurangi frekuensi arsip.
Kami menyarankan agar Anda mengatur
ARCHIVE_LAG_TARGET
untuk memastikan RPO yang konsisten. Pengaturan 5 menit (300 detik) adalah nilai bijaksana untukARCHIVE_LAG_TARGET
. Ini memastikan bahwa setiap operasi pemulihan database dapat pulih dalam waktu 5 menit setelah waktu kegagalan.Untuk mengatur
ARCHIVE_LAG_TARGET
, jalankan perintah ini:SQL> alter system set archive_lag_target=300 scope=both;
Untuk lebih memahami cara menyebarkan instans Oracle Database yang sangat tersedia di Azure dengan RPO nol, lihat Arsitektur referensi untuk Oracle Database.
Pastikan database dalam mode log arsip untuk mengaktifkan pencadangan online.
Periksa status arsip log terlebih dahulu:
SQL> SELECT log_mode FROM v$database; LOG_MODE ------------ NOARCHIVELOG
Jika dalam
NOARCHIVELOG
mode , jalankan perintah berikut:SQL> SHUTDOWN IMMEDIATE; SQL> STARTUP MOUNT; SQL> ALTER DATABASE ARCHIVELOG; SQL> ALTER DATABASE OPEN; SQL> ALTER SYSTEM SWITCH LOGFILE;
Buat tabel untuk menguji operasi pencadangan dan pengembalian:
SQL> create user scott identified by tiger quota 100M on users; SQL> grant create session, create table to scott; SQL> connect scott/tiger SQL> create table scott_table(col1 number, col2 varchar2(50)); SQL> insert into scott_table VALUES(1,'Line 1'); SQL> commit; SQL> quit
Mencadangkan data Anda dengan menggunakan Azure Backup
Layanan Azure Backup menyediakan solusi untuk mencadangkan data Anda dan memulihkannya dari cloud Microsoft Azure. Azure Backup menyediakan cadangan independen dan terisolasi untuk melindungi dari penghancuran data asli yang tidak disengaja. Cadangan disimpan dalam vault Layanan Pemulihan dengan manajemen titik pemulihan bawaan, sehingga Anda dapat memulihkan sesuai kebutuhan.
Di bagian ini, Anda menggunakan Azure Backup untuk mengambil rekam jepret yang konsisten dengan aplikasi dari instans VM dan Oracle Database yang sedang berjalan. Database ditempatkan ke dalam mode pencadangan, yang memungkinkan pencadangan online yang konsisten secara transaksional terjadi saat Azure Backup mengambil rekam jepret disk VM. Rekam jepret adalah salinan lengkap penyimpanan dan bukan rekam jepret inkremental atau copy-on-write. Ini adalah media yang efektif untuk memulihkan database Anda.
Keuntungan menggunakan Azure Backup rekam jepret yang konsisten dengan aplikasi adalah cepat diambil, tidak peduli seberapa besar database Anda. Anda dapat menggunakan rekam jepret untuk operasi pemulihan segera setelah Anda mengambilnya, tanpa harus menunggunya ditransfer ke vault Layanan Pemulihan.
Untuk menggunakan Azure Backup untuk mencadangkan database, ikuti langkah-langkah berikut:
- Pahami kerangka kerja Azure Backup.
- Siapkan lingkungan untuk pencadangan yang sesuai aplikasi.
- Pasang cadangan yang sesuai aplikasi.
- Picu cadangan yang sesuai aplikasi dari VM.
Memahami kerangka kerja Azure Backup
Layanan Azure Backup menyediakan kerangka kerja untuk mencapai konsistensi aplikasi selama pencadangan VM Windows dan Linux untuk berbagai aplikasi. Kerangka kerja ini melibatkan pemanggilan pra-skrip untuk menghentikan aplikasi sebelum mengambil rekam jepret disk. Ini memanggil pasca-skrip untuk mencairkan aplikasi setelah rekam jepret selesai.
Microsoft telah meningkatkan kerangka kerja sehingga layanan Azure Backup menyediakan pra-skrip dan pasca-skrip paket untuk aplikasi yang dipilih. Pra-skrip dan pasca-skrip ini sudah dimuat pada gambar Linux, jadi tidak ada yang perlu Anda instal. Anda cukup memberi nama aplikasi, lalu Azure Backup secara otomatis memanggil skrip yang relevan. Microsoft mengelola pra-skrip dan pasca-skrip paket, sehingga Anda dapat yakin tentang dukungan, kepemilikan, dan validitasnya.
Saat ini, aplikasi yang didukung untuk kerangka kerja yang disempurnakan adalah Oracle 12.x atau yang lebih baru dan MySQL. Untuk detailnya, lihat Matriks dukungan untuk cadangan Azure VM terkelola.
Anda dapat menulis skrip Anda sendiri untuk Azure Backup digunakan dengan database pra-12.x. Contoh skrip tersedia di GitHub.
Setiap kali Anda melakukan pencadangan, kerangka kerja yang disempurnakan menjalankan pra-skrip dan pasca-skrip pada semua instans Oracle Database yang diinstal pada VM. Parameter configuration_path
dalam file workload.conf menunjuk ke lokasi file Oracle /etc/oratab (atau file yang ditentukan pengguna yang mengikuti sintaks oratab). Untuk detailnya, lihat Menyiapkan cadangan yang konsisten dengan aplikasi.
Azure Backup menjalankan pra-skrip dan pasca-skrip untuk setiap database yang tercantum dalam file yang configuration_path
menunjuk. Pengecualian adalah baris yang dimulai dengan #
(diperlakukan sebagai komentar) atau +ASM
(instans Oracle ASM).
Kerangka kerja yang disempurnakan Azure Backup mengambil cadangan online instans Oracle Database yang beroperasi dalam ARCHIVELOG
mode. Pra-skrip dan pasca-skrip menggunakan ALTER DATABASE BEGIN
perintah dan END BACKUP
untuk mencapai konsistensi aplikasi.
Agar pencadangan database konsisten, database dalam mode harus dimatikan NOARCHIVELOG
dengan bersih sebelum rekam jepret dimulai.
Siapkan lingkungan untuk pencadangan yang sesuai aplikasi
Oracle Database menggunakan pemisahan peran pekerjaan untuk memberikan pemisahan tugas dengan menggunakan hak istimewa paling sedikit. Ini mengaitkan grup sistem operasi (OS) terpisah dengan peran administratif database terpisah. Pengguna kemudian dapat memiliki hak istimewa database yang berbeda yang diberikan kepada mereka, tergantung pada keanggotaan mereka dalam grup OS.
Peran SYSBACKUP
database (nama OSBACKUPDBA
generik ) memberikan hak istimewa terbatas untuk melakukan operasi pencadangan dalam database. Azure Backup membutuhkannya.
Selama penginstalan Oracle, kami sarankan Anda menggunakan backupdba
sebagai nama grup OS untuk mengaitkan dengan peran tersebut SYSBACKUP
. Tetapi Anda dapat menggunakan nama apa pun, jadi Anda perlu menentukan nama grup OS yang mewakili peran Oracle SYSBACKUP
terlebih dahulu.
Pindahkan ke
oracle
sudo su - oracle
Atur lingkungan Oracle:
export ORACLE_SID=oratest1 export ORAENV_ASK=NO . oraenv
Tentukan nama grup OS yang mewakili peran Oracle
SYSBACKUP
:grep "define SS_BKP" $ORACLE_HOME/rdbms/lib/config.c
Output terlihat mirip dengan contoh berikut:
#define SS_BKP_GRP "backupdba"
Dalam output, nilai yang diapit dalam tanda kutip ganda adalah nama grup OS Linux tempat peran Oracle
SYSBACKUP
diautentikasi secara eksternal. Contohnya, yang ditampilkan adalahbackupdba
. Catat nilai aktualnya.Verifikasi bahwa grup OS ada dengan menjalankan perintah berikut. Ganti
<group name>
dengan nilai yang dikembalikan perintah sebelumnya (tanpa tanda kutip).grep <group name> /etc/group
Output terlihat mirip dengan contoh berikut:
backupdba:x:54324:oracle
Penting
Jika output tidak cocok dengan nilai grup OS Oracle yang Anda ambil di langkah 3, gunakan perintah berikut untuk membuat grup OS yang mewakili peran Oracle
SYSBACKUP
. Ganti<group name>
dengan nama grup yang Anda ambil di langkah 3.sudo groupadd <group name>
Buat pengguna cadangan baru bernama
azbackup
yang termasuk dalam grup OS yang Anda verifikasi atau buat di langkah-langkah sebelumnya. Ganti<group name>
dengan nama grup terverifikasi. Pengguna juga ditambahkan keoinstall
grup untuk mengaktifkannya untuk membuka disk ASM.sudo useradd -g <group name> -G oinstall azbackup
Pasang autentikasi eksternal untuk pengguna cadangan baru.
Pengguna
azbackup
cadangan harus dapat mengakses database dengan menggunakan autentikasi eksternal, sehingga tidak ditantang oleh kata sandi. Untuk mengaktifkan akses ini, Anda harus membuat pengguna database yang mengautentikasi secara eksternal melaluiazbackup
. Database menggunakan awalan untuk nama pengguna, yang perlu Anda temukan.Lakukan langkah-langkah berikut untuk setiap database yang diinstal pada VM:
Masuk ke database dengan menggunakan SQL Plus, dan periksa pengaturan default untuk autentikasi eksternal:
sqlplus / as sysdba SQL> show parameter os_authent_prefix SQL> show parameter remote_os_authent
Output akan terlihat seperti contoh ini, yang ditampilkan
ops$
sebagai awalan nama pengguna database:NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ os_authent_prefix string ops$ remote_os_authent boolean FALSE
Buat pengguna database bernama
ops$azbackup
untuk autentikasi eksternal kepadaazbackup
pengguna, dan berikanSYSBACKUP
hak istimewa:SQL> CREATE USER ops$azbackup IDENTIFIED EXTERNALLY; SQL> GRANT CREATE SESSION, ALTER SESSION, SYSBACKUP TO ops$azbackup;
Jika Anda menerima kesalahan
ORA-46953: The password file is not in the 12.2 format
saat menjalankanGRANT
pernyataan, ikuti langkah-langkah ini untuk memigrasikan file orapwd ke format 12.2. Lakukan langkah-langkah ini untuk setiap instans Oracle Database pada VM.Keluar dari SQL Plus.
Pindahkan file kata sandi dengan format lama ke nama baru.
Migrasikan file kata sandi.
Hapus file lama.
Jalankan perintah berikut:
mv $ORACLE_HOME/dbs/orapworatest1 $ORACLE_HOME/dbs/orapworatest1.tmp orapwd file=$ORACLE_HOME/dbs/orapworatest1 input_file=$ORACLE_HOME/dbs/orapworatest1.tmp rm $ORACLE_HOME/dbs/orapworatest1.tmp
Jalankan
GRANT
ulang operasi di SQL Plus.
Buat prosedur tersimpan untuk mencatat pesan cadangan ke log pemberitahuan database. Gunakan kode berikut untuk setiap database yang diinstal pada VM:
sqlplus / as sysdba SQL> GRANT EXECUTE ON DBMS_SYSTEM TO SYSBACKUP; SQL> CREATE PROCEDURE sysbackup.azmessage(in_msg IN VARCHAR2) AS v_timestamp VARCHAR2(32); BEGIN SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') INTO v_timestamp FROM DUAL; DBMS_OUTPUT.PUT_LINE(v_timestamp || ' - ' || in_msg); SYS.DBMS_SYSTEM.KSDWRT(SYS.DBMS_SYSTEM.ALERT_FILE, in_msg); END azmessage; / SQL> SHOW ERRORS SQL> QUIT
Pasang cadangan yang sesuai aplikasi
Beralih ke pengguna root:
sudo su -
Periksa folder /etc/azure . Jika tidak ada, buat direktori kerja untuk cadangan yang konsisten dengan aplikasi:
if [ ! -d "/etc/azure" ]; then mkdir /etc/azure fi
Periksa file workload.conf di dalam folder. Jika tidak ada, buat di direktori /etc/azure dan berikan konten berikut. Komentar harus dimulai dengan
[workload]
. Jika file sudah ada, cukup edit bidang sehingga cocok dengan konten berikut. Jika tidak, perintah berikut membuat file dan mengisi konten:echo "[workload] workload_name = oracle configuration_path = /etc/oratab timeout = 90 linux_user = azbackup" > /etc/azure/workload.conf
File workload.conf menggunakan format berikut:
- Parameter
workload_name
menunjukkan jenis beban kerja database. Dalam hal ini, mengatur parameter untukOracle
memungkinkan Azure Backup menjalankan pra-skrip dan pasca-skrip yang benar (perintah konsistensi) untuk instans Oracle Database. - Parameter
timeout
menunjukkan waktu maksimum, dalam detik, bahwa setiap database harus menyelesaikan rekam jepret penyimpanan. - Parameter
linux_user
menunjukkan akun pengguna Linux yang Azure Backup gunakan untuk menjalankan operasi quiesce database. Anda membuat pengguna ini,azbackup
, sebelumnya. - Parameter
configuration_path
menunjukkan nama jalur absolut untuk file teks pada VM. Setiap baris mencantumkan instans database yang berjalan di VM. Ini biasanya adalah file /etc/oratab yang dihasilkan Oracle selama penginstalan database, tetapi dapat berupa file apa pun dengan nama apa pun yang Anda pilih. Ini harus mengikuti aturan format ini:- File adalah file teks. Setiap bidang dibatasi dengan karakter titik dua (
:
). - Bidang pertama di setiap baris adalah nama untuk instans
ORACLE_SID
. - Bidang kedua di setiap baris adalah nama jalur absolut untuk
ORACLE_HOME
instans tersebutORACLE_SID
. - Semua teks setelah dua bidang pertama diabaikan.
- Jika baris dimulai dengan tanda pagar (
#
), seluruh baris diabaikan sebagai komentar. - Jika bidang pertama memiliki nilai
+ASM
, menunjukkan instans Oracle ASM, bidang tersebut akan diabaikan.
- File adalah file teks. Setiap bidang dibatasi dengan karakter titik dua (
- Parameter
Picu cadangan yang sesuai aplikasi dari VM
Di portal Azure, buka grup sumber daya rg-oracle Anda dan pilih komputer virtual vmoracle19c Anda.
Pada panel Cadangan :
- Di bawah Vault Layanan Pemulihan, pilih Buat baru.
- Untuk nama vault, gunakan myVault.
- Untuk Grup sumber daya, pilih rg-oracle.
- Untuk Pilih kebijakan pencadangan, gunakan (new) DailyPolicy. Jika Anda ingin mengubah frekuensi pencadangan atau rentang retensi, pilih Buat kebijakan baru sebagai gantinya.
Pilih Aktifkan pencadangan.
Proses pencadangan tidak dimulai sampai waktu yang dijadwalkan berakhir. Untuk menyiapkan cadangan langsung, selesaikan langkah berikutnya.
Dari panel grup sumber daya, pilih vault Layanan Pemulihan yang baru dibuat bernama myVault. Anda mungkin perlu me-refresh halaman untuk melihatnya.
Pada panel myVault - Item cadangan , di bawah JUMLAH ITEM CADANGAN, pilih jumlah item cadangan.
Pada panel Item Cadangan (Azure Virtual Machine) , pilih tombol elipsis ( ... ), lalu pilih Cadangkan sekarang.
Terima nilai Default Pertahankan Pencadangan Hingga , lalu pilih OK. Tunggu hingga proses pencadangan selesai.
Untuk melihat status pekerjaan pencadangan, pilih Pekerjaan Pencadangan.
Pilih pekerjaan pencadangan untuk melihat detail tentang statusnya.
Meskipun hanya perlu beberapa detik untuk mengeksekusi rekam jepret, perlu beberapa waktu untuk mentransfernya ke vault. Pekerjaan pencadangan tidak selesai sampai transfer selesai.
Untuk pencadangan yang konsisten dengan aplikasi, atasi kesalahan apa pun dalam file log di /var/log/azure/Microsoft.Azure.RecoveryServices.VMSnapshotLinux/extension.log.
Pulihkan VM
Memulihkan seluruh VM berarti Anda memulihkan VM dan disk yang terpasang ke VM baru dari titik pemulihan yang dipilih. Tindakan ini juga memulihkan semua database yang berjalan pada VM. Setelah itu, Anda perlu memulihkan setiap database.
Untuk memulihkan seluruh VM, selesaikan langkah-langkah berikut:
Ada dua pilihan utama saat Anda memulihkan VM:
- Pulihkan VM tempat cadangan awalnya diambil.
- Pulihkan (kloning) VM baru tanpa memengaruhi VM tempat cadangan awalnya diambil.
Langkah pertama dalam latihan ini (menghentikan, menghapus, lalu memulihkan VM) mensimulasikan kasus penggunaan pertama.
Hentikan dan hapus VM
Di portal Azure, buka komputer virtual vmoracle19c, lalu pilih Hentikan.
Saat komputer virtual tidak lagi berjalan, pilih Hapus lalu Ya.
Pulihkan VM
Buat akun penyimpanan untuk penahapan di portal Azure:
Di portal Azure, pilih + Buat sumber daya, lalu cari dan pilih Akun penyimpanan.
Pada panel Buat akun penyimpanan :
- Untuk Grup sumber daya, pilih grup sumber daya yang sudah ada, rg-oracle.
- Untuk Nama akun penyimpanan, masukkan oracrestore.
- Pastikan Lokasi diatur ke wilayah yang sama dengan semua sumber daya Anda yang lain dalam grup sumber daya.
- Atur Performa ke Standar.
- Untuk Jenis akun, pilih StorageV2 (tujuan umum v2).
- Untuk Replikasi, pilih Penyimpanan lokal berlebihan (LRS) .
Pilih Tinjauan + Buat, kemudian pilih Buat.
Di portal Azure, cari vault myVault Recovery Services dan pilih.
Pada panel Gambaran Umum , pilih Item cadangan. Kemudian pilih Azure Virtual Machine, yang seharusnya memiliki nomor bukan nol untuk JUMLAH ITEM CADANGAN.
Pada panel Item Cadangan (Azure Virtual Machine) , pilih VM vmoracle19c .
Pada panel vmoracle19c , pilih titik pemulihan yang memiliki jenis konsistensi Konsisten Aplikasi. Pilih elipsis (...), lalu pilih Pulihkan VM.
Pada panel Pulihkan Komputer Virtual :
Pilih Buat Baru.
Untuk Jenis Pemulihan, pilih Buat komputer virtual baru.
Untuk Nama komputer virtual, masukkan vmoracle19c.
Untuk Jaringan virtual, pilih vmoracle19cVNET.
Subnet secara otomatis diisi berdasarkan pilihan Anda untuk jaringan virtual.
Untuk Lokasi Penahapan, proses pemulihan VM memerlukan akun penyimpanan Azure di grup dan wilayah sumber daya yang sama. Anda dapat memilih akun penyimpanan atau tugas pemulihan yang Anda siapkan sebelumnya.
Untuk memulihkan VM, pilih tombol Pulihkan .
Untuk melihat status proses pemulihan, pilih Pekerjaan, lalu pilih Pekerjaan Pencadangan.
Pilih operasi pemulihan Sedang Berlangsung untuk menampilkan detail tentang status proses pemulihan.
Pasang alamat IP publik
Setelah VM dikembalikan, Anda harus menetapkan ulang alamat IP asli ke VM baru.
Di portal Azure, buka komputer virtual Anda bernama vmoracle19c. Ini telah diberi IP publik baru dan NIC yang mirip dengan vmoracle19c-nic-XXXXXXXXXXXXX, tetapi tidak memiliki alamat DNS. Ketika VM asli dihapus, IP publik dan NIC-nya dipertahankan. Langkah berikutnya memasangnya kembali ke VM baru.
Hentikan VM.
Buka Jaringan.
Pilih Lampirkan antarmuka jaringan. Pilih NIC vmoracle19cVMNic asli, yang masih dikaitkan dengan alamat IP publik asli. Kemudian, pilih OK.
Lepaskan NIC yang Anda buat dengan operasi pemulihan VM, karena dikonfigurasi sebagai antarmuka utama. Pilih Lepaskan antarmuka jaringan, pilih NIC yang mirip dengan vmoracle19c-nic-XXXXXXXXXXXXX, lalu pilih OK.
VM anda yang dibuat ulang sekarang memiliki NIC asli, yang terkait dengan alamat IP asli dan aturan grup keamanan jaringan.
Kembali ke panel Gambaran Umum dan pilih Mulai.
Memulihkan database
Untuk memulihkan database setelah pemulihan VM lengkap:
Sambungkan kembali ke VM:
ssh azureuser@<publicIpAddress>
Ketika seluruh VM telah dipulihkan, penting untuk memulihkan database pada VM dengan melakukan langkah-langkah berikut pada setiap database.
Anda mungkin menemukan bahwa instans sedang berjalan, karena mulai otomatis mencoba memulai database pada startup VM. Namun, database memerlukan pemulihan dan kemungkinan hanya berada di tahap pemasangan. Jalankan pematian persiapan sebelum memulai tahap pemasangan:
sudo su - oracle sqlplus / as sysdba SQL> shutdown immediate SQL> startup mount
Lakukan pemulihan database.
Penting untuk menentukan
USING BACKUP CONTROLFILE
sintaks untuk menginformasikanRECOVER AUTOMATIC DATABASE
perintah bahwa pemulihan tidak boleh berhenti di nomor perubahan sistem Oracle (SCN) yang direkam dalam file kontrol database yang dipulihkan.File kontrol database yang dipulihkan adalah rekam jepret, bersama dengan database lainnya. SCN yang disimpan di dalamnya berasal dari titik waktu rekam jepret. Mungkin ada transaksi yang dicatat setelah titik ini, dan Anda ingin memulihkan ke titik transaksi terakhir yang dilakukan ke database.
SQL> recover automatic database using backup controlfile until cancel;
Ketika file log arsip terakhir yang tersedia telah diterapkan, masukkan
CANCEL
untuk mengakhiri pemulihan.Ketika pemulihan berhasil diselesaikan, pesan
Media recovery complete
akan muncul.Namun, saat Anda menggunakan
BACKUP CONTROLFILE
klausul , perintah pulihkan mengabaikan file log online. Ada kemungkinan bahwa perubahan dalam log fase pengulangan online saat ini diperlukan untuk menyelesaikan pemulihan point-in-time. Dalam situasi ini, Anda mungkin melihat pesan yang mirip dengan contoh-contoh ini:SQL> recover automatic database until cancel using backup controlfile; ORA-00279: change 2172930 generated at 04/08/2021 12:27:06 needed for thread 1 ORA-00289: suggestion : /u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc ORA-00280: change 2172930 for thread 1 is in sequence #13 ORA-00278: log file '/u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc' no longer needed for this recovery ORA-00308: cannot open archived log '/u02/fast_recovery_area/ORATEST1/archivelog/2021_04_08/o1_mf_1_13_%u_.arc' ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such file or directory Additional information: 7 Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
Penting
Jika log fase pengulangan online saat ini hilang atau rusak dan Anda tidak dapat menggunakannya, Anda mungkin membatalkan pemulihan pada saat ini.
Untuk memperbaiki situasi ini, Anda dapat mengidentifikasi log online mana yang tidak diarsipkan dan memberikan nama file yang sepenuhnya memenuhi syarat ke prompt.
Buka database.
Opsi
RESETLOGS
diperlukan saatRECOVER
perintah menggunakanUSING BACKUP CONTROLFILE
opsi .RESETLOGS
membuat inkarnasi baru database dengan mengatur ulang riwayat pengulangan kembali ke awal, karena tidak ada cara untuk menentukan berapa banyak inkarnasi database sebelumnya yang dilewati dalam pemulihan.SQL> alter database open resetlogs;
Periksa apakah konten database telah dipulihkan:
SQL> select * from scott.scott_table;
Pencadangan dan pemulihan Oracle Database pada VM Linux Azure sekarang selesai.
Anda dapat menemukan informasi selengkapnya tentang perintah dan konsep Oracle dalam dokumentasi Oracle, termasuk:
- Melakukan pencadangan yang dikelola pengguna Oracle terhadap seluruh database
- Melakukan pemulihan database yang dikelola pengguna secara lengkap
- Perintah Oracle STARTUP
- Perintah Oracle RECOVER
- Perintah Oracle ALTER DATABASE
- Parameter Oracle LOG_ARCHIVE_DEST_n
- Parameter Oracle ARCHIVE_LAG_TARGET
Menghapus VM
Saat Anda tidak lagi memerlukan VM, Anda bisa menggunakan perintah berikut untuk menghapus grup sumber daya, VM, dan semua sumber daya terkait:
Nonaktifkan penghapusan sementara cadangan di vault:
az backup vault backup-properties set --name myVault --resource-group rg-oracle --soft-delete-feature-state disable
Hentikan perlindungan untuk VM dan hapus cadangan:
az backup protection disable --resource-group rg-oracle --vault-name myVault --container-name vmoracle19c --item-name vmoracle19c --delete-backup-data true --yes
Hapus grup sumber daya, termasuk semua sumber daya:
az group delete --name rg-oracle