当前位置: 首页 > news >正文

网站设计的目标重庆专业网站推广流程

网站设计的目标,重庆专业网站推广流程,建设网站需要什么人员,关于医院网站建设的通知一、 原理 (Principle) 核心定位#xff1a; 控制文件是一个小型的二进制文件#xff0c;由 Oracle 实例在启动和操作过程中持续读写。它是数据库物理结构的权威记录。数据库无法启动或正常操作时#xff0c;如果无法访问控制文件#xff0c;实例将无法识别数据文件和重做日…一、 原理 (Principle) 核心定位 控制文件是一个小型的二进制文件由 Oracle 实例在启动和操作过程中持续读写。它是数据库物理结构的权威记录。数据库无法启动或正常操作时如果无法访问控制文件实例将无法识别数据文件和重做日志文件的位置和状态。可以将其视为数据库的“元数据目录” 或 “路线图” 指导实例如何找到和使用数据库的所有物理组件。 创建时机 控制文件在 CREATE DATABASE 语句执行时被首次创建。该语句中指定了初始控制文件的名称、位置和大小。数据库创建后其结构如添加数据文件、重做日志组的任何物理更改都会实时更新到控制文件中。 持续更新 每当发生检查点Checkpoint 时控制文件都会被更新。检查点确保内存SGA中的脏数据块被写入磁盘的数据文件并记录下该时刻数据库的一致状态SCN - System Change Number。当重做日志切换Log Switch 发生时控制文件会记录当前活动的联机重做日志文件序列号Sequence#和状态CURRENT, ACTIVE, INACTIVE, UNUSED。任何物理结构变更ALTER DATABASE ADD DATAFILE/TEMPFILE, ALTER DATABASE RENAME FILE, ALTER DATABASE ADD/DROP LOGFILE [MEMBER], ALTER DATABASE ARCHIVELOG/NOARCHIVELOG都会立即更新控制文件。RMAN恢复管理器 备份和恢复操作会记录元数据备份集、备份片、归档日志备份、恢复进度到控制文件中也可选择使用恢复目录。 依赖关系 启动阶段 实例启动时首先读取参数文件spfile/pfile从中获取CONTROL_FILES参数指定的控制文件位置列表。然后实例尝试打开并读取这些控制文件在NOMOUNT阶段。只有成功读取控制文件后实例才能进入MOUNT阶段识别数据库的物理结构进而打开数据库OPEN阶段。操作阶段 数据库运行时实例持续引用控制文件来定位数据文件、重做日志文件并记录关键状态信息SCN、日志序列号等。二、 特性 (Characteristics) 二进制格式 控制文件是二进制文件不能像文本文件一样直接使用文本编辑器查看或编辑。必须使用 SQL 命令如 V$视图或 Oracle 工具如 RMAN, DBCA来查看其内容或进行操作。 多路复用 (Multiplexing) 核心高可用特性 Oracle 强烈建议为每个数据库创建至少两个最好是三个或更多 完全相同的控制文件副本镜像。实现方式 通过初始化参数 CONTROL_FILES 指定多个完全不同的物理路径最好在不同的物理磁盘或存储控制器上。工作原理 当实例需要更新控制文件时它会同时写入CONTROL_FILES参数中列出的所有文件。读取时通常从列表中的第一个文件读取但如果第一个损坏会自动尝试读取后面的。目的 防止单个磁盘故障导致整个数据库因无法访问控制文件而瘫痪。如果一个控制文件副本损坏或丢失只要还有一个完好的副本数据库通常可以继续运行或更容易恢复。 固定大小 vs. 可变大小 传统/默认 在创建数据库时指定初始大小CREATE DATABASE ... CONTROLFILE REUSE ... SIZE ...。一旦创建大小通常是固定的。如果记录的信息超出了控制文件容量数据库将无法启动或操作会失败报错如 ORA-00235: control file fixed table inconsistent due to concurrent update。自 Oracle 9i 起 控制文件可以包含可扩展可变大小 的部分主要是用于存储 RMAN 备份和恢复相关的元数据。这部分会根据 CONTROL_FILE_RECORD_KEEP_TIME 参数默认 7 天定义的保留期限自动扩展或重用旧记录空间。但核心结构信息部分的大小仍是固定的。 内容组成 包含大量数据库关键信息主要分为 数据库信息 数据库名称DB_NAME、唯一数据库标识符DBID、创建时间戳、MAX*参数如 MAXLOGFILES, MAXLOGMEMBERS, MAXDATAFILES, MAXINSTANCES - 这些定义了数据库结构的上限、字符集、FORCE LOGGING 状态、保护模式最大保护/可用性/性能等。数据文件信息 每个数据文件包括临时文件的绝对路径、文件编号、状态ONLINE/OFFLINE/DROP、大小、检查点 SCN、时间戳、创建 SCN 等。重做日志信息 每个重做日志组和成员的绝对路径、组号、成员号、状态CURRENT/ACTIVE/INACTIVE/UNUSED、序列号Sequence#、大小、首次更改号First Change#、下次更改号Next Change# 等。表空间信息 表空间名称、编号、状态ONLINE/OFFLINE/READ ONLY、类型PERMANENT/TEMPORARY/UNDO/BIGFILE、关联的数据文件范围等。归档日志信息 归档日志文件的路径、名称、日志序列号范围、ARCHIVELOG/NOARCHIVELOG 模式状态、归档目标等。备份信息 (RMAN) RMAN 备份集、备份片、归档日志备份、数据文件副本的位置、状态、时间、SCN 范围等存储在可重用部分。当前日志序列号 (Sequence#) 标识当前正在写入的联机重做日志组。检查点信息 最新的检查点 SCN、时间戳记录数据库最后一次一致写入磁盘的时间点。SCN (System Change Number) 系统当前 SCN、数据文件检查点 SCN、停止 SCN在只读表空间或正常关闭时设置等。SCN 是 Oracle 内部用于排序事件和保证一致性的关键机制。RMAN 目录信息 如果使用了恢复目录Recovery Catalog会记录其相关信息。闪回数据库信息 闪回日志的位置和状态如果启用了闪回数据库。 只读性 (Mount 阶段) 在数据库处于 MOUNT 状态时控制文件的内容对于实例是只读的除了某些特定的恢复操作。物理结构的变更必须在 MOUNT 或 OPEN 状态下进行如添加数据文件这些操作会由实例写入控制文件。在 OPEN 状态下控制文件会根据操作持续更新如日志切换、检查点。三、 作用 (Functions) - 为什么至关重要 数据库启动与识别 NOMOUNT - MOUNT 的关键 实例启动时参数文件告诉它控制文件在哪。读取控制文件是成功过渡到 MOUNT 阶段的必要条件。此时实例知道了数据库叫什么DB_NAME并“认识”了它要管理的数据库。MOUNT - OPEN 的基础 在 MOUNT 阶段实例根据控制文件中的信息定位并尝试打开所有的数据文件和联机重做日志文件。只有所有数据文件头中记录的检查点 SCN 与控制文件中记录的检查点 SCN 一致数据库才能成功 OPEN。如果不一致需要恢复。 物理结构导航 提供数据文件、临时文件、联机重做日志文件及其成员的精确物理位置路径和文件名 。记录表空间与数据文件的归属关系。记录重做日志组与成员的归属关系。定义了数据库结构的上限MAXDATAFILES, MAXLOGFILES 等。 维护数据库一致性状态 存储关键的 **SCN (System Change Number)**系统检查点 SCN 表示系统范围内最后一次成功写入所有脏块到磁盘的 SCN。数据文件检查点 SCN 每个数据文件头中记录的该文件最后一次成功写入脏块的 SCN。在 OPEN 数据库时所有数据文件头中的检查点 SCN 必须与控制文件中记录的对应数据文件的检查点 SCN 完全一致否则需要进行恢复。结束 SCN (Stop SCN) 在正常关闭数据库 (SHUTDOWN NORMAL/IMMEDIATE/TRANSACTIONAL) 时会写入每个联机数据文件的结束 SCN等于系统检查点 SCN。下次启动时如果控制文件中的结束 SCN 与数据文件头中的检查点 SCN 匹配表明数据库是干净关闭的不需要恢复。异常关闭ABORT或崩溃时结束 SCN 为无穷大INFINITE启动时需要实例恢复。 记录当前活动的联机重做日志组和序列号。 支持备份与恢复 (RMAN) 核心元数据仓库 RMAN 依赖控制文件作为其主要的元数据存储库除非显式使用恢复目录。记录备份 存储所有 RMAN 备份备份集、备份片、映像副本的位置、时间、包含的文件、SCN 范围等信息。记录归档日志 存储已备份的归档日志信息。恢复依据 RMAN 在执行恢复操作时首先读取控制文件来确定需要恢复哪些文件、从哪里恢复使用哪个备份或归档日志、恢复到哪个 SCN 或时间点。 支持归档模式操作 记录数据库是否处于 ARCHIVELOG 模式。记录已生成的归档日志文件的位置和序列号范围部分信息。在日志切换时触发归档进程ARCn归档 ACTIVE 或 INACTIVE 的日志组。 支持 RAC (Real Application Clusters) 在 RAC 环境中控制文件是所有实例共享的关键资源。存储关于线程Thread - 通常每个实例一个线程的信息每个线程关联一组重做日志组。协调不同实例之间的检查点和日志切换信息维护集群范围内的一致性视图。 支持闪回数据库 (Flashback Database) 如果启用了闪回数据库控制文件会记录闪回日志的存储位置和相关信息。四、 故障恢复 (Failure Recovery) - 应对控制文件丢失或损坏 控制文件的丢失或损坏是严重的故障但得益于其多路复用特性通常可以恢复。恢复策略取决于损坏程度和可用副本情况。 场景 1部分控制文件副本损坏多路复用有效 症状 数据库可能仍在运行但告警日志 (alert_.log) 会持续报告尝试写入损坏副本失败的错误 (ORA-00210, ORA-00202, ORA-270XX 等)。或者启动时在 NOMOUNT 到 MOUNT 阶段失败报告某个特定控制文件无法识别或打开。恢复步骤关闭数据库 SHUTDOWN IMMEDIATE (如果可能) 或 SHUTDOWN ABORT。删除损坏副本 使用操作系统命令删除物理损坏的那个控制文件副本。复制完好副本 使用操作系统命令将一个完好的控制文件副本复制到被删除的损坏文件所在的位置并使用原损坏文件完全相同的名称。启动数据库 STARTUP。实例会读取参数文件中的 CONTROL_FILES 列表找到完好的副本和刚复制过去的副本成功挂载并打开数据库。 关键点 操作简单快速前提是至少有一个完好的控制文件副本可用并且能够及时修复多路复用配置。 场景 2所有控制文件副本丢失或损坏最严重情况 症状 数据库无法启动到 MOUNT 阶段 (STARTUP 命令在 NOMOUNT 之后失败)报错明确指出无法打开或识别任何控制文件 (ORA-00205)。告警日志会有详细错误。恢复选项 有两种主要方法选择取决于是否有可用的控制文件备份和数据库的归档模式。选项 A使用备份的控制文件恢复推荐需要有效备份前提拥有一个有效的、不是太旧的控制文件备份通常通过 RMAN BACKUP CURRENT CONTROLFILE 或 BACKUP DATABASE INCLUDE CURRENT CONTROLFILE 创建。拥有自控制文件备份以来生成的所有数据文件备份和归档重做日志文件如果数据库在 ARCHIVELOG 模式下。 步骤关闭数据库 (如果尚未关闭) SHUTDOWN ABORT。恢复控制文件备份将 RMAN 备份的控制文件可能是备份片或特殊格式还原到 CONTROL_FILES 参数指定的所有位置。必须使用 RMAN 的 RESTORE CONTROLFILE 命令来完成。不能简单用 OS 复制备份文件。RMAN RESTORE CONTROLFILE FROM ; (指定备份片位置) 或 RMAN RESTORE CONTROLFILE FROM AUTOBACKUP; 挂载数据库 RMAN ALTER DATABASE MOUNT; (因为恢复的控制文件是旧的数据库处于不一致状态)。恢复数据库RMAN RECOVER DATABASE; 这个命令至关重要。RMAN 会使用恢复的控制文件中记录的备份信息并结合自备份以来产生的归档日志和当前联机重做日志如果可用将数据库前滚到当前控制文件备份之后的最新一致状态。 以 RESETLOGS 方式打开数据库RMAN ALTER DATABASE OPEN RESETLOGS; 这是必须的一步。RESETLOGS 操作重置重做日志序列号Sequence#为 1。创建新的数据库 Incarnation化身。清除所有联机重做日志文件的内容即使物理文件还在。使用控制文件中的新信息如 SCN覆盖所有联机数据文件头。 警告 OPEN RESETLOGS 操作是一个关键点。在此之后之前所有的备份控制文件、数据文件、归档日志都变得无效。必须立即进行全库备份关键点 这是最完整的恢复方法能将数据库恢复到接近故障点的状态取决于归档日志的完整性。但需要完备的备份策略和归档日志。 选项 B手动重建控制文件最后手段可能导致数据丢失前提没有可用的控制文件备份。拥有完整的、最新的 CREATE CONTROLFILE 语句脚本。这个脚本通常在数据库创建后或重大结构变更后通过 ALTER DATABASE BACKUP CONTROLFILE TO TRACE; 命令生成存储在用户转储目录 (user_dump_dest) 的 trace 文件中。或者 能够根据数据库当前物理文件的精确位置和状态手工编写出正确的 CREATE CONTROLFILE 语句非常困难且易错。风险 此方法无法恢复自上次生成 trace 脚本以来发生的任何数据文件添加、重命名、表空间创建/删除、重做日志添加/删除等操作。这些操作对应的数据可能永久丢失。也无法恢复未提交的事务。 步骤关闭数据库 SHUTDOWN ABORT。找到或编写 CREATE CONTROLFILE 脚本在 user_dump_dest 目录下找到最新的包含 CREATE CONTROLFILE 的 trace 文件。仔细编辑脚本确保 SET DATABASE ... 的数据库名正确。检查 LOGFILE 和 DATAFILE 子句中列出的所有文件路径和名称100%准确且当前存在。移除任何已经不存在的文件条目。添加任何脚本生成后新增的文件条目需要精确知道路径和文件名。根据情况选择 RESETLOGS 或 NORESETLOGS。如果所有数据文件都是当前一致的比如在脚本生成后数据库没有打开过或者所有文件检查点 SCN 一致可以用 NORESETLOGS否则必须用 RESETLOGS更常见。NORESETLOGS 能保留原有日志序列号和 Incarnation。设置正确的字符集 (CHARACTER SET ...)。启动实例到 NOMOUNT STARTUP NOMOUNT。执行 CREATE CONTROLFILE 脚本 在 SQL*Plus 或 SQLcl 中运行编辑好的脚本。恢复数据库 (如果使用 RESETLOGS)如果脚本中使用了 RESETLOGS执行完 CREATE CONTROLFILE 后数据库处于 MOUNT 状态。RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL; 或 RECOVER DATABASE USING BACKUP CONTROLFILE; (如果知道需要应用的归档日志序列号范围)。通常需要应用自脚本生成以来所有的归档日志直到最后一个可用的。应用完日志后 CANCEL。 以 RESETLOGS 方式打开数据库ALTER DATABASE OPEN RESETLOGS; **(即使 RECOVER 时指定了 UNTIL CANCELOPEN 时也必须要 RESETLOGS)**。 如果使用 NORESETLOGS 且成功理论上可以直接 ALTER DATABASE OPEN;。但这要求脚本绝对精确且数据库在脚本生成后物理结构完全没有改变数据文件检查点完全一致几乎不可能除非刚生成脚本就立即损坏控制文件。实践中极少能成功。关键点 高风险操作极易出错且很可能导致数据丢失或不一致。仅在没有备份且万不得已时才使用。 成功重建后立即进行全库备份通用恢复注意事项 告警日志 (alert_.log) 任何控制文件问题都会在告警日志中留下详细的错误信息和时间戳。始终首先检查告警日志。RMAN 备份控制文件 定期使用 RMAN BACKUP CURRENT CONTROLFILE; 备份控制文件是 DBA 最重要的日常工作之一。这大大简化了场景 2 的恢复。生成 CREATE CONTROLFILE 脚本 定期执行 ALTER DATABASE BACKUP CONTROLFILE TO TRACE; 并将生成的 trace 脚本安全保存。这是场景 2 选项 B 的基础。多路复用的重要性 配置多个控制文件副本在不同的物理磁盘/控制器上是防止此类故障的最有效、成本最低的高可用措施。切勿只使用一个控制文件CONTROL_FILE_RECORD_KEEP_TIME 确保此参数设置合理通常默认 7 天以便 RMAN 备份元数据有足够的保留时间用于恢复。测试恢复 定期在测试环境演练控制文件丢失的恢复过程熟悉步骤和工具特别是 RMAN。 五、 管理与最佳实践 (Management Best Practices) 配置多路复用 最少两个推荐三个副本。将副本放在不同的物理磁盘、不同的磁盘控制器或不同的存储系统上。在 spfile 中设置 CONTROL_FILES 参数ALTER SYSTEM SET CONTROL_FILES /path1/control01.ctl, /path2/control02.ctl, /path3/control03.ctl SCOPESPFILE; 修改需要重启数据库生效。添加/删除副本通常需要先关闭数据库移动/复制文件再修改参数文件并重启。 监控 状态 SELECT STATUS, NAME FROM V$CONTROLFILE; (查看所有副本状态和路径)。内容查看V$DATABASE: DBID, NAME, LOG_MODE, FORCE_LOGGING, CONTROLFILE_TYPE, CONTROLFILE_CREATED, 等。V$CONTROLFILE_RECORD_SECTION: 显示控制文件不同记录部分的类型、记录大小、记录总数、已用记录数、最近分配的记录ID。重点关注 TYPEBACKUP CORRUPTION 和 TYPEDATAFILE 等的 RECORDS_TOTAL 和 RECORDS_USED确保 USED 远小于 TOTAL避免耗尽空间。V$DATAFILE / V$TEMPFILE数据文件信息源自控制文件。V$LOGFILE / V$LOG重做日志信息源自控制文件。V$BACKUP_SET / V$BACKUP_PIECE / V$BACKUP_DATAFILERMAN 备份信息源自控制文件。 告警日志 持续监控及时发现控制文件相关的 I/O 错误或校验和错误 (ORA-00200, ORA-00202, ORA-00210, ORA-00215, ORA-00255 等)。 备份 RMAN 备份 定期 (如每天) 执行 BACKUP CURRENT CONTROLFILE; 或确保全备包含控制文件 (BACKUP DATABASE INCLUDE CURRENT CONTROLFILE;)。备份到 TRACE 定期 (尤其在物理结构变更后) 执行 ALTER DATABASE BACKUP CONTROLFILE TO TRACE;。将生成的 trace 文件包含 CREATE CONTROLFILE 语句安全归档。注意这不是物理备份是 SQL 脚本 维护 空间管理 监控 V$CONTROLFILE_RECORD_SECTION。如果核心部分如 DATAFILE的 RECORDS_USED 接近 RECORDS_TOTAL由 MAXDATAFILES 等参数限制需要重建控制文件或增大相关 MAX* 参数需重建控制文件。RMAN 元数据清理 使用 CROSSCHECK, DELETE EXPIRED, DELETE OBSOLETE 命令管理控制文件中 RMAN 备份记录的过期和废弃信息防止可重用部分过度增长。CONTROL_FILE_RECORD_KEEP_TIME 控制记录保留时长。 冷备份中的控制文件 如果进行操作系统级别的冷备份数据库完全关闭必须同时备份所有控制文件副本、数据文件、联机重做日志文件、参数文件。恢复时需要将这些文件一起还原到原始位置然后启动数据库。确保备份时间点数据库是完全一致关闭的 (SHUTDOWN IMMEDIATE/NORMAL/TRANSACTIONAL)。总结Oracle 控制文件是一个小巧但极其关键的核心二进制文件充当数据库物理结构的“大脑”和“地图”。它记录了数据库的物理构成文件位置、关键状态信息SCN、日志序列号和操作历史备份。其多路复用特性是保障高可用性的基石。虽然丢失所有副本是灾难性的但通过严谨的多路复用配置、定期的 RMAN 控制文件备份、定期的 TO TRACE 备份以及熟悉恢复流程可以有效地管理和从控制文件故障中恢复。理解控制文件的原理、特性和管理是每一位 Oracle DBA 必备的核心技能。
http://www.pierceye.com/news/122013/

相关文章:

  • 国外网站国内备案南京网站seo优化公司
  • 岱山县网站建设网站后台管理系统怎么上传
  • 做网站需要什么东西重庆市招投标网官网
  • 潢川手机网站建设戴尔公司网站开发的经营目标
  • 创建网站代码是什么问题wordpress屏蔽广告插件下载
  • 网站接入服务提供商纪检网站建设计划
  • 佛山做网站公司有哪些做拆分盘网站
  • 沈阳做微网站注册一个有限公司需要多少钱
  • 网站首页logo怎么修改优化方案英语答案
  • 东南亚网站建设市场用照片做视频的模板下载网站
  • 做seo网站的公司2网站建设公司
  • phpmysql旅游网站开发wordpress 需要多大数据库
  • 做预算查市场价格的网站阿里巴巴旗下跨境电商平台有哪些
  • 搜狗网站提交入口有哪些做问卷调查赚钱的网站6
  • 上海市住房和城乡建设厅官方网站码上游二维码制作
  • wordpress生活插件上海做网站优化
  • 长武网站建设做网站吉林
  • 定制做网站技术建网站不做广告怎么赚钱
  • 南宁市做网站的公司yellow的视频播放
  • 网络营销的效果是什么杭州seo网站建设
  • 南沙免费网站建设阿里巴巴网站工作流程
  • 东莞公司网站建设河南省专业做网站公司
  • 兰州彩票网站制作安阳区号是什么
  • 企业形象网站解决方案传统企业如果建立网站
  • 个人网站主页模板如何开一家网络营销公司
  • 网络管理系统密码吴中seo页面优化推广
  • 手绘风格的网站上海做网站cnsosu
  • 怎么做一个免费网站网站app的作用
  • iis 搭建网站品牌建设经验做法
  • 做国外的众筹网站有哪些wordpress小红书主题