Oracle维护控制文件

embedded/2024/11/22 14:47:40/

学习目标

  • 解释控制文件的用法
  • 列出控制文件的内容
  • 多路复用和管理控制文件
  • 使用Oracle Managed Files
  • 获取控制文件信息

控制文件

  • 控制文件是小的二进制文件
  • 定义了物理数据库的当前状态
  • 维护数据库的完整性
  • 需要在数据库启动期间处于mount状态、操作链接到单个数据库
  • 丢失可能需要恢复
  • 初始大小由CREATE DATABASE决定
  • 多重控制文件:Oracle数据库通常会配置多个控制文件,以提高数据库的可靠性和容错性。多个控制文件之间会保持同步,任何一个控制文件的变化都会被同步到其他控制文件中。
  • 控制文件备份:定期备份控制文件是非常重要的,以防止控制文件丢失或损坏导致数据库无法启动。备份控制文件可以通过Oracle的备份工具或手动复制控制文件来实现。
  • 控制文件重建:如果所有的控制文件都丢失或损坏,可以通过手动重建控制文件来恢复数据库。在这种情况下,需要使用CREATE CONTROLFILE语句来重新创建控制文件。
  • 控制文件位置:控制文件通常存储在数据库服务器的特定位置,可以通过参数文件(init.ora或spfile)中的CONTROL_FILES参数指定控制文件的路径。
  • 控制文件内容:控制文件包含了数据库的结构信息、日志序列号、数据库的创建时间等重要信息,是数据库的关键元数据文件。

数据库创建时的CREATE DATABASE语句中指定的控制文件大小参数决定的。在CREATE DATABASE语句中,可以通过指定参数 CONTROLFILE REUSE 或 CONTROLFILE SET DATABASE 来设置控制文件的初始大小。
控制文件的大小注意决定因素是为创建关联数据库的CREATE DATABASE语句中的MAXDATAFILES、MAXLOGFILES、MAXLOGMEMBERS、MAXLOGHISTORY、MAXINSTANCES参数设置的值。增加这些参数的值会增加关联数据库的控制文件大小。

控制文件包含的数据

  • 数据库名称和标识符
  • 创建数据库的时间戳
  • 表空间名称
  • 数据文件和在线重做日志文件的名称和位置
  • 当前在线重做日志文件序列号
  • 检查点的信息
  • 撤销段的开始和结束
  • 重做日志归档信息
  • 备份信息

控制文件在生产环境下建议创建多个控制文件,放在不同物理磁盘。由于Linux挂载磁盘,所以实际上不同的磁盘可以在同一个目录下。

控制文件是一个相当小的文件(在极端情况下可以增长到64MB左右),其中包含Oracle需要的其他文件的目录。参数文件告诉实例控制文件在哪里,控制文件告诉实例数据库和在线重做日志文件在哪里。厂控制文件还告诉Oracle其他信息,例如发生的检查点信息、数据库名称(应该与DB_NAME参数匹配
)、数据库创建时的时间戳、归档重做日志历史记录(在某些情况下这会使控制文件变大)、RMAN信息等等。
控制文件应该通过硬件(RAID)或Oracle(当RAID或镜像不可用时)进行多路复用。它们应该存在多个副本,并且应该存储在单独的磁盘上,以避免在磁盘发生故障时丢失它们。丢失控制文件并不是致命的,它只是使恢复变得更加困难。
控制文件是开发人员可能永远不需要实际处理的东西。对于DBA来说,它们是数据库的重要组成部分,但是对于软件开发人员来说,它们并不是非常相关。

查看控制文件

复制控制文件还要保证复制的文件的权限,(6,6,0)

在这里插入图片描述

  1. 使用pfile增加控制文件

    • 打开pfile(参数文件):找到并打开Oracle数据库实例使用的pfile,通常是init.ora文件。
    • 在pfile中添加控制文件路径:在pfile中添加一个新的控制文件路径,可以使用类似以下的语法:
      CONTROL_FILES = ("/path/to/controlfile1", "/path/to/controlfile2", "/path/to/new_controlfile");
      
    • 保存并关闭pfile。
    • 重启数据库实例:使用SQL*Plus连接到数据库,执行以下命令重启数据库实例:
      SHUTDOWN IMMEDIATE;
      STARTUP;
      
  2. 使用spfile增加控制文件

    • 将pfile转换为spfile:如果数据库实例使用的是pfile,可以将其转换为spfile,以便更灵活地管理参数。
      CREATE SPFILE FROM PFILE;
      
    • 修改spfile中的控制文件路径:使用ALTER SYSTEM命令修改spfile中的控制文件路径,例如:
      ALTER SYSTEM SET CONTROL_FILES = '/path/to/controlfile1','/path/to/controlfile2','/path/to/new_controlfile' SCOPE=SPFILE;
      
    • 重启数据库实例:使用SQL*Plus连接到数据库,执行以下命令重启数据库实例:
      SHUTDOWN IMMEDIATE;
      STARTUP;
      

控制文件的使用

有关控制文件状态和位置的信息可以通过查询以下视图来检索

  • V$CONTROLFILE:列出与实例关联的所有控制文件的名
    称和状态
  • vparameter:列出所有参数的状态和位置
  • V$CONTROLFILE_RECORD_SECTION:提供关于控制文
    件记录节的信息
  • SHOW PARAMETER CONTROL_FILES:列出控制文件的名
    称、状态和位置 可以用show parameter cont 简写

高级课题
创建一个新的控制文件
为控制文件备份


http://www.ppmy.cn/embedded/139641.html

相关文章

offsetof的实现

大家好,今天给大家分享一下offsetof宏是如何实现的,那么话不多说我们直接开始。 我们要实现这个宏,我们必须先了解这个宏的作用,它是用来求结构体成员变量的偏移量。 我们先来看看它在cplusplus网站中的介绍吧 那么根据这个网站…

【Qt】QComboBox设置默认显示为空

需求 使用QComboBox,遇到一个小需求是,想要设置未点击出下拉列表时,内容显示为空。并且不想在下拉列表中添加一个空条目。 实现 使用setPlaceholderText()接口。我们先来看下帮助文档: 这里说的是,placeholderText是…

Day03_AJAX原理 (黑马笔记)

Day03_AJAX原理 目录 Day03_AJAX原理 学习目标 01.XMLHttpRequest - 基础使用 目标 讲解 小结 02.XMLHttpRequest - 查询参数 目标 讲解 小结 03.案例 - 地区查询 目标 讲解 小结 04.XMLHttpRequest - 数据提交 目标 讲解 小结 05.认识_Promise 目标 讲解…

整理:4篇专注于多模态大语言模型(MLLM)的瘦身变体论文

近年来,随着人工智能技术飞速发展,大语言模型(LLM)和多模态大语言模型(MLLM)成为了炙手可热的明星。它们不仅能处理文字,还能看图识字,简直是“全能选手”。这种能力得益于模型中加入…

2024年11月22日 十二生肖 今日运势

小运播报:2024年11月22日,星期五,农历十月廿二 (甲辰年乙亥月庚寅日),法定工作日。 红榜生肖:马、猪、狗 需要注意:牛、蛇、猴 喜神方位:西北方 财神方位&#xff1a…

Redis设计与实现第10章 -- RDB持久化 总结 (创建、载入、自动保存、文件结构)

Redis是内存数据库,数据库状态存储在内存里,如果服务器进程退出,服务器的数据库状态没有保存到磁盘里,就会丢失。为了解决这个问题,Redis提供了RDB持久化功能,可以把Redis在内存里的数据库状态保存在磁盘里…

Android 13 编译Android Studio版本的Launcher3

Android 13 Aosp源码 源码版本 Android Studio版本 Launcher3QuickStepLib (主要代码) Launcher3ResLib(主要资源) Launcher3IconLoaderLib(图片加载,冲突资源单独新建) 需要值得注意的是: SystemUISharedLib.jar 有kotlin和java下的,在 Lau…

百度智能云千帆大模型平台引领企业创新增长

本文整理自百度世界大会 2024——「智能跃迁 产业加速」论坛的同名演讲。 更多大会演讲内容,请访问: https://baiduworld.baidu.com 首先,跟大家分享一张图,这个是我们目前大模型应用落地的场景分布。可以看到,大模型…