今天給客戶初始化oracle還原數據。不小心手誤刪除了建立的表空間;
記住:客戶的環境能不刪東西就不刪。物理刪除是最最最忌諱的,一個生成的文件肯定是關聯了什么東西。
還原一旦手動刪除了表空間,oracle會出現什么樣的症狀? (因為我關閉了linux窗口,報錯靠描繪和借鑒其他博主報錯)
一、首先你的sysdba可以連上,但是查詢語句的時候就會報錯,報的錯誤就是打不開數據庫
查詢這個語句select file#,name,status from v$datafile;出現各種表空間名。
查詢這個語句是 select * from v$tempfile; 臨時表空間。
會提示缺失:xxx表空間不存在,因為被手動刪了。
類似oracle-01516,Oracle 11g ORA-01516: nonexistent log file, data file, or temporary file ....
二、登錄用戶會報錯
Caused by: java.sql.SQLException: ORA-01109: database not open
三、不能創建數據庫,提示也是沒打開數據庫。
解決方法:
登錄:
(1):sqlplus "/as sysdba" (2):SQL> shutdown immediate (3)SQL> startup ORACLE 例程已經啟動。
報錯類似
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 293601280 bytes
Fixed Size 1248600 bytes
Variable Size 92275368 bytes
Database Buffers 192937984 bytes
Redo Buffers 7139328 bytes
數據庫裝載完畢。
ORA-01157: 無法標識/鎖定數據文件 6 - 請參閱 DBWR 跟蹤文件
ORA-01110: 數據文件 6: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERNACTIVEDB.DBF'
(5)SQL> select name from v$datafile;
NAME -------------------------------------------------------------------------------- NAME -------------------------------------------------------------------------------- D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERN\SYSTEM01.DBF D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERN\UNDOTBS01.DBF D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERN\SYSAUX01.DBF D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERN\USERS01.DBF D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERN\EXAMPLE01.DBF D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERNACTIVEDB.DBF D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERN\DRP.DBF
SQL> alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERNACTIVEDB.DBF' offline;
alter database datafile D:\ORACLE\PRODUCT\10.2.0\ORADATA\BJPOWERNACTIVEDB.DBF offline 第 1 行出現錯誤: ORA-01145: 除非啟用了介質恢復, 否則不允許立即脫機 此時alter system check datafiles命令可以用來糾正這個問題,使數據文件能夠正常訪問,將觸發實例重新識別並驗證這個數據文件。然后使數據庫能夠正常工作 SQL> alter system check datafiles; System altered.
SQL> shutdown immediate; ORA-01109: 數據庫未打開
ORACLE 例程已經啟動。 Total System Global Area 293601280 bytes Fixed Size 1248600 bytes Variable Size 92275368 bytes Database Buffers 192937984 bytes Redo Buffers 7139328 bytes 數據庫裝載完畢。 數據庫已經打開.
注意事項:
先offline 再online:
發現: offline 容易,online 難:
最好再讓系統檢查下審核下文件,核查下文件位置。
sql:alter system check datafiles;
System altered.
如果報以下錯誤
ERROR at line 1:
ORA-01122: database file xxx failed verification check
ORA-01110: data file 201: 'xxx/xxx/temp01.dbf'
ORA-01203: wrong incarnation of this file - wrong creation SCN
SQL> alter database tempfile '/u02/ezhou/temp01.dbf' offline;
Database altered.
SQL> alter database tempfile '/u02/ezhou/temp01.dbf' drop;
Database altered.
SQL> alter database tempfile '/u02/ezhou/temp01.dbf' online;
alter database tempfile '/u02/ezhou/temp01.dbf' online *
ERROR at line 1:
ORA-01122: database file 201 failed verification check
ORA-01110: data file 201: '/u02/ezhou/temp01.dbf'
ORA-01203: wrong incarnation of this file - wrong creation SCN
參考文章:https://blog.csdn.net/xml1996/article/details/104704869/
