Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1150084
  • 博文数量: 231
  • 博客积分: 2500
  • 博客等级: 少校
  • 技术积分: 2662
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-03 16:35
个人简介

学无止境

文章分类

全部博文(231)

文章存档

2014年(7)

2013年(103)

2011年(11)

2010年(53)

2009年(57)

分类: Oracle

2009-12-02 12:46:24

数据库处于归档模式。
在数据库里新建了一个表空间,共有3个数据文件。
各10M,表空间内有一张23M的表。
SQL> select count(*) from ldy.t1;
  COUNT(*)
----------
    605136

SQL> col segment_name for a20
SQL> col tablespace_name for a20
SQL> select segment_name,tablespace_name,bytes/1024/1024 mb from dba_segments where owner='LDY';   
SEGMENT_NAME         TABLESPACE_NAME              MB
-------------------- -------------------- ----------
T1                   LDY                          23

关闭数据库,将表空间的其中一个数据文件删除,启动后报错:
SQL> startup
ORACLE 例程已经启动。
Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             230689668 bytes
Database Buffers          373293056 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 6: 'E:\ORACLE\ORADATA\LDY01.DBF'

此时数据库为mount状态。
SQL> select open_mode from v$database;
OPEN_MODE
----------
MOUNTED
增加回该数据文件。
SQL>alter database create datafile 'E:\ORACLE\ORADATA\LDY01.DBF';
数据库已更改。

介质恢复。
SQL>recover datafile 6;
完成介质恢复。
数据库打开,正常查询。
SQL> alter database open;
数据库已更改。
SQL> select count(*) from ldy.t1;
  COUNT(*)
----------
    605136
 
 
 
 
附加实验:
同样一张表:
SQL> select count(*) from t1;
  COUNT(*)
----------
    706000
SQL> select segment_name,tablespace_name,bytes/1024/1204 mb from dba_segments where
owner='LDY';
SEGMENT_NAME           TABLESPACE_NAME                        MB
-----------------      ------------------------------ ----------
T1                     LDY                            22.9634551

之后切换log。
SQL> alter system switch logfile;
系统已更改。
 
将数据库关闭后,删除E:\ORACLE\ORADATA\目录,该目录下只有LDY表空间的文件。
同样启动:
SQL> startup
ORACLE 例程已经启动。
Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             243272580 bytes
Database Buffers          360710144 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。
ORA-01157: 无法标识/锁定数据文件 6 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 6: 'E:\ORACLE\ORADATA\LDY01.DBF'
在新的路径下创建数据文件:
alter database create datafile  'E:\ORACLE\ORADATA\LDY01.DBF' as 'E:\ORACLE\LDY01.DBF';
alter database create datafile  'E:\ORACLE\ORADATA\LDY02.DBF' as 'E:\ORACLE\LDY02.DBF';
alter database create datafile  'E:\ORACLE\ORADATA\LDY03.DBF' as 'E:\ORACLE\LDY03.DBF';
之后恢复表空间:
SQL> recover tablespace ldy;
完成介质恢复。
打开数据库:
SQL> alter database open;
数据库已更改。
阅读(1205) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~