在创建表空间时通常会指定相应的数据文件,但是如果删除表空间时即便是
加上INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS; oralce的数据依然没用同时被删除,呵呵,看看我的解决方法,我的方法也许不是最好的,如果哪位能有好的解决办法欢迎讨论。
为了作测试方便,我是在WinXP上装的Oralce 10g 10.2.0.1.0.
二话不说,先看DEMO
Step 1:创建一个mydb_tbs表空间
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0
Connected as SYS
SQL> create tablespace mydb_tbs datafile 'J:\oradata\orcl\mydb_tbs_001.dbf' size 50m;
Tablespace created
SQL>
看一下结果:
J:\oradata\orcl 的目录
2011-03-08 22:33 <DIR> .
2011-03-08 22:33 <DIR> ..
2011-03-08 22:24 7,061,504 CONTROL01.CTL
2011-03-08 22:24 7,061,504 CONTROL02.CTL
2011-03-08 22:24 7,061,504 CONTROL03.CTL
2011-03-08 22:24 104,865,792 EXAMPLE01.DBF
2011-03-08 22:33 52,436,992 MYDB_TBS_001.DBF
2011-03-08 22:24 52,429,312 REDO01.LOG
2011-03-08 22:24 52,429,312 REDO02.LOG
2011-03-08 22:24 52,429,312 REDO03.LOG
2011-03-08 22:24 251,666,432 SYSAUX01.DBF
2011-03-08 22:24 503,324,672 SYSTEM01.DBF
2011-03-08 22:02 20,979,712 TEMP01.DBF
2011-03-08 22:24 36,708,352 UNDOTBS01.DBF
2011-03-08 22:24 5,251,072 USERS01.DBF
13 个文件 1,153,705,472 字节
2 个目录 8,413,822,976 可用字节
可以看到MYDB_TBS_001.DBF 已经存在了
再查一下dba_data_file
SQL> select FILE_NAME from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
J:\ORADATA\ORCL\USERS01.DBF
J:\ORADATA\ORCL\SYSAUX01.DBF
J:\ORADATA\ORCL\UNDOTBS01.DBF
J:\ORADATA\ORCL\SYSTEM01.DBF
J:\ORADATA\ORCL\EXAMPLE01.DBF
J:\ORADATA\ORCL\MYDB_TBS_001.DBF
Step 2:删除mydb_tbs表空间
SQL>drop tablespace mydb_tbs including contents and datafiles cascade constraints;
Tablespace dropped
看到了,提示表空间已经被删除,
drop tablespace命令的需要加下面3个参数;
INCLUDING CONTENTS:指删除表空间中的数据段
INCLUDING CONTENTS AND DATAFILES:指删除数据段和数据文件
CASCADE CONSTRAINTS:删除所有与该空间相关的完整性约束条件
Step 3:在OS中删除对应的数据文件
当删除这个数据文件时,会有下面的提示:
可见该文件依然被ORACLE使用着,但是看看下面的查询
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
J:\ORADATA\ORCL\USERS01.DBF
J:\ORADATA\ORCL\SYSAUX01.DBF
J:\ORADATA\ORCL\UNDOTBS01.DBF
J:\ORADATA\ORCL\SYSTEM01.DBF
J:\ORADATA\ORCL\EXAMPLE01.DBF
SQL>
确实没有J:\ORADATA\ORCL\MYDB_TBS_001.DBF,这种情况看起来似乎很奇怪,我查了很多资料也没讲如何把表空间和数据文件一起删除,看来上面的删除的结果也只是解除了表空间和数据文件的逻辑关系,没办法只好用最后一招了---重启
Step5:重启oralce数据库
C:\>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 3月 8 22:24:05 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn /as sysdba
已连接。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 293601280 bytes
Fixed Size 1248600 bytes
Variable Size 100663976 bytes
Database Buffers 184549376 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
数据库已经打开。
SQL>
经过重启数据库之后,J:\ORADATA\ORCL\MYDB_TBS_001.DBF可以顺利删除。
- 大小: 13 KB
分享到:
相关推荐
本文将详细介绍如何正确地删除Oracle表空间数据文件,探讨OFFLINE和OFFLINE DROP的区别,以及在操作系统层面删除数据文件后的恢复策略。 首先,我们来看如何使用`DROP DATAFILE`命令删除数据文件。这个命令允许管理...
6. **删除表空间**:如果需要彻底删除包含该数据文件的表空间,还需要执行以下命令。 ```sql SQL> drop tablespace tablespace_name including contents and datafiles; ``` #### 三、注意事项 - **备份**:在...
通过以上步骤,可以在Windows环境下彻底删除Oracle数据库,确保系统中不再存在任何与Oracle相关的配置或文件。需要注意的是,在执行上述操作前,请确保已经备份了重要数据,并了解每一项操作的目的及可能带来的后果...
当数据文件遭遇物理删除或丢失时,这将对数据库的正常运行造成严重影响。本篇文章将深入探讨Oracle数据库中物理删除数据文件的恢复方法,帮助你掌握这一关键的故障恢复技能。 首先,我们要理解数据文件物理删除的...
本文将基于“彻底删除oracle10g手册”这一主题,深入解析如何在Windows环境下安全、彻底地移除Oracle 10g,确保系统清洁无残留。 ### 一、了解Oracle 10g Oracle 10g是Oracle公司发布的一款关系型数据库管理系统,...
彻底删除Oracle不仅涉及到简单的卸载步骤,还需要仔细清理注册表、调整环境变量、删除相关文件和目录等多个方面。遵循上述步骤可以有效地确保Oracle被完全移除,从而避免潜在的安全风险和技术问题。
根据提供的文件信息,本文将详细解释如何在Windows 2000系统环境下彻底删除Oracle 8.1.7版本的相关组件、配置文件以及注册表项等。为了确保Oracle的完全移除,以下步骤应严格按照顺序执行。 ### 一、停止Oracle服务...
本文将深入探讨如何应对"非常规删除ORACLE数据文件"的问题,并提供恢复策略。 首先,我们要理解在Oracle中删除数据文件的后果。数据文件是表空间的一部分,表空间则包含数据库的表、索引和其他对象。当数据文件被...
"彻底删除 Oracle" Oracle 是一个功能强大且复杂的关系数据库管理系统,然而,在某些情况下,我们可能需要彻底删除 Oracle。删除 Oracle 的过程相对复杂,需要注意许多细节。以下是彻底删除 Oracle 的步骤和相关...
### Windows下彻底删除Oracle数据库 在Windows环境下,彻底删除Oracle数据库需要进行一系列步骤来确保所有与Oracle相关的组件、服务及注册表项都被清除干净。本文将详细介绍如何在Windows系统上彻底删除Oracle...
彻底删除Oracle不仅涉及到简单的卸载操作,还需要对注册表、环境变量、文件系统等多个方面进行全面清理。遵循上述步骤能够帮助用户有效地解决Oracle卸载不彻底的问题,为后续的安装工作做好准备。值得注意的是,在...
### 如何彻底删除Oracle 10G数据库 在IT领域,尤其是对于数据库管理员而言,彻底删除Oracle数据库是一项重要技能。本文将详细介绍如何彻底删除Oracle 10G数据库,包括具体的步骤和技术要点,确保用户能够安全、高效...
2. **删除Oracle目录**:Oracle的安装文件夹通常位于`C:\Program Files\Oracle`或`C:\Oracle`等位置。批处理文件会使用`rd /s /q directory_path`命令删除这些目录,`/s`表示递归删除子目录,`/q`表示静默模式,不...
11. **删除日志文件**:在“事件查看器”中,找出并删除Oracle的日志记录。 在某些情况下,某些DLL文件可能无法直接删除,这时只需在完成上述步骤后重启电脑,进行新的Oracle安装,指定一个新目录。新的安装会覆盖...
彻底删除Oracle不仅需要卸载其主程序,还需要清理与之相关的所有配置文件和服务。以上步骤提供了全面的指南,帮助用户在Windows 2000环境下彻底删除Oracle 8.1.7版本。通过仔细执行每个步骤,可以确保Oracle及相关...
本文将详细介绍如何彻底删除Oracle系统,包括卸载软件、清理注册表以及删除相关文件等步骤。 #### 二、准备工作 1. **备份数据**:在进行任何操作之前,请确保已经备份了所有重要的数据,避免意外丢失。 2. **关闭...
### 彻底删除Oracle的方法 在使用Oracle数据库的过程中,可能会遇到需要卸载并重新安装的情况。然而,有时候简单地通过控制面板卸载程序并不能完全清除Oracle的所有痕迹,这会导致下次安装时出现问题。本文将详细...
11. **清理事件查看器**:在“事件查看器”中,删除Oracle产生的所有日志记录,以彻底清除系统中的Oracle痕迹。 通过以上步骤,可以确保Oracle从系统中完全移除,避免了因卸载不彻底而产生的问题。在执行这些操作时...