Oracle數據庫如何進行冷備份和恢復

數據庫的冷備份指的是數據庫處于關閉或者MOUNT狀態下的備份,備份文件包括數據文件、日志文件和控制文件。數據庫冷備份所用的時間主要受數據庫大小和磁盤I/O性能的影響。由于數據庫需要關閉才能進行冷備份,所以這種備份技術并不適用7×24小時的系統。盡管冷備份并不需要開啟歸檔模式,但還是建議開啟了歸檔模式后進行冷備份。當數據庫發生災難時,只要歸檔日志和在線日志存在,歸檔模式下的冷備份可做到數據不丟失。
9.2.1 冷備份數據庫步驟
在關閉數據庫之前,可以從數據庫視圖中查找所需要備份的文件。

  1. 備份數據文件
    可以從視圖V D A T A F I L E 中查找所需要備份的數據文件,如下所示: S Q L > s e l e c t n a m e f r o m v DATAFILE中查找所需要備份的數據文件,如下所示: SQL> select name from v DATAFILE中查找所需要備份的數據文件,如下所示:SQL>selectnamefromvdatafile;

NAME

/ora10205/oradata/ora10205/system01.dbf
/ora10205/oradata/ora10205/users02.dbf
/ora10205/oradata/ora10205/sysaux01.dbf
/ora10205/oradata/ora10205/users01.dbf
/ora10205/oradata/ora10205/test01.dbf
/ora10205/oradata/ora10205/manual01.dbf
/oradata/ZHOUL/datafile/o1_mf_zhoul_8cppdlq7_.dbf
/ora10205/oradata/ora10205/undotbs2.dbf
/ora10205/oradata/ora10205/test_lmt01.dbf

9 rows selected.
需要注意的是,由于臨時文件是不永久存放業務數據的,所以在冷備份時并不需要備份臨時文件。而且臨時文件往往被撐得很大,備份臨時文件會導致備份時間變長。
2. 備份日志文件
可以從V L O G F I L E 中獲取所需要備份的日志文件,如下所示: S Q L > s e l e c t m e m b e r f r o m v LOGFILE中獲取所需要備份的日志文件,如下所示: SQL> select member from v LOGFILE中獲取所需要備份的日志文件,如下所示:SQL>selectmemberfromvlogfile where type<>‘STANDBY’;

MEMBER

/ora10205/oradata/ora10205/redo02.log
/ora10205/oradata/ora10205/redo01.log
/ora10205/oradata/ora10205/redo05.log
/ora10205/oradata/ora10205/redo04.log
/ora10205/oradata/ora10205/redo03.log
需要注意的是,如果數據庫創建有STANDBYREDOLOG,該文件在日常運行的過程中不需要用到,所以在冷備份過程中可以不備份。
3. 備份控制文件
可以從V C O N T R O L F I L E 中獲取所需要備份的控制文件,如下所示: S Q L > s e l e c t n a m e f r o m v CONTROLFILE中獲取所需要備份的控制文件,如下所示: SQL> select name from v CONTROLFILE中獲取所需要備份的控制文件,如下所示:SQL>selectnamefromvcontrolfile;

NAME

/ora10205/oradata/ora10205/control02.ctl
/ora10205/oradata/ora10205/control01.ctl
如果在MOUNT狀態使用操作系統命令備份控制文件,則需要注意分裂塊。分裂塊指的是數據塊在更新過程中同時被另外的進程拷貝,以致拷貝出來的數據塊一部分是拷貝前的數據,一部分是拷貝后的數據。這些分裂塊對Oracle來說就是損壞塊。損壞塊意味著不可用。由于控制文件的BLOCK SIZE和操作系統的最小I/O單位不同,因此在拷貝控制文件的過程中可能會產生分裂塊,所以不建議在數據庫MOUNT狀態或者OPEN狀態中使用操作系統命令拷貝控制文件,雖然拷貝出來的控制文件在絕大多數情況下是可用的。
4. 備份參數文件
參數文件默認位于 O R A C L E H O M E / d b s 下,其名字默認為 i n i t ORACLE_HOME/dbs下,其名字默認為init ORACLEH?OME/dbs下,其名字默認為initORACLE_SID.ora或者spfile O R A C L E S I D . o r a 。由于參數文件不存放業務數據,所以理論上來講,參數文件即使丟失了也可以重建。但參數文件重建需要時間,所以在冷備份的過程中最好也備份參數文件。由于數據庫在 N O M O U N T 的過程中會讀取參數文件,然后將讀取的內容寫進警告日志。所以當參數文件丟失且沒有備份時,可以從警告日志中獲取數據庫參數列表重建參數文件。 5. 備份監聽相關配置文件監聽相關的配置文件指的是 l i s t e n e r . o r a 、 s q l n e t . o r a 、 t n s n a m e s . o r a 等。默認位于 ORACLE_SID.ora。由于參數文件不存放業務數據,所以理論上來講,參數文件即使丟失了也可以重建。但參數文件重建需要時間,所以在冷備份的過程中最好也備份參數文件。由于數據庫在NOMOUNT的過程中會讀取參數文件,然后將讀取的內容寫進警告日志。所以當參數文件丟失且沒有備份時,可以從警告日志中獲取數據庫參數列表重建參數文件。 5. 備份監聽相關配置文件 監聽相關的配置文件指的是listener.ora、sqlnet.ora、tnsnames.ora等。默認位于 ORACLES?ID.ora。由于參數文件不存放業務數據,所以理論上來講,參數文件即使丟失了也可以重建。但參數文件重建需要時間,所以在冷備份的過程中最好也備份參數文件。由于數據庫在NOMOUNT的過程中會讀取參數文件,然后將讀取的內容寫進警告日志。所以當參數文件丟失且沒有備份時,可以從警告日志中獲取數據庫參數列表重建參數文件。5.備份監聽相關配置文件監聽相關的配置文件指的是listener.orasqlnet.oratnsnames.ora等。默認位于ORACLE_HOME/network/admin中。當Oracle軟件不可用時,雖然可以重裝Oracle軟件來解決,但配置文件中的內容需要重建,尤其是tnsnames.ora配置文件,它往往和數據庫中的DBLINK相關。當tnsnames.ora配置文件不存在或者配置有問題時,DBLINK往往也會隨之失效(如果建DBLINK時采用tnsnams.ora中的連接串)。tnsnames.ora在分布式事務中起著舉足輕重的作用,但在數據庫備份過程中很容易被DBA忽視。此外,冷備份數據庫時最好也備份/etc/fstab、/etc/filesystems或者/etc/hosts等操作系統配置文件,因為要考慮到操作系統不可用的情況。
9.2.2 冷備份下的數據庫恢復
如果數據庫的冷備份是在非歸檔模式下進行的備份。那么當發生災難時,只要將冷備份中數據文件、控制文件、日志文件拷貝至生產系統的原目錄中,就可以打開數據庫了。此時的恢復時間取決于數據庫的大小和磁盤的I/O速度。如果冷備份放在其他主機或介質中,那么恢復時間還取決于從其他系統中導出的時間和網絡帶寬。非歸檔模式下的備份可能會導致數據丟失。
如果數據庫的冷備份是在歸檔模式下進行的備份。那么發生災難時,只要控制文件、歸檔日志文件、在線日志文件沒損壞,那么就可以只將冷備份的數據文件拷貝至生產系統的原目錄中,然后應用歸檔日志和在線日志,這樣就可以做到數據不丟失了。以下為模擬數據庫災難的過程。
(1)假設有一張T1表,建立在zhou1用戶下,如下所示:
SQL> select count(*) from zhou1.t1;

COUNT(*)

 51732

(2)數據庫某個數據文件損壞導致了表zhou1.t1讀取異常,如下所示:
SQL> select count() from zhou1.t1;
select count(
) from zhou1.t1
*
ERROR at line 1:
ORA-00376: file 4 cannot be read at this time
ORA-01110: data file 4: ‘/ora10205/oradata/ora10205/users01.dbf’
(3)如果數據文件有冷備份,只要將備份集拷貝至生產系統原目錄中,然后應用歸檔日志和在線日志就可以恢復數據,如下所示:
SQL> alter database datafile 4 offline;

Database altered.
[ora10205@mcdbatest bak]$ cp users01.dbf …/users01.dbf
SQL> recover datafile 4;
ORA-00279: change 12770129123740 generated at 12/06/2012 14:52:43 needed for
thread 1
ORA-00289: suggestion : /archlog/ora10205/1_19_800383891.dbf
ORA-00280: change 12770129123740 for thread 1 is in sequence #19

Specify log: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: change 12770129124885 generated at 12/06/2012 15:02:40 needed for
thread 1
ORA-00289: suggestion : /archlog/ora10205/1_20_800383891.dbf
ORA-00280: change 12770129124885 for thread 1 is in sequence #20
ORA-00278: log file ‘/archlog/ora10205/1_19_800383891.dbf’ no longer needed for
this recovery

Log applied.
Media recovery complete.
SQL> alter database datafile 4 online;

Database altered.

SQL> select count(*) from zhou1.t1;

COUNT(*)

 51732

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

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

相關文章

SAP HCM 0008數據存儲邏輯

0008信息類型&#xff1a;0008信息類型是存儲員工基本薪酬的地方&#xff0c;因為很多企業都會都薪酬帶寬&#xff0c;都會按崗定薪&#xff0c;所以在上線前為體現工資體系的標準化&#xff0c;都會在配置對應的薪酬關系&#xff0c;HCM叫間接評估&#xff0c;今天我們就分析下…

FPGA在光譜相機中的核心作用

FPGA&#xff08;現場可編程門陣列&#xff09;作為光譜相機的核心控制與加速單元&#xff0c;通過硬件級并行處理能力和動態可編程特性&#xff0c;實現高速、高精度的光譜數據采集與處理。以下是其具體作用分類&#xff1a; 一、高速光電信號處理 ?實時光譜復原? 通過硬…

入門OpenTelemetry——部署OpenTelemetry

OpenTelemetry 部署模式 OpenTelemetry Collector 按部署方式分為 Agent 和Gateway 模式。 Agent 模式 在 Agent 模式下&#xff0c;OpenTelemetry 檢測的應用程序將數據發送到與應用程序一起駐留的&#xff08;收集器&#xff09;代理。然后&#xff0c;該代理程序將接管并…

Windows 上安裝下載并配置 Apache Maven

1. 下載 Maven 訪問官網&#xff1a; 打開 Apache Maven 下載頁面。 選擇版本&#xff1a; 下載最新的 Binary zip archive&#xff08;例如 apache-maven-3.9.9-bin.zip&#xff09;。 注意&#xff1a;不要下載 -src 版本&#xff08;那是源碼包&#xff09;。 2. 解壓 Mave…

摩方 12 代 N200 迷你主機(Ubuntu 系統)WiFi 抓包環境配置教程

摩方12代N200迷你主機標配 Intel AX201無線網卡&#xff0c;支持 WiFi 6 協議&#xff08;802.11ax&#xff09;及藍牙5.2。此網卡兼容主流抓包工具&#xff0c;但需注意&#xff1a; 驅動兼容性&#xff1a;Ubuntu 20.04及以上內核版本&#xff08;5.4&#xff09;默認支持AX2…

輕量、優雅、高擴展的事件驅動框架——Hibiscus-Signal

在現代企業級應用中&#xff0c;事件驅動架構&#xff08;EDA&#xff09;已成為解耦系統、提升擴展性的利器。今天給大家推薦一個非常優秀的國產輕量級事件驅動框架 —— Hibiscus Signal&#xff0c;它不僅天然整合 Spring Boot&#xff0c;還提供完整的事件生命周期支持&…

集合-進階

Collection collection的遍歷方式 迭代器遍歷 不依賴索引 import java.util.ArrayList; import java.util.Collection; import java.util.Iterator;public class mycollection {public static void main(String[] args) {//1.創建集合并添加元素Collection<String> co…

【八股戰神篇】Java集合高頻面試題

專欄簡介 八股戰神篇專欄是基于各平臺共上千篇面經&#xff0c;上萬道面試題&#xff0c;進行綜合排序提煉出排序前百的高頻面試題&#xff0c;并對這些高頻八股進行關聯分析&#xff0c;將每個高頻面試題可能進行延伸的題目再次進行排序選出高頻延伸八股題。面試官都是以點破…

Android之橫向滑動列表

文章目錄 前言一、效果圖二、使用步驟1.xml布局2.代碼3.HomeHxBean3.adapter4.item布局5.兩個drawable 總結 前言 橫向滑動列表有多種實現方式&#xff0c;也可以用tablayout&#xff0c;也可以用recyclerview&#xff0c;今天主要介紹recyclerview。 一、效果圖 二、使用步驟…

關于物聯網的基礎知識(二)——物聯網體系結構分層

成長路上不孤單&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///計算機愛好者&#x1f60a;///持續分享所學&#x1f60a;///如有需要歡迎收藏轉發///&#x1f60a;】 今日分享關于物聯網的基礎知識&#xff08;二&a…

【機器人】復現 WMNav 具身導航 | 將VLM集成到世界模型中

WMNav 是由VLM視覺語言模型驅動的&#xff0c;基于世界模型的對象目標導航框架。 設計一種預測環境狀態的記憶策略&#xff0c;采用在線好奇心價值圖來量化存儲&#xff0c;目標在世界模型預測的各種場景中出現的可能性。 本文分享WMNav復現和模型推理的過程&#xff5e; 下…

英語學習5.17

attract &#x1f449; 前綴&#xff1a;at-&#xff08;朝向&#xff09; &#x1f449; 含義&#xff1a;吸引&#xff08;朝某處拉&#xff09; 例句&#xff1a;The flowers attract bees. &#xff08;花吸引蜜蜂。&#xff09; distract &#x1f449; 前綴&#xff…

【軟考 McCabe度量法】

McCabe度量法&#xff08;McCabe’s Cyclomatic Complexity&#xff09;是由Thomas McCabe提出的一種用于衡量程序模塊環路復雜性的軟件度量方法。它通過分析代碼的控制流結構來評估程序的復雜度&#xff0c;幫助開發者識別難以維護或測試風險較高的代碼區域。 一、McCabe度量法…

解讀 TypeScript 枚舉Enum

TypeScript 枚舉通過命名常量、類型安全和結構化組織&#xff0c;顯著提升代碼質量。使用時需根據場景選擇合適的類型&#xff08;數字、字符串或常量枚舉&#xff09;&#xff0c;并權衡性能與動態訪問需求。掌握其特性和使用的場景&#xff0c;能在復雜項目中有效提升代碼的可…

MODBUS RTU通信協議詳解與調試指南

一、MODBUS RTU簡介 MODBUS RTU&#xff08;Remote Terminal Unit&#xff09;是一種基于串行通信&#xff08;RS-485/RS-232&#xff09;的工業標準協議&#xff0c;采用二進制數據格式&#xff0c;具有高效、可靠的特點&#xff0c;廣泛應用于PLC、傳感器、變頻器等工業設備…

TCP/UDP協議原理和區別 筆記

從簡單到難吧 區別就是TCP一般用于安全穩定的需求&#xff0c;UDP一般用于不那么需要完全數據的需求&#xff0c;比如說直播&#xff0c;視頻等。 再然后就是TPC性能慢于UDP。 再然后我們看TCP的原理&#xff08;三次握手&#xff0c;數據傳輸&#xff0c;四次揮手&#xff0…

Jackson使用詳解

JSON Jackson是java提供處理json數據序列化和反序列的工具類&#xff0c;在使用Jackson處理json前&#xff0c;我們得先掌握json。 JSON數據類型 類型示例說明字符串&#xff08;String&#xff09;"hello"雙引號包裹&#xff0c;支持轉義字符&#xff08;如 \n&a…

C語言| 指針變量的定義

C語言| 指針的優點-CSDN博客 * 表示“指向”&#xff0c;為了說明指針變量和它所指向的變量之間的聯系。 int * i&#xff1b;//表示指針變量i里面存放的地址&#xff0c;所指向的存儲單元里的【數據】。 【指針變量的定義】 C語言規定所有變量&#xff0c;在使用前必須先定…

Java 快速轉 C# 教程

以下是一個針對 Java 開發者快速轉向 C# 的簡明教程&#xff0c;重點對比 Java 與 C# 的異同&#xff0c;幫助你快速上手。 項目結構&#xff1a; .sln &#xff1a;解決方案文件&#xff0c;管理多個項目之間的依賴關系。.csproj &#xff1a;項目文件&#xff0c;定義目標框…

EasyExcel詳解

文章目錄 一、easyExcel1.什么是easyExcel2.easyExcel示例demo3.easyExcel read的底層邏輯~~4.easyExcel write的底層邏輯~~ 二、FastExcel1.為什么更換為fastExcel2.fastExcel新功能 一、easyExcel 1.什么是easyExcel 內容摘自官方&#xff1a;Java解析、生成Excel比較有名的…