热门标签 | 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页精彩内容


推荐阅读
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文详细介绍了在ASP.NET中获取插入记录的ID的几种方法,包括使用SCOPE_IDENTITY()和IDENT_CURRENT()函数,以及通过ExecuteReader方法执行SQL语句获取ID的步骤。同时,还提供了使用这些方法的示例代码和注意事项。对于需要获取表中最后一个插入操作所产生的ID或马上使用刚插入的新记录ID的开发者来说,本文提供了一些有用的技巧和建议。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • Postgresql备份和恢复的方法及命令行操作步骤
    本文介绍了使用Postgresql进行备份和恢复的方法及命令行操作步骤。通过使用pg_dump命令进行备份,pg_restore命令进行恢复,并设置-h localhost选项,可以完成数据的备份和恢复操作。此外,本文还提供了参考链接以获取更多详细信息。 ... [详细]
  • REVERT权限切换的操作步骤和注意事项
    本文介绍了在SQL Server中进行REVERT权限切换的操作步骤和注意事项。首先登录到SQL Server,其中包括一个具有很小权限的普通用户和一个系统管理员角色中的成员。然后通过添加Windows登录到SQL Server,并将其添加到AdventureWorks数据库中的用户列表中。最后通过REVERT命令切换权限。在操作过程中需要注意的是,确保登录名和数据库名的正确性,并遵循安全措施,以防止权限泄露和数据损坏。 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 在数据分析工作中,我们通常会遇到这样的问题,一个业务部门由若干业务组构成,需要筛选出每个业务组里业绩前N名的业务员。这其实是一个分组排序的 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
author-avatar
Dr_H-鄧
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有