Menyiapkan database Oracle untuk Layanan Pencadangan dan DR

Sebelum memulai, sebaiknya tinjau Layanan Pencadangan dan DR untuk Oracle.

Sebelum dapat mencadangkan database Oracle, Anda harus menambahkan server Oracle sebagai host ke Layanan Pencadangan dan DR. Agar dapat berfungsi, pastikan untuk membaca Prasyarat untuk mencadangkan database Oracle, lalu ikuti langkah-langkah persiapan berikut.

Prosedur persiapan untuk database Oracle
Langkah Prosedur persiapan
1 Menyiapkan database Oracle di lingkungan Linux atau
Menyiapkan database Oracle di lingkungan Windows
2 Bersiap untuk mencadangkan database Oracle dengan file data di grup disk ASM
3 Menyiapkan autentikasi database Oracle
Mengaktifkan pelacakan perubahan blok database (opsional)
Melindungi dari node Oracle Data Guard
Mengonfigurasi failover transparan RAC dari pencadangan RMAN ke node lain
Kompresi log arsip Oracle
Mengonfigurasi layanan database Oracle untuk load balancing di beberapa node
Menerapkan patch Oracle 12c

Menyiapkan database Oracle di lingkungan Linux

Sebelum Anda melindungi database Oracle, atau jika tugas perlindungan database gagal, pastikan setelan berikut sudah benar di server database Oracle.

  • Setiap database Oracle yang akan dilindungi harus aktif dan berjalan. Contoh:

    database: actdb
    #ps -ef | grep pmon | grep -i actdb
    oracle   27688     1  0  2015 ?        00:26:24 ora_pmon_actdb
    
  • Database harus berjalan dalam mode log arsip. Untuk memverifikasi bahwa database berjalan dalam mode log arsip, login ke server database sebagai pengguna Oracle OS dan tetapkan variabel lingkungan database:

    export ORACLE_HOME=<oracle home path>
    (get this from /etc/oratab)
    export ORACLE_SID=<database instance name> (you can get this through
    ps -ef | grep pmon)
    export PATH=$ORACLE_HOME/bin:$PATH
    

    Login ke sqlplus:

    #sqlplus / as sysdba
    #SQL> archive log list;
    Database log mode   Archive Mode
    Automatic archival        Enabled
    Archive destination        +FRA
    Oldest online log sequence     569
    Next log sequence to archive   570
    Current log sequence        570
    #SQL>
    
  • Database harus menggunakan spfile. Pastikan database berjalan dengan spfile:

    #sqlplus / as sysdba
    SQL> show parameter spfile
    NAME      TYPE   VALUE
    ------------------ ----------- ------------
    spfile      string  +DATA/ctdb/spfilectdb.ora
    
  • Untuk database Oracle RAC, file kontrol snapshot harus berada di disk bersama. Untuk database Oracle RAC di ASM, file kontrol snapshot harus berada di disk bersama.

    Untuk memeriksanya, hubungkan ke RMAN dan jalankan perintah show all. Konfigurasikan jika perlu:

        rman target /
    

    Kemudian di RMAN:

       show all
    

    Parameter konfigurasi RMAN untuk database dengan CTDB db_unique_name adalah:

    CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
    CONFIGURE BACKUP OPTIMIZATION OFF; # default
    CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
    CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
    CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
    CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/mnt/ctdb/snapcf_ctdb.f';
    

    Contoh ini menunjukkan konfigurasi yang ditetapkan ke sistem file lokal.

    Dalam lingkungan RAC, opsi ini harus disetel ke Grup Disk ASM bersama. Untuk menempatkannya di Grup Disk ASM, gunakan:

    CONFIGURE SNAPSHOT CONTROLFILE NAME TO '+<DG name>/snap_<DB name>.f';
    

Bersiap untuk mencadangkan database Oracle dengan file data di grup disk ASM

Disk staging cadangan dan DR di grup disk ASM

Parameter diskstring ASM harus ditetapkan dan tidak null. Login ke server database sebagai pengguna ASM OS dan tetapkan variabel lingkungan ASM:

    # export ORACLE_HOME=(oracle ASM home path)
    (get this from /etc/oratab)
    #export ORACLE_SID=(ASM instance name) (you
    can get this through ps ?ef | grep pmon)
    #export PATH=$ORACLE_HOME/bin:$PATH

Hubungkan ke sqlplus:

    #sqlplus / as sysasm
    #sql> show parameter asm_diskstring
    NAME      TYPE   VALUE
    ------------------- ----------- ------------------------------
    asm_diskstring      string  ORCL:*, /dev/sdt1, /dev/sdu1

Jika hasil nilainya null, dapatkan nilai string disk ASM yang benar untuk disk ASM yang ada sebelum melanjutkan dengan perlindungan Pencadangan dan DR. Pencadangan Backup dan DR menambahkan jalur string disknya (/dev/Backup and DR/asm/*) untuk disk staging cadangannya agar dipetakan ke ASM.

Disk staging cadangan dan DR di sistem file

Jika Anda melindungi database Oracle ASM ke sistem file, maka Konversi ASM ke sistem file harus disetel ke Ya di bagian Detail & Setelan Aplikasi. Lihat Detail & setelan aplikasi untuk Database Oracle.

Menyiapkan autentikasi database Oracle

Langkah-langkah persiapan tambahan berikut hanya diperlukan jika Anda berencana untuk menggunakan autentikasi database. Autentikasi database Oracle dijelaskan dalam Pencadangan dan DR menggunakan autentikasi database.

  1. Ikuti langkah-langkah dalam Menyiapkan database Oracle di lingkungan Linux.

  2. Buat akun pengguna database untuk pencadangan Backup dan DR, jika tidak disediakan:

    create user act_rman_user identified by <password>;
    
  3. Berikan akses sysdba ke semua node RAC dengan login ke sqlplus ke semua node dan menjalankan:

    grant create session, resource, sysdba to act_rman_user;
    

    Untuk Oracle 12c, peran ini dapat berupa sysbackup, bukan of sysdba, dan nama pengguna database dimulai dengan #.

  4. Pastikan peran sysdba telah diberikan di semua node di lingkungan RAC:

    #sqlplus / as sysasm
    # sql> select * from gv$pwfile_users;
    INST_ID USERNAME SYSDB SYSOP SYSAS
    ---------- --------------  ----- ----- -----
    1 SYS TRUE TRUE FALSE
    2 SYS TRUE TRUE FALSE
    1 ACT_RMAN_USER TRUE TRUE FALSE
    2 ACT_RMAN_USER TRUE TRUE FALSE
    
  5. Uji nama layanan berdasarkan jenis lingkungan Anda menggunakan petunjuk berikut:

Membuat dan memverifikasi nama layanan Oracle di lingkungan non-RAC

Nama layanan Oracle hanya digunakan untuk autentikasi database. Ini tidak diperlukan untuk autentikasi OS.

Contoh: Nama database: dbstd, Nama Instance: dbstd

  1. Jika nama layanan Oracle tidak tercantum, buat entri nama layanan dalam file tnsnames.ora di $ORACLE_HOME/network/admin atau di $GRID_HOME/network/admin dengan menambahkan entri:

    act_svc_dbstd =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST
    = (IP of the database server)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = dbstd)
    ) )
    

    Jika file tnsnames.ora berada di lokasi non-standar, berikan jalur absolut ke file tersebut di bagian Detail & Setelan Aplikasi seperti yang dijelaskan dalam Detail & setelan aplikasi untuk database Oracle

  2. Uji entri nama layanan untuk database guna memastikan database tersebut dikonfigurasi:

    Login sebagai pengguna Oracle OS dan tetapkan lingkungan Oracle:

    TNS_ADMIN=(tnsnames.ora file location)
    tnsping act_svc_dbstd
    
  3. Periksa akun pengguna database untuk memastikan pencadangan Pencadangan dan DR dapat terhubung:

    sqlplus act_rman_user/act_rman_user@act_svc_dbstd as sysdba
    
  4. Berikan nama layanan yang dibuat (act_svc_dbstd) di bagian setelan Nama Layanan Oracle di bagian Detail & Setelan Aplikasi seperti yang dijelaskan dalam Detail & setelan aplikasi untuk Database Oracle

Membuat dan memverifikasi nama layanan Oracle di lingkungan RAC

Nama layanan Oracle hanya digunakan untuk autentikasi database. Ini tidak diperlukan untuk autentikasi OS.

Contoh RAC tiga node:

  • Nama database: dbrac

  • Nama Instance1: dbrac1

  • Nama Instance2: dbrac2

  • Nama Instance3: dbrac3 dengan perlindungan database yang ditetapkan dari Node3 (Nama instance dbrac3):

  1. Buat entri servicename dalam file tnsnames.ora di $ORACLE_HOME/network/admin atau di $GRID_HOME/network/admin dengan menambahkan entri berikut:

    act_svc_dbrac3 =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = (IP of the database server)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (INSTANCE_NAME = dbrac3)
    (SERVICE_NAME = dbrac)
    ) ) )
     Where:
     HOST = This can be SCAN IP in a RAC environment or VIP or IP of the node 3 database server.
    SERVICE_NAME = database name
    INSTANCE_NAME = database instance name on node3
    
  2. Uji nama layanan:

    Login sebagai pengguna Oracle OS dan tetapkan lingkungan Oracle:

    TNS_ADMIN=(tnsnames.ora file location)
    tnsping act_svc_dbrac3
    
  3. Periksa akun pengguna database untuk memastikan cadangan Cadangan dan DR dapat terhubung:

    sqlplus act_rman_user/act_rman_user@act_svc_dbrac3 as sysdba
    
  4. Berikan nama layanan yang dibuat (act_svc_dbrac3) di bagian setelan Nama layanan Oracle di bagian Detail & Setelan Aplikasi yang dijelaskan dalam Detail & setelan aplikasi untuk Database Oracle.

    Jika file tnsnames.ora berada di lokasi non-standar, berikan jalur absolut ke file tnsnames.ora di setelan Jalur TNS_Admin Oracle di bagian Detail & Setelan Aplikasi yang dijelaskan dalam Detail & setelan aplikasi untuk database Oracle

Mengaktifkan pelacakan perubahan blok database (opsional)

Pelacakan blok perubahan database dijelaskan dalam Pelacakan perubahan blok database Oracle (BCT)

Untuk memeriksa apakah pelacakan perubahan blok database diaktifkan:

sqlplus / as sysdba

Pada prompt sql:

select * from v$block_change_tracking;

Jika pelacakan perubahan blok database tidak diaktifkan, aktifkan pelacakan perubahan blok database dari sqlplus:

Menggunakan Grup Disk ASM

sqlplus / as sysdba

Pada prompt sql:

alter database enable block change tracking using file '+<ASM Disk Group Name>/<database name>/<dbname>.bct';

Menggunakan sistem file

sqlplus / as sysdba

Pada prompt sql:

alter database enable block change tracking using file '$ORACLE_HOME/dbs/<dbname>.bct';

Melindungi dari node Oracle Data Guard

Anda dapat melindungi database Oracle dari node database utama atau dari node standby Oracle Data Guard. Jika perlindungan ditetapkan dari node Oracle Data Guard, pastikan untuk menetapkan kredensial node utama di bagian Detail & Setelan Aplikasi di konsol pengelolaan.

Untuk autentikasi database (khusus Linux)

  • Nama Pengguna/Sandi: Kredensial akun pengguna database. Agar akun pengguna ini tersedia di node Data Guard dengan akses sysdba, pengguna ini harus dibuat dengan hak istimewa sysdba di node Utama (lihat membuat akun pengguna cadangan dengan akses sysdba). Kemudian, file sandi (di bagian $ORACLE_HOME/dbs/) dari node utama harus disalin ke node Data Guard.

Untuk autentikasi OS

  • Nama Pengguna/Sandi: Di bagian Autentikasi OS, hak istimewa sysdba tidak diperlukan. Akun pengguna database ini memerlukan hak istimewa connect, alter system. Agar akun pengguna ini tersedia di node Data Guard, pengguna ini harus dibuat di node utama.

Jika pengguna tidak memiliki peran sysdba, pengguna memerlukan grant connect, alter system, select on dba_tablespaces.

Untuk memberikan hak istimewa ini, di perintah sql:

    grant connect, alter system, select on dba_tablespaces to act_rman_user;
  • Nama Layanan Node Utama Oracle Data Guard: Ini adalah nama layanan dalam file tnsnames.ora yang dikonfigurasi di node Data Guard untuk terhubung ke node utama dari node standby. Nama Layanan Node Utama Oracle Data Guard diperlukan untuk autentikasi OS dan DB jika pencadangan dikonfigurasi dari node standby Data Guard.

Untuk mengetahui detail lengkap tentang semua detail & setelan, lihat Detail & setelan aplikasi untuk Database Oracle

Node Database Autentikasi OS Autentikasi Database
Utama Tidak diperlukan kredensial database. Kredensial database diperlukan. Jika tidak ada peran yang dipilih, sysdba akan digunakan.
Siaga Kredensial database diperlukan bahkan untuk OS Auth (untuk terhubung ke log utama ke tombol). Kredensial database tidak perlu memiliki peran sysdba/sysbackup. Jika akun sysdba/sysbackup digunakan, tetapkan peran pengguna di Peran Pengguna di Database di Detail & Setelan Aplikasi. Kredensial database diperlukan. Kredensial database harus untuk peran sysdba atau sysbackup, dan Peran Pengguna di Database harus ditetapkan ke sysdba atau sysbackup di Detail & Setelan Aplikasi. Untuk menyiapkan autentikasi database, lihat Mengaktifkan Autentikasi Database untuk Server Oracle.

Mengonfigurasi failover transparan RAC dari pencadangan RMAN ke node lain

Agen Pencadangan dan DR harus diinstal dan berjalan di semua node yang Anda rencanakan untuk menjadi bagian dari konfigurasi failover pencadangan. Perlindungan hanya disiapkan dari satu node.

Di Detail & Setelan, Node Cluster, tentukan pilihan node failover di lingkungan Oracle RAC:

    <Failover choice>:<Node IP>:<Servicename>:<Role>

Dengan keterangan:

  • Failover Choice: urutan node yang akan di-failover.

  • Node IP: alamat IP node tempat Anda ingin pencadangan dijalankan

  • Servicename: nama layanan yang dibuat dan ditentukan di tnsnames.ora untuk pencadangan RMAN Backup dan DR. Ini dapat berupa layanan khusus baru yang dibuat untuk pencadangan Backup dan DR atau nama SID (nama instance) database di node tersebut.

  • Peran: F, yang menunjukkan bahwa node tersebut adalah node failover

Untuk membuat nama layanan baru di node failover pada file tnsnames.ora ($ORACLE_HOME/network/admin/tnsnames.ora atau di $GRID_HOME/network/admin/tnsnames.ora)

Contoh di lingkungan Oracle One Node

RAC One Node terdiri dari dua node:

172.15.157.200
172.15.157.201

Database ini memiliki satu database OneN yang hanya berjalan di salah satu node pada waktu tertentu. OneN dilindungi dari 172.15.157.200, dengan setelan Node Cluster ditentukan sebagai 1:172.15.157.201:OneN:F

Jika OneN gagal di-failover ke 172.15.157.201, pencadangan Backup dan DR akan mengikutinya dan memulai tugas pencadangan berikutnya dari 172.15.157.201, bukan 200. Jika failover terjadi di tengah tugas pencadangan, tugas tersebut akan gagal dan tugas berikutnya akan menggunakan node failover untuk memulai pencadangan baru.

Contoh di Lingkungan Oracle, bukan Satu Node:

  • RAC 2 node (dbrac1, dbrac2)

  • Perlindungan ditetapkan menggunakan nama database "dbrac" dari dbrac1 dan failover akan ditetapkan ke dbrac2

  • Nama layanan di node2: act_svc_dbrac2

  • IP Node2 atau IP pemindaian: 172.1.1.0

act_svc_node2 =

  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 172.1.1.0)(PORT = 1521))
  (CONNECT_DATA =
  (SERVER = DEDICATED)
  (INSTANCE_NAME = dbrac2)
  (SERVICE_NAME = dbrac)
  ) )

Di bagian Application Details & Settings, entri node cluster adalah berikut:

Failoverchoice:NodeIP:Servicename:Role

1:172.1.1.1:act_svc_node2:F

Perilaku entri node cluster F dan M

F: Node failover, hanya berpartisipasi jika node perlindungan tidak akan melakukan pencadangan.

M: Node pemeliharaan, menggantikan node perlindungan jika divalidasi agar dapat melakukan pencadangan.

Kompresi log arsip Oracle

Pencadangan log arsip Pencadangan dan DR mendukung kompresi set cadangan log Oracle. Jenis kompresi yang Anda pilih bergantung pada setelan konfigurasi RMAN ini. Pilih opsi berdasarkan kasus penggunaan Anda.

  • Rasio kompresi yang lebih rendah akan memberikan dampak paling kecil pada throughput pencadangan. Ini paling cocok untuk lingkungan tempat resource CPU adalah faktor pembatas.

  • Kompresi sedang direkomendasikan untuk sebagian besar lingkungan. Algoritma ini memberikan kombinasi rasio kompresi dan kecepatan yang baik.

  • Rasio kompresi yang tinggi membutuhkan banyak resource dan paling cocok untuk pencadangan melalui jaringan yang lebih lambat dengan faktor pembatasnya adalah kecepatan jaringan.

Setelan defaultnya adalah Dasar. Dasar tidak memerlukan Oracle Advanced Compression.

Untuk memeriksa jenis kompresi yang ditetapkan di lingkungan, jalankan perintah show all dari perintah RMAN:

rman target /

    show all

Mengonfigurasi layanan database Oracle untuk load balancing di beberapa node

Prosedur ini hanya berlaku untuk database Oracle ASM. Dalam contoh ini, asumsikan lingkungan RAC empat node; node 3 dan 4 akan di-load balance untuk penggunaan cadangan.

Lihat:

Load balancing antar-node Oracle RAC memerlukan autentikasi database Oracle.

Mengonfigurasi salinan image RMAN paralel dari beberapa node

Di lingkungan RAC, Anda dapat mengonfigurasi pencadangan untuk berjalan secara paralel dari beberapa node.

  1. Instal agen Pencadangan dan DR di semua node.

  2. Siapkan pemetaan grup disk ASM ke node 3 dan node 4 menggunakan detail & setelan Aplikasi.

  3. Buat layanan database menggunakan srvctl untuk dijalankan dari node 3 dan node 4.

  4. Gunakan layanan ini untuk menentukan di bagian Detail & Setelan Aplikasi. Pilih Jumlah saluran di bagian Setelan Lanjutan (# saluran). RMAN mendistribusikan saluran antara node 3 dan node 4.

  5. Tetapkan nama layanan Oracle dan Node Anggota RAC.

Mengonfigurasi Oracle Database Services untuk load balancing di beberapa node

  1. Konfigurasikan di Detail & Setelan Aplikasi, Node Anggota RAC: IP node3 dan IP node 4.

  2. Buat layanan database untuk node pemeliharaan yang akan digunakan oleh Pencadangan dan DR untuk pencadangan:

    srvctl add service -d <dbname> -s act_service_<dbname>
    -r <dbinstance3>,<dbinstance4> srvctl start service -d <dbname>
    -s act_service_<dbname>
    
  3. Tambahkan entri tns untuk nama layanan Oracle yang dibuat di node cadangan (node dbinstance3 dan dbinstance4 dalam contoh ini) di file tnsnames.ora ($ORACLE_HOME/network/admin/tnsnames.ora atau di $GRID_HOME/network/admin/tnsnames.ora)

    act_service_<dbname> =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <SCAN IP>)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = <DATABASE NAME>)
    ) )
    
  4. Uji nama layanan yang dibuat:

    tnsping actservice

  5. Uji nama layanan dan kredensial pengguna:

    sqlplus act_rman_user/act_rman_user@act_service_<dbname> as sysdba
    
  6. Tentukan nama layanan ini di bagian Application Details & Settings nama layanan Oracle.

  7. Buat layanan pencadangan log arsip khusus di node yang dilindungi (misalnya, node 3) yang akan digunakan untuk pencadangan:

    srvctl add service -d <dbname> -s act_arc_service_<dbname> -r <dbinstance3>
    srvctl start service -d <dbname> -s act_arc_service_<dbname>
    
  8. Tambahkan entri tns untuk nama layanan pencadangan log arsip yang dibuat di file tnsnames.ora ($ORACLE_HOME/network/admin/tnsnames.ora atau di $GRID_HOME/network/admin/tnsnames.ora)

    act_arc_service_<dbname> =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <SCAN IP>)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (INSTANCE_NAME = <node 3 instance>)
    (SERVICE_NAME = act_arc_service_<dbname>)
    ) )
    
  9. Uji nama layanan:

    tnsping act_archservice

  10. Tentukan nama layanan ini di bagian Application Details & Settings archive log backup servicename.

Patch Oracle 12c

Pemasangan yang mengetahui aplikasi pencadangan dan DR dapat gagal jika penginstalan Oracle 12c Anda tidak menyertakan patch ini, yang dapat didownload dari portal dukungan Oracle:

Bug# 19404068 Database Oracle 12c (ORA-1610 ON RECOVER DATABASE FOR CREATED CONTROLFILE)

  • (Patch 19404068) Linux x86-64 untuk Oracle 12.1.0.2.0

Untuk melihat apakah patch telah diinstal, jalankan:

    $cd $ORACLE_HOME/OPatch
    $./opatch lsinventory -details
    $./opatch lsinventory -details | grep 19404068

Langkah Berikutnya

Sebelum menambahkan host Oracle, lanjutkan ke:

  1. (Opsional) Menggunakan Oracle Direct NFS dengan Backup and DR
  2. Patch Oracle dan masalah umum

Panduan DBA Oracle