C:\Documents and Settings\xuzhengzhu>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 1月 29 17:02:04 2015
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn sys/HondaHsu2011@dw as sysdba
已连接。
SQL> shutdwon
SP2-0042: 未知命令 "shutdwon" - 其余行忽略。
SQL> shutdown
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 1073741824 bytes
Fixed Size 1253072 bytes
Variable Size 142606640 bytes
Database Buffers 922746880 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
SQL> alter database archivelog;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> alter system archive log current;
系统已更改。
SQL> set linesize 1500
SQL> select file_name,tablespace_name from dba_data_files;
FILE_NAME
----------------------------------------------------------------------------------
------------- ------------------------------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEST01.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEST02.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\MM.DBF
已选择7行。
SQL> alter tablespace system begin backup;
表空间已更改。
SQL>
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF E:\oraclebak
已复制 1 个文件。
SQL> alter tablespace system end backup;
表空间已更改。
SQL> alter tablespace USERS begin backup;
表空间已更改。
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF E:\oraclebak
已复制 1 个文件。
SQL> alter tablespace USERS end backup;
表空间已更改。
SQL> alter tablespace SYSAUX begin backup;
表空间已更改。
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF E:\oraclebak
已复制 1 个文件。
SQL> alter tablespace SYSAUX end backup;
表空间已更改。
SQL> alter tablespace UNDOTBS1 begin backup;
表空间已更改。
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF E:\oraclebak
已复制 1 个文件。
SQL> alter tablespace UNDOTBS1 end backup;
表空间已更改。
SQL> alter tablespace TEST begin backup;
表空间已更改。
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEST01.DBF E:\oraclebak
已复制 1 个文件。
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEST02.DBF E:\oraclebak
已复制 1 个文件。
SQL> alter tablespace TEST end backup;
表空间已更改。
SQL> alter tablespace WZ begin backup;
表空间已更改。
SQL> host copy D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\MM.DBF E:\oraclebak
已复制 1 个文件。
SQL> alter tablespace WZ end backup;
表空间已更改。
SQL> alter database backup controlfile to ‘E:\oraclebak\controlfile.bak‘;
数据库已更改。
SQL> alter database backup controlfile to trace;
数据库已更改。
SQL>
SQL> alter system archive log current;
系统已更改。
SQL> alter system switch logfile;
系统已更改。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
SQL> host del D:\oracle\product\10.2.0\oradata\orcl\TEST01.DBF
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 1073741824 bytes
Fixed Size 1253072 bytes
Variable Size 150995248 bytes
Database Buffers 914358272 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 5 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 5: ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TEST01.DBF‘
SQL> select * from v$recover_file;
FILE# ONLINE ONLINE_ ERROR CHANGE# TIME
---------- ------- ------- ----------------------------------------------------------------- ---------- --------------
5 ONLINE ONLINE FILE NOT FOUND 0
SQL>
SQL> host copy E:\oraclebak\TEST01.DBF D:\oracle\product\10.2.0\oradata\orcl
已复制 1 个文件。
SQL> recover datafile 5
完成介质恢复。
SQL> alter database datafile 5 online;
数据库已更改。
SQL> alter database open;
数据库已更改。
system表空间数据文件或大量数据文件受损
重复上面热备份的操作,然后:
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host del D:\oracle\product\10.2.0\oradata\orcl\SYSTEM01.DBF
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 1073741824 bytes
Fixed Size 1253072 bytes
Variable Size 155189552 bytes
Database Buffers 910163968 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 1 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 1: ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF‘
SQL> host copy E:\oraclebak\SYSTEM01.DBF D:\oracle\product\10.2.0\oradata\orcl\
SQL> recover database
完成介质恢复。
SQL> alter database open;
数据库已更改。
SQL> connect sys/HondaHsu2011@dw as sysdba
已连接。
SQL> conn lcam_atm_0106/comtop123@dw
已连接。
SQL> select * from test2;
A
----------
1
2
SQL> select name,status from v$controlfile;
NAME
---------------------------------------------------------------------------------------------------------------------------------------
------------- -------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL
SQL> host del D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL
D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL
另一个程序正在使用此文件,进程无法访问。
SQL> shutdown
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> host del D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 1073741824 bytes
Fixed Size 1253072 bytes
Variable Size 167772464 bytes
Database Buffers 897581056 bytes
Redo Buffers 7135232 bytes
ORA-00205: ?????????, ??????, ???????
SQL> host copy D:\oracle\product\10.2.0\oradata\orcl\CONTROL02.CTL D:\oracle\product\10.2.0\oradata\orcl\CONTROL01.CTL
已复制 1 个文件。
SQL> alter database mount;
数据库已更改。
SQL> alter database open
2 ;
数据库已更改。
SQL>