1. 程式人生 > >阿里雲oracle備份策略

阿里雲oracle備份策略

備份分類

資料備份是為了儘可能快地全盤恢復執行計算機系統所需的資料和系統資訊,它不僅在網路系統硬體故障或人為失誤時起到保護作用,同時能在叢集環境下失效切換之後備機能夠正常接管關鍵業務的基礎。當然,資料備份也是系統災難恢復的前提之一。

從備份模式的角度來說,分為 物理備份 和 邏輯備份 ,也就是我們通常所說的基於資料塊級別的備份和基於檔案級的備份。

物理備份

物理備份是磁碟塊級的備份,它需要資料庫處於歸檔模式下,用rman工具來轉儲ORACLE物理檔案(如資料檔案、控制檔案、歸檔日誌檔案、引數檔案,密碼檔案),一旦資料庫發生故障,可以利用這些檔案進行還原。

邏輯備份

邏輯備份是以檔案為基本單位的備份,業務資料庫採用此種方式,此方法不需要資料庫執行在歸擋模式下,ORACLE邏輯備份分為三種模式:表備份、使用者備份和完全備份,使用的工具有exp,expdp等

關於如何深入的理解物理備份和邏輯備份的概念,詳見如下URL:

物理備份策略

1 配置全備指令碼

[[email protected] oracle]# vi rman0.sh 

#!/bin/bash
bdate=`date +%Y_%m_%d`
st=`date +%s`
[ -d /u01/app/oracle/rman_backup/${bdate}-LEVEL0 ] || mkdir -p /u01/app/oracle/rman_backup/${bdate}-LEVEL0
[ -d /u01/app/oracle/log ] || mkdir -p /u01/app/oracle/log
chown -R oracle.oinstall /u01/app/oracle/rman_backup
chown -R oracle.oinstall /u01/app/oracle/log
su - oracle -c 'rman log='/u01/app/oracle/log/${bdate}-LEVEL0.log' append'<<EOF &> /dev/null
connect target /;
run{
CONFIGURE CONTROLFILE AUTOBACKUP ON;
configure retention policy to redundancy 2;
allocate channel c1 type disk;
allocate channel c2 type disk;
delete noprompt obsolete;
crosscheck backup;
delete noprompt expired backup;
crosscheck archivelog all;
delete noprompt expired archivelog all;
backup incremental level 0 database format '/u01/app/oracle/rman_backup/${bdate}-LEVEL0/L0_DATA_%T_%U.bak';
backup archivelog all format '/u01/app/oracle/rman_backup/${bdate}-LEVEL0/L0_ARC_%T_%U.bak' delete all input;
backup current controlfile format'/u01/app/oracle/rman_backup/${bdate}-LEVEL0/L0_CON_%T_%U.bak';
backup spfile format '/u01/app/oracle/rman_backup/${bdate}-LEVEL0/L0_SPFILE_%T_%U.bak';
release channel c1;
release channel c2;
}
EOF
echo >> /u01/app/oracle/log/${bdate}-LEVEL0.log

en=`date +%s`
min=`awk -ven=$en -vst=$st 'BEGIN{print (en-st)/60}'`
echo "it use $min minutes" >> /u01/app/oracle/log/${bdate}-LEVEL0.log
echo  `date` >> /u01/app/oracle/log/${bdate}-LEVEL0.log

echo "*********************************Finish*********************************************" >> /u01/app/oracle/log/${bdate}-LEVEL0.log
echo >> /u01/app/oracle/log/${bdate}-LEVEL0.log

2 配置增備指令碼

[[email protected] oracle]# cat rman1.sh 
#!/bin/bash
bdate=`date +%Y_%m_%d`
st=`date +%s` #start
[ -d /u01/app/oracle/rman_backup/${bdate}-LEVLE1 ] || mkdir -p /u01/app/oracle/rman_backup/${bdate}-LEVEL1
[ -d /u01/app/oracle/log ] || mkdir -p /u01/app/oracle/log
chown -R oracle.oinstall /u01/app/oracle/rman_backup
chown -R oracle.oinstall /u01/app/oracle/log
su - oracle -c 'rman log='/u01/app/oracle/log/${bdate}-LEVEL1.log' append'<<EOF &> /dev/null
connect target /;
run{
CONFIGURE CONTROLFILE AUTOBACKUP ON;
configure retention policy to redundancy 2;
allocate channel c1 type disk;
allocate channel c2 type disk;
delete noprompt obsolete;
crosscheck backup;
delete noprompt expired backup;
crosscheck archivelog all;
delete noprompt expired archivelog all;
backup incremental level 1 database format '/u01/app/oracle/rman_backup/${bdate}-LEVEL1/L1_DATA_%T_%U.bak';
backup archivelog all format '/u01/app/oracle/rman_backup/${bdate}-LEVEL1/L1_ARC_%T_%U.bak' delete all input;
backup current controlfile format'/u01/app/oracle/rman_backup/${bdate}-LEVEL1/L1_CON_%T_%U.bak';
backup spfile format '/u01/app/oracle/rman_backup/${bdate}-LEVEL1/L1_SPFILE_%T_%U.bak';
release channel c1;
release channel c2;
}
EOF
echo >> /u01/app/oracle/log/${bdate}-LEVEL1.log

en=`date +%s` #end
min=`awk -ven=$en -vst=$st 'BEGIN{print (en-st)/60}'` #calc
echo "it use $min minutes" >> /u01/app/oracle/log/${bdate}-LEVEL1.log
echo  `date` >> /u01/app/oracle/log/${bdate}-LEVEL1.log

echo "*********************************Finish*********************************************" >> /u01/app/oracle/log/${bdate}-LEVEL1.log
echo >> /u01/app/oracle/log/${bdate}-LEVEL1.log

3 配置計劃任務

root使用者下

[[email protected] expdp_backup]# crontab -l
#物理備份
#週日0點全備份
00 00 * * 0   /u01/app/oracle/rman0.sh
#週一到週六0點增量備份
00 00 * * 1-6 /u01/app/oracle/rman1.sh

4 RMAN的保留7天冗餘

RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

邏輯備份策略

1 確認PUMP目錄和授權

SQL> select * from dba_directories;

OWNER                  DIRECTORY_NAME                     DIRECTORY_PATH
------------------------------ -------------------------------------------------- -----
SYS                DUMP                       /u01/app/oracle/expdp_backup


SQL> grant create any directory to sdtd27;
SQL> grant read,write on directory DUMP to sdtd27;

2 編輯自動備份指令碼

oracle使用者下

指令碼名稱backup.sh

[[email protected] expdp_backup]$ cat /u01/app/oracle/expdp_backup/backup.sh 

#!/bin/bash
ORACLE_SID=orcl
ORACLE_BASE=/oracle/app/oracle
ORACLE_HOME=/oracle/app/oracle/product/11.2.0/dbhome_1

old_file="sdtd27_"$(date -d "2 days ago" +%Y%m%d_.dmp)
rm -rf /u01/app/oracle/expdp_backup/$old_file
new_file="sdtd27_"$(date +%Y%m%d_.dmp)
/oracle/app/oracle/product/11.2.0/dbhome_1/bin/expdp sdtd27/Rzt0510sdtd directory=dump dumpfile=$new_file compression=ALL parallel=4 cluster=n

3 配置計劃任務

在oracle使用者下

[[email protected] ~]$ crontab -l
#邏輯備份
#每天2點邏輯全備
00 02 * * * /u01/app/oracle/expdp_backup/backup.sh > /u01/app/oracle/expdp_backup/backup$(date +%Y%m%d).log 2>&1

相關推薦

阿里oracle備份策略

備份分類 資料備份是為了儘可能快地全盤恢復執行計算機系統所需的資料和系統資訊,它不僅在網路系統硬體故障或人為失誤時起到保護作用,同時能在叢集環境下失效切換之後備機能夠正常接管關鍵業務的基礎。當然,資料備份也是系統災難恢復的前提之一。 從備份模式的角度來說,分

如何利用阿里伺服器快照策略為資料備份

阿里雲伺服器快照,是一個很好的備份容災工具,不瞭解的可以先了解一下: 快照可以做什麼? 這是一種便捷高效的資料保護服務手段,可以對重要業務資料進行備份,來應對誤操作、攻擊、病毒等導致的資料丟失風險。比如前段時間的勒索病毒事件,假設你中招後所有資料被加密,就不用擔心,重置伺服器後加載之前的快照

Python自定義阿裏RDS備份策略

rds備份 python 一、背景 由於越來越多的客戶對應數據安全的重視,目前阿裏雲RDS提供了備份策略,但是備份策略周期為每天的某一個時間,在日常雲運維工作中,有客戶提出需要每天在不同的時間節點多備份幾次,此時web界面就不能滿足此類在一天內多次備份的需求,但是想到了在阿裏雲web控制臺通過手動點擊

深入學習oracle備份策略

備份指令碼應該對Log重定向並儲存.以便在出錯的查詢有用資訊. 與RMAN備份有關的優化 備份操作主要是完成以下三個步驟1、從磁碟上讀取資料2、在記憶體中處理資料塊3、寫入資料到磁碟或磁帶 以上的讀寫操作可以同步或非同步的完成,在同步I/O操作中,一個時間只允許有一個IO操作

資料庫的自我修煉——阿里MongoDB備份恢復功能說明和原理介紹

本次直播視訊精彩回顧,戳這裡! 直播涉及到的PPT,戳這裡! 演講嘉賓簡介: 鄭涔(花名:明儼) 阿里雲技術專家,2011年加入阿里,曾參與TFS、Tengine研發,目前主要參與阿里雲MongoDB雲資料庫服務研發,主要關注分散式儲存、資料庫等領域。 本篇文章來自

定製正確的oracle備份策略 0級備份

oracle備份策略的定製關係到oracle資料庫的執行,正確的oracle備份策略不僅能保證資料庫伺服器的24*7的高效能的執行,還能保證備份與恢復的快速性與可靠性。 採用多級備份就是為了減少每天備份所需要的時間,而又保證系統有良好的恢復性。恢復時間與備份時間要

阿里ECS架設VPN(pptp)過程總結及安全策略設定

在架設VPN之前參考了網上大量的搭建教程,但是實際操作時還是遇到很多問題,在此把安裝的步驟和問題都列出來,希望能幫到各位。 一、環境 伺服器提供商:阿里雲ECS雲伺服器 作業系統: CentOS 7.2 64位 1、先看看你的主機是否支援pptp,返回結果為yes就表示通過

crontab新增系統定時任務--資料庫定時備份指令碼&傳輸檔案到阿里伺服器定時指令碼

前言         由於公司網站被黑客攻擊,導致部分資料丟失,需要使用0.6個比特幣贖回,因為建立資料安全對策,提高網站和資料安全級別,同時進行資料定時備份,並將資料傳輸阿里雲伺服器存放,特此記錄。 1,A,B伺服器之間建立信任 https:

阿里上遇見更好的Oracle(四)

2016.5.13,北京,第七屆資料庫技術大會。 從最初的itpub社群,到後來被it168收購,DBA社群的線下聚會發展成2010年第一屆資料庫技術大會(DTCC)。第一屆大會匯聚了社群內活躍的各位DBA大神們,星光燦爛。我當時也在會上分享了淘寶DBA團隊在資料庫監控產品方面做的一些努力。 七年過去,資

混合雲端儲存開啟企業上新路徑--阿里混合備份容災方案發布

摘要: 當前,資料已經成為了企業的核心資產。而如果資料中心發生故障不僅會給企業帶來巨大損失,甚至會直接迫使企業走向倒閉。對於企業而言,每一位元組業務資料的丟失都是一場重大的災難!那麼,如何保證企業的核心資料資產不丟失,又如何保障業務不會因為災難而中斷服務?在本文中,

輕鬆上系列之五:阿里容災與備份方案

災備能力是各類雲產品能力與穩定性非常重要的衡量指標,猶記得某友商雲因為資料丟失被索賠1000多萬的慘痛教訓。保障企業業務穩定、IT系統功能正常、資料安全十分重要。因此可以同時保障資料備份與系統、應用容災的災備解決方案應勢而生,且發展迅速。 下面我們來看,在阿里雲和阿里雲產品都有哪些災備的解決方案和能力。

Python 備份阿里RDS資料庫

#!/usr/bin/env python3 # -*- coding: utf-8 -*- # @Author: # @Date : 2018/10/11 # !/usr/bin env python3 # 你需要匯入這個模組 import os import time

Python 大資料庫備份阿里RDS資料庫分表匯出壓縮

思路:因為有的資料庫比較大,整體壓縮之後還是會有幾個G內容,既不方便下載也不方便恢復,然後就想到了對獨立的表分開進行備份。 1.連線阿里雲rds 2.建立資料夾,層級關係(資料庫名->日期->表名壓縮包) 3.迴圈需要備份的資料庫 4.從相應的資料庫查詢全

Ubuntu Linux定時備份資料庫,並上傳到阿里OSS

生產環境中可能會遇到各種各樣的問題,為了防止資料丟失和容災,定時備份資料庫就顯得很重要了。本文使用crontab定時執行shell指令碼,shell指令碼中備份MySQL到本地並上傳到阿里雲OSS物件儲存。 先看shell指令碼(shell指令碼處理了資料庫備份,資料庫備份同步上傳雲端,

更換阿里的yum源(備份

完全參考http://mirrors.aliyun.com/help/centos?spm=5176.bbsr150321.0.0.d6ykiD1、備份mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup2、

Windows10 進行遠端桌面連線阿里-輕量應用伺服器報錯: CredSSP 加密 Oracle 修正

Win+R,輸入 mstsc。 進入遠端桌面連線,我是連線阿里雲-輕量應用伺服器的,所以填的是伺服器的公網 IP。 輸入使用者名稱和密碼。 報錯:CredSSP 加密 Oracle 修正。 解決: Win+R,輸入 gpedit.msc。 選擇 計算機配

阿里伺服器(ECS)實戰--安全組策略配置(埠放行)

什麼是阿里雲安全組策略? 阿里雲安全組是一種虛擬防火牆,也是阿里雲處於安全考慮的一種策略,一臺ECS雲伺服器例項必須至少屬於一個安全組。我們知道伺服器的各種服務要依賴埠來實現,我們可以將安全組想象成伺服器各個埠的開關,預設建立購買的ECS雲伺服器,阿里雲預設只開

阿里伺服器oracle資料庫安裝使用步驟

阿里雲伺服器安裝使用步驟伺服器有很多種平臺去購買,這裡以阿里雲(Windows版)為例說明2、購買後,你會得到阿里雲給你分配的公網ip地址,需要記住,用電腦使用遠端桌面連線伺服器,需要用你的公網IP地址連線3、安裝oracle資料庫:需要在電腦上下載一個瀏覽器安裝包,然後複製

阿里ECS如何遠端連線?(附帶排錯經驗——出現身份驗證錯誤,要求的函式不受支援 可能是由於CredSSP加密Oracle修正)

下面介紹一下如何用自己的電腦遠端連線阿里雲ECS。 最近在學習使用雲伺服器,買了一個阿里雲ECS,作業系統是Windows Server 2012R2 資料中心版。在用自己電腦連線ECS的時候,怎麼也

記一次從阿里的rds恢復備份資料到自建資料庫

阿里雲上的文件:https://help.aliyun.com/knowledge_detail/41817.html?spm=5176.7854039.2.1.AJe3Eg 這裡主要記錄下遇到的問題。 安裝mysql,apt-get install  mysql-serv