Oracle11g温习-第六章:控制文件
2013年4月27日 星期六
10:33
|
、控制文件的功能和特点 |
|||
|
1) 【定义数据库当前物理状态】 2) 【维护数据的一致性】 如果控制文件中的检查点与数据文件中的一致,则说明数据一致,可以启动到open状态 3) 【很小的二进制文件】 4)【控制文件包括静态部分、动态部分 当使用rman备份数据库的时候, 控制文件会记录catalog信息, 动态部分会增大 】 查看数据一致性的方法: SQL> select file#,checkpoint_change# from v$datafile;【从控制文件读取】 以控制文件为主 FILE# CHECKPOINT_CHANGE# ---------- ------------------ 1 172373 2 172373 3 172373 4 172373 SQL> select file#,checkpoint_change# from v$datafile_header;【从数据文件读取】 FILE# CHECKPOINT_CHANGE# ---------- ------------------ 1 172373 2 172373 3 172373 4 172373 3)二进制文件 4)在mount阶段被读取 5)记录备份恢复信息 ----------查看database控制文件位置: SQL> show parameter control; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_file_record_keep_time integer 7 control_files string /u01/app/oracle/oradata/test/control01.ctl SQL> select name from v$controlfile; NAME ------------------------------------------------------------------------------------------------------------------------ /u01/app/oracle/oradata/test/control01.ctl SYS@ prod>select * from v$rollname; 查看undo 段 USN NAME ---------- -------------------------------------------------- 0 SYSTEM 1 _SYSSMU1$ 2 _SYSSMU2$ 3 _SYSSMU3$ 4 _SYSSMU4$ 5 _SYSSMU5$ 6 _SYSSMU6$ 7 _SYSSMU7$ 8 _SYSSMU8$ 9 _SYSSMU9$ 10 _SYSSMU10$ |
|||
|
2、控制文件的内容 |
|||
|
SQL> alter database backup controlfile to trace;【将控制文件备份成trace文件】 建议:只要对数据库的物理结构进行修改,都应该进行控制文件的备份或者转储 V$DATABASE 查看数据库信息 V$LOGFILE,V$LOG 查看日志信息 V$DATAFILE V$CONTROLFILE 查看控制文件 SQL> show parameter dump user_dump_dest string /u01/app/oracle/admin/orcl/udump 重建控制文件 SQL> CREATE CONTROLFILE REUSE DATABASE "orcl" NORESETLOGS ARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 1 MAXLOGHISTORY 292 LOGFILE GROUP 1 ( '/disk2/orcl/oradata/redo01a.log', '/disk1/orcl/oradata/redo01b.log' ) SIZE 10M, GROUP 2 ( '/disk2/orcl/oradata/redo02a.log', '/disk1/orcl/oradata/redo02b.log' ) SIZE 10M -- STANDBY LOGFILE DATAFILE '/u01/app/oracle/oradata/orcl/system01.dbf', '/u01/app/oracle/oradata/orcl/sysaux01.dbf', '/u01/app/oracle/oradata/orcl/user01.dbf', '/u01/app/oracle/oradata/orcl/undo01.dbf', CHARACTER SET ZHS16GBK; ------------利用ORACLE EVENT 转储 控制文件 SQL> alter session set events 'immediate trace name controlf level 12'; |
|||
|
3、控制文件多元化(复制多个控制文件并存放到不同的磁盘 注意 控制文件3个足够不宜太多 如果太多的话oracle 实时同步控制文件 需要做物理i/o 消耗系统性能) spfile:查看控制文件信息并修改control_file参数,将新增的控制文件路径写上;关闭实例,复制控制文件到相应路径;重新启动实例。 pfile:关闭实例,修改参数文件init;拷贝控制文件;重新启动实例。 |
|||
|
修改spfile文件,增加控制文件
修改pfile文件增加控制文件:
|
|||
|
4、控制文件查看:v$controlfile 、show parameter controlfile、 v$parameter |
|||
|
5、控制文件备份 |
|||
|
1)trace :用于控制文件重建 (生成的trace 文件在udump) SQL> alter database backup controlfile to trace; Database altered.
2)binary 文件 :控制文件的备份 SQL> alter database backup controlfile to '/disk1/orcl/oradata/control.bak'; Database altered. |
|||
|
6、控制文件恢复 |
|||
|
单个文件丢失: [oracle@oracle dbs]$ rm /disk2/orcl/oradata/control03.ctl [oracle@oracle dbs]$ sqlplus '/as sysdba' SQL*Plus: Release 10.2.0.1.0 - Production on Mon Aug 1 06:14:54 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 176160768 bytes Fixed Size 1218364 bytes Variable Size 88082628 bytes Database Buffers 83886080 bytes Redo Buffers 2973696 bytes ORA-00205: error in identifying control file, check alert log for more info 通过告警日志获得信息: ALTER DATABASE MOUNT Mon Aug 1 06:14:57 2011 ORA-00202: control file: '/disk2/orcl/oradata/control03.ctl' ORA-27037: unable to obtain file status Linux Error: 2: No such file or directory Additional information: 3
SQL> shutdown ORA-01507: database not mounted ORACLE instance shut down. SQL> ! [oracle@oracle dbs]$ cp /disk1/orcl/oradata/control02.ctl /disk2/orcl/oradata/control03.ctl [oracle@oracle dbs]$ sqlplus '/as sysdba' SQL*Plus: Release 10.2.0.1.0 - Production on Mon Aug 1 06:15:36 2011 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to an idle instance. 06:15:37 SQL> startup ORACLE instance started. Total System Global Area 176160768 bytes Fixed Size 1218364 bytes Variable Size 88082628 bytes Database Buffers 83886080 bytes Redo Buffers 2973696 bytes Database mounted. Database opened. SQL> select name from v$controlfile; NAME ------------------------------------------------------------------------------------------------------------------------------------------------------ /u01/app/oracle/oradata/orcl/control01.ctl /disk1/orcl/oradata/control02.ctl /disk2/orcl/oradata/control03.ctl ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 案例
所有的文件丢失:
利用trace 文件重建 在nomount 状态 一定要正常关库 .
非正常关库,重建控制文件
|
|||
|
TRACE文件、BAK文件、dump文件的区别 |
|||
|
1、trace文件里面是控制文件的重建脚本,当数据库的物理结构发生变化时就要trace一下,否则会丢失,恢复时要使用最新的。 2、bak文件是controlfile的副本,里面包含检查点等所有的信息,用他备份会出现数据不一致的情况,数据库不能打开到open状态。 3、dump文件是用来查看controlfile里面的内容的,不能用来恢复控制文件。 |
Oracle11g温习-第六章:控制文件的更多相关文章
- Gradle 1.12 翻译——第十六章. 使用文件
有关其它已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或訪问:http://gradledoc.qiniudn.com ...
- 《Linux命令行与shell脚本编程大全》第十六章 控制脚本
一些控制脚本的方式:向脚本发送信号.修改脚本优先级,在脚本运行时切换到运行模式 16.1 处理信号 linux利用信号与运行在系统中的进程进行通信. 也可以通过对脚本进行编程,使其在收到特定信号时执行 ...
- Oracle11g温习-第七章:redo日志
2013年4月27日 星期六 10:33 1.redo (重做) log 的功能: 用于数据恢复 2.redo log 特征: [特征]: 1) 记录数据块的变化(DML.D ...
- Oracle11g温习-第五章:数据字典
1.数据字典(Data dictionary)的功能 1) central of oracle database 每个oracle数据库的核心 2) descr ...
- Oracle11g温习-第四章:手工建库
1.create database plan 1.库类型: OLTP : 在线事务处理系统 OLAP : 在线应用处理系统 DSS : 数据决策系统 2.数据库名字及字符集 3. ...
- Oracle11g温习-第三章:instance实例管理
2013年4月27日 星期六 10:30 1.instance 功能: 用于管理和访问database. 2.init parameter files :管理实例相关启动参数.位置:$ORACLE ...
- 【阅读笔记】《C程序员 从校园到职场》第六章 常用文件操作函数 (Part 1)
参考链接:https://blog.csdn.net/zhouzhaoxiong1227/article/details/24926023 让你提前认识软件开发(18):C语言中常用的文件操作函数总结 ...
- Oracle11g温习-第十一章:管理undo
2013年4月27日 星期六 10:40 1.undo tablespace 功能 undo tablespace 功能:用来存放从datafiles 读出的数据块旧的镜像 [ ...
- 第六章 Linux文件与目录管理
http://www.92csz.com/study/linux/6.htm 绝对路径:路径的写法一定由根目录”/”写起 相对路径:路径的写法不是由根目录”/”写起 mkdir 创建一个目录.mkdi ...
随机推荐
- OpenGL边用边学------2 经典照相机模型
https://blog.csdn.net/smstong/article/details/50290327 实际照相步骤 1 布置场景和调整照相机位置 3 选择镜头对焦Focus 4 按下快门 5 ...
- python的时间处理-time模块
time模块 时间的表示方法有三种: 时间戳:表示的是从1970年1月1日0点至今的秒数 格式化字符串表示:这种表示更习惯我们通常的读法,如2018-04-24 00:00:00 格式化元祖表示:是一 ...
- ”MySQL查询优化“学习总结
查询优化有几种方法,下面分别介绍. 切分查询 一条大的语句(涉及很多行)一次会锁住很多数据(不利于高并发). 占满整个事务日志,耗尽系统资源.阻塞很多小的但很重要的查询. 分解关联查询 关联查询分解方 ...
- 20145122《 Java网络编程》实验五实验报告
实验名称 Java网络编程 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统. 结对小伙伴 20145120黄玄曦 博客地址:http://www.cnblo ...
- 20145220韩旭飞《网络对抗》Exp7 网络欺诈技术防范
20145220韩旭飞<网络对抗>Exp7 网络欺诈技术防范 应用SET工具建立冒名网站 要让冒名网站在别的主机上也能看到,需要开启本机的Apache服务,并且要将Apache服务的默认端 ...
- Java集合总结(List、Map、Set)
集合的引入 当我们有种需求,需要存储多个元素的结构时,我们前面讲过数组,数组可以存储.但是数组也有它的弊端,使用的时候,必须先定义好长度,也就是数组的长度是固定,不能根据我们的需求自动变长或者变短. ...
- Python3基础 map+lambda 将指定系列元素乘2
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- 51nod 1082 与7无关的数
暴力 打表过的 注意爆int 还有 7的倍数 和 数字中有7的 #include<bits/stdc++.h> using namespace std; typedef long long ...
- [JVM] - 一份<自己动手写Java虚拟机>的测试版
go语言下载 配置GOROOT(一般是自动的),配置GOPATH(如果想自己改的话) 参照<自己动手写Java虚拟机> > 第一章 指令集和解释器 生成了ch01.exe文件 这里还 ...
- axios post请求报错
问题描述: vue中使用axios提交post请求, 请求地址及参数都对, 但是一直报缺少参数的错误 探索:对比post请求数据, 提交数据的方式不对 (1)axios的post请求(返回响应缺少参数 ...