数据文件坏了
好事旺 超市一数据文件损坏,模拟 数据文件损坏 做 恢复测试创建一个表空间 好事旺
create tablespace hsw datafile 'c:\hsw01.dbf' size 1m;
Tablespace created.
查询 好事旺 数据文件的状态
select file_name,status,online_status from dba_data_files where file_name like '%HSW%';
FILE_NAME STATUS ONLINE_STATUS
---------------- -------------- --------------
C:\HSW01.DBF AVAILABLE ONLINE
DROP数据文件 好事旺
alter database datafile 'C:\HSW01.DBF' offline for drop;
Database altered.
select name from v$dbfile where name like '%HSW%';
NAME
---------------------------------------------------------------------------
C:\HSW01.DBF
创建 一个用户默认表空间就是 好事旺
create user hsw identified by hsw default tablespace hsw;
User created.
grant dba to hsw;
Grant succeeded.
alter session set nls_language=american;
Session altered.
创建一张表报错,表示此数据文件已经不可读写了
create table hsw (name char(20));
create table hsw (name char(20))
*
ERROR at line 1:
ORA-01658: unable to create INITIAL extent for segment in tablespace HSW
好事旺 数据文件当前的状态为 recover
SYS >select file_name,status,online_status from dba_data_files where file_name like '%HSW%';
FILE_NAME STATUS ONLINE_STATUS
--------------------------------------------- ---------------------------------------- --------------
C:\HSW01.DBF AVAILABLE RECOVER
好事旺 数据文件的 编号为 6
select file_id,file_name,online_status from dba_data_files where file_name like '%HSW%';
FILE_ID FILE_NAME ONLINE_STATUS
---------- --------------------------------------------- --------------
6 C:\HSW01.DBF RECOVER
试试 这种方法能 恢复 好事旺 数据文件不
alter database create datafile 'C:\HSW01.DBF';
Database altered.
好事旺 依然是 recover的
select file_id,file_name,online_status from dba_data_files where file_name like '%HSW%';
FILE_ID FILE_NAME ONLINE_STATUS
---------- --------------------------------------------- --------------
6 C:\HSW01.DBF RECOVER
看来还是得靠RMAN 啊
RMAN> restore datafile 6;
启动 restore 于 14-2月 -14
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=274 devtype=DISK
创建数据文件 fno = 6 名称 = C:\HSW01.DBF
没有完成恢复; 所有文件均为只读或脱机文件或者已经恢复
完成 restore 于 14-2月 -14
RMAN> recover datafile 6;
启动 recover 于 14-2月 -14
使用通道 ORA_DISK_1
正在开始介质的恢复
介质恢复完成, 用时: 00:00:02
完成 recover 于 14-2月 -14
select file_id,file_name,online_status from dba_data_files where file_name like '%HSW%';
FILE_ID FILE_NAME ONLINE_STATUS
---------- --------------------------------------------- --------------
6 C:\HSW01.DBF OFFLINE
alter database datafile 'C:\HSW01.DBF' online;
数据库已更改。
select file_id,file_name,online_status from dba_data_files where file_name like '%HSW%';
FILE_ID FILE_NAME ONLINE_STATUS
---------- --------------------------------------------- --------------
6 C:\HSW01.DBF ONLINE
connect hsw/hsw
已连接。
show user
USER 为 "HSW"
create table hsw (name char(200));
表已创建。
insert into hsw values ('hsw');
已创建 1 行。
commit;
提交完成。
select * from hsw;
NAME
--------------------------------------------------
hsw
来看看问题:
1、alter database datafile 'hsw.dbf' for offline drop;是从 控制文件中删除的数据文件的信息还是在数据字典删除的?
回车后,硬盘上的物理文件依然存在。
2、alter database create datafile 'hsw.dbf'; 前提是要配置归档,那这句命令的作用 是恢复 到控制文件中DBF的位置 信息还是执行了哪些操作呢?
页:
[1]