热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

oracle学习笔记--控制文件被破坏后数据的恢复方法

控制文件破坏时数据库的恢复方法一控制文件有镜像时数据库恢复SQL>startup2;startup;*ERRORatline1:ORA-00205:error

控制文件破坏时数据库的恢复方法


 一 控制文件有镜像时数据库恢复

SQL>startup
  2  ;
startup ;
*
ERROR at line 1:
ORA-00205: error in identifying controlfile, check alert log for more info
在数据库启动的时候出现了以上错误信息,在识别控制文件时出错,并将错误信息记录在跟踪日值文件里面。
查看跟踪文件如下:


Tue Dec 06 15:25:42 2005
ORA-00202: controlfile: 'D:/oracle/oradata/oracle/CONTROL02.CTL'
ORA-27041: unable to open file
OSD-04002: 无法打开文件
O/S-Error: (OS 2) 系统找不到指定的文件。

可以确定,控制文件'D:/oracle/oradata/oracle/CONTROL02.CTL'损坏了或者不存在了。

控制文件恢复:

关闭数据库
SQL> shutdown
ORA-01507: database not mounted

ORACLE instance shut down.

就控制文件的恢复有两种方法可以选择

第一种:控制文件有镜像CONTROL0.CTL和CONTROL03.CTL,将这两个镜像文件中的一个复制,拷贝到CONTROL02.CTL
所在的目录中,然后将文件名称改成CONTROL02.CTL。

启动数据库就ok了。

第二种:因为为控制文件做了镜像了,所以关闭数据库后,在数据库的参数文件INITorcl.ORA参数control_files中将
CONTROL02.CTL这一镜像去掉。
然后根据参数文件创建服务器参数文件

SQL> conn / as sysdba
Connected to an idle instance.
SQL> create spfile from pfile;

文件已创建。

启动数据库到nomount状态,查看控制文件参数是否已经改表

SQL> show parameter control
ORA-01034: ORACLE not available


SQL> startup nomount
ORACLE 例程已经启动。

Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
SQL> show parameter control

NAME                                 TYPE
------------------------------------ ----------------------
VALUE
------------------------------
control_file_record_keep_time        integer
7
control_files                        string
D:/oracle/oradata/oracle/CONTR
OL01.CTL, D:/oracle/oradata/or
acle/CONTROL03.CTL
SQL> alter database mount;

数据库已更改。

打开数据库

SQL> alter database open
  2  ;

数据库已更改。

二 控制文件没有镜像的情况下数据库的恢复

如果被损坏的控制文件没有镜像,单数据库的结构还存在,则只能重新创建数据库。

第一步准备参数文件的路径;

将损坏的控制文件删掉,然后在参数文件中设置control_files参数,多配置几个控制文件的镜像

control_files='D:/oracle/oradata/oracle/CONTROL01.CTL',

'D:/oracle/oradata/oracle/CONTROL02.CTL',

'D:/oracle/oradata/oracle/CONTROL03.CTL'

然后启动数据库到nomount状态,

执行create controlfile database database_name命令创建控制文件。

create controlfile database orcl

logfile

    --全部日值组和日值文件,及大小

NORESETLOGS

DATAFILES

--数据库全部数据文件路径及名称

maxloghistory 2000  --最大历史日志数

maxdatafiles 2000  --设置最大数据文件数

maxlogmembers 5 --最大日值成员数

character set ZHS16GBK;  --设置数据库字符集

运行上述命令后系统自动在control_files指定的目录中创建三个控制文件,3个文件之间为镜像关系。控制文件创建后从新启动数据库即可。

成功后,关闭数据库,进行一下冷备份。


推荐阅读
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • Oracle seg,V$TEMPSEG_USAGE与Oracle排序的关系及使用方法
    本文介绍了Oracle seg,V$TEMPSEG_USAGE与Oracle排序之间的关系,V$TEMPSEG_USAGE是V_$SORT_USAGE的同义词,通过查询dba_objects和dba_synonyms视图可以了解到它们的详细信息。同时,还探讨了V$TEMPSEG_USAGE的使用方法。 ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • 本文介绍了一个误删Oracle数据文件导致数据库无法打开的问题,并提供了解决方式。解决方式包括切换到mount状态、离线删除报错的数据文件等。 ... [详细]
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
  • 上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ... [详细]
author-avatar
_名花侑主
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有