Oracle 【IT實驗室】數據庫備份與恢復之:如何對Oracle數據庫文件進行恢復與備份...

任何數據庫在長期使用過程中,都會存在一定的安全隱患。對于數據庫管理員來說不能僅寄希望于計算機操作系統的安全運行,而是要建立一整套的數據庫備份與恢復機制。當數據庫發生故障后,希望能重新建立一個完整的數據庫,該處理稱為數據庫恢復。恢復子系統是數據庫管理系統的一個重要組成部分。恢復處理隨所發生的故障類型所影響的結構而變化。怎樣才能對Oracle數據庫進行備份?如何才能對刪除的數據再進行恢復?這是本篇文章主要講的內容。

  Oracle數據庫使用幾種結構來保護數據:數據庫后備、日志、回滾段和控制文件。一個Oracle數據庫的每一實例有一個相關聯的在線日志。一個在線日志由多個在線日志文件組成。在線日志文件(online redo log file)填入日志項(redo entry),日志項記錄的數據用于重構對數據庫所作的全部修改。

  一、 如何對數據庫進行還原與備份

  Oracle數據導入導出imp/exp就相當于oracle數據還原與備份。exp命令可以把數據從遠程數據庫服務器導出到本地的dmp文件,imp命令可以把dmp文件從本地導入到遠處的數據庫服務器中。 利用這個功能可以構建兩個相同的數據庫,一個用來測試,一個用來正式使用。

  Oracle支持三種方式類型的輸出,分別是表方式(T方式),將指定表的數據導出、用戶方式(U方式),將指定用戶的所有對象及數據導出)、全庫方式(Full方式),瘵數據庫中的所有對象導出。

  數據導入(Import)的過程是數據導出(Export)的逆過程,分別將數據文件導入數據庫和將數據庫數據導出到數據文件。

  增量導出是一種常用的數據備份方法,它只能對整個數據庫來實施,并且必須作為SYSTEM來導出。在進行此種導出時,系統不要求回答任何問題。導出文件名缺省為export.dmp,如果不希望自己的輸出文件定名為export.dmp,必須在命令行中指出要用的文件名。 增量導出包括三種類型:“完全”增量導出、“增量型”增量導出、“累積型”增量導出。數據庫管理員可以排定一個備份日程表,用數據導出的三個不同方式合理高效的完成。

  二、備份

  備份可以分為兩種,主要是冷備份和熱備份。冷備份發生在數據庫已經正常關閉的情況下,當正常關閉時會提供給我們一個完整的數據庫。冷備份時將關鍵性文件拷貝到另外的位置的一種說法。對于備份Oracle信息而言,冷備份時最快和最安全的方法。冷備份的優點是:

  1、 是非常快速的備份方法(只需拷文件)

  2、 容易歸檔(簡單拷貝即可)

  3、 容易恢復到某個時間點上(只需將文件再拷貝回去)

  4、 能與歸檔方法相結合,做數據庫“最佳狀態”的恢復。

  5、 低度維護,高度安全。

  但冷備份也有如下不足:

  1、 單獨使用時,只能提供到“某一時間點上”的恢復。

  2、 再實施備份的全過程中,數據庫必須要作備份而不能作其他工作。也就是說,在冷備份過程中,數據庫必須是關閉狀態。

  3、 若磁盤空間有限,只能拷貝到磁帶等其他外部存儲設備上,速度會很慢。

  4、 不能按表或按用戶恢復。

  如果可能的話(主要看效率),應將信息備份到磁盤上,然后啟動數據庫(使用戶可以工作)并將備份的信息拷貝到磁帶上(拷貝的同時,數據庫也可以工作)。冷備份中必須拷貝的文件包括:

  1、 所有數據文件

  2、 所有控制文件

  3、 所有聯機REDO LOG文件

  4、 Init.ora文件(可選)

  值得注意的使冷備份必須在數據庫關閉的情況下進行,當數據庫處于打開狀態時,執行數據庫文件系統備份是無效的。

?

下面是作冷備份的完整例子。

  (1) 關閉數據庫


  sqlplus?/nolog
  sql>;connect?/as?sysdba
  sql>;shutdown?normal;

?

  (2) 用拷貝命令備份全部的時間文件、重做日志文件、控制文件、初始化參數文件

  sql>;cp ; ;

  (3) 重啟Oracle數據庫

  sql>;startup

  熱備份是在數據庫運行的情況下,采用archivelog mode方式備份數據庫的方法。所以,如果你有昨天夜里的一個冷備份而且又有今天的熱備份文件,在發生問題時,就可以利用這些資料恢復更多的信息。熱備份要求數據庫在Archivelog方式下操作,并需要大量的檔案空間。一旦數據庫運行在archivelog狀態下,就可以做備份了。熱備份的命令文件由三部分組成:

  1. 數據文件一個表空間一個表空間的備份。

  (1) 設置表空間為備份狀態

  (2) 備份表空間的數據文件

  (3) 回復表空間為正常狀態

  2. 備份歸檔log文件

  (1) 臨時停止歸檔進程

  (2) log下那些在archive rede log目標目錄中的文件

  (3) 重新啟動archive進程

  (4) 備份歸檔的redo log文件

  3. 用alter database bachup controlfile命令來備份控制文件

  熱備份的優點是:

  1. 可在表空間或數據庫文件級備份,備份的時間短。

  2. 備份時數據庫仍可使用。

  3. 可達到秒級恢復(恢復到某一時間點上)。

  4. 可對幾乎所有數據庫實體做恢復

  5. 恢復是快速的,在大多數情況下愛數據庫仍工作時恢復。

  熱備份的不足是:

  1. 不能出錯,否則后果嚴重

  2. 若熱備份不成功,所得結果不可用于時間點的恢復

  3. 因難于維護,所以要特別仔細小心,不允許“以失敗告終”。

  三、如何才能提高Oracle備份的速度?

  1.可以通過發布以下命令來啟用該跟蹤機制:

  SQL> alter database enable block change tracking using file '/oracle10g/rman/change.log';

  該命令將創建一個名為 /rman_bkups/change.log 的二進制文件,以用于跟蹤。

  2.假如跟蹤文件丟失,則會做全庫掃描

  以后的增量也會做全庫掃描。唯一解決的辦法,就是重新執行全備,最后再增量。

轉載于:https://www.cnblogs.com/login2012/p/5780433.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/254654.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/254654.shtml
英文地址,請注明出處:http://en.pswp.cn/news/254654.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vue刷新當前路由:router-view 復用組件時不刷新的3種解決方案總結

vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,適合用于構建單頁面應用。vue的單頁面應用是基于路由和組件的,路由用于設定訪問路徑,并將路徑和組件映射起來。傳統的頁面應用,是用一些超鏈接來實現頁面切換…

KUKA---US2電源的安全屬性-------老款硬線連接實現的DRIVE安全STO SBC 、新款基于Safety over EtherCAT 網絡幀實現的DRIVE安全STO SBC

安全雙回路的監控:(工業上的安全,是指安全等級,沒有絕對的安全) 1. 機械式:監控關斷繼電器的輔助反饋觸點,這個關斷繼電器包含機械聯鎖觸點,這樣反饋觸點和主觸點可以同步開關動…

C#6.0中$的用法

C#6.0中$的用法 這里注意只有VS2015及以上VS版本才支持這樣寫! 如果使用vs2015以下版本就去用string.format()吧! //C#6.0中$的用法:是為了替代string.format();//原先賦值需要占位符和變量,當需要拼接多個變量會造成語句過長等不…

Oracle密碼過期問題 ORA-28001:the password has expired

如果已經過期了,首先需要修改密碼,然后設置密碼為無限期。修改以sys用戶登陸。 修改密碼:alter user username identified by password 密碼可以和之前的密碼相同也可以不同。 修改數據庫密碼為無限期: Oracle的密碼過期規則是用…

X11硬線接口信號 與Profisafe安全輸入輸出信號之間的區別與比較

X11硬線接口信號 與Profisafe安全輸入輸出信號之間的區別與比較 Profisafe安全輸入信號US2信號有待深入(通過外部PLC :) 

預處理指令pragma常見用法集錦(#pragma once、#pragma comment和#pragma warning)

#pragma once: 這是一個比較常用的指令,只要在頭文件的最開始加入這條指令就能夠保證頭文件被編譯一次,避免文件被重復包含。 *********************************** 例如 ***************************************** 頭文件中的 #if _MSC_VER > 100…

var類型推斷關鍵字

目錄var 類型推斷介紹var的一個例子:編程遵循規則var 類型推斷介紹 使用var定義變量時,用var關鍵字替代實際類型。編譯器可以根據變量的初始化值自行“推斷”變量的類型。 例如: var A 0; 等價于 int A 0;var的一個…

《程序員修煉之道》筆記(九)

*續 第八章 注重實效的項目 1. 無處不在的自動化 文明通過增加我們不假思索就能完成的重要操作的數目而取得進步。 無論是構建和發布流程、是書面的代碼復查工作、還是其他任何在項目中反復出現的任務,都必須是自動的。人工流程不能保證一致性,也無法保證…

flutter image boxfit

直接從官網文檔中復制記錄,方便以后查看contain → const BoxFitAs large as possible while still containing the source entirely within the target box.const BoxFit(1)cover → const BoxFitAs small as possible while still covering the entire target box…

rvm RuvyGem Cocoapods brew

開始的時候,我僅想升級一下cocoapods的版本,因為我xcode報三十多個相似警告,說第三方找不到相應文件,我看cocoapods版本有1.0.1,而我使用的依舊是1.0.0的老版本。當我升級cocoapods時,需要使用gem來更新coc…

Linux系統目錄說明

以前稍稍接觸過Linux系統,現今,因工作需要要更進一步學習Linux系統的相關程序開發。因此對于目錄(路徑)的了解及很重要了。/bin:是Binary的縮寫,這里保存了一百多個Linux下常用的命令、工具;這是…

const常量用法

目錄定義語法特點優點定義 常量就是在使用過程中不會變化的量叫做常量。 語法 const int A 100;//常量不允許改變特點 常量必須在聲明時初始化;常量的值必須在編譯時就定義好;常量總是隱式靜態的; 優點 易讀,易于程序修改&…

斯坦福大學機器學習——高斯判別分析

轉自 http://blog.csdn.net/linkin1005/article/details/39054023 同樸素貝葉斯一樣,高斯判別分析(Gaussian discriminant analysismodel, GDA)也是一種生成學習算法,在該模型中,我們假設y給定的情況下,x服…

嘉實多RO150合成齒輪油

Optigear ?合成 RO 是一個特殊的高性能,長期多級油特別為齒輪 軌道交通,機械工程應用中,一個極端的氣候條件和長期使用。 “ Microflux 跨的添加劑組合是免費的固體潤滑劑,甚至適應迅速變化的環境和積極…

線程隊列-queue

使用隊列的目的:解耦,使程序之間實現松耦合;提高處理效率FIFO 先進先出,first in first outLIFO 后入先出,last in first out生產者消費者模型使用方式1 import queue 2 3 #創建隊列對象,設置隊列大小ma…

MapGIS轉Shp文件的單位問題

MapGIS轉Shp文件的單位問題 原文:MapGIS轉Shp文件的單位問題在MapGIS瀏覽查看一下數據,各種不習慣;用mapgis自帶的轉shp功能,屬性表會出錯;利用名為map2shp的試用版軟件可將mapgis格式的數據較為良好轉成shp格式。但經常會遇到一個…

halcon2D Metrology測量算子,卡尺測量算子,持續更新

目錄2D Metrology1. add_metrology_object_circle_measure2. add_metrology_object_ellipse_measure3. add_metrology_object_generic4. add_metrology_object_line_measure5. add_metrology_object_rectangle2_measure6. align_metrology_model7. apply_metrology_model8. cle…

項目經理的職責

項目經理的職責: 1、項目范圍的定義 2、項目計劃的制定、分解、分配、協調、匯報 3、項目質量控制 4、項目需求變更配置 工作職責: 1、負責產品的研發任務的立項計劃及實施; 2、負責收集統計各項資料數據,完成自主研發部…

顯示/隱藏Mac系統中所有的隱藏文件

顯示: 在終端輸入:defaults write com.apple.finder AppleShowAllFiles YES隱藏: 在終端輸入:defaults write com.apple.finder AppleShowAllFiles NO然后重啟Finder即可(先點擊左上角的蘋果圖標,再選強制退出,然后選中Finder,點擊…