发布网友
共1个回答
热心网友
一、控制文件的定义
控制文件是一个非常小的文件,最多能增长到米左右,它包含其它数据库文件需要的目录。参数文件向实例提供控制文件的位置,控制文件向实例提供数据库文件和联机重做日志文件的具体信息。
控制文件也包含数据库的一些其它信息,例如检查点发生的位置,数据库的名称,数据库创建的时间,归档日志的历史记录,RMAN的信息等。
控制文件应该采用多路复用技术进行保护,应该复制多份,拷贝的文件应该分散在多个磁盘上避免磁盘故障造成全部丢失,丢失控制文件不是致命的,但是恢复起来相当麻烦。
控制文件
控制文件是相当小的文件(他们能长到 mb左右在极端的情况下),其中包含一个目录Oracle需要的其他文件。 参数文件告诉实例控制文件在哪里,并控制文件告诉实例数据库和联机重做日志文件的位置。
控制文件还告诉Oracle其他东西,比如检查站发生的信息,数据库的名称(这应该匹配db_nameparameter在参数文件),数据库的时间戳是创建一个归档重做日志历史(这可以控制文件大在某些情况下),RMANinformation等等。
控制文件应该多路复用通过硬件(RAID)或Oracle突袭或镜像时不可用。 应该存在多个副本,副本应存储在单独的磁盘避免失去他们,以防你有磁盘故障。 它失去控制文件,只是让不是致命的复苏更加困难。
控制文件是一个开发人员可能不会处理。 DBA,他们是数据库的一个重要组成部分,但toa软件开发人员他们并不真正相关二、控制文件的备份方法
1、使用rman备份的时候自动备份
配置controlfile autobackup;在使用RMAN备份的时候自动备份控制文件配置controlfile autobackup清晰;清空配置的参数2、使用命令手动备份
当前controlfile备份;
[oracle@node0 ~]rman target /美元
恢复管理器:释放11.2.0.1.0——生产于2014年5月13日09:19:43星期二版权(c)1982、2009、Oracle和/或其附属公司。 保留所有权利。
连接到目标数据库:HNJY(DBID = 1400365636)
当前controlfile RMAN >备份;
在13-MAY-14开始备份
使用目标数据库控制文件,而不是恢复目录
分配渠道:ORA_DISK_1
渠道ORA_DISK_1:SID = 39设备类型=磁盘
渠道ORA_DISK_1:开始完全数据文件备份集
渠道ORA_DISK_1:指定功能的备份集
包括电流控制文件备份集
在13-MAY-14通道ORA_DISK_1:起始段1
在13-MAY-14通道ORA_DISK_1:成品1
块处理= / u01 / app / oracle /产品/ 11.2.0 / dbhome_2 / dbs / 02 p85upu_1_1标签= TAG20140513T091958 =没有发表评论通道ORA_DISK_1:备份设置完成,运行时间:00:00:01完成备份在13-MAY-14
控制文件和SPFILE Autobackup 13-MAY-14
块处理=/ u01 / app / oracle / proct / 11.2.0 / dbhome_2 / dbs / c - 1400365636 - 1400365636 - 00评论=没有备份文件的位置完成了控制文件和SPFILE Autobackup 13-MAY-143,备份数据文件的时候同时备份控制文件
备份数据文件4 inculude当前controlfile;
RMAN >备份数据文件5包括当前controlfile;
在13-MAY-14开始备份
分配渠道:ORA_DISK_1
渠道ORA_DISK_1:SID = 39设备类型=磁盘
渠道ORA_DISK_1:开始完全数据文件备份集
渠道ORA_DISK_1:指定功能的备份集
输入数据文件文件数量= 00005名= / u01 / app / backuptest / example01.dbf在13-MAY-14通道ORA_DISK_1:起始段1
在13-MAY-14通道ORA_DISK_1:成品1
块处理= / u01 / app / oracle /产品/ 11.2.0 / dbhome_2 / dbs / 04 p85vcm_1_1标签= TAG20140513T092958 =没有发表评论通道ORA_DISK_1:备份设置完成,运行时间:00:00:07渠道ORA_DISK_1:开始完全数据文件备份集
渠道ORA_DISK_1:指定功能的备份集
包括电流控制文件备份集
在13-MAY-14通道ORA_DISK_1:起始段1
在13-MAY-14通道ORA_DISK_1:成品1
块处理= / u01 / app / oracle /产品/ 11.2.0 / dbhome_2 / dbs / 05 p85vct_1_1标签= TAG20140513T092958 =没有发表评论通道ORA_DISK_1:备份设置完成,运行时间:00:00:01完成备份在13-MAY-14
控制文件和SPFILE Autobackup 13-MAY-14
块处理= / u01 / app / oracle /产品/ 11.2.0 / dbhome_2 / dbs / c - 1400365636 - 1400365636 - 01年=没有发表评论完成了控制文件和SPFILE Autobackup 13-MAY-144,在sql层面进行备份
SQL >改变数据库备份controlfile跟踪为“/ u01 / app / oracle / oradata / hnjy / hotback / controlfile.trc”;数据库修改。
SQL > !
(oracle@node0 ~)$ ls - l / u01 / app / oracle / oradata / hnjy / hotback / controlfile.trc甲骨文oinstall -rw-r - r - 6232 5月13日09:26 / u01 / app / oracle / oradata hnjy / hotback / controlfile.trc三、控制文件的恢复
1、控制文件没有全部丢失
从其它的控制文件拷贝
[oracle@node0 backuptest]美元rm - f control01。 ctl模拟一个控制文件损坏[oracle@node0 backuptest]美元退出
退出
SQL >立即关闭;
数据库关闭。
ora - 00210:无法打开指定的控制文件
ora - 00202:控制文件:/ u01 / app / backuptest / control01.ctl '
ora - 27041:无法打开文件
Linux错误:2:没有这样的文件或目录关闭的时候报的错附加信息:3
SQL >关闭中止;强制关闭
ORACLE实例关闭。
SQL >启动
ORACLE实例开始。
系统全局总面积849530880字节
固定大小1339824字节
变量大小553651792字节
数据库缓冲区2406976字节
重做缓冲区5132288字节
ora - 00205:错误识别控制文件,检查警报记录更多信息启动的时候报的错SQL >关闭中止;
ORACLE实例关闭。
SQL > !
[oracle@node0 ~]美元cp / u01 / app / backuptest / control02。 ctl / u01 / app / backuptest / control01.ctl从其它地方拷贝美元(oracle@node0 ~)退出
退出
SQL >启动
ORACLE实例开始。
系统全局总面积849530880字节
固定大小1339824字节
变量大小553651792字节
数据库缓冲区2406976字节
重做缓冲区5132288字节
数据库安装。
数据库打开。
SQL >
2,所有控制文件全部丢失
从以前备份的control.trc中恢复,
#猫control.trc
——以下是当前System-scope重做日志档案相关的——参数,可以包含在数据库初始化文件。
- - -
——LOG_ARCHIVE_DEST = "
——LOG_ARCHIVE_DUPLEX_DEST = "
- - -
——LOG_ARCHIVE_FORMAT = % t_ % s_ % r.dbf识别- - -
——DB_UNIQUE_NAME = " hnjy "
- - -
——LOG_ARCHIVE_CONFIG = '发送、接收、NODG_CONFIG '
——LOG_ARCHIVE_MAX_PROCESSES = 4
——STANDBY_FILE_MANAGEMENT =手册
——STANDBY_ARCHIVE_DEST = ? / dbs /拱
——FAL_CLIENT = "
——FAL_SERVER = "
- - -
——LOG_ARCHIVE_DEST_1 = '位置= / u01 / app /归档的——LOG_ARCHIVE_DEST_1 = '强制性NOREOPEN NODELAY”
——LOG_ARCHIVE_DEST_1 =“拱NOAFFIRM加快NOVERIFY同步”
——LOG_ARCHIVE_DEST_1 = ' NOREGISTER NOALTERNATE NODEPENDENCY”
——LOG_ARCHIVE_DEST_1 = ' NOMAX_FAILURE NOQUOTA_SIZE NOQUOTA_USED NODB_UNIQUE_NAME”
——LOG_ARCHIVE_DEST_1 = ' VALID_FOR =(PRIMARY_ROLE ONLINE_LOGFILES)'
——LOG_ARCHIVE_DEST_STATE_1 =启用
- - -
下面是两组SQL语句,每一种都创建一个新的
——打开数据库控制文件,并使用它。 第一组打开——与NORESETLOGS数据库选项,应该只有在使用——当前版本的所有可用网络日志。 第二个
RESETLOGS选项-设置打开数据库,应该使用
——如果在线日志是不可用。
——适当的语句可以复制从跟踪到
必要的——一个脚本文件,编辑,当有执行
——需要重建控制文件。
- - -
——设置# 1。 NORESETLOGS案例
- - -
——以下命令将创建一个新的控制文件并使用它打开数据库。
——数据使用的恢复经理将丢失。
——可能需要额外的日志的媒介恢复离线
——使用这只有在当前版本的所有在线日志
——可用。
——安装controlfile创建后,下面的SQL
——声明将在适当的数据库
——保护模式:
——改变数据库设置备用数据库来最大化性能
启动NOMOUNT
创建CONTROLFILE重用数据库NORESETLOGS ARCHIVELOG“HNJY”
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
日志文件
组1(
' / u01 / app / backuptest / redo01.log ',' / u01 / app / backuptest / redo1_1.log '
)大小50 m BLOCKSIZE 512,
组2 ' / u01 / app / backuptest / redo02。 日志的大小50 m BLOCKSIZE 512,组3 ' / u01 / app / backuptest / redo03。 日志的大小50 m BLOCKSIZE 512——备份日志文件
数据文件
' / u01 / app / backuptest / system01.dbf ',' / u01 / app / backuptest / sysaux01.dbf ',' / u01 / app / backuptest / undotbs01.dbf ',' / u01 / app / backuptest / users01.dbf ',' / u01 / app / backuptest / example01.dbf ',' / u01 / app / backuptest / vincent.dbf ',' / u01 / app / backuptest / untotbs2.dbf ',' / u01 / app / backuptest / system02.dbf ',' / u01 / app / backuptest / rman_10g_cat.dbf ',' / u01 / app / backuptest / app1_01.dbf '
字符集WE8MSWIN1252
;
——配置RMAN配置记录1
变量RECNO数量;
执行:RECNO:= SYS.DBMS_BACKUP_RESTORE。 SETCONFIG(“CONTROLFILE AUTOBACKUP ','对');——命令重新创建化身表
——下面的日志名称必须改变现有的文件名
——磁盘。 任何一个日志文件可以用来从每个分支——重新化身记录。
——改变数据库登记日志文件' / u01 / app /归档/ 1 _1_8467747.dbf”;——需要复苏如果任何datafiles恢复备份,
——或者如果最后关闭是不正常或直接。
恢复数据库
——所有的日志都需要存档和日志开关是必要的。
改变系统归档日志;
——数据库现在可以正常打开。
改变数据库开放;
——命令添加tempfiles临时表空间。
——在线tempfiles完整的空间信息。
——其他tempfiles可能需要调整。
修改表空间临时添加TEMPFILE ' / u01 / app / backuptest / temp01.dbf '
大小20971520重用AUTOEXTEND未来655360最大容量32767米;——tempfile年底增加。
- - -
——# 2。 RESETLOGS案例
- - -
——以下命令将创建一个新的控制文件并使用它打开数据库。
——数据使用的恢复经理将丢失。
——在线日志的内容将丢失,所有备份
——作废。 使用这个只有在线日志损坏。
——安装controlfile创建后,下面的SQL
——声明将在适当的数据库
——保护模式:
——改变数据库设置备用数据库来最大化性能
启动NOMOUNT
创建CONTROLFILE重用数据库RESETLOGS ARCHIVELOG“HNJY”
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
日志文件
组1(
' / u01 / app / backuptest / redo01.log ',' / u01 / app / backuptest / redo1_1.log '
)大小50 m BLOCKSIZE 512,
组2 ' / u01 / app / backuptest / redo02。 日志的大小50 m BLOCKSIZE 512,组3 ' / u01 / app / backuptest / redo03。 日志的大小50 m BLOCKSIZE 512——备份日志文件
数据文件
' / u01 / app / backuptest / system01.dbf ',' / u01 / app / backuptest / sysaux01.dbf ',' / u01 / app / backuptest / undotbs01.dbf ',' / u01 / app / backuptest / users01.dbf ',' / u01 / app / backuptest / example01.dbf ',' / u01 / app / backuptest / vincent.dbf ',' / u01 / app / backuptest / untotbs2.dbf ',' / u01 / app / backuptest / system02.dbf ',' / u01 / app / backuptest / rman_10g_cat.dbf ',' / u01 / app / backuptest / app1_01.dbf '
字符集WE8MSWIN1252
;
——配置RMAN配置记录1
变量RECNO数量;
执行:RECNO:= SYS.DBMS_BACKUP_RESTORE。 SETCONFIG(“CONTROLFILE AUTOBACKUP ','对');——命令重新创建化身表
——下面的日志名称必须改变现有的文件名
——磁盘。 任何一个日志文件可以用来从每个分支——重新化身记录。
——改变数据库登记日志文件' / u01 / app /归档/ 1 _1_8467747.dbf”;——需要复苏如果任何datafiles恢复备份,
——或者如果最后关闭是不正常或直接。
使用备份恢复数据库CONTROLFILE
——数据库现在可以打开归零法在线日志。
改变数据库开放RESETLOGS;
——命令添加tempfiles临时表空间。
——在线tempfiles完整的空间信息。
——其他tempfiles可能需要调整。
修改表空间临时添加TEMPFILE ' / u01 / app / backuptest / temp01.dbf '
大小20971520重用AUTOEXTEND未来655360最大容量32767米;——tempfile年底增加。
- - -
开始恢复
[oracle@node0 backuptest]美元rm射频control0 *模拟破坏所有控制文件[oracle@node0 backuptest]sysdba sqlplus美元/SQL * +:释放11.2.0.1.0生产于2014年5月13日10:17:14星期二版权(c)1982年,2009年,甲骨文。 保留所有权利。
连接到一个空闲实例。
SQL >显示参数instance_name;
ora - 01034:甲骨文
进程ID:0
会话ID:0序列号:0
SQL >启动;
ORACLE实例开始。
系统全局总面积849530880字节
固定大小1339824字节
变量大小553651792字节
数据库缓冲区2406976字节
重做缓冲区5132288字节
ora - 00205:错误识别控制文件,检查警报记录更多信息SQL >关闭中止;
ORACLE实例关闭。
SQL >启动NOMOUNT数据库启动于nomount状态
ORACLE实例开始。
系统全局总面积849530880字节
固定大小1339824字节
变量大小553651792字节
数据库缓冲区2406976字节
重做缓冲区5132288字节
SQL >创建CONTROLFILE重用数据库NORESETLOGS ARCHIVELOG“HNJY”开始执行命令2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7日志文件
8组1(
9 ' / u01 / app / backuptest / redo01.log ',10 / u01 / app / backuptest / redo1_1.log”
11)大小50 m BLOCKSIZE 512,
12组2 / u01 / app / backuptest / redo02。 日志的大小50 m BLOCKSIZE 512,13组3 ' / u01 / app / backuptest / redo03。 日志的大小50 m BLOCKSIZE 51214个数据文件
15 ' / u01 / app / backuptest / system01.dbf ',16 ' / u01 / app / backuptest / sysaux01.dbf ',17 ' / u01 / app / backuptest / undotbs01.dbf ',18 ' / u01 / app / backuptest / users01.dbf ',19 ' / u01 / app / backuptest / example01.dbf ',20 ' / u01 / app / backuptest / vincent.dbf ',21 ' / u01 / app / backuptest / untotbs2.dbf ',22 ' / u01 / app / backuptest / system02.dbf ',23 ' / u01 / app / backuptest / rman_10g_cat.dbf ',24 ' / u01 / app / backuptest / app1_01.dbf '
25个字符集WE8MSWIN1252
26日;
创建控制文件。
SQL >变量RECNO数量;
SQL >执行:RECNO:= SYS.DBMS_BACKUP_RESTORE。 SETCONFIG(“CONTROLFILE AUTOBACKUP ','对');PL / SQL过程成功完成。
SQL >恢复数据库
ora - 00283:由于错误恢复会议取消了
ora - 002:不需要恢复
SQL >改变系统归档日志;
系统的改变。
SQL >改变数据库开放;数据库正常启动,控制文件恢复正常。
数据库修改。
SQL >修改表空间临时添加TEMPFILE ' / u01 / app / backuptest / temp01.dbf '
2尺寸20971520重用AUTOEXTEND未来655360最大容量32767米;表空间改变。
SQL >
3、控制文件备份后数据库结构发生变化后的恢复首先备份控制文件
sysdba sqlplus美元/
SQL * +:释放11.2.0.1.0生产于2014年5月13日16:45:00星期二版权(c)1982年,2009年,甲骨文。 保留所有权利。
连接到:
Oracle数据库11 g企业版发布11.2.0.1.0——生产与分区、OLAP、数据挖掘和真实的应用程序中测试选项SQL >改变数据库备份controlfile ' / u01 / app / backuptest / control.trc ';数据库修改。
app3 SQL >创建表空间数据文件' / u01 / app / oracle / oradata / hnjy / app3_01。 dbf的大小10米;创建新的表空间,数据库结构则发生变化。