Oracle控制文件多路复用以及Oracle备份重建控制文件
控制文件中记录了oracle数据库的物理结构,也就是记录了数据库数据文件和日志文件的位置,控制文件中还记录了多种SCN,用这些SCN来确定数据文件和日志文件是否是正确的。如果不正确那么数据库就需要恢复
启动数据库有三个状态
nomount 加载参数文件启动实例
mount 加载控制文件
open 根据控制文件加载数据文件和日志文件
一、Oracle控制文件多路复用
查询控制文件路径
SYS@zwcdb:~>SELECT name FROM v$controlfile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/primarydb/control01.ctl
/u01/app/oracle/oradata/primarydb/control02.ctl
/u01/app/oracle/oradata/primarydb/control03.ctl
修改spfile
SYS@zwcdb:~>ALTER system SET control_files=
2 '/u01/app/oracle/oradata/primarydb/control01.ctl',
3 '/u01/app/oracle/oradata/primarydb/control02.ctl',
4 '/u01/app/oracle/oradata/primarydb/control03.ctl',
5 '/u01/app/control04.ctl' scope=spfile;
System altered.
关闭数据库,复制控制文件至/u01/app下
SYS@zwcdb:~>shutdown immediate
DATABASE closed.
DATABASE dismounted.
ORACLE instance shut down.
SYS@zwcdb:~>exit
Disconnected FROM Oracle DATABASE 10g Enterprise Edition Release 10.2.0.1.0 - Production
WITH the Partitioning, OLAP AND DATA Mining options
[oracle@zwc ~]$ cp /u01/app/oracle/oradata/primarydb/control01.ctl /u01/app/control04.ctl
重新启动数据库并验证
[oracle@zwc ~]$ sqlplus / AS sysdba
SQL*Plus: Release 10.2.0.1.0 - Production ON Fri Jan 6 10:35:05 2012
Copyright (c) 1982, 2005, Oracle. ALL rights reserved.
Connected TO an idle instance.
SYS@zwcdb:~>startup
ORACLE instance started.
Total System Global Area 285212672 bytes
Fixed SIZE 1218992 bytes
Variable SIZE 92276304 bytes
DATABASE Buffers 188743680 bytes
Redo Buffers 2973696 bytes
DATABASE mounted.
DATABASE opened.
SYS@zwcdb:~>
SYS@zwcdb:~>SELECT name FROM v$controlfile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/primarydb/control01.ctl
/u01/app/oracle/oradata/primarydb/control02.ctl
/u01/app/oracle/oradata/primarydb/control03.ctl
/u01/app/control04.ctl
SYS@zwcdb:~>SELECT VALUE FROM v$spparameter WHERE name='control_files';
VALUE
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/primarydb/control01.ctl
/u01/app/oracle/oradata/primarydb/control02.ctl
/u01/app/oracle/oradata/primarydb/control03.ctl
/u01/app/control04.ctl
二、Oracle备份重建控制文件
建议在数据文件或者日志文件发生变化时对控制文件进行备份,在这之前备份的控制文件会被标记为已过时。 可以使用alter database bacup controlfile命令进行备份,备份方式有两种,一种是备份为二进制文件;另一种是备份为脚本文件
将控制文件备份到二进制文件
SYS@zwcdb:~>alter database backup controlfile to '/u01/app/control.bak.ctl';
Database altered.
SYS@zwcdb:~>!ls -lh /u01/app/control*
-rw-r----- 1 oracle oinstall 6.8M Jan 6 10:52 /u01/app/control04.ctl
-rw-r----- 1 oracle oinstall 6.8M Jan 6 10:51 /u01/app/control.bak.ctl
控制文件转储为脚本
SYS@zwcdb:~>oradebug setmypid
Statement processed.
SYS@zwcdb:~>ALTER DATABASE backup controlfile TO trace;
DATABASE altered.
SYS@zwcdb:~>oradebug tracefile_name
/u01/app/oracle/admin/primarydb/udump/zwcdb_ora_3401.trc
查看zwcdb_ora_3401.trc文件内容会发现以下两段脚本,区别在于第一段是noresetlogs,第二段是resetlogs。这里日志组不需要重建,所以将使用noresetlogs
MAXLOGFILES 16 表示最大日志文件个数为16
MAXLOGMEMBERS 3 表示日志文件组的成员是3个
MAXDATAFILES 100 表示最大的数据文件个数是100
MAXINSTANCES 8 表示最大实例个数是8
MAXLOGHISTORY 292 表示最大的历史日志文件个数是292
CREATE CONTROLFILE REUSE DATABASE "ZWCDB" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/primarydb/redo01.log' SIZE 50M,
GROUP 2 '/u01/app/oracle/oradata/primarydb/redo02.log' SIZE 50M,
GROUP 3 '/u01/app/oracle/oradata/primarydb/redo03.log' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/primarydb/system01.dbf',
'/u01/app/oracle/oradata/primarydb/undotbs01.dbf',
'/u01/app/oracle/oradata/primarydb/sysaux01.dbf',
'/u01/app/oracle/oradata/primarydb/users01.dbf',
'/u01/app/oracle/oradata/primarydb/example01.dbf'
CHARACTER SET ZHS16GBK
;
resetlogs
CREATE CONTROLFILE REUSE DATABASE "ZWCDB" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/primarydb/redo01.log' SIZE 50M,
GROUP 2 '/u01/app/oracle/oradata/primarydb/redo02.log' SIZE 50M,
GROUP 3 '/u01/app/oracle/oradata/primarydb/redo03.log' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/primarydb/system01.dbf',
'/u01/app/oracle/oradata/primarydb/undotbs01.dbf',
'/u01/app/oracle/oradata/primarydb/sysaux01.dbf',
'/u01/app/oracle/oradata/primarydb/users01.dbf',
'/u01/app/oracle/oradata/primarydb/example01.dbf'
CHARACTER SET ZHS16GBK
;
模拟控制文件丢失
[oracle@zwc app]$ rm -rf control04.ctl
[oracle@zwc app]$ rm -rf /u01/app/oracle/oradata/primarydb/control0*
[oracle@zwc app]$ sqlplus / AS sysdba
SQL*Plus: Release 10.2.0.1.0 - Production ON Fri Jan 6 11:02:55 2012
Copyright (c) 1982, 2005, Oracle. ALL rights reserved.
Connected TO:
Oracle DATABASE 10g Enterprise Edition Release 10.2.0.1.0 - Production
WITH the Partitioning, OLAP AND DATA Mining options
SYS@zwcdb:~>shutdown abort
ORACLE instance shut down.
重建控制文件
[oracle@zwc app]$ sqlplus / AS sysdba
SQL*Plus: Release 10.2.0.1.0 - Production ON Fri Jan 6 11:07:00 2012
Copyright (c) 1982, 2005, Oracle. ALL rights reserved.
Connected TO an idle instance.
SYS@zwcdb:~>startup nomount
ORACLE instance started.
Total System Global Area 285212672 bytes
Fixed SIZE 1218992 bytes
Variable SIZE 92276304 bytes
DATABASE Buffers 188743680 bytes
Redo Buffers 2973696 bytes
SYS@zwcdb:~>CREATE CONTROLFILE REUSE DATABASE "ZWCDB" NORESETLOGS ARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 '/u01/app/oracle/oradata/primarydb/redo01.log' SIZE 50M,
9 GROUP 2 '/u01/app/oracle/oradata/primarydb/redo02.log' SIZE 50M,
10 GROUP 3 '/u01/app/oracle/oradata/primarydb/redo03.log' SIZE 50M
11 DATAFILE
12 '/u01/app/oracle/oradata/primarydb/system01.dbf',
13 '/u01/app/oracle/oradata/primarydb/undotbs01.dbf',
14 '/u01/app/oracle/oradata/primarydb/sysaux01.dbf',
15 '/u01/app/oracle/oradata/primarydb/users01.dbf',
16 '/u01/app/oracle/oradata/primarydb/example01.dbf'
17 CHARACTER SET ZHS16GBK
18 ;
Control file created.
SYS@zwcdb:~>RECOVER DATABASE;
Media recovery complete.
SYS@zwcdb:~>ALTER SYSTEM ARCHIVE LOG ALL;
System altered.
SYS@zwcdb:~>ALTER DATABASE OPEN;
DATABASE altered.
SYS@zwcdb:~>ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/primarydb/temp01.dbf'
2 SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
Tablespace altered.
[oracle@zwc ~]$ sqlplus / AS sysdba
SQL*Plus: Release 10.2.0.1.0 - Production ON Fri Jan 6 11:12:42 2012
Copyright (c) 1982, 2005, Oracle. ALL rights reserved.
Connected TO:
Oracle DATABASE 10g Enterprise Edition Release 10.2.0.1.0 - Production
WITH the Partitioning, OLAP AND DATA Mining options
SYS@zwcdb:~>SELECT open_mode,log_mode FROM v$database;
OPEN_MODE LOG_MODE
---------- ------------
READ WRITE ARCHIVELOG
SYS@zwcdb:~>SELECT name FROM v$controlfile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/primarydb/control01.ctl
/u01/app/oracle/oradata/primarydb/control02.ctl
/u01/app/oracle/oradata/primarydb/control03.ctl
/u01/app/control04.ctl
SYS@zwcdb:~>!ls /u01/app/control*
/u01/app/control04.ctl /u01/app/control.bak.ctl
SYS@zwcdb:~>!ls $ORACLE_BASE/oradata/primarydb/con*
/u01/app/oracle/oradata/primarydb/control01.ctl /u01/app/oracle/oradata/primarydb/control02.ctl /u01/app/oracle/oradata/primarydb/control03.ctl
SYS@zwcdb:~>conn scott/tiger@zwcdb
Connected.
SCOTT@zwcdb:~>SELECT tname FROM tab;
TNAME
------------------------------
DEPT
EMP
BONUS
SALGRADE
Oracle控制文件多路复用以及Oracle备份重建控制文件的更多相关文章
- Python组织文件 实践:将文件的不同版本备份为ZIP文件
功能:备份文件夹.能将文件的不同版本备份下来,并且每个有不同的名字 #! python3 # backupToZip.py - 备份文件的不同版本到压缩文件中 import zipfile,os #f ...
- 【翻译自mos文章】在重建控制文件之前应该考虑的事情
在重建控制文件之前应该考虑的事情 来源于: Things to Consider Before Recreating the Controlfile (文档 ID 1475632.1) 适用于: Or ...
- Oracle 重建控制文件一例
环境:OEL 5.7 + Oracle 10.2.0.5 背景:在Oracle的运维过程中,时常会遇到一些场景是需要重建控制文件才可以解决的.本文的场景可以通过复制控制文件到新路径,运行一段时间后,再 ...
- oracle之 利用 controlfile trace文件重建控制文件
一. 11g RAC 重建控制文件 1. --"create controlfile"命令生成到追踪文件中:alter database backup controlfile to ...
- oracle 控制文件多路复用
网上有很多关于控制文件的操作,我大概看了下.有很多都是炒来炒去转来转去.下面以自己理解和操作为例来对oracle的控制文件进行下介绍. 首先介绍下控制文件 在oralce数据库中,控制文件是一个很小的 ...
- 【Oracle】RAC控制文件多路复用
1.—关闭数据库,各个节点都要关闭: [oracle@rac1 ~]$ srvctl stop database -d racdb -o immediate 2.—启动任一节点到nomount状态: ...
- Oracle数据库控制文件多路复用
Oracle数据库控制文件多路复用多路复用控制文件,指的是在系统不同的位置上同时存放多个控制文件的副本,此时如果某个路径对应的磁盘发送物理损坏导致该控制文件损坏,就可以通过另一个磁盘上的控制文件进行恢 ...
- Oracle 重建控制文件
前些天在做Oracle数据库恢复测试时,因为一些异常操作导致控制文件出了问题,数据库无法正常使用,这里记录一下重建控制文件的操作 一.使用sysdba用户登入数据库 此时普通用户已无法链接数据库 二. ...
- 【Oracle】利用trace文件重建控制文件
重建步骤: 1.生成trace文件: alter database backup controlfile to trace; 2.找到生成的trace文件: show parameter dump u ...
随机推荐
- OI知识点/得分技巧的归纳总结
网络流 拆点/拆边技巧 题目来源 bzoj1070 题目描述 同一时刻有\(N\)位车主带着他们的爱车来到了汽车维修中心.维修中心共有\(M\)位技术人员,不同的技术人员对不同 的车进行维修所用的时间 ...
- sort by背后使用了什么排序算法
用到了快速排序,但不仅仅只用了快速排序,还结合了插入排序和堆排序 搬运自https://blog.csdn.net/qq_35440678/article/details/80147601
- HTTPS和HTTP的那些事
随着信息安全变得越来越重要,在浏览器.搜索引擎.CA机构.大型互联网企业的共同促进下,互联网迎来了"HTTPS加密时代".HTTPS在HTTP上建立了SSL加密层,是HTTP协议的 ...
- js上 四、数据类型转换
1. 转布尔类型 Boolean():可以将任意类型的数据转为布尔类型: 语法:Boolean(值) 规则:
- react第十二单元(react路由-使用react-router-dom-认识相关的组件以及组件属性)
第十二单元(react路由-使用react-router-dom-认识相关的组件以及组件属性) #课程目标 理解路由的原理及应运 理解react-router-dom以及内置的一些组件 合理应用内置组 ...
- 2、MyCat读写分离
1.主从复制 搭建mycat的读写分离,首先我们现需要搭建mysql的主从复制 [1].Mysql主从复制原理 [2].MySQL主从复制配置 (1).主机配置 修改配置文件:vim /etc/my. ...
- WinForm引用ActiveX组件,对Com组件的学习
1.WinForm引用Adobe PDF Reader 工作中写WinForm程序经常会引用第三方的组件,包括引用Com组件,做了一个桌面程序需要展示PDF,看了些其它的开源组件对PDF的兼容性都不是 ...
- 微信小说分销系统设计之使用百度Echarts地图统计功能统计微信粉丝地域分布情况
/** 转载请保留博客园原地址以及版权声明,请勿恶意修改,本博客中的内容均属于技术交流,请勿用于商业用途,谢谢配合 * 作者:杨浩瑞 QQ:1420213383 独立博客:http://www. ...
- Redis基础篇(二)高性能IO模型
我们经常听到说Redis是单线程的,也会有疑问:为什么单线程的Redis能那么快? 这里要明白一点:Redis是单线程,主要是指Redis的网络IO和键值对读写是由一个线程来完成的,这也是Redis对 ...
- flowable 任务多实例
项目地址:https://gitee.com/lwj/flowable.git 分支flowable-base*业务场景:收集每个员工的绩效考核信息:收集一次组织活动的信息:一个合同需要三个经理审批, ...