Oracle相關文檔,希望互相學習,共同進步
風123456789~-CSDN博客
1.背景
同事檢查擴容情況,發現客戶擴容后數據盤后,盤中原有文件丟失,再檢查發現數據庫沒有啟動。通過檢查發現數據盤中丟失的是oracle的 dbf 表空間文件。數據庫無法啟動。
檢查情況:1)沒有rman備份 2)dbf文件丟失 3)數據庫無法啟動
總體解決思路:想辦法把數據庫啟動起來,重新導入dmp文件
或者 最終如果還不行,重裝 導入
2. 檢查
2.1 檢查狀態
檢查數據庫狀態:sql查詢 或 show pdbs
-- 查看實例狀態
SELECT status FROM v$instance;-- 查看數據庫的啟動狀態
SELECT open_mode FROM v$database;
結果截圖:
數據庫啟動狀態
結果分析:發現數據庫是mount狀態。
mount狀態:僅當前實例的控制文件被打開,數據文件未打開,在這個模式下可以進行如下操作:重命名數據文件、添加取消或重命名重做日志文件、設置歸檔模式、設置閃回、執行完整的數據庫恢復操作等。
2.2 問題排查
1)嘗試啟動
命令:alter database open;
結果截圖:
分析:
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 18 - see DBWR trace file
ORA-01110: data file 18: '/vdb1/oracle/ny_data_001.dbf
2)問題排查
發現/vdb1 文件為空,沒有文件了
3)其他
因為數據庫沒有open,無法生產awr報告:
-- 生成AWR報告
@$ORACLE_HOME/rdbms/admin/awrrpt.sql;
-- 生成ADDM報告
@$ORACLE_HOME/rdbms/admin/addm.sql;
2.3 準備恢復
1)查看環境變量 家目錄
echo $ORACLE_HOME
結果:/data/u01/app/oracle/product/19.3.0/dbhome_1
2)查看alert日志
cd $ORACLE_BASE/diag/rdbms/<db_name>/<oracle_sid>/trace/alert_<oracle_sid>.log
select file#,name,status from v$datafile;
3) 查看是否開啟rman
命令:rman target /
rman > report schema
rman target / Recovery Manager: Release 19.0.0.0.0 - Production on Mon May 12 15:00:00 2025
Version 19.22.0.0.0 Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.connected to target database: ORCL (DBID=1622948453, not open) RMAN> report schema; using target database control file instead of recovery catalog
Report of database schema for database with db_unique_name ORCL List of Permanent Datafiles