`
likesky
  • 浏览: 30256 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

数据文件未成功创建时删除

阅读更多
数据文件在未创建成功时
alter database datafile '......' offline drop
然后手工删除数据文件
但是这样,可能存在隐患


在我们详细介绍之前,我们必须说清楚一点:Oracle不提供如删除表、视图一样删除数据文件的方法,数据文件是表空间的一部分,所以不能“移走”表空间。(表空间是作为一个整体存在的)

一、使用offline数据文件的方法
非归档模式使用:alter database datafile '...' offline drop;
归档模式使用:  alter database datafile '...' offline;
说明:
1)         以上命令只是将该数据文件OFFLINE,而不是在数据库中删除数据文件。该数据文件的信息在控制文件种仍存在。查询v$datafile,仍显示该文件。
2)         归档模式下offline和offline drop效果是一样的
3)         offline后,存在此datafile上的对象将不能访问
4)         noarchivelog模式下,只要online redo日志没有被重写,可以对这个文件recover后进行online操作

实际使用案例:
直接删除数据文件后无法进入系统的解决方案

正常情况下,删除表空间的正确方法为:
DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;

如果没有通过以上命令删除而直接删除了数据文件,将导致数据库无法打开。

如果直接删除了数据文件
普通用户登录时,则报错:
ORA-01033: ORACLE initialization or shutdown in progress
sys用户可以正常登录
但进行操作时(SELECT count(1) from user_tables),则会报错:
ORA-01219: 数据库未打开: 仅允许在固定表/视图中查询
如果执行命令alter database open以打开数据库时,又报如下错:
ORA-01157: 无法标识/锁定数据文件 12 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 12: 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TSTEST001.DBF'

说明数据库没找到这个数据文件
因为数据文件在没有被offline的情况下物理删除了,导致oracle的数据不一致,因此启动失败.
通过以下方法即可解决

解决方法:
sqlplus sys/orcl@orcl as sysdba;
SQL> alter database datafile 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\TSTEST001.DBF' offline drop;
SQL> alter database open;
SQL> drop tablespace CTBASEDATA;

二、Oracle 10G R2开始,可以采用:Alter tablespace tablespace_name drop datafile fi ......
分享到:
评论

相关推荐

    ASP.NET 创建文件、删除文件及写入数据

    ASP.NET 创建文件、删除文件及写入数据,内容详细,需要的请参考!!!

    创建和使用R语言数据集

    3.对创建的数据结构进行,排序、查找、删除等简单的操作。 1.向量的创建及因子的创建和查看 2.矩阵与数组。 3.将之前的state,数组,矩阵合在一起创建一个长度为3的列表。 4.创建一个数据框如图。 5.将这个数据框...

    oracle表空间和数据文件的详细操作(纯手工)

    内容包括: 1. 创建表空间 2. 改变表空间可用性和读写模式 3. 删除表空间 4. 创建和添加数据文件 5. 数据文件可用性 6. 移动和重命名数据文件 7. 删除数据文件 详细代码步骤;

    Java 读取、添加、删除修改json文件数据范例.rar

    Java 操作json文件的例子,对json数据进行读娶添加、删除、修改等操作,下载源码后,重点参见JsonConvert.java文件,  读取nameID.txt文件中的NAMEID字段(key)对应值(value)并存储,读取NAMEID对应值,读取原始...

    HIVE创建库创建表.docx

    在数据集目录中选取2个数据文件内部表创建表,选取2个数据文件创建外部表。 使用美国疫情数据创建分区表 疫情数据实现静态和动态加载数据到分区表 自己构建疫情数据实现多重分区表 使用美国疫情数据实现桶表 修改...

    操作系统实验···文件系统

    ①首先应确定文件系统的数据结构:主目录、子目录及活动文件等。主目录和子目录都以文件的形式存放于磁盘,这样便于查找和修改。 ②用户创建的文件,可以编号存储于磁盘上。如:file0,file1,file2…并以编号作为...

    自定义的数据文件结构类

    -*功能:实现数据的压缩保存 读取 添加 删除 修改 和快速定位和查找*- -*功能:可以用来保存你想保存的任何格式的数据,方便做为自己的配置文件*--*功能:简单的修改一下定意的结构体就可以用来保存你想保存的任何...

    开发win8应用时可用的一个C#类,功能主要是xml数据文件的创建,读写和删除。

    用win8应用商店模板类库写成的一个类,实现xml数据文件的创建,读写和删除。在开发win8应用的时候经常需要用文件来储存数据,可以借鉴我的这个类库,当然我也很乐意大家提出意见,交流交流。

    数据库图书信息管理数据库SQL语句.pdf

    二、 实验内容 (一)创建数据库和模式 1、通过 SQL 语句创建图书信息管理数据库,命名为"db_Library" ,数据文件和日志文件放在 D 盘下以自己学号和姓名命名的文件夹中,数据文件的逻辑名为 db_Library_data,数据...

    实验一 数据定义实验----数据库

    创建Test数据库,该数据库的主数据文件逻辑名称为Test_data,物理文件名为Test.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为Test_log,物理文件名为Test.ldf,初始大小为1MB,...

    Mysql单文件存储删除数据文件容量不会减少的bug与解决方法

    当innodb引擎使用单个文件进行存储的时候,当对数据库中数据进行删除的时候,文件的大小并不会发生变化,意味着文件将会越来越大并且即使删除也没办法 让其释放磁盘的空间。 验证过程 创建一个测试使用的表,如下...

    VC++解析XML完整文件,包括创建,读取,添加,删除

    本例通过MFC建立对话,一步一步实现了VC++对XML文件的解析,包括XML文件的创建,数据的添加,读取,删除等一系列完整操作,并附注释

    VASM文件的创建和删除

    VASM数据集的一些简单操作,比如创建,删除。

    单链表及文件操作 从txt文件中读取数据并自动建立单链表

    1、从文本文件中导入班级学生信息:学号、姓名、性别...2、将学号重复的删除 3、显示导入的学生信息(文件加后缀) 4、按学号、姓名、性别、籍贯相等和不相等查找 5、多次查找 6、查找结果写入文件 7、VC++6.0编译通过

    Oracle Rac 集群数据文件改变目录操作

    一、rac 环境修改spfile位置 1. 从集群的任意一个实例登录,查看spfile信息 2. 重新创建新的spfile 3. 通过ASM命令行,查看spfile,并赋予别名。 ...5. 重启数据库 6. 查看结果 7. 查看参数文件 ...五、数据文件迁移

    操作系统课程设计 模拟FAT文件系统的设计与实现(基于Java实现)

    3.掌握文件操作如建立目录,建立文件,删除文件,复制文件时,对FAT和目录的操作步骤。 4.合理设计文件系统布局与数据结构(直接用数组模拟磁盘布局或建立一个文件模拟磁盘布局)。 5.编制程序模拟FAT文件系统,加深...

    恢复回收站删除文件工具

    有了恢复回收站删除文件工具,只要你的文件数据没有被覆盖,都可以用该软件轻松地恢复。  恢复回收站删除文件工具支持恢复回收站删除文件而且可以帮你恢复本地磁盘、U盘、存储卡(如 SD 卡,MMC 卡等等)中从恢复...

    通讯录 可以从文件中读取数据

    (6)所有的数据保存在.txt文件中,并能读出。比如.txt文件的每一行保存一条记录。如:姓名|性别|生日…………【可选用CFile/CStdioFile类】 【提示】创建通讯类,包括姓名、性别、生日、所在城市、工作单位、办公...

    简单多用户文件系统-操作系统课程设计.doc

    新建文件时要求输入文件名称, 当文件名称不存在,即与当前用户文件目录下的文件不发生冲突时,继续接收用户提供 的文件长度,当文件不发生越界则接受锁定状态,文件新建成功。新建文件模块算法流 程图如上图4所示。...

    c语言定时创建删除文件代码

    每天创建一个文件,以时间命名文件名,每隔一个小时写入数据,三十天后,每天删除一个文件

Global site tag (gtag.js) - Google Analytics