新装的oracle缺少很多文件夹,丢失所有文件、拥有全备份,缺少后增加的文件
1.測試,移除當前所有文件
從備份中恢復數據文件及控制文件(丟失后增加的文件)
SQL> startup;
ORACLE 例程已經啟動。
Total System Global Area 47259136 bytes
Fixed Size 454144 bytes
Variable Size 29360128 bytes
Database Buffers 16777216 bytes
Redo Buffers 667648 bytes
數據庫裝載完畢。
數據庫已經打開。
SQL> archive log start;
已處理的語句
SQL> archive log list;
數據庫日志模式 存檔模式
自動存檔 啟用
存檔終點 e:\oracle\ora92\RDBMS
最早的概要日志序列 30
下一個存檔日志序列 32
當前日志序列 32
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
E:\ORACLE\ORADATA\EYGLE\SYSTEM01.DBF
E:\ORACLE\ORADATA\EYGLE\UNDOTBS01.DBF
E:\ORACLE\ORADATA\EYGLE\EYGLE01.DBF
SQL> create tablespace test datafile 'e:\oracle\oradata\eygle\test01.dbf'
2 size 5m;
表空間已創建。
SQL> alter system switch logfile;
系統已更改。
SQL> create table t tablespace test as select * from dba_users;
表已創建。
SQL> alter system switch logfile;
系統已更改。
SQL> shutdown abort;
ORACLE 例程已經關閉。
SQL> exit
從Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.5.0 - Production中斷開
E:\Oracle\oradata\eygle>mv TEST01.DBF bak
E:\Oracle\oradata\eygle>mkdir bak2
E:\Oracle\oradata\eygle>mv *.* bak2
E:\Oracle\oradata\eygle>ls
bak bak2
E:\Oracle\oradata\eygle>mv bak\*.* . --從備份中恢復
E:\Oracle\oradata\eygle>ls
CONTROL01.CTL CONTROL03.CTL REDO01.LOG REDO03.LOG TEMP01.DBF UNDOTBS01.DBF bak2
CONTROL02.CTL EYGLE01.DBF REDO02.LOG SYSTEM01.DBF TEST01.DBF bak sqlnet.log
E:\Oracle\oradata\eygle>mv TEST01.DBF bak --移除后增加的這個文件
E:\Oracle\oradata\eygle>ls
CONTROL01.CTL CONTROL03.CTL REDO01.LOG REDO03.LOG TEMP01.DBF bak sqlnet.log
CONTROL02.CTL EYGLE01.DBF REDO02.LOG SYSTEM01.DBF UNDOTBS01.DBF bak2
2.開始恢復
E:\Oracle\oradata\eygle>sqlplus "sys/oracle as sysdba"
SQL*Plus: Release 9.2.0.5.0 - Production on 星期三 10月 13 23:50:06 2004
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
已連接到空閑例程。
SQL> startup mount;
ORACLE 例程已經啟動。
Total System Global Area 47259136 bytes
Fixed Size 454144 bytes
Variable Size 29360128 bytes
Database Buffers 16777216 bytes
Redo Buffers 667648 bytes
數據庫裝載完畢。
SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 134694 (在 10/13/2004 22:14:13 生成) 對于線程 1 是必需的
ORA-00289: 建議: E:\ORACLE\ORA92\RDBMS\ARC00032.001
ORA-00280: 更改 134694 對于線程 1 是按序列 # 32 進行的
指定日志: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00283: 恢復會話因錯誤而取消
ORA-01244: 未命名的數據文件由介質恢復添加至控制文件
ORA-01110: 數據文件 4: 'E:\ORACLE\ORADATA\EYGLE\TEST01.DBF'
ORA-01112: 未啟動介質恢復
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
E:\ORACLE\ORADATA\EYGLE\SYSTEM01.DBF
E:\ORACLE\ORADATA\EYGLE\UNDOTBS01.DBF
E:\ORACLE\ORADATA\EYGLE\EYGLE01.DBF
E:\ORACLE\ORA92\DATABASE\UNNAMED00004
注意:由于使用的是備份的控制文件進行恢復,該文件中不包含后增加的文件,恢復過程中會缺省的賦予一個文件名,本案例時:UNNAMED00004
3.更改文件名稱繼續恢復
SQL> alter database create datafile 'E:\ORACLE\ORA92\DATABASE\UNNAMED00004'
as 'E:\ORACLE\ORADATA\EYGLE\TEST01.DBF';
數據庫已更改。
SQL> recover database using backup controlfile until cancel;
ORA-00279: 更改 134923 (在 10/13/2004 22:40:10 生成) 對于線程 1 是必需的
ORA-00289: 建議: E:\ORACLE\ORA92\RDBMS\ARC00032.001
ORA-00280: 更改 134923 對于線程 1 是按序列 # 32 進行的
指定日志: {=suggested | filename | AUTO | CANCEL}
ORA-00279: 更改 134967 (在 10/13/2004 22:40:40 生成) 對于線程 1 是必需的
ORA-00289: 建議: E:\ORACLE\ORA92\RDBMS\ARC00033.001
ORA-00280: 更改 134967 對于線程 1 是按序列 # 33 進行的
ORA-00278: 此恢復不再需要日志文件 'E:\ORACLE\ORA92\RDBMS\ARC00032.001'
指定日志: {=suggested | filename | AUTO | CANCEL}
E:\Oracle\oradata\eygle\bak2\REDO03.LOG
ORA-00279: 更改 134998 (在 10/13/2004 22:41:05 生成) 對于線程 1 是必需的
ORA-00289: 建議: E:\ORACLE\ORA92\RDBMS\ARC00034.001
ORA-00280: 更改 134998 對于線程 1 是按序列 # 34 進行的
ORA-00278: 此恢復不再需要日志文件 'E:\Oracle\oradata\eygle\bak2\REDO03.LOG'
指定日志: {=suggested | filename | AUTO | CANCEL}
E:\Oracle\oradata\eygle\bak2\REDO01.LOG
ORA-00279: 更改 155020 (在 10/13/2004 22:44:30 生成) 對于線程 1 是必需的
ORA-00289: 建議: E:\ORACLE\ORA92\RDBMS\ARC00035.001
ORA-00280: 更改 155020 對于線程 1 是按序列 # 35 進行的
ORA-00278: 此恢復不再需要日志文件 'E:\Oracle\oradata\eygle\bak2\REDO01.LOG'
指定日志: {=suggested | filename | AUTO | CANCEL}
E:\Oracle\oradata\eygle\bak2\REDO02.LOG
已應用的日志。
完成介質恢復。
SQL> alter database open resetlogs;
數據庫已更改。
SQL>
總結:
此案例丟失控制文件,從備份控制文件進行恢復,在進行恢復中,會向控制文件中以缺省規則增加文件,我們可以通過CREATE AS方式修改控制文件中記錄.
繼續應用所有歸檔和日志文件可以完成恢復.
總結
以上是生活随笔為你收集整理的新装的oracle缺少很多文件夹,丢失所有文件、拥有全备份,缺少后增加的文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle0raD,在Radhat 5
- 下一篇: oracle12cnolog,oracl