为什么在DOS下不能删除这个数据文件?

[复制链接]
查看11 | 回复9 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
有一数据库的数据文件,我想用OS 命令把它删除:
D:> del oracle\oradata\prod\test_data01.dbf
但是出现错误:
The process can't access the file because it is being used by another process.
机器是刚打开的, 怎么会有"其它的进程正在使用该文件"?
我应该如何正确删除它?
THANKS
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
数据库自动启动了吧,去SERVICE里看看。
数据文件可不能乱删哟,删了数据库起不来了。
要删,先从数据库里把TABLESPACE删了,再到OS删文件。
drop tablespace xxxxx;
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
windows的oracle缺省设置应该是在机器启动的时候自动启动的。
如:rejoice999所说,你先要保证使用该数据文件的表空间已经被drop了。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
destroydatabase?
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
感 谢 楼 上 3 位 的 答 复. 我 正 在 做 DATABASE RECOVERY 的 练 习 ( Open Database Recovery with Database initially open). 书 上 假 设: DBA accidentally deleted a data fileusing OS commond.The database is open for normal use.接 下 去 是 STEP-BY-STEP 的 恢 复 过 程.
我 的 问 题 是 这 个 DBA 为 什 么 在 数 据 库 打 开 的 状 态 下 可 以 通 过 OS删 除 数据 文 件,我 却 不 能 ?进 一 步,按 照rejoice999 的 建 议,SHUTDOWN了 数 据 库 之 后, 我 可 以 做 删 除, 并 删 掉 了 TEST_DATA01.DBF, 但 是 数 据 库 却 再 也 不 能 启 动 了. 关 机 开 机 后 仍 然 不 行. SQLPLUS 也 连 接 不 上, 真 是 让 人 头 痛 . 我 实 在 不 明 白 书 上 所 说 得 DBA 是 如 何 " 意 外 " 删 除 数 据 文 件 ,然 后 还 能 启 动 O RACLE 做 RECOVERY?
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
数据库没有起来,SQL当然连不上。如果你的数据库是自动启动的,先做shutdown abort,然后startup mount,做Recovery。
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
svrmgrl
connect internal
startup mount
drop tablespace name;
alter database open;
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
最初由 poohbear 发布
[B] 我 实 在 不 明 白 书 上 所 说 得 DBA 是 如 何 " 意 外 " 删 除 数 据 文 件 ,然 后 还 能 启 动 O RACLE 做 RECOVERY? [/B]

既然是意外,那么原因很多,最有可能的是磁盘错误。如果有做备份,将备份的数据文件复制到原来的目录然后recover
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
要知道操作系统不只是windows,大部分数据库跑在UNIX上。
UNIX是可以把打开的文件删掉的。

最初由 poohbear 发布
[B]感 谢 楼 上 3 位 的 答 复. 我 正 在 做 DATABASE RECOVERY 的 练 习 ( Open Database Recovery with Database initially open). 书 上 假 设: DBA accidentally deleted a data fileusing OS commond.The database is open for normal use.接 下 去 是 STEP-BY-STEP 的 恢 复 过 程.
我 的 问 题 是 这 个 DBA 为 什 么 在 数 据 库 打 开 的 状 态 下 可 以 通 过 OS删 除 数据 文 件,我 却 不 能 ?进 一 步,按 照rejoice999 的 建 议,SHUTDOWN了 数 据 库 之 后, 我 可 以 做 删 除, 并 删 掉 了 TEST_DATA01.DBF, 但 是 数 据 库 却 再 也 不 能 启 动 了. 关 机 开 机 后 仍 然 不 行. SQLPLUS 也 连 接 不 上, 真 是 让 人 头 痛 . 我 实 在 不 明 白 书 上 所 说 得 DBA 是 如 何 " 意 外 " 删 除 数 据 文 件 ,然 后 还 能 启 动 O RACLE 做 RECOVERY? [/B]

回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
在mount状态下根本不存在"tablespace",如何能drop?
svrmgrl
connect internal
startup mount
alter database datafile 'filename' offline drop;
alter database open;
drop tablespace tablespace_name;

最初由 yangtingkun 发布
[B]svrmgrl
connect internal
startup mount
drop tablespace name;
alter database open; [/B]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行