模拟数据文件丢失时的处理。
bzszp 2005-06-09 03:38:47
有操作不当之处,还请多多指教!
环境win2000 server oracle8.1.7
////////////////////////////////////////
// 创建环境,创建表空间以及数据文件
////////////////////////////////////////
SQL> create tablespace price datafile 'price.ora' size 10M;
表空间已创建。
已用时间: 00: 00: 02.73
SQL> drop tablespace price;
表空间已丢弃。
已用时间: 00: 00: 01.42
SQL> create tablespace plate datafile 'plate.ora' size 10M;
表空间已创建。
已用时间: 00: 00: 02.12
SQL> create user plate identified by plate default tablespace plate;
用户已创建
已用时间: 00: 00: 00.70
SQL> grant connect,resource to plate;
授权成功。
已用时间: 00: 00: 00.10
SQL> connect plate/plate
已连接。
SQL>
////////////////////////////////////////
// 关闭数据库
////////////////////////////////////////
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.
C:\Documents and Settings\Administrator>svrmgrl
Oracle Server Manager Release 3.1.7.0.0 - Production
Copyright (c) 2000, Oracle Corporation. All Rights Reserved.
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production
SVRMGR> connect internal/oracle
连接成功。
SVRMGR> shutdown immediate
已关闭数据库。
已卸下数据库。
已关闭 ORACLE 实例。
//////////////////////////////////////////////
// 将数据文件plate.ora删除,模拟数据文件丢失
//////////////////////////////////////////////
SVRMGR> startup
已启动 ORACLE 实例。
系统全局区域合计有 29431836个字节
Fixed Size 75804个字节
Variable Size 28459008个字节
Database Buffers 819200个字节
Redo Buffers 77824个字节
已装入数据库。
ORA-01157: ????/?????? 8 - ??? DBWR ????
ORA-01110: ???? 8: 'D:\ORACLE\ORA81\DATABASE\PLATE.ORA'
//////////////////////////////////////////////
// 数据库打开失败,将错误的数据文件offline drop
//////////////////////////////////////////////
SVRMGR> alter database datafile 'd:\oracle\ora81\database\plate.ora' offline dro
p;
语句已处理。
//////////////////////////////////////////////
// 数据库打开成功
//////////////////////////////////////////////
SVRMGR> alter database open;
语句已处理。
SVRMGR>
//////////////////////////////////////////////
// sql*plus中,处理善后工作,删除相关联的表空间
//////////////////////////////////////////////
SQL> connect internal/oracle
已连接。
SQL> col name format a50
SQL> select name,status from v_$datafile;
NAME STATUS
------------------------------ -------
D:\ORACLE\ORADATA\ORAL\SYSTEM01.DBF SYSTEM
D:\ORACLE\ORADATA\ORAL\RBS01.DBF ONLINE
D:\ORACLE\ORADATA\ORAL\USERS01.DBF ONLINE
D:\ORACLE\ORADATA\ORAL\TEMP01.DBF ONLINE
D:\ORACLE\ORADATA\ORAL\TOOLS01.DBF ONLINE
D:\ORACLE\ORADATA\ORAL\INDX01.DBF ONLINE
D:\ORACLE\ORADATA\ORAL\DR01.DBF ONLINE
D:\ORACLE\ORA81\DATABASE\PLATE.ORA OFFLINE
已选择8行。
已用时间: 00: 00: 00.10
SQL> drop tablespace plate;
表空间已丢弃。
已用时间: 00: 00: 01.82
SQL> col name format a33
SQL> col name format a35
SQL> col name format a50
SQL> select name,status from v_$datafile;
NAME STATUS
-------------------------------------------------- -------
D:\ORACLE\ORADATA\ORAL\SYSTEM01.DBF SYSTEM
D:\ORACLE\ORADATA\ORAL\RBS01.DBF ONLINE
D:\ORACLE\ORADATA\ORAL\USERS01.DBF ONLINE
D:\ORACLE\ORADATA\ORAL\TEMP01.DBF ONLINE
D:\ORACLE\ORADATA\ORAL\TOOLS01.DBF ONLINE
D:\ORACLE\ORADATA\ORAL\INDX01.DBF ONLINE
D:\ORACLE\ORADATA\ORAL\DR01.DBF ONLINE
已选择7行。
已用时间: 00: 00: 00.50
SQL>
//////////////////////////////////////////////
// 处理结束。OK!
//////////////////////////////////////////////