Oracle数据库体系结构(4)oracle控制文件
控制文件的概述
1.控制文件是oracle数据库非常重要的物理文件,描述了整个数据库的物理结构信息,包括数据库名称、数据文件与重做日志文件的名称与位置,日志序列号等信息。数据库实例根据初始化参数CONTROL_FILES定位控制文件,
然后加载数据文件和重做日志文件,最后打开数据库。
在数据库运行和维护阶段,数据文件与重做日志文件的结构变化信息都记录在控制文件中。
2.控制文件的内容:
数据库的名称:该名称读取子DB_name或create database 语句中所使用的数据库名称
数据库的标识:是在创建数据库时oracle自动生成的。
数据库创建时间戳:该时间戳在创建数据库时生成的。
数据文件盒重做日志文件的名称与位置:
当前重做日志文件序列号:该序列号是在做重做日志切换时生成的。
数据库检查点信息:该信息是在数据库检查点事件发生时生成的。
重做日志历史信息:记录历史的重做日志文件信息。
归档日志文件的位置与状态:记录重做日志文件归档位置及归档状态
数据库备份的位置与状态:记录数据库备份信息,由恢复管理器(RMAN)记录的。
表空间信息:增加或删除表空间时,oracle会记录相应的修改信息。
3.控制文件的大小
控制文件的大小主要由可重用部分和不可重用部分组成。
(1)可重用部分主要由参数CONTROL_FILE_RECORD_KEEP_TIME来控制,该参数的默认值为7天,即可重用的部分内容保留7天,7天后这部分的内容就可能被覆盖。
(2)不可重用部分是有create database 或者是create controlfile语时设置的数据库最大化参数决定的。
控制文件的中的最大化参数主要有:
MAXLOGFILES:最大的重做日志文件组数量
MAXLOGMEMBERS:重做日志文件组中最大成员数量。
MAXLOGHISTORY:最大历史重做日志文件数量。
MAXDATAFILES:控制文件中最大数据文件记录数量。
MAXINSTANCES:可同时访问的数据库最大实例个数。
4.控制文件的管理策略:Oracle建议一个数据至少有两个控制文件,通过多路复用的技术,将多个控制文件分散到不同的磁盘中。这样可以避免由于一个控制文件的损坏而导致数据库的崩溃。
创建控制文件
首先可以通过查询control_files参数了解当前数据库所有控制文件的名称与位置:
SQL> select value from v$parameter where name='control_files'; VALUE
-------------------------------------------------------------------------------- E:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL,
E:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL
1.创建新的控制文件
数据创建完成后,如发生下面任何一种情况,都需要创建新的控制文件。
所有的控制文件都损坏了或者没有了备份文件
需要修改数据库名称
新建控制文件的步骤:
(1)制作一个包含所有数据文件和重做日志文件的列表清单:
SQL> select member from v$logfile; MEMBER
-------------------------------------------------------------------------------- E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG
E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG
E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG
SQL> select name from v$datafile;
NAME
-----------------------------------------------------------------------------
E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
E:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
E:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF
E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS02.DBF
E:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\USERS03.DBF
(2)如果数据库仍然处于运行状态,则关闭数据库
SQL> shutdown normal
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
(3)在操作系统级别备份所有的数据文件与重做日志文件
(4)启动数据库到加载状态
(5)创建一个新的控制文件
SQL> create controlfile reuse
2 database "orcl"
3 resetlogs
4 archivelog
5 maxlogfiles 16
6 maxlogmembers 3
7 maxdatafiles 100
8 maxinstances 8
9 maxloghistory 292
10 logfile
11 group 1 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG' size 50M,
12 group 2 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG' size 50M,
13 group 3 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG' size 50M
14 datafile
15 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF',
16 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF',
17 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF',
18 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF',
19 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF',
20 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS02.DBF',
21 'E:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\USERS03.DBF'
22 character set zhs16gbk; 控制文件已创建。
(6)对新建的控制文件进行备份,并存放到一个脱机的存储设备上。
报错如下,我也不知道如何解决,解决了再来修改
SQL> alter database backup controlfile to 'd:\control.bkp';
alter database backup controlfile to 'd:\control.bkp'
*
第 1 行出现错误:
ORA-10469: error creating control file backup, no checkpoint
ORA-01110: 数据文件 0: 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL'
(7)如果数据库重命名,编辑初始化参数DD_NAME,指定新的数据库名称。
(8)如果数据库需要恢复,则进行数据库恢复操作,否则直接进入步骤9.
SQL> recover database using backup controlfile;
(9)选择打开数据库
如果数据库不需要恢复或者已经对数据库进行了完全恢复,可以使用正常方式打开数据库
alter database open
如果在创建控制文件时使用了RESETLOGS参数,则必须指定以RESETLOGS方式打开数据库
alter database open resetlogs;
多路复用控制文件
为了保证数据库控制文件的可用性,Oracle数据库可以添加多个多路复用的控制文件,方法是将当前控制文件的拷贝复制到一个新的位置并重新命名,然后将新的控制文件的名称加入到control_files参数中。
为数据库添加一个多路复用的控制文件或修改控制文件的名称与位置的步骤为:
(1)关闭数据库
(2)复制控制文件到新的位置并且重命名
(3)编辑初始化参数文件中的control_files参数,将新添加的控制文件的名称添加到控制文件列表中,或修改控制文件列表中原有控制文件的名称与位置。
(4)重新启动数据库
创建新的控制文件
1.关闭数据库
SQL> shutdown immediate
2.在操作系统级别备份所有的数据文件和重做日志文件
3.启动数据库到nomount状态,不加载和打开数据库
4.执行create controlfile
5.对新建的控制文件备份
6.如果对数据库重命名,编辑初始化参数DB_NAME,指定新的数据库名称
7.如果数据库需要恢复,这进行数据库恢复操作。
8.打开数据库
备份控制文件
1.将控制文件备份为二进制文件
alter database backup controlfile to 'D:\control.bkp';
2.将控制文件备份为文本文件
alter database backup contrilfile to trace;
删除控制文件
1.编辑CONTROL_FILES初始化参数,使其不包含要删除的控制文件
2.关闭数据库
3.在操作系统中删除控制文件
4.重新启动数据库
Oracle数据库体系结构(4)oracle控制文件的更多相关文章
- oracle 11g 数据库恢复技术 ---02 控制文件
oracle 11g 数据库恢复技术 ---02 控制文件 SYS@ orcl >show parameter control_file NAME TYPE VALUE ------------ ...
- Oracle数据库体系结构、启动过程、关闭过程
一.Oracle数据库体系结构体系结构由下面组件组成:1.Oracle服务器(Server):由数据库实例和数据库文件组成,另外在用户建立与服务器的连接时启动服务器进程并分配PGA(程序全局区) (1 ...
- Oracle学习笔记--第2章 oracle 数据库体系结构
第2章 oracle 数据库体系结构 目录: ————————————— 2.1物理存储结构 2.1.1数据文件 2.2.2控制文件 2.1.3重做日志文件 2.1.4其他文件 2.2逻辑存储结构 2 ...
- Oracle数据库体系结构(2)数据库实例
Oracle实例的概念: 实例(Instance):就是数据库管理系统,处于用户与物理数据库之间的一个中间层软件,由一系列内存结构和后台进程组成. 用户操作数据库的过程实质上与数据库实例建立连接,然后 ...
- oracle数据库体系结构
一.oracle数据库体系结构 基本组成: Oracle server:一般情况下是一个instance和一个database组成 一般:1个instance只能对应一个数据库. 特殊:1个数据库可以 ...
- Oracle数据库表空间与数据文件的关系描述正确的是( )
Oracle数据库表空间与数据文件的关系描述正确的是( ) A.一个表空间只能对应一个数据文件 B.一个表空间可以对应多个数据文件 C.一个数据文件可以对应多个表空间 D.表空间与数据文件没任何对应关 ...
- c#用log4Net将日志写入到Oracle数据库,并写入到文件中
原文:c#用log4Net将日志写入到Oracle数据库,并写入到文件中 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https:/ ...
- .net远程连接oracle数据库不用安装oracle客户端
asp.net远程连接oracle数据库不用安装oracle客户端的方法下面是asp.net连接远程Oracle数据库服务器步骤: 1.asp.net连接oracle服务器需要添加Sytem.Data ...
- .net远程连接oracle数据库不用安装oracle客户端的方法
.net远程连接oracle数据库不用安装oracle客户端的方法步骤: 1.添加Sytem.Data.OracleClient命名空间. 2.连接时需要ConnectionString字符串,出现在 ...
随机推荐
- 51单片机 | 并行I/O口扩展实例(74LS244/74LS373/4071)
并行I/O口扩展实例 //<51单片机原理及应用(第二版)——基于Keil C与Proteus>第四章例4.4 I/O口不能完全用于输入/输出操作,当需要扩展外部存储器时,P0.P2口用作 ...
- (九)Thymeleaf用法——Themeleaf注释
4. 注释 模板名称:comment.html 4.1 标准 HTML/XML注释 语法:<!-- --> 4.2 解析器级注释块(Parser-level ...
- 解决cp: omitting directory 提示信息
解决cp: omitting directory 提示信息 执行cp时出现“cp: omitting directory ” 提示信息, 可以使用cp -r 参数来递归拷贝这些文件.
- MVC基础操作
C#-MVC基础操作-数据的展示及增删改.登录页面及状态保持一.数据展示1.View代码: <%@Page Language="C#" Inherits="Syst ...
- HTML5 的四个亮点
1.XDM cross-document-messaging 跨文档消息传递. 2.原生拖放功能. 3.新媒体元素 audio.video. 4.历史状态管理.
- 《STL源代码剖析》学习笔记系列之七、八——仿函数和配接器
1. 仿函数 仿函数又名函数对象.具有函数性质的对象.就是传入一些參数.然后对參数进行某些运算,然后返回一个值. 为了可以使行为类似函数,须要在类别定义中必须自己定义function call 运算子 ...
- Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结
Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结 1.1. Java的编年史2 ...
- jar包解压与打包
首先感谢大神的指导:https://blog.csdn.net/mr_pang/article/details/47028921 1.首先准备一个能运行的jar文件,我们使用第三方解压工具进行解压wi ...
- 配置远程maven仓库自己的步骤
---恢复内容开始--- 1.首先在远程服务器配置jdk.maven环境,这个可以在网上找 2.Nexus 安装与配置.这个见网上博客(https://blog.csdn.net/lewis_007/ ...
- JAVA读取文件夹大小的几种方式
(一)单线程递归方式 package com.taobao.test; import java.io.File; public class TotalFileSizeSequential { publ ...