第三篇《RMAN 備份與恢復指南:保障數據庫安全》(RMAN)

《Oracle 數據遷移與備份系列》

第三篇:《RMAN 備份與恢復指南:保障數據庫安全》(RMAN)

1.概述

RMAN(Recovery Manager) 是 Oracle 數據庫內置的專用備份與恢復工具,提供高效、安全的物理級數據保護機制。它支持數據庫的 完整備份、增量備份、數據恢復 以及 跨平臺遷移,是 DBA 進行數據庫管理的重要工具。

2.RMAN介紹

2.1功能概述

  • 數據庫備份:支持 完整備份增量備份歸檔日志備份,確保數據安全。

  • 數據恢復:可快速恢復數據庫,包括 整庫恢復、表空間恢復、數據文件恢復 等。

  • 跨平臺遷移:支持 跨操作系統 遷移數據庫,如 Linux 遷移至 Windows。

  • 備份優化:支持 壓縮、去重、加密,減少備份存儲占用,提高安全性。

2.2核心特性

RMAN 具有以下特性,使其成為 Oracle 官方推薦的備份與恢復工具:

備份管理
  • 支持熱備份:可在數據庫運行時執行備份,無需停機。
  • 增量備份:僅備份 自上次備份以來 發生變化的數據,提高效率。
  • 自動備份控制文件與 SPFILE,防止重要元數據丟失。
數據恢復
  • 塊級恢復:當某個數據塊損壞時,可直接修復,而無需恢復整個數據文件。
  • 時間點恢復(PITR):可將數據庫恢復到指定時間點,適用于誤操作恢復。
  • 快速故障恢復:結合 Flashback 技術,實現 回滾操作、數據庫重演

3.RMAN的優勢

  • 高效備份:支持 增量備份、壓縮存儲,減少磁盤占用。

  • 快速恢復:可進行 整庫、表空間、數據文件、塊級別恢復,避免全庫重建。

  • 跨平臺遷移:支持 不同架構的 Oracle 版本遷移,靈活適配業務需求。

4.RMAN數據遷移實施步驟

4.1環境準備

(1)確保主備庫環境一致

  • 目標服務器上的oracle版本必須與源庫相同或更高
  • 目錄結構盡量一致
    • 如果不一致需要手動調整。

(2)開啟歸檔模式

在主庫執行:

SELECT LOG_MODE FROM V$DATABASE;

如果未顯示open狀態

SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;

(3)啟用強制日志模式

ALTER DATABASE FORCE LOGGING;

4.2使用RMAN全備份

  • 適用于數據量適中可接受服務器長時間停機的狀況。

(1)備份數據庫

在主庫上,使用RMAN進行全備份:

rman target /
RUN {BACKUP DATABASE FORMAT '/u01/backup/db_%U.bkp';BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT '/u01/backup/standby_control.bkp';
}

命令解析

  1. rman target /

    • 連接 RMAN,target / 表示 直接連接本地數據庫(以 Oracle 用戶運行)。
  2. BACKUP DATABASE FORMAT '/u01/backup/db_%U.bkp';';

    • 備份 整個數據庫(包括數據文件)。

    • FORMAT '/u01/backup/db_%U.bkp'
      

      指定備份文件路徑:

      • %U:RMAN 自動生成唯一的備份文件名,避免沖突。
  3. BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT '/u01/backup/standby_control.bkp';

    • 備份當前 控制文件,用于創建 Standby 備庫。
    • FOR STANDBY:指定該控制文件將用于 Data Guard 備庫

(2)傳輸數據文件到備庫

scp /u01/backup/* oracle@<備庫IP>:/u01/backup/

(3)在備庫恢復數據庫

rman target /
RUN {SET DBID <主庫DBID>;   # 可選,確保識別正確的備份STARTUP NOMOUNT;RESTORE STANDBY CONTROLFILE FROM '/u01/backup/standby_control.bkp';ALTER DATABASE MOUNT;RESTORE DATABASE;RECOVER DATABASE;
}
  • SET DBID <主庫DBID>;:選擇數據庫DBID,防止RMAN誤識別數據庫。
  • STARTUP NOMOUNT 先啟動實例,再恢復控制文件,符合最佳實踐。
  • ALTER DATABASE MOUNT 掛載數據庫,使其進入 Standby 狀態。
  • RECOVER DATABASE 應用歸檔日志,確保數據一致性。

(4)啟動數據庫

ALTER DATABASE OPEN RESETLOGS;

4.3使用RMAN全備份

  • 適用于數據量適中可接受服務器長時間停機的狀況。

(1)備份數據庫

在主庫上,使用RMAN進行全備份:

rman target /
RUN {BACKUP INCREMENTAL LEVEL 0 DATABASE FORMAT '/u01/backup/db_%U.bkp';BACKUP CURRENT CONTROLFILE FORMAT '/u01/backup/controlfile.bkp';	
}

命令解析

  1. rman target /

    • 連接 RMAN,target / 表示 直接連接本地數據庫(以 Oracle 用戶運行)。
  2. BACKUP INCREMENTAL LEVEL 0 DATABASE FORMAT '/u01/backup/db_%U.bkp';

    • 備份 整個數據庫(包括數據文件)。

    • INCREMENTAL LEVEL 0

      • Level 0(全備份):相當于完整備份,備份所有數據塊。
      • Level 1(增量備份):僅備份 自上次 Level 0 或 Level 1 以來 發生變化的數據塊。
    • FORMAT '/u01/backup/db_%U.bkp'
      

      指定備份文件路徑:

      • %U:RMAN 自動生成唯一的備份文件名,避免沖突。
  3. BACKUP CURRENT CONTROLFILE FOR STANDBY FORMAT '/u01/backup/controlfile.bkp';

    • 備份當前 控制文件,用于創建 Standby 備庫。
    • FOR STANDBY:指定該控制文件將用于 Data Guard 備庫

(2)傳輸數據文件到備庫

scp /u01/backup/* oracle@<備庫IP>:/u01/backup/

(3)在備庫恢復數據庫

rman target /
RESTORE DATABASE;
RECOVER DATABASE;

(4)定期進行增量備份

主庫 定期執行增量備份:

rman target /
BACKUP INCREMENTAL LEVEL 1 DATABASE FORMAT '/u01/backup/inc_%U.bkp';

然后傳輸到 目標庫 并恢復:

scp /u01/backup/inc_* 目標服務器:/u01/backup/
rman target /
RECOVER DATABASE;

(5)最終切換

在主庫 最后一次增量備份 并傳輸到目標庫后,執行:

ALTER DATABASE OPEN RESETLOGS;

5.結語

至此,使用 RMAN 進行數據遷移 的流程已完成。

本文旨在為初學者提供學習參考,作者仍在不斷學習和探索,若有不足之處,歡迎指正交流。如遇問題,歡迎私信或在評論區討論,共同進步!😊

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

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

相關文章

【測試框架篇】單元測試框架pytest(4):assert斷言詳解

一、前言 用例三要素之一就是對預期結果的斷言。 何為斷言&#xff1f;簡單來說就是實際結果和期望結果去對比&#xff0c;符合預期就測試pass&#xff0c;不符合預期那就測試 failed。斷言內容就是你要的預期結果。斷言包含對接口響應內容做斷言、也包含對落DB的數據做斷言。…

什么是大模型微調?

在大模型&#xff08;如GPT、BERT、LLaMA等&#xff09;廣泛應用的今天&#xff0c;“微調”&#xff08;Fine-Tuning&#xff09;已成為釋放模型潛力的關鍵技術。它通過針對特定任務調整預訓練模型&#xff0c;使其從“通才”變為“專才”。本文將從概念、原理到實踐&#xff…

C# Channel

核心概念創建Channel無界通道有界通道FullMode選項 生產者-消費者模式生產者寫入數據消費者讀取數據 完整示例高級配置優化選項&#xff1a;取消操作&#xff1a;通過 CancellationToken 取消讀寫。 錯誤處理適用場景Channel的類型創建Channel寫入和讀取消息使用場景示例代碼注…

基于Spring Boot的牙科診所管理系統的設計與實現(LW+源碼+講解)

專注于大學生項目實戰開發,講解,畢業答疑輔導&#xff0c;歡迎高校老師/同行前輩交流合作?。 技術范圍&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬蟲、數據可視化、安卓app、大數據、物聯網、機器學習等設計與開發。 主要內容&#xff1a;…

upload-labs-靶場(1-19關)通關攻略

文件上傳漏洞是指由于程序員再開發時&#xff0c;未對用戶上傳的文件進行嚴格的驗證和過濾&#xff0c;而導致用戶可以上傳可執行的動態腳本文件 Pass-01&#xff08;前端驗證繞過&#xff09; 上傳111.php文件&#xff0c;發現彈窗顯示不允許&#xff0c;并給出白名單文件類…

使用 pytesseract 進行 OCR 識別:以固定區域經緯度提取為例

引言 在智能交通、地圖定位等應用場景中&#xff0c;經常會遇到需要從圖像中提取經緯度信息的需求。本篇文章將介紹如何利用 Python 的 pytesseract 庫結合 PIL 對圖像進行預處理&#xff0c;通過固定區域裁剪&#xff0c;來有效地識別出圖像上顯示的經緯度信息。 1. OCR 與 …

docker安裝和卸載

服務器系統&#xff1a;Ubuntu Server 18.04.2 64bit 1 安裝docker&#xff1a; 1.1 在線安裝 1.# yum install docker 1.2 離線安裝 https://download.csdn.net/download/qq_27106141/90477700 1.# docker-18.03.1-ce.tgz 1.2.1 解壓 tar -xzvf docker-18.03.1-ce.tgz 1.2.2…

機器人交互系統 部署構建

環境要求 Ubuntu 20.04 或更高版本ROS Noetic 或兼容版本Python 3.8 安裝步驟 1. 安裝ROS環境&#xff08;如未安裝&#xff09; sudo apt update sudo apt install ros-noetic-desktop-full source /opt/ros/noetic/setup.bash2. 創建工作空間并克隆代碼 mkdir -p ~/code…

【Go每日一練】構建一個簡單的用戶信息管理系統

&#x1f47b;創作者&#xff1a;丶重明 &#x1f47b;創作時間&#xff1a;2025年3月7日 &#x1f47b;擅長領域&#xff1a;運維 目錄 1.&#x1f636;?&#x1f32b;?題目&#xff1a;簡單的用戶信息管理系統2.&#x1f636;?&#x1f32b;?代碼開發3.&#x1f636;?&a…

全員DeepSeek時代,前端能做些什么?

全員DeepSeek時代&#xff0c;前端能做些什么&#xff1f; 前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;可以分享一下給大家。點擊跳轉到網站。 https://www.captainbed.cn/ccc #mermaid-svg-VNyL95jkz9jEXgUq {font-family:&…

Machine Learning: 十大基本機器學習算法

機器學習算法分類&#xff1a;監督學習、無監督學習、強化學習 基本的機器學習算法&#xff1a; 線性回歸、支持向量機(SVM)、最近鄰居(KNN)、邏輯回歸、決策樹、k平均、隨機森林、樸素貝葉斯、降維、梯度增強。 機器學習算法大致可以分為三類&#xff1a; 監督學習算法 (Sup…

【Linux docker 容器】關于想要讓虛擬機在開機時候也docker自己啟動,容器也自己啟動,省去要自己開docker和容器

確認 Docker 服務狀態&#xff1a; 首先&#xff0c;你需要確保 Docker 服務已經在虛擬機上安裝并正確配置。你可以使用如下命令來檢查 Docker 服務的狀態&#xff1a; systemctl status docker.service 如果服務沒有運行&#xff0c;你可以使用以下命令啟動它&#xff1a; s…

前端系統測試(單元、集成、數據|性能|回歸)

有關前端測試的面試題 系統測試 首先,功能測試部分。根據資料,單元測試是驗證最小可測試單元的正確性,比如函數或組件。都提到了單元測試的重要性,強調其在開發早期發現問題,并通過自動化提高效率。需要整合我搜索到的資料中的觀點,比如單元測試的方法(接口測試、路徑覆…

linux 命令 ls

ls 是 Linux 系統中用于列出目錄內容的核心命令&#xff0c;幾乎所有日常操作都會用到。以下是其詳細用法和常見場景說明 1. 基礎語法 ls [選項] [目錄/文件] 不指定目錄時&#xff0c;默認列出當前目錄的內容。 可以指定文件或目錄路徑&#xff0c;支持通配符&#xff08;如…

CI/CD—GitLab部署

GitLab簡介&#xff1a; GitLab 是一個用于代碼托管和軟件開發協作的平臺&#xff0c;在全球開發者社區及企業中應用廣泛&#xff0c;以下是對它的詳細介紹&#xff1a; 主要功能 代碼托管&#xff1a;提供了基于 Git 的代碼倉庫管理功能&#xff0c;支持創建、克隆、推送、…

ubuntu軟件

視頻軟件&#xff0c;大部分的編碼都能適應 sudo apt install vlc圖片軟件 sudo apt install gwenview截圖軟件 sudo apt install flameshot設置快捷鍵 flameshot flameshot gui -p /home/cyun/Pictures/flameshot也就是把它保存到一個自定義的路徑 菜單更換 sudo apt r…

Easysearch 使用 AWS S3 進行快照備份與還原:完整指南及常見錯誤排查

Easysearch 可以使用 AWS S3 作為遠程存儲庫&#xff0c;進行索引的快照&#xff08;Snapshot&#xff09;備份和恢復。同時&#xff0c;Easysearch 內置了 S3 插件&#xff0c;無需額外安裝。以下是完整的配置和操作步驟。 1. 在 AWS S3 上創建存儲桶 登錄 AWS 控制臺&#x…

【系統架構設計師】性能評估

目錄 1. 說明2. 基準測試程序3. Web服務器的性能評估4. 系統監視5. 例題5.1 例題1 1. 說明 1.性能評估是為了一個目的&#xff0c;按照一定的步驟&#xff0c;選用一定的度量項目&#xff0c;通過建模和實現&#xff0c;對一個系統的性能進行各項檢測&#xff0c;對測試結果做…

動態規劃-第2篇

前言&#xff1a;在上一篇文章中&#xff0c;我們了解了動態規劃的基本概念和解決問題的基本思路。通過分解問題、存儲子問題的解&#xff0c;動態規劃為我們提供了高效的解決方案。然而&#xff0c;動態規劃并不是一成不變的&#xff0c;它有很多不同的技巧和變種&#xff0c;…

基于Redis實現限流

限流盡可能在滿足需求的情況下越簡單越好&#xff01; 1、基于Redsi的increment方法實現固定窗口限流 Redis的increment方法保證并發線程安全窗口盡可能越小越好(太大可能某一小段時間就打滿請求剩下的都拿不到令牌了)這個原理其實就是用當前時間戳然后除窗口大小 在這個窗口大…