`

ORACLE控制文件管理

阅读更多
oracle数据库通过控制文件保持数据库的完整性,一旦控制文件被破坏数据库将无法启动,因此建议采用多路控制文件或者备份控制文件的方法。

控制文件是数据库建立的时候自动生成的二进制文件,只能通过实例进行修改,如果手动修改的话会造成控制文件与物理信息不符合,从而导致数据库不能正常工作。



控制文件主要包括下面内容:

1.控制文件所属数据库的名字,一个控制文件只能属一个数据库

2.数据库创建时间

3.数据文件的名称,位置,联机,脱机状态信息

4.所有表空间信息

5.当前日志序列号

6.最近检查点信息

其中,数据库名称,标识和创建时间在数据库创建时写入;数据文件和重做日志名称和位置在增加,重命名或者删除的时候更新;表空间信息在增加或者删除表空间的时候进行更新。



在初始化参数文件中control_files参数主要来描述控制文件的文件名跟物理路径,如下所示:

control_files=("d:oracleoradataoradbcontrol01.ctl")

该参数只设置一个,也可以设置多个,如下所示:

control_files=("d:oracleoradataoradbcontrol01.ctl"

"e:oracleoradataoradbcontrol02.ctl",

"f:oracleoradataoradbcontrol03.ctl")

这个方法叫做多路控制文件,oracle可以利用这个方法恢复被破坏的控制文件,oracle最多允许设置8个多路控制文件。

必须所有的多路控制文件都完整正确数据库才能正常启动,只要丢失一个或者一个内容不正确数据库就不能顺利启动。



对控制文件的管理原则:

1.明确控制文件的名称和存储路径

参数设置错误将无法打开数据库,数据库打开以后,实例将同时写入所有的控制文件但是只会读取第一个控制文件的内容。

2.为数据库创建多路控制文件

a.多路控制文件内容必须完全一样,oracle实例同时将内容写入到control_files变量所设置的控制文件中。

b.初始化参数control_files中列出的第一个文件是数据库运行期间唯一可读取的控制文件。

c.创建,恢复和备份控制文件必须在数据库关闭的状态下运行,这样才能保证操作过程中控制文件不被修改。

d.数据库运行期间如果一个控制文件变为不可用,那么实例将不再运行,应该终止这个实例,并对破坏的控制文件进行修复。

3.将多路控制文件放在不同的硬盘上

4.采用操作系统镜像方式备份控制文件

5.手工方式备份控制文件

应该及时备份特别是发生了如下的操作的时候:

添加删除重命名数据文件

添加删除表空间,改变表空间读写状态

添加删除重做日志文件

如果手工备份不及时的话,就会产生备份的控制文件与正在使用的控制文件不一致,那么利用备份的控制文件启动数据库时会破坏数据库的一致性完整性,甚至不能启动数据库,因此手工备份控制文件要注意及时备份。



创建多路控制文件



利用spfile文件创建多路控制文件

(spfile以二进制文本形式存在,不能用vi编辑器对其中参数进行修改。文件格式为spfileSID.ora。如果要对spfile文件进行修改,可以采用SQL语言)



1.利用SYS帐号登陆SQL*PLUS,查询一下控制文件信息视图

SQL>select name from v$controlfile;

结果显示为:

NAME

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

d:oracleoradataoradb01control01.ctl

e:oracleoradataoradb01control02.ctl

f:oracleoradataoradb01control03.ctl

这里列出了控制文件的名称以及位置



2.更改spfile中控制文件的信息:(增加了一个新的控制文件)

SQL>alter system set control_files=

'd:oracleoradataoradb01control01.ctl',

'e:oracleoradataoradb01control02.ctl',

'f:oracleoradataoradb01control03.ctl',

'g:oracleoradataoradb01control04.ctl'

scope=spfile

结果显示为:

系统已经更改。

(第二步的操作需要注意的是:进行这些操作,必须是在DB启动的时候,否则会弹出“ORACLE not available”错误。)



3.关闭数据库



4.在操作系统中将已有的控制文件复制,修改名称保存到刚才增加控制文件的指定位置。(这步必须做的,否则数据库无法启动)



5.重新启动控制文件,使控制文件改变生效。





管理控制文件



备份控制文件

SQL> alter database backup controlfile to ‘d:\20080326.ctl’

数据库已更改。

然后从这个备份的位置直接把文件拷贝回之前的目录覆盖就好了。



删除控制文件(删除某一路的控制文件)



spfile文件

1.利用SYS帐号登陆SQL*PLUS,查询一下控制文件信息视图

SQL>select name from v$controlfile;

结果显示为:

NAME

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

d:oracleoradataoradb01control01.ctl

e:oracleoradataoradb01control02.ctl

f:oracleoradataoradb01control03.ctl

g:oracleoradataoradb01control04.ctl

这里列出了控制文件的名称以及位置



2.更改spfile中控制文件的信息,删除一个新的控制文件

SQL>alter system set control_files=

'd:oracleoradataoradb01control01.ctl',

'e:oracleoradataoradb01control02.ctl',

'f:oracleoradataoradb01control03.ctl',

scope=spfile

结果显示为:

系统已经更改。



3.关闭数据库



4.在操作系统中删除控制文件



5.重新启动数据库,使控制文件生效

分享到:
评论

相关推荐

    oracle控制文件的建立

    本文将详细介绍Oracle控制文件的建立、修改、删除以及移动等操作。 #### 一、控制文件概述 控制文件是Oracle数据库的一个二进制文件,它包含了数据库的物理结构信息,如数据文件的名字和位置、重做日志文件的位置...

    Oracle数据库精讲之数据库管理_ Oracle数据库管理视频

    第七讲:Oracle数据库控制文件管理 第八讲:Oracle数据库参数文件管理 第九讲:oracle数据库启动和关闭管理 第十讲:oracle undo sapce管理 第十一讲:oracle tablespace管理 第十二讲:oracle table管理 第十三讲:...

    Oracle实验报告:管理控制文件

    ### Oracle实验报告:管理控制文件 #### 实验背景与目的 在Oracle数据库系统中,控制文件扮演着极其重要的角色。它记录了数据库的物理结构,包括数据文件、重做日志文件的位置信息以及数据库实例的状态等关键信息...

    Oracle案例:损坏控制文件的恢复方法

    Oracle 案例:损坏控制文件的恢复方法 Oracle 数据库的控制文件是数据库的核心...因此,了解这些恢复方法非常重要,可以帮助数据库管理员快速恢复损坏的控制文件,减少数据库宕机的时间,提高数据库的可用性和可靠性。

    如何在Oracle中实现控制文件多路复用管理

    "控制文件多路复用管理在Oracle中的实现" 控制文件在 Oracle 数据库中扮演着非常重要的角色,它是数据库的核心组件之一。如果控制文件出现了损坏,可能会导致数据库无法正常启动。因此,作为 Oracle 数据库管理员,...

    oracle数据库存储管理

    Oracle 数据库存储管理是数据库管理员的核心任务之一,涉及到数据文件管理、控制文件操作、重做日志文件和表空间操作等方面。 一、数据文件管理 数据文件是 Oracle 数据库的物理存储单元,用于存储数据库中的数据...

    oracle8管理控制文件和重做日日志文件.ppt

    Oracle 8管理控制文件和重做日志文件 Oracle 8管理控制文件和重做日志文件是Oracle数据库管理中两个重要的概念。控制文件是Oracle数据库的关键组件之一,负责存储数据库的结构信息和控制信息,而重做日志文件则是...

    oracle数据库管理的一组经典文档

    这一组经典文档涵盖了Oracle数据库管理的关键方面,包括密码管理、数据库恢复、数据对象分析、操作控制以及高可用性方案。以下是对这些主题的详细解释: 1. **密码管理**:在Oracle数据库中,安全管理是至关重要的...

    Oracle中文官方文档

    - **内容管理**:介绍了Oracle如何管理和检索非结构化数据,如文档和多媒体文件。 - **数据库安全**:探讨了保护数据免受未经授权访问的方法和技术。 - **数据完整性**:讨论了确保数据准确性和一致性的各种机制。 -...

    Oracle培训文档(公司内部培训文档)

    物理存储结构则包含了数据文件、控制文件、重做日志文件等,它们是数据库实际存储数据的地方。了解这些基本概念有助于理解Oracle的数据管理和操作流程。 其次,SQL(Structured Query Language)是与Oracle交互的...

    Oracle服务器服务控制

    在压缩包文件"ORACLE"中,可能包含与Oracle服务器服务控制相关的脚本、配置文件或文档,这些资源可以帮助进一步学习和理解如何有效地管理Oracle服务。通过阅读和实践其中的内容,可以加深对Oracle服务控制的理解,...

    oracle 12c数据库管理

    - 管理数据库文件,包括数据文件、控制文件、日志文件等的存储位置和空间分配。 - 利用Oracle的自动存储管理(ASM)提供高效的存储解决方案,简化存储配置和管理。 8. 数据迁移与升级: - 当需要升级到新版本的...

    Oracle SQL 官方文档

    Oracle SQL 是一种强大的数据库查询和编程语言,广泛用于管理和操作Oracle数据库系统。11g第二版(11G2)是Oracle的一个重要版本,提供了许多增强功能和优化。本官方文档集包括四份重要的参考资料,涵盖了Oracle SQL...

    Oracle UCM文档管理相关核心功能介绍

    Oracle UCM(Universal Content Management)是一款强大的文档管理系统,旨在帮助企业管理和组织非结构化的信息,如文档、图片、视频等。其核心功能集中在内容的创建、存储、协作、检索和生命周期管理上,确保企业...

    oracle最全面官方文档

    - **数据库架构**:介绍Oracle数据库的基本组件,如表空间、数据文件、控制文件等。 - **SQL语法**:详细解释SQL语句的使用,包括DML(增删改查)和DDL(数据定义)操作。 - **PL/SQL**:Oracle的内置过程化语言...

    Oracle 11g 官方中文文档.zip

    这通常包括进程结构、内存结构、数据文件、控制文件、重做日志、表空间等核心概念,以及如何配置和优化这些组件以适应不同的业务需求。 "Oracle数据库11g:新特性概述"是对11g版本相对于之前版本新增特性的详细介绍...

    ORACLe数据库管理员教程

    Oracle数据库管理员教程旨在引导读者掌握如何管理和控制Oracle数据库系统,这一关键角色被称为DBA(Database Administrator)。DBA的职责广泛,包括理解Oracle数据库的体系结构、安装和升级数据库管理系统、控制...

    Oracle物料清单管理—BOM.pptx

    * 生产计划管理:Oracle 物料清单管理系统可以定义和维护生产计划,包括生产任务、车间排产和成本控制等信息。 * 自动化管理:Oracle 物料清单管理系统可以自动化地实现物料需求计划和生产计划的管理,提高企业的...

    Oracle9i数据库管理实务讲座pdf+Oracle9i数据库管理员指南+Oracle培训教材

    8. **并发控制**:Oracle 9i使用多版本并发控制(MVCC)来处理多个用户同时访问数据库的情况,确保数据的一致性和完整性。 9. **分区**:Oracle 9i支持表和索引的分区,将大表分成较小、更易管理的部分,提高查询...

    Oracle 项目管理

    Oracle项目管理(Oracle Project Management,简称PJM)是Oracle公司推出的一种系统化、规范化的项目管理方法论,旨在帮助企业有效地规划、执行和控制各类项目。Oracle项目管理不仅涵盖了项目的生命周期管理,还提供...

Global site tag (gtag.js) - Google Analytics