热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle控制文件的备份与恢复(手动)

控制文件用来记录和维护数据库的物理结构,里面记载着数据库打开时需要已经定位的所有数据文件和重做日志文件,并且记载着同步和

控制文件用来记录和维护数据库的物理结构,里面记载着数据库打开时需要已经定位的所有数据文件和重做日志文件,并且记载着同步和

这里先阐述一下数据库的启动过程:

1. 启动实例/例程(nomount状态)时,读取参数文件(文本文件PFILE 或服务器参数文件SPFILE),分配SGA、启动后台进程、打开告警文件及后台进程跟踪文件;

2. 装载数据库(mount 状态)时,,根据初始化参数control_file 的值定位并打开控制文件,从中得到数据文件及重做日志的信息。

3. 打开数据库(open状态)时,打开所有数据文件和重做日志文件;至此,用户可以正常访问数据库;

推荐阅读:

Oracle教程:基于用户管理的备份与恢复-控制文件的备份与恢复

控制文件用来记录和维护数据库的物理结构,里面记载着数据库打开时需要已经定位的所有数据文件和重做日志文件,并且记载着同步和恢复数据库时的日志序列号、检查点及日志历史记录;如果控制文件丢失,就像是人的大脑不能用了一般,只有医生(dba)能够处理,普通用户不能正常访问,那么就失去了它作为数据库的意义,除非恢复控制文件或重建控制文件(重建控制文件的两种情况是所有控制文件损坏、改变数据库名称或数据库的永久性参数);既然它的地位如此显赫,那么我们不得不重视,重视的体现就是多元化以及定期地或数据库配置发生变化时及时备份;数据库配置发生变化的命令有:

添加日志

alter database [add|drop] logfile

添加日志成员

alter datebase [add|drop] logfile member

添加日志组

alter datebase [add|drop] logfile group

修改数据库是否归档

alter datebase [noarchivelog|archivelog]

重命名数据库文件

alter datebase rename file

创建表空间

create tablespace

添加数据文件到相应表空间

alter tablespace [add|rename]datafile

修改表空间状态

alter tablespace [read write|read only]

删除表空间

drop tablespace

获取控制文件信息视图:

v$controlfile

备份控制文件(建立控制文件副本):

copy ‘E:\oracle\product\10.2.0\oradata\orcl\control01.ctl’ ‘e:\oracle\backup\control.ctl’;(冷备份|一致性备份)


alter database backup controlfile to ‘e:\oracle\backup\control.ctl’[reuse](热备份|非一致性备份);

该命令会将当前控制文件的所有信息存放到控制文件的副本中,通过该副本,既可以执行基于控制文件的不完全恢复,也可以生成控制文件的跟踪文件;

备份控制文件(备份到跟踪文件):

该方案主要是为了创建控制文件恢复控制文件;

alter database backup controlfile to trace;

恢复控制文件:

恢复控制文件时,服务器进程和后台进程需要从控制文件中读取各种与备份相关的信息。

当数据库的控制文件出现介质失败时,会出现ORA-00205错误;

ORA-00205: error in identifying controlfile, check alert log for more info

Cause: The system could not find acontrol file of the specified name and size.

Action: Check that ALL control files areonline and that they are the same files that the system created at cold starttime.

1. 控制文件组中的某个出现介质失败

因为所有的控制文件是互为镜像,所以用其他控制文件来恢复即可;如果出现介质失败的磁盘也出现损坏,那么在需要在nomount 状态时修改control_files 参数,使之去掉有问题的控制文件;

SQL> show parameter control_file

NAME TYPE VALUE

-------------------------------------------------------- ------------------------------

control_file_record_keep_time integer 7

control_files string E:\ORACLE\PRODUCT\10.2.0\ORADA

TA\ORCL\CONTROL01.CTL,E:\ORAC

LE\PRODUCT\10.2.0\ORADATA\ORCL

\CONTROL02.CTL, E:\ORACLE\PROD

UCT\10.2.0\ORADATA\ORCL\CONTRO

L03.CTL

说明当前有三个控制文件互为镜像;

SQL> shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

接下来请看第2页精彩内容

linux

推荐阅读
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 构建基于BERT的中文NL2SQL模型:一个简明的基准
    本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 本文详细介绍了 MySQL 中 LAST_INSERT_ID() 函数的使用方法及其工作原理,包括如何获取最后一个插入记录的自增 ID、多行插入时的行为以及在不同客户端环境下的表现。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本文详细介绍了HTML中标签的使用方法和作用。通过具体示例,解释了如何利用标签为网页中的缩写和简称提供完整解释,并探讨了其在提高可读性和搜索引擎优化方面的优势。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
author-avatar
手机用户2602903963
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有