1. 程式人生 > >深入學習oracle備份策略

深入學習oracle備份策略

備份指令碼應該對Log重定向並儲存.以便在出錯的查詢有用資訊.

與RMAN備份有關的優化

備份操作主要是完成以下三個步驟
1、從磁碟上讀取資料
2、在記憶體中處理資料塊
3、寫入資料到磁碟或磁帶

以上的讀寫操作可以同步或非同步的完成,在同步I/O操作中,一個時間只允許有一個IO操作,但是在非同步I/O操作中,一個時間允許有多個IO操作。因此,備份與恢復的調優主要集中在以下幾個方面:

1、提高同步或非同步I/O操作能力

在支援非同步操作的作業系統上,可以通過設定TAPE_AYSNCH_IO,DISK_ASYNCH_IO和BACKUP_TYPE_IO_SLAVES來支援非同步操作,提高寫的能力。

2、提高磁碟讀能力

可以在backup命令後通過設定DISKRATIO來保證從多個磁碟上讀取資料,保證連續的資料流。

3、正確設定緩衝區與引數值

設定LARGE_POOL_SIZE,使備份可以使用連續的緩衝池,通過設定DB_FIL_DIRECT_IO_COUNT可以提高緩衝區的利用。如果使用磁帶備份,還可以設定BACKUP_TYPE_IO_SLAVES來提高磁帶的寫能力。

4、採用並行備份

開闢多個通道,可以實現並行備份與恢復

.備份RMAN資料庫

RMAN自己的資料庫也需要備份,但是本身很小,而且不是經常發生變化,所以在每次RMAN備份完成後,都可以用如下指令碼對RMAN資料庫備份。

     EXP pafile =exprman.sql
  exprman.sql為

  USERID=RMAN/RMAN

  BUFFER=32768

  OWNER=RMAN

  FILE=RMAN.DMP

  ROWS=Y

  GRANTS=Y

  COMPRESS=Y

  CONSISTENT=Y
 
.使自動備份資料庫

自動備份資料庫不外乎以下三種方式

1.WINDOWS下的任務計劃(At命令)
2.UNIX下的Crontab
3.第三方工具如Viritas

在以上三種方式中Viritas屬於第三方工具,很多人可能都沒有接觸,主要說一下windows的任務計劃與unix的cron

1、生成指令碼檔案,如backup.rcv
假定檔案內容如下:

        $NewsContent$gt;cat backup.rcv
  connect target sys/password rcvcat rman/

[email protected];

  run{

  allocate channel c1 type disk;

  allocate channel c2 type disk;

  allocate channel c3 type disk;

  backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p'??

  archivelog all delete input;? ?

  release channel c1;

  release channel c2;

  release channel c3;

  }
 
2、生成執行檔案
在windows上生成backup_archive.bat,內容包括
rman cmdfile = backup.rcv

在unix下生成 backup_archive.sh,內容包括
/oracle/ramn/rman cmdfile = backup.rcv

3、加入排程

在windows中用任務計劃嚮導即可,或使用at命令。

在unix中,在目標機器上編寫一個檔案,用以啟動自動備份程序。假定檔名為ORACLE,檔案將放在/var/spool/cron/crontabs目錄下

  $NewsContent$gt;cat oracle

  0 23 * * 0 backup_archive.sh

  #表示星期天23點對資料庫備份

  0 12,18 * * * backup_archive.sh

  #表示每天12點,18點備份

  Crontab檔案的每一行由六個域(minutes,hours,day of month,month,day of week,command)組成,域之間用空格或Tab分隔開來。

五、常見誤區

1、使用EXP/IMP備份

EXP/IMP不是一個良好的備份工具,在以後的發展之中,ORACLE對EXP/IMP用於備份的支援會越來越低。ORACLE只是把EXP/IMP當作一個好的工具而不是備份工具,在對於大型資料庫,如TB級資料庫或資料倉庫,EXP/IMP肯定會力不從心。

2、在應用程式中備份資料庫

在論壇上,有很多這樣的要求,"我怎麼在程式中備份與恢復資料庫?"。首先說,這個並不是不可以實現,但是實現的過程會很複雜而且意外會很多。就我的感覺,提出這樣問題的人,首先一點就是對ORACLE或DBA的不瞭解,如果ORACLE可以這麼輕鬆的實現備份與恢復,那麼我可以說,就不需要DBA了。

3、冷備份比熱備份更容易,效果會更好

有人認為,冷備份是關閉資料庫進行的一致性備份,肯定比熱備份要好,使用也容易,其實不盡然,在熱備份中,一樣可以實現資料庫的全備份,而且不會影響到資料庫的執行。建議所有的生產機,都執行在歸檔方式下,採用熱備份方式。

六、常見問題

1、我匯出的資料為什麼不能匯入,提示不支援的字符集轉換

答:參考上面的字符集原則,匯出資料時客戶端與資料庫字符集一致,匯入時修改為與目標資料庫字符集一致。

2、我的歸檔日誌越來越多,我什麼時候可以刪除歸檔日誌?

答:在每一次全備份(如OS全冷備份或全熱備份)或基於全備份的增量備份(如RMAN基於0級備份上的增量備份)後都可以刪除該備份點之前的歸檔日誌,建議在磁帶上保留一年。

3、全備份時一定需要備份所有資料檔案嗎?

答:不需要,起碼有兩類資料檔案可以不備份,一類就是臨時資料檔案,如果丟失,可以刪除後重建;一類是隻讀表空間資料檔案,如果上次備份以來,沒有修改過表空間的只讀屬性,就可以不需要備份。

4、聯機日誌需要備份嗎?

答:如果是歸檔方式熱備份,就沒有必要備份聯機日誌。但是對於冷備份,可以備份聯機日誌,特別是不歸檔狀態。備份過聯機日誌後的冷備份,因為資料庫是一致的,可以恢復到該備份點。

七、小結

1、什麼是資料庫備份,資料庫備份就是把資料庫複製到轉儲裝置的過程。
2、資料庫的執行方式,可以分為歸檔方式和非歸檔方式,建議執行在歸檔方式下執行熱備份。
3、瞭解了資料庫的備份方式,邏輯備份、冷備份、熱備份
4、瞭解資料庫的備份工具,EXP/IMP執行邏輯備份,OS指令碼可以執行冷備份或熱備份,RMAN也可以執行冷備份或熱備份
5、瞭解ORACLE的備份策略,並怎樣選擇最佳的備份策略
6、知道怎麼樣啟動自動備份,瞭解Windows的at命令與unix的cron程序。

相關推薦

深入學習oracle備份策略

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

阿里雲oracle備份策略

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

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

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

Oracle資料庫深入學習

一、Oracle概念 oracle資料可系統是美國oracle(甲骨文)公司提供的以分散式資料庫為核心的一組軟體產品,是目前最流行的客戶/伺服器或B/S體系結構的資料庫之一,oracle資料庫時目前世界上使用最為廣泛的資料庫管理系統,作為一個通用的資料庫系統,它具有完善的資料庫管理功

ORACLE DataGuard 備份策略

主庫:備份控制檔案;定期清理歸檔日誌; 備庫:全庫備份包括歸檔日誌並刪除; RHEL平臺 主庫指令碼: 1. RMAN設定: RMAN>configure controlfile autobackup on; RMAN>configure retention

Hibernate深入學習(四):類級別的檢索策略

hibernate提供了懶載入的檢索策略,在沒有用到類的相關屬性時,不會發出sql從資料庫中檢索,而懶載入分為兩種:類級別的懶載入和集合的懶載入,本章先來看看類級別的懶載入檢索策略 以下是測試用的實體類:Parent,Children,他們是雙向一對多的關係,

深入解析Oracle學習筆記(第九章)

等待事件  oracle7 開始引入 v$event_name 記錄當前資料庫支援的等待事件及其基本資訊 desc v$event_name p1  p2  p3  不同等待事件引數其意義不同 wait_class(等待事件分類) 空閒等待     非空閒等待(調整資料庫

oracle 備份與恢復學習總結

Oracle資料庫的備份與恢復 http://jingyan.baidu.com/article/b2c186c8eb7713c46ef6ff22.html Oracle資料庫有三種標準的備份方法,它們分別是匯出/匯入(EXP/IMP)、熱備份和冷備份。匯出備件是一種邏輯備

jquery 深入學習筆記之中的一個 (事件綁定)

color 動態 name his pan mouseover this pre con 【jquery 事件綁定】 1、加入元素事件綁定 (1) 加入事件為當前元素 $(‘p‘).on(‘click‘,function(){ //code here ..

【spark 深入學習 03】Spark RDD的蠻荒世界

解釋 不難 特性 bsp resid 易懂 優化 方式 序列 RDD真的是一個很晦澀的詞匯,他就是伯克利大學的博士們在論文中提出的一個概念,很抽象,很難懂;但是這是spark的核心概念,因此有必要spark rdd的知識點,用最簡單、淺顯易懂的詞匯描述。不想用學術話的語言來

【Spark 深入學習-08】說說Spark分區原理及優化方法

學習 格式 讀取文件 tmc 資料 數值計算 詳解 shc 存儲介質 本節內容 ------------------ · Spark為什麽要分區 · Spark分區原則及方法 · Spark分區案例 · 參考

【Spark深入學習-11】Spark基本概念和運行模式

nmf 磁盤 大數據平臺 並不是 鼠標 .cn 管理系統 大型數據集 spa ----本節內容------- 1.大數據基礎 1.1大數據平臺基本框架 1.2學習大數據的基礎 1.3學習Spark的Hadoop基礎 2.Hadoop生態基本介紹 2.1

【Spark深入學習 -10】基於spark構建企業級流處理系統

變現 大內存 空間換時間 detail python 訪問量 新版本 kafak 計算框架 ----本節內容------- 1.流式處理系統背景 1.1 技術背景 1.2 Spark技術很火 2.流式處理技術介紹 2.1流式處理技術概念 2.

【Spark深入學習 -16】官網學習SparkSQL

客戶 .com pmu 參考資料 一行 uap lsa bmi orb ----本節內容-------1.概覽 1.1 Spark SQL 1.2 DatSets和DataFrame2.動手幹活 2.1 契入點:SparkSessi

【Spark深入學習 -12】Spark程序設計與企業級應用案例02

提升 算子 lin count() roi println groupby 工作問題 衍生 ----本節內容------- 1.遺留問題答疑 1.1 典型問題解答 1.2 知識點回顧 2.Spark編程基礎 2.1 Spark開發四部曲 2.2 RDD典型實例

【Spark深入學習 -14】Spark應用經驗與程序調優

aps 它的 stack 申請 vco 用戶 統一 persist 資料 ----本節內容------- 1.遺留問題解答 2.Spark調優初體驗 2.1 利用WebUI分析程序瓶頸 2.2 設置合適的資源 2.3 調整任務的並發度

【Spark深入學習 -15】Spark Streaming前奏-Kafka初體驗

rod htm 新的 callback tails 包括 -c 舉例 清理 ----本節內容------- 1.Kafka基礎概念 1.1 出世背景 1.2 基本原理 1.2.1.前置知識 1.2.2.架構和原理 1.2.

linux系統oracle備份腳本

數據庫文件 日期 direct filepath pfile 創建 根據 庫文件 hup #路徑名,指定備份的路徑 FILEPATH=/home/oracle/bachup #根據指定日期格式,定義備份數據庫文件名 FILENAME=`date +%y%m%d` #切換至指

元組-深入學習

創建 gif spa none code -a style 變量 stop 元組和列表的區別   元組和列表幾乎是一樣的   不一樣的地方就是元組創建後元組的元素不可以修改,比如(添加,拓展,移除等修改功能,但是元組裏的元素的元素是可以修改的) 基本操作:  索引  切片 

數字int字符串str(深入學習

join add 換行 分開 left bcd 多個 a10 suffix 數字int字符串str 查看一個對象的類   如:如查看對象變量a是什麽類 用到函數type(),函數值是要查看的對象變量 1 #!/usr/bin/env python 2