`
yunlonglove
  • 浏览: 226337 次
社区版块
存档分类
最新评论

controlfile文件的备份与恢复

 
阅读更多

controlfile文件的备份与恢复

来源:网络

Oracle的控制文件controlfile有以下4种备份恢复方法。
注意:本文模拟controlfile故障均是直接删除控制文件。

1. 使用RMAN工具备份恢复controlfile

RMAN参数选项”CONFIGURE CONTROLFILE AUTOBACKUP ON/OFF”
定义为”ON”,则任意一次RMAN备份都会自动备份controlfile,比如备份tablespace;
定义为”OFF”,则不会自动备份controlfile,需要手动备份。
使用RMAN工具备份controflile的命令如下
#rman target /
RMAN>backup current controlfile;
使用RMAN备份集恢复controlfile的步骤如下
#rman target /
RMAN>startup nomount
RMAN>set dbid=******
RMAN>restore controlfile from autobackup;
RMAN>alter database mount;
RMAN>recover database;
RMAn>alter database open open resetlogs;
注意:
使用RMAN恢复时,必须有instance的DBID。DBID是唯一的,可以通过v$instance视图确定。
Controlfile故障后无法查询v$instance视图,所以故障前须确知DBID,否则会遇到麻烦,呵呵。

2. 使用SQL*PLUS命令备份至指定文件

SQLPLUS命令备份controlfile有两种方式,这里先介绍备份为具体文件的方法。
使用SQL命令备份controlfile,步骤如下:
#sqlplus “/as sysdba”
SQL> alter database backup controlfile to 'd:backup.ctl';
使用SQL命令恢复controlfile,步骤如下:
1> 使用备份文件”backup.ctl”直接copy。
注意:拷贝文件的名称、路径、份数与原controlfile完全一致。
2> 使用下列命令进行恢复
SQL> startup mount;
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE例程已经启动。
Total System Global Area 452984832 bytes
Fixed Size 1249512 bytes
Variable Size 155193112 bytes
Database Buffers 289406976 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
SQL> recover database using backup controlfile;
ORA-00279:更改718494 (在07/31/2008 22:21:53生成)对于线程1是必需的
ORA-00289:建议: D:ORACLEPRODUCT10.2.0ARCHIVELOG1_2_661388974.ARC
ORA-00280:更改718494 (用于线程1)在序列#2中
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
注意:提示输入redolog,但一般情况下输入建议的archivelog会报错
在此处输入的redolog为状态为current的online redolog
通过v$log,v$logfile视图确定当前状态为CURRENT的redolog文件
D:ORACLEPRODUCT10.2.0ORADATAZPREDO01.LOG
已应用的日志。
完成介质恢复。
SQL> alter database open resetlogs;
数据库已更改。
SQL>

3. 使用SQL*PLUS命令备份至trace文件

备份控制文件步骤如下:
#sqlplus “/as sysdba”
SQL> alter database backup controlfile to trace;
注意:
备份完毕后会在$ORACLE_HOME/adminudump目录下生成对应的trace文件
使用trace备份集恢复controlfile的步骤如下:
1> 打开备份controlfile时生成的trace文件
2> 找到标记”Set #1. NORESETLOGS case”部分。
注意:
一般情况下trace文件里都会有2部分相关内容
恢复时先执行”Set #1. NORESETLOGS case”部分
3> 运行上述标记部分的sql语句
SQL>STARTUP NOMOUNT
SQL>CREATE CONTROLFILE REUSE DATABASE "ZP" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'D:ORACLEPRODUCT10.2.0ORADATAZPREDO01.LOG' SIZE 50M,
GROUP 2 'D:ORACLEPRODUCT10.2.0ORADATAZPREDO02.LOG' SIZE 50M,
GROUP 3 'D:ORACLEPRODUCT10.2.0ORADATAZPREDO03.LOG' SIZE 50M
DATAFILE
'D:ORACLEPRODUCT10.2.0ORADATAZPSYSTEM01.DBF',
'D:ORACLEPRODUCT10.2.0ORADATAZPUNDOTBS01.DBF',
'D:ORACLEPRODUCT10.2.0ORADATAZPSYSAUX01.DBF',
'D:ORACLEPRODUCT10.2.0ORADATAZPUSERS01.DBF',
'D:ORACLEPRODUCT10.2.0ORADATAZPTBS1.DBF'
CHARACTER SET ZHS16GBK
;
SQL>VARIABLE RECNO NUMBER;
SQL>EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CONTROLFILE AUTOBACKUP','ON');
RECOVER DATABASE;
SQL>ALTER SYSTEM ARCHIVE LOG ALL;
SQL>ALTER DATABASE OPEN;
SQL>ALTER TABLESPACE TEMP ADD TEMPFILE 'D:ORACLEPRODUCT10.2.0ORADATAZPTEMP01.DBF'
SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
4. 使用COPY或是cp命令进行控制文件的备份
使用操作系统的copy或是cp命令直接备份controfile,恢复的方法与使用”alter database backup controlfile to filename”备份文件步骤命令一样。

分享到:
评论

相关推荐

    rman 异地恢复,备份路径不一样时数据库恢复

    在 RMAN 中,可以使用 restore controlfile 命令恢复控制文件。例如,rman&gt;restore controlfile from '/trunkbow/oracle/rman/cf_c-2783238366-20070716-05'; 可以恢复控制文件 cf_c-2783238366-20070716-05。 三、...

    RAC+RMAN单实例的恢复

    1)拷贝源数据库的备份... 然后根据备份恢复pfile文件(此文档使用此方法)。 4)恢复备份中的controlfile到目标库,并使库至mount状态。 5)恢复数据,更改数据文件,临时文件,日志文件的路径。 6)恢复数据库。

    Oracle案例:损坏控制文件的恢复方法

    同时,也建议多做控制文件的备份,长期保留一份由 alter database backup control file to trace 产生的控制文件的文本备份。 二、损坏全部控制文件的恢复方法 如果损坏了全部控制文件,或者人为的删除了所有的...

    系统及数据库备份.doc

    5 2.1 OS系统文件和操作系统备份 5 2.2 数据库归档日志和控制文件备份 6 2.3 数据库数据文件备份 6 3 备份流程 7 3.1 OS系统文件和操作系统备份 7 3.2 数据库归档日志和控制文件备份 9 3.3 数据库数据文件备份 11 4 ...

    oracle冷备份恢复和oracle异机恢复使用方法

    所有数据文件、所有控制文件、所有联机REDO LOG 文件3、冷备份的步骤①正常关闭要备份的实例(instance)②拷贝所有重要文件到备份目录下③完成备份后启动数据库4、用冷备份进行数据库恢复无归档模式:将备份文件...

    RMAN 在新机上的恢复

    利用Rman的全备(当时的控制文件controlfile,pfile/spfile,datafiles,redo log等文件), 将 源数据库上的数据恢复到新机上,或者说是将源数据库(迁移)至新机上。

    RMAN测试演练即讲解

    2、 List命令查看备份集(在数据库控制文件或恢复目录中查询备份的历史信息的方法) (1) 查看数据库所有的备份集合 list backupset; (2) 查看指定TableSpace的备份 list copy of tablespace “TBS_APOLLO_...

    Oracle数据库sqlplus常用命令

    14. 使用archive log list命令知道ORACLE数据库的备份和恢复策略和归档文件的具体位置。 该命令用于获取备份和恢复策略和归档文件的位置信息。 通过这些命令,我们可以获取Oracle数据库的详细信息,包括数据库信息...

    成功恢复无备份RAC环境数据库

    昨天,一兄弟电话求助,有一套医院HIS数据库无法启动,RAC环境,无备份,尝试过重建控制文件操作,但失败。  远程连接后,情况如下:  1.两节点RAC,Oracle11.2.0.1版本,Linux操作系统  2.recover database时...

    最全的oracle常用命令大全.txt

    完全备份的SH文件:exp_comp.sh rq=` date +"%m%d" ` su - oracle -c "exp system/manager full=y inctype=complete file=/oracle/export/db_comp$rq.dmp" 累计备份的SH文件:exp_cumu.sh rq=` date +"%m%d" ` ...

    oracle OCM 12c考试经验分享和题目分析

    第一次是datawarehouse时在被破坏的实例prod4中创建dblink,删除全部controlfile(prod4),需要找一下控制文件的自动备份集并恢复 第二次是dataguard搭建之前会让在pdbprod1中创建同义词,pdbprod1 的system文件被...

    Oracle数据库系统紧急故障处理方法

    如果所有的控制文件都损坏,可以通过恢复最近的控制文件备份来解决问题。步骤包括: 1. 确保数据库已经关闭,如果没有用下面的命令来关闭数据库:svrmgrl&gt;shutdown immediate; 2. 从相应的备份结果集中恢复最近的...

    Win8下DG物理Standby搭建

    5、创建standby controlfile 3 6、修改客户端初始化参数文件 3 2.2 阶段二:Standby库配置 5 1、把口令文件和 pfile 名字改成 standby 5 2、修改initstandby.ora参数文件 5 3、创建目录adump等 6 4、根据initstandby...

    Oracle dataguard实施步骤

    在服务器 B 上,创建与服务器 A 相同的数据文件目录,并从服务器 A 拷贝所有数据文件到服务器 B,冷备份。 Step 3: 创建备库控制文件 在服务器 A 上,使用 sys 用户和 dba 方式连接到主库,执行以下命令: ALTER ...

    orcale常用命令

    完全备份的SH文件:exp_comp.sh rq=` date +"%m%d" ` su - oracle -c "exp system/manager full=y inctype=complete file=/oracle/export/db_comp$rq.dmp" 累计备份的SH文件:exp_cumu.sh rq=` date +"%m%d" ` ...

    北京工商局-TSM-安装配置手册完整版

    2.3.6.2、 tsm server 重要文件备份:.............................................................................. 11 2.3.6.3、 tsm server 卷历史信息删除...................................................

    Toad 使用快速入门

    从网络到性能优化,从备份恢复到Error message,一应俱全 例子:遇到失效的存储过程怎么办? 4. 如何对存储过程进行Debug?  需要Toad单独的Debug Option(Standard Version 没有这个选项)  要用Toad对存储...

Global site tag (gtag.js) - Google Analytics