Orale數據文件加錯位置,你直接rm引發的故障

數據庫可能面臨硬件故障、人為錯誤、惡意攻擊、自然災害等多種潛在風險,那么今天這個故障就是由于業務人員加錯數據文件的位置,然后直接從物理層面rm -f了,導致了生產的故障!

以下是針對Oracle數據庫物理刪除數據文件后的快速修復處理方案,結合實戰場景與核心操作步驟

1.緊急處理

禁止重啟數據庫:若數據文件被刪除但數據庫仍處于OPEN狀態,立即停止所有可能觸發數據寫入的操作(如DDL、DML),避免數據塊覆寫。

確認文件狀態:
SELECT file#, name, status FROM 
v$datafile WHERE name = '[被刪除文件路徑]';若狀態為ONLINE,
文件句柄可能仍存在于內存中,可通過進程恢復。

2.快速恢復流程

場景1:數據庫未關閉,文件句柄存活

1.定位進程文件描述符
查找DBWR進程(如ora_dbw0_[SID])的PID:
ps -ef | grep dbw0
進入進程文件目錄,
查找被刪除文件的描述符編號(如/proc/3318/fd):
ls -l /proc/[PID]/fd | grep [被刪除文件名]
復制文件描述符到原路徑:
cp /proc/[PID]/fd/[描述符編號] /原路徑/文件名.dbf2.恢復文件權限
chown oracle:oinstall /原路徑/文件名.dbf3.數據庫層面修復
ALTER DATABASE DATAFILE '[文件路徑]' OFFLINE;
RECOVER DATAFILE '[文件路徑]';
ALTER DATABASE DATAFILE '[文件路徑]' ONLINE;

場景2:數據庫關閉關文件句柄丟失

1.RMAN全量恢復
RMAN> STARTUP MOUNT;
RMAN> RESTORE DATAFILE [文件編號];
RMAN> RECOVER DATAFILE [文件編號];
RMAN> ALTER DATABASE OPEN;2.增量備份恢復
RMAN> RECOVER DATAFILE [文件編號] 
UNTIL TIME 'YYYY-MM-DD HH24:MI:SS';

場景3 無備份的極端情況

嘗試從歸檔日志重建數據文件,需ALTER DATABASE CREATE DATAFILE命令配合完整歸檔鏈。

3.正確的操作步驟

當我們加錯數據文件的位置時,一般會導致備份的失敗,所以從alert日志中看到有如下報錯
ERROR at line 1:ORA-01157: cannot identify/lock data file 34 - see DBWR trace file

大多數發生在ASM磁盤的文件給加到了本地,正確的操作步驟如下:

sql>alter database datafile 34 offline;
rman> backup as copy 
datafile 34 format '+data';
rman> switch datafile 34 to copy;
sql>recover datafile 34;
sql>alter database datafile 34 online;

4.典型報錯

ORA-01157: cannot identify/lock data file
檢查文件權限與路徑是否正確,使用chown修正所有權。

ORA-27041: unable to open file
確認文件是否被徹底刪除,嘗試從備份或/proc恢復

總結

通過上述方案,可在10分鐘內恢復90%以上的物理刪除事故,結合預防措施可將風險降低95%以上。建議定期進行“刪除數據文件”災難演練,確保團隊熟悉應急流程。

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

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

相關文章

ChromeDriver下載 最新版本 134.0.6998.35

平時為了下個驅動,到處找挺麻煩,收集了很多無償分享給需要的人,僅供學習和交流。 ChromeDriver及瀏覽器134.0.6998.35 ChromeDriver及瀏覽器133.0.6943.141 ChromeDriver 102.0.5005.61 ChromeDriver 105.0.5195.102 ChromeDriver 108.0…

QEMU源碼全解析 —— 塊設備虛擬化(2)

接前一篇文章:QEMU源碼全解析 —— 塊設備虛擬化(1) 本文內容參考: 《趣談Linux操作系統》 —— 劉超,極客時間 《QEMU/KVM源碼解析與應用》 —— 李強,機械工業出版社 特此致謝! 上一回講解了幾種虛擬化方式(全虛擬化、半虛擬化和硬件輔助虛擬化)的優缺點及其對比…

Redis——緩存穿透、擊穿、雪崩

緩存穿透 什么是緩存穿透 緩存穿透說簡單點就是大量請求的 key 根本不存在于緩存中,導致請求直接到了數據庫上,根本沒有經過緩存這一層。舉個例子:某個黑客故意制造我們緩存中不存在的 key 發起大量請求,導致大量請求落到數據庫…

DELETE/ UPDATE/ INSERT 語句會自動加鎖

在數據庫系統中,DELETE、UPDATE 和 INSERT 語句通常會自動加鎖,以確保數據的一致性和并發控制。具體的鎖類型和效果取決于數據庫的實現(如 MySQL、PostgreSQL 等)以及事務的隔離級別。以下是這些操作通常加鎖的行為和效果&#xf…

【從零開始學習計算機科學】硬件設計與FPGA原理

硬件設計 硬件設計流程 在設計硬件電路之前,首先要把大的框架和架構要搞清楚,這要求我們搞清楚要實現什么功能,然后找找有否能實現同樣或相似功能的參考電路板(要懂得盡量利用他人的成果,越是有經驗的工程師越會懂得借鑒他人的成果)。如果你找到了的參考設計,最好還是…

SpringCloud—概述—01

一、微服務 1)單體架構 業務的所有功能實現都打包在一個 war 包或者 jar 包中,這種方式就稱為 單體架構 例如,學校中實現的博客系統,前端后端數據庫實現,都是在一個項目中 把所有模塊都寫在一個 web 項目中&#x…

C++ 學生成績管理系統

一、項目背景與核心需求 成績管理系統是高校教學管理的重要工具,本系統采用C++面向對象編程實現,主要功能模塊包括: 學生信息管理(學號/姓名/3門課程成績) 成績增刪改查(CRUD)操作 數據持久化存儲 統計分析與報表生成 用戶友好交互界面 二、系統架構設計 1. 類結構設計 …

go的grpc

GRPC介紹 目錄 單體架構微服務架構問題原始的grpc 服務端客戶端原生rpc的問題 grpc的hello world 服務端客戶端 proto文件proto語法 數據類型 基本數據類型其他數據類型 編寫風格多服務 單體架構 只能對整體擴容一榮俱榮,一損俱損代碼耦合,項目的開…

1.12.信息系統的分類【ES】

專家系統(ES)技術架構深度解析 一、ES核心定義 🧠 智能決策中樞 由三大核心能力構建的領域專家模擬系統: 存儲專家級領域知識(10^4規則量級)支持不確定性推理(置信度>85%)動態…

考研數一非數競賽復習之Stolz定理求解數列極限

在非數類大學生數學競賽中,Stolz定理作為一種強大的工具,經常被用來解決和式數列極限的問題,也被譽為離散版的’洛必達’方法,它提供了一種簡潔而有效的方法,使得原本復雜繁瑣的極限計算過程變得直觀明了。本文&#x…

html播放本地音樂

本地有多個音樂文件,想用 html 逐個播放,或循環播放,并設置初始音量。 audio 在 html 中播放音樂文件用 audio 標簽: controls 啟用控制按鈕,如進度條、播放、音量、速度等。不加不顯示任何 widget。autoplay 理應啟…

DeepSeek-Manus精品課合集【附下載】

AI消息不斷,繼DeepSeek之后,又出了一個顛覆性的AI產品Manus,號稱全球第一個通用型AI。相比與DeepSeek, Manus擁有更強的自主性和執行力。 如果說DeepDeek是一個最強大腦,那么Manus就是一個完整的人! DeepS…

MySQL復習筆記

MySQL復習筆記 1.MySQL 1.1什么是數據庫 數據庫(DB, DataBase) 概念:數據倉庫,軟件,安裝在操作系統(window、linux、mac…)之上 作用:存儲數據,管理數據 1.2 數據庫分類 關系型數據庫&#…

從源到目標:深度學習中的遷移學習與領域自適應實踐

引言:數據驅動的智能時代與遷移挑戰 在深度學習快速發展的今天,模型訓練對數據量和質量的依賴成為核心瓶頸。面對新場景時,標注數據不足、數據分布差異等問題常導致模型性能驟降。遷移學習(Transfer Learning)與領域自…

【網絡】HTTP協議、HTTPS協議

HTTP與HTTPS HTTP協議概述 HTTP(超文本傳輸協議):工作在OSI頂層應用層,用于客戶端(瀏覽器)與服務器之間的通信,B/S模式 無狀態:每次請求獨立,服務器不保存客戶端狀態(通…

Jmeter使用介紹

文章目錄 前言Jmeter簡介安裝與配置JDK安裝與配置JMeter安裝與配置 打開JMeter方式一方式二 設置Jmeter語言為中文方法一(僅一次性)方法二(永久設置成中文) Jmeter文件常用目錄 元件與組件元件組件元件的作用域元件的執行順序第一個案例添加線程組添加 H…

【NLP 32、文本匹配任務 —— 深度學習】

大劫大難以后,人不該失去銳氣,不該失去熱度,你鎮定了卻依舊燃燒,你平靜了卻依舊浩蕩,致那個從絕望中走出來的自己,共勉 —— 25.1.31 使用深度學習在文本匹配任務上主要有兩種方式:① 表示型 ②…

發展史 | 深度學習 / 云計算

注:本文為來自 csdn 不錯的“深度學習 / 云計算發展史 ” 相關文章合輯。 對原文,略作重排。 深度學習發展史(1943-2024 編年體)(The History of Deep Learning) Hefin_H 已于 2024-05-23 15:54:45 修改 …

通領科技沖刺北交所

高質量增長奔赴產業新征程 日前,通領科技已正式啟動在北交所的 IPO 進程,期望借助資本市場的力量,加速技術升級,推動全球化戰略布局。這一舉措不僅展現了中國汽車零部件企業的強大實力,也預示著行業轉型升級的新突破。…

TCP/IP 5層協議簇:網絡層(ICMP協議)

1. TCP/IP 5層協議簇 如下: 和ip協議有關的才有ip頭 2. ICMP 協議 ICMP協議沒有端口號,因為不去上層,上層協議采用端口號