数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
数据文件坏删除数据文件

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

没有简单的方法来删除表空间的数据文件,唯一的方法是删除整个定义的表空间,步骤有下面(前提是这个数据文件上的数据是不需要了):

如果数据库运行在非归档模式:

1. MOUNT数据库 - startup mount
2. 删除数据文件 - alter database datafile xxx offline drop
3. 打开(OPEN)数据库 - alter database open
4. 查看属于该表空间的所有对象:
       select owner, segment_name, segment_type
       from dba_segments
       where tablespace_name='tbs_name'
5. 导出该表空间的所有对象------用exp命令来做
6. 删除表空间 - drop tablespace tbs_name including contents
7. 删除这个表空间的所有物理的数据文件Delete the physical datafiles belonging to the tablespace
8. 重建表空间,导入前面导出的DMP文件.


如果数据库是运行在归档模式:

1. MOUNT数据库 - startup mount
2. 删除数据文件 - alter database datafile xxx offline
(Note: offline这个数据文件,此数据文件还是属于这个数据库的一部分,只是在控制文件中将它的状态标记为offline.)
3. 在操作系统一级删除物理的数据文件
4. 打开(OPEN)数据库 - alter database open
5. 后面的可以做下面操作:
 导出该表空间的对象
 删除表空间
 重建表空间并导入对象

如果数据库运行在归档模式下,并且数据文件有备份:

1.MOUNT数据库
2.OFFLINE数据文件:alter database datafile xxx offline;
3.将备份的数据文件拷贝到原来数据文件的位置.
4.将备份数据文件到目前的所有归档日志放到归档目录.
5.恢复数据文件:recover automatic datafile xxx(要输入全路径名)
6.然后ONLINE数据文件:alter database datafile xxx online;
7.打开(OPEN)数据库:alter database open;
8.做一次数据库的关机全备份.




相关文章

相关软件