企業RAC數據庫rman備份實施手記

      網友投稿 1104 2022-05-28

      Oracle RAC的備份,其實和單節點備份區別不大,只需要注意RAC的特性,在編寫備份腳本時,注意RAC各個節點的Archive log存儲方式、RAC數據盤使用的磁盤方式等。

      本次備份策略,依然采用比較傳統的每周日進行一次全量備份,其它時間進行增量備份策略:

      另,備份保留策略設置REDUNDANCY 為 1,即保留一份有效備份即可。

      1. 準備備份空間

      通過NFS方式,在兩個RAC節點,掛載NFS共享磁盤,做為數據備份存儲:

      # NFS服務搭建過程,請參考其它nfs文檔,此處不再贅述;

      # 為方便開機自動掛載,將NFS共享盤,添加到開機自動掛載:

      # vi /etc/fstab

      192.168.10.153:/dbbackup /dbbackup ? ? ? ? ? ? nfs ? ? defaults ? ? ? ?0 0

      # mount -a

      # df -h

      Filesystem ? ? ? ? ? Size Used Avail Use% Mounted on

      /dev/mapper/vg_template-lv_root

      110G ? 32G ? 74G ?30% /

      tmpfs ? ? ? ? ? ? ? ? 16G 207M ? 16G ? 2% /dev/shm

      /dev/sda1 ? ? ? ? ? ? 477M ? 76M 376M ?17% /boot

      192.168.10.153:/dbbackup

      500G ? 33M 500G ? 1% /dbbackup

      2. 準備備份腳本

      $ more /dbbackup/scripts/zydb/full_zydb.sh

      echo -e '******Start********_'$(date '+%Y%m%d%H%M%S')

      source /home/oracle/.bash_profile

      rman target / log=/dbbackup/logs/zydb/full_zydb/full_zydb_`date +%Y%m%d-%H%M%S`.log <

      run{

      allocate channel c1 type disk;

      allocate channel c2 type disk;

      backup as compressed backupset incremental level 0 tag 'zydb_incr_level_0' format

      '/dbbackup/zydb/full_%d_%T_%s' database include current controlfile;

      backup as compressed backupset archivelog all format '/dbbackup/zydb/arclog_0_%s_%p_%t_%d' delete input;

      crosscheck backup;

      delete noprompt expired backup;

      delete noprompt obsolete;

      crosscheck archivelog all;

      delete noprompt expired archivelog all;

      release channel c1;

      release channel c2;

      }

      exit;

      EOF

      $ more /dbbackup/scripts/zydb/incr_zydb.sh

      echo -e '******Start********_'$(date '+%Y%m%d%H%M%S')

      source /home/oracle/.bash_profile

      rman target / log=/dbbackup/logs/zydb/incr_zydb/incr_zydb_`date +%Y%m%d-%H%M%S`.log <

      run{

      allocate channel c1 type disk;

      allocate channel c2 type disk;

      backup as compressed backupset incremental level 1 tag 'zydb_incr_level_1' format

      '/dbbackup/zydb/incr_%d_%T_%s' database include current controlfile;

      backup as compressed backupset archivelog all format '/dbbackup/zydb/arclog_1_%s_%p_%t_%d' delete input;

      crosscheck backup;

      delete noprompt expired backup;

      delete noprompt obsolete;

      crosscheck archivelog all;

      delete noprompt expired archivelog all;

      release channel c1;

      release channel c2;

      }

      exit;

      EOF

      注意:

      此備份腳本其實和單節點腳本無差別,是因為當前RAC的歸檔文件,是存在ASM空間內的;如果離線歸檔沒有存放在共享空間,則以上腳本不可行,需要修改為能同時訪問RAC所有節點;

      備份加入compressed進行壓縮存儲,節省備份存儲空間(備份效率會有損耗);

      備份腳本準備完成后,建議手動執行一次,確認腳本執行狀態正常。

      3. 開啟塊跟蹤

      Block Change Tracking 塊變更跟蹤功能,是指有數據塊發生改變時,就會將其記錄在跟蹤文件中,記錄從上一次0級備份以來數據塊的變化。當RMAN進行增量備份時,就不用完全遍歷整個數據文件,查找需要備份的數據塊,從而提高了備份的效率。

      SQL> set linesize 500

      SQL> col FILENAME format a50

      SQL> select * from v$block_change_tracking;

      STATUS ? ? FILENAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? BYTES

      ---------- -------------------------------------------------- ----------

      DISABLED

      SQL> alter database enable block change tracking using file '+DATA';

      -- 查看開啟后的狀態:

      SQL> set linesize 500

      SQL> col FILENAME format a50

      SQL> select * from v$block_change_tracking;

      STATUS ? ? FILENAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? BYTES

      ---------- -------------------------------------------------- ----------

      ENABLED ? +DATA/zydb/changetracking/ctf.284.1065039345 ? ? ? ? 11599872

      4. 配置備份自動執行

      目前自動執行有如下方案:

      通過操作系統的定時任務,例如Linux的Crontab服務;

      通過Oracle自帶的DBMS_SCHEDULE來執行;

      本次備份的數據庫有兩個RAC節點,通過Linux的crontab備份,會產生節點間備份任務協調等問題,因此直接采用Oracle的DBMS_SCHEDULE來執行備份任務;

      全量備份任務,指定每周日凌晨1點執行;

      在BYDAY參數指定周日(BYDAY=SUN),執行時間指定 1 點(BYHOUR=1):

      begin

      dbms_scheduler.create_job

      (

      job_name ? ? ? => 'ZYDB_BAK_LEVEL_0',

      job_type ? ? ? => 'EXECUTABLE',

      job_action ? ? => '/dbbackup/scripts/zydb/full_zydb.sh',

      repeat_interval => 'FREQ=WEEKLY; BYDAY=SUN; BYHOUR=1',

      enabled ? ? ? ? => true,

      comments ? ? ? => 'ZYDB Backup JOB LEVEL_0'

      );

      end;

      /

      增量備份任務,指定每周從周一到周六,每天凌晨1點執行;

      在BYDAY參數指定周一至周六(BYDAY=MON,TUE,WED,THU,FRI,SAT):

      企業RAC數據庫rman備份實施手記

      begin

      dbms_scheduler.create_job

      (

      job_name ? ? ? => 'ZYDB_BAK_LEVEL_1',

      job_type ? ? ? => 'EXECUTABLE',

      job_action ? ? => '/dbbackup/scripts/zydb/incr_zydb.sh',

      repeat_interval => 'FREQ=WEEKLY; BYDAY=MON,TUE,WED,THU,FRI,SAT; BYHOUR=1',

      enabled ? ? ? ? => true,

      comments ? ? ? => 'ZYDB Backup JOB LEVEL_1'

      );

      end;

      /

      SQL> set linesize 500;

      SQL> col NEXT_RUN_DATE format a50

      SQL> col OBJECT_NAME format a30

      -- 查看scheduler,以及下次執行時間

      SQL> select obj#, object_name, next_run_date from sys.scheduler$_job ssj, dba_objects dob where ssj.obj# = dob.object_id and object_name like 'ZYDB_BAK%';

      OBJ# OBJECT_NAME ? ? ? ? ? ? ? ? ? NEXT_RUN_DATE

      ---------- ------------------------------ --------------------------------------------------

      93354 ZYDB_BAK_LEVEL_0 ? ? ? ? ? ? ? 28-FEB-21 01.38.25.900000 AM PRC

      93355 ZYDB_BAK_LEVEL_1 ? ? ? ? ? ? ? 23-FEB-21 01.38.55.400000 AM PRC

      -- 查看已創建的JOB

      SQL> select job_name, job_type, enabled, state from user_scheduler_jobs where job_name like 'ZYDB_BAK%';

      JOB_NAME ? ? ? ? ? ? ? ? ? ? ? JOB_TYPE ? ? ? ? ENABL STATE

      ------------------------------ ---------------- ----- ---------------

      ZYDB_BAK_LEVEL_0 ? ? ? ? ? ? ? EXECUTABLE ? ? ? TRUE SCHEDULED

      ZYDB_BAK_LEVEL_1 ? ? ? ? ? ? ? EXECUTABLE ? ? ? TRUE SCHEDULED

      -- 查看JOB運行日志

      SQL> select log_id, log_date, status from user_scheduler_job_run_details where job_name like 'ZYDB_BAK%';

      no rows selected

      至此,備份任務配置完成!

      Oracle 數據庫

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:打破邊界云端協同,塑造全新計算時代
      下一篇:主鍵索引就是聚集索引?MySQL 索引類型大梳理
      相關文章
      99久久精品国产亚洲| 亚洲大成色www永久网站| 久久亚洲精品中文字幕三区| 在线看亚洲十八禁网站| 亚洲日韩AV一区二区三区中文| 亚洲国产精品免费在线观看| 亚洲天堂男人天堂| 99久久精品国产亚洲| 亚洲精品资源在线| 亚洲精品美女在线观看播放| 久久国产亚洲精品无码| 亚洲美女大bbbbbbbbb| 亚洲精品国产成人中文| 亚洲欧洲精品在线| 亚洲第一页中文字幕| 亚洲神级电影国语版| 2020年亚洲天天爽天天噜| 亚洲91精品麻豆国产系列在线| 99久久婷婷国产综合亚洲| 亚洲中文字幕无码爆乳app| 亚洲精品蜜夜内射| 亚洲 另类 无码 在线| 亚洲 综合 国产 欧洲 丝袜 | 亚洲精品国产电影| 国产亚洲色婷婷久久99精品91| 久久久久亚洲av毛片大| 国产亚洲精品资源在线26u| 亚洲国产精品福利片在线观看| 亚洲av鲁丝一区二区三区| 亚洲综合久久成人69| 亚洲深深色噜噜狠狠网站| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲一卡二卡三卡| 中文字幕亚洲综合久久综合| 亚洲成AV人影片在线观看| 亚洲精品成人片在线观看| 久久被窝电影亚洲爽爽爽| 亚洲一二成人精品区| 亚洲人成网站日本片| 亚洲国产成人精品无码区花野真一 | 久久久无码精品亚洲日韩按摩|