【Oracle】控制文件管理
/* 控制文件是oracle数据库最重要的物理文件之一,每个oracle数据库都必须有一个控制文件,在启动数据库实例时, oracle会根据初始化参数查找到控制文件的名称及位置信息,并读取控制文件的内容, 然后根据控制文件的信息(数据库名称、数据文件、日志文件的名称及位置等)在实例和数据库之间建立关联 如果无法找到控制文件或控制文件被破坏,则数据库实例无法启动,并且很难修复。 控制文件很小10M左右,为二进制文件,包含有数据库的结构信息,包括数据文件和日志文件, 可以理解为物理数据库的元数据存储库,控制文件在数据库创建时自动创建,并在数据库发生物理变化时更新。 控制文件不断被更新,并且在任何时候都是可用的。只有oracle进程才能够安全地更新控制文件的内容, 所以,任何时候都不要手动地编辑控制文件。 控制文件记录了数据库的结构信息和数据库当前的参数设置,其中主要包含如下内容 1.数据库名称和SID标识 2.数据文件和日志文件列表 3.数据库创建的时间戳 4.表空间信息 5.当前重做日志文件序列号 6.归档日志信息 7.检查点信息 8.回滚段(undo segment)的起始和结束 10.备份数据文件信息 如何对控制文件进行日常管理? 1.及时备份控制文件。 当oracle数据库的实例启动时,控制文件用于实例和数据库之间建立关联, 如果数据库的物理组成发生了变化,则建议及时备份控制文件。 2.保护控制文件。 一旦控制文件被损坏,数据库便无法启动,而且很难修复,控制文件的管理与维护非常重要。 需要采取多种策略来保护控制文件,主要包括多路复用控制文件和备份控制文件。 */ --备份方式一多路复用 alter system set control_files= 'E:\app\Administrator\oradata\db1\CONTROL01.ctl', 'E:\app\Administrator\flash_recovery_area\db1\CONTROL02.ctl' scope = spfile; 'D:\OracleFiles\ControlFiles\CONTROL03.ctl' --查看控制文件的位置 select name as 控制文件 from v$controlfile; /* 创建控制文件 如果突发意外,导致数据所有控制文件丢失或损坏,唯一的补救办法就是手动创建一个新的控制文件 手动创建: 此操作需要在startup nomount模式下进行 并做好数据文件和重做日志文件的备份 */ create controlfile reuse database db1 logfile 'D:\OracleFiles\oradata\REDO01.log', 'D:\OracleFiles\oradata\REDO02.log', 'D:\OracleFiles\oradata\REDO03.log' datafile 'D:\OracleFiles\oradata\DB_ZHENG.DBF', 'D:\OracleFiles\oradata\EXAMPLE01.DBF', 'D:\OracleFiles\oradata\SYSAUX01.DBF', 'D:\OracleFiles\oradata\SYSTEM01.DBF', 'D:\OracleFiles\oradata\UNDOTBS01.DBF', 'D:\OracleFiles\oradata\USERS01.DBF' maxlogfiles maxlogmembers maxinstances maxdatafiles noresetlogs noarchivelog; recover datafile 'D:\OracleFiles\oradata\DB_ZHENG.DBF', --备份和恢复 --1.备份 备份为二进制文件 bkp alter database backup controlfile to 'D:\OracleFiles\ControlFiles\control_file1.bkp'; --备份为脚本文件实际上就是备份为可读的文本文件,该文件实际上是sql脚本,可以用它来重新创建控制文件 --跟踪文件的存放位置由spfile文件(init.ora)中的USER_DUMP_DEST参数来决定 alter database backup controlfile to trace; show parameter user_dump_dest; --2.恢复 /* 当控制文件执行备份后,即使发生了磁盘物理损坏, 只需要在初始化文件中重新设置control_files参数的值,使它重新指向,即可重新启动数据库 首先关闭数据库 然后复制备份文件将损坏的控制文件备份 重启数据库即可。 */ --查询控制文件的信息 /* 控制文件是一个二进制文件,被分隔成许多个部分,分别记录各种类型的信息。每个信息成为一个记录文档段。 与控制文件相关的数据字典视图 V$controlfile 包括所有控制文件的状态信息 V$controlfile_Record_Section 包括控制文件各个记录段的信息 V$parameter 包括系统的所有初始化参数,从中可以查询参数control_files的值 记录文档段的类型 每条记录的大小 最大记录条数 已创建的数目信息 */ select type,record_size,records_total,records_used from v$controlfile_record_section;
【Oracle】控制文件管理的更多相关文章
- Oracle 控制文件管理
控制文件是一个很小的二进制文件(10MB左右),含有数据库结构信息,包括数据文件和日志文件信息.控制文件在数据库创建时被自动创建,并在数据库发生物理变数时更新.控制文件被不断更新,在任何时候都要保证控 ...
- Oracle体系结构之控制文件管理
控制文件作用:记录了数据库的结构和行为,有多少个数据文件,日志文件及其位置名称,状态,维护数据库的一致性,即记录了数据库的启动SCN号和终止SCN号. 控制文件的位置和个数记录在参数文件中,通常控制文 ...
- [20190530]oracle Audit文件管理.txt
[20190530]oracle Audit文件管理.txt --//昨天听课,讲一些oracle相关安全的问题,对方提到audit file的管理,应该引入OS audit,这样目的是仅仅root查 ...
- Oracle日志文件管理与查看
Oracle日志文件管理与查看 from:http://hi.baidu.com/shuker/item/25ee611ee960c7426826bb1f 1.查询系统使用的是哪一组日志文件: sel ...
- Oracle控制文件
一.Oracle 控制文件 为二进制文件,初始化大小由CREATE DATABASE指定,可以使用RMAN备份 记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等 ...
- oracle 控制文件的重建
目录 oracle 控制文件的重建 NORESETLOGS RESETLOGS oracle 控制文件的重建 不到最后时刻,如三个控制文件都已损坏,又没有控制文件的备份.还是不要重建控制文件,处理不好 ...
- Oracle 控制文件(CONTROLFILE)
一.Oracle 控制文件 为二进制文件,初始化大小由CREATE DATABASE指定,可以使用RMAN备份 记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等 ...
- Oracle 控制文件损坏解决方案
Oracle 控制文件损坏解决方案 故障一:丢失(损坏)一个控制文件 前台报错:ORA-00205:error in identifying control file,check alert log ...
- Oracle控制文件多路复用以及Oracle备份重建控制文件
控制文件中记录了oracle数据库的物理结构,也就是记录了数据库数据文件和日志文件的位置,控制文件中还记录了多种SCN,用这些SCN来确定数据文件和日志文件是否是正确的.如果不正确那么数据库就需要恢复 ...
- oracle控制用户权限命令
ORACLE控制用户权限: 首先使用系统中的拥有DBA权限的账号(system)登录: 一.创建用户: 1.DBA使用creater user语句创建用户: --创建登录用户名为:user01,密码为 ...
随机推荐
- [CF486D]有效集合-树形dp
Problem 有效集合 题目大意 给出一棵树,求出这棵树的不同联通子节点集合的数量,这些集合必须满足最大权值点减最小权值点小于等于d. Solution 再一次树d乱搞. 因为数据范围贼小,所以我们 ...
- JS实现悬浮导航的制作--web前端
思想:导航在这里只有两种状态,一种是初始状态.一种是固定布局状态.实现悬浮导航其实就是通过Javascript脚本语言控制导航的两种状态,主要是对两种状态成立条件的判断,明确了这些,实现起来就不会太难 ...
- java 关键字final
一.最终的意思,可以修饰类,方法,变量.特点: A:它修饰的类,不能被继承. B:它修饰的方法,不能被重写. C:它修饰的变量,是一个常量.二.面试相关: 1.局部变量基本类型 值不能发生改变 例如: ...
- 计算BMI
用一个小程序计算BMI 代码如下: package Day06; public class BMI { private String name; private int age; private do ...
- Python 批量翻译 使用有道api;
妹子是做翻译相关的,遇到个问题,要求得到句子中的所有单词的 音标; 有道翻译只能对单个单词翻译音标,不能对多个单词或者句子段落翻译音标; 手工一个一个翻的话那就要累死人了.....于是就让我写个翻译音 ...
- 《HelloGitHub》第 16 期
<HelloGitHub>第 16 期 兴趣是最好的老师,HelloGitHub 就是帮你找到兴趣! 简介 分享 GitHub 上有趣.入门级的开源项目. 这是一个面向编程新手.热爱编程. ...
- Linux基本命令整理_sheng
Linux版本 Linux系统是一个多用户.多任务的分时操作系统. Linux版本分为内核版本和发行版本. 常见的Linux发行版有: RedHat(分为用于企业的Red Hat Enterprise ...
- Eclipse Jetty插件安装
Eclipse Jetty插件安装 使用方法一: 本地资源包插件下载地址:http://pan.baidu.com/s/1sjNP5Id 或者是地址:http://pan.baidu.com/s/1b ...
- 表达式求值(二叉树方法/C++语言描述)(五)
本例中的二叉树图是使用Graphviz绘制的(Graphviz官网),在Ubuntu Linux下可以使用apt-get命令安装它: sudo apt-get install graphviz 表达式 ...
- Struts2漏洞解决
如果你也正在使用Struts2作为web层框架做开发或者做公司的送检产品,然后被告知有各种各样的Struts2漏洞,那本篇博客值得你花时间来喽上一两眼. 前端时间抽空为公司做了新一代的送检产品,为了方 ...