热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

通过使用resetlog恢复控制文件恢复数据库

通过使用resetlog恢复控制文件恢复数据库环境:rhel5.5,oracle10.2.0.1xmanager4.0通过备份控制文件后,对数据库进行一系列的操作,关闭数据库;恢复控制文件,启动到mount阶段在使用resetlogs重新创建控制文件...SyntaxHighli
通过使用resetlog恢复控制文件恢复数据库
 
环境:
rhel 5.5,oracle10.2.0.1
xmanager4.0
通过备份控制文件后,对数据库进行一系列的操作,关闭数据库;恢复控制文件,启动到mount阶段在使用resetlogs重新创建控制文件,找回我们的数据。
 
备份控制文件
backupdatafile 1;
RMAN>backup datafile 1;
 
RMAN>backup datafile 1;
   www.2cto.com  
Startingbackup at 26-JUN-12
usingchannel ORA_DISK_1
channelORA_DISK_1: starting compressed full datafile backupset
channelORA_DISK_1: specifying datafile(s) in backupset
inputdatafile fno=00001 name=/opt/oracle/product/10.2.0/oradata/cuug/system01.dbf
channelORA_DISK_1: starting piece 1 at 26-JUN-12
channelORA_DISK_1: finished piece 1 at 26-JUN-12
piecehandle=/opt/oracle/product/10.2.0/flash_recovery_area/CUUG/backupset/2012_06_26/o1_mf_nnndf_TAG20120626T114501_7yld1y1q_.bkptag=TAG20120626T114501 comment=NONE
channelORA_DISK_1: backup set complete, elapsed time: 00:08:06
channelORA_DISK_1: throttle time: 0:06:39
Finishedbackup at 26-JUN-12
 
StartingControl File Autobackup at 26-JUN-12
piecehandle=/opt/oracle/product/10.2.0/flash_recovery_area/CUUG/autobackup/2012_06_26/o1_mf_n_786973989_7yldk6mm_.bkpcomment=NONE
FinishedControl File Autobackup at 26-JUN-12
做一些操作和日志切换
SQL>select group#,sequence#,status from v$log;
 
GROUP#  SEQUENCE# STATUS
-------------------- ----------------
 1            9 INACTIVE
 2           10 CURRENT
 3            7 INACTIVE
 4            8 INACTIVE
[oracle@rhel5cuug]$ cp cuug01.dbf  cuug01.dbf_bak
SQL>select username,default_tablespace from dba_users where username='SCOTT';
   www.2cto.com  
USERNAME                       DEFAULT_TABLESPACE
------------------------------------------------------------
SCOTT                               CUUG
SQL>create table scott.a as select * from tab;
 
Tablecreated.
 
SQL>create table scott.aa as select * fromtab;        
 
SQL>select count(*) from scott.a;
 
  COUNT(*)
----------
  3642
SQL>create tablespace test  datafile'/opt/oracle/product/10.2.0/oradata/cuug/test01.dbf' size 100m;
 
Tablespacecreated.
 
Tablespacecreated.
SQL>alter system switch logfile;
 
Systemaltered.  www.2cto.com  
SQL>select file_name from dba_data_files;
 
FILE_NAME
--------------------------------------------------------------------------------
/opt/oracle/product/10.2.0/oradata/cuug/cuug01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/rmans01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/users01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/sysaux01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/undotbs01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/system01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/test01.dbf
 
SQL>select group#,status,sequence# from v$log;
 
GROUP#STATUS             SEQUENCE#
-------------------------- ----------
 1INACTIVE                     9
 2CURRENT                    10
 3INACTIVE                     7
 4INACTIVE                     8
 
SQL>shutdown abort
ORACLEinstance shut down.
 
删除控制文件,修改cuug的数据文件
[oracle@rhel5cuug]$ mkdir bak
[oracle@rhel5cuug]$ mv *.ctl bak/
[oracle@rhel5cuug]$ mv cuug01.dbf cuug01.bak
SQL>startup
ORACLEinstance started.
 
TotalSystem Global Area  218103808 bytes
FixedSize                    1218604 bytes
VariableSize                   62916564 bytes
DatabaseBuffers          150994944 bytes
RedoBuffers                    2973696 bytes
ORA-00205:error in identifying control file, check alert log for more info
   www.2cto.com  
恢复控制文件
[oracle@rhel510.2.0]$ rman target /
 
RecoveryManager: Release 10.2.0.1.0 - Production on Mon Jun 25 10:26:22 2012
 
Copyright(c) 1982, 2005, Oracle.  All rightsreserved.
 
connectedto target database: orcl (not mounted)
 
RMAN>restore controlfile from'/opt/oracle/product/10.2.0/flash_recovery_area/CUUG/autobackup/2012_06_26/o1_mf_n_786973989_7yldk6mm_.bkp';
 
Startingrestore at 26-JUN-12
usingchannel ORA_DISK_1
 
channelORA_DISK_1: restoring control file
channelORA_DISK_1: restore complete, elapsed time: 00:00:03
outputfilename=/opt/oracle/product/10.2.0/oradata/cuug/control01.ctl
outputfilename=/opt/oracle/product/10.2.0/oradata/cuug/control02.ctl
outputfilename=/opt/oracle/product/10.2.0/oradata/cuug/control03.ctl
Finishedrestore at 26-JUN-12
 
把控制文件
标记trace文件
SQL>alter session set tracefile_identifier='cuug';
 
Sessionaltered.
 
SQL>alter database mount;
 
Databasealtered.
 
SQL>alter database backup controlfile to trace;
 
Databasealtered.
重建控制文件,先关闭数据库,删除之前从备份中恢复出来的控制文件,启动到nomount阶段
SQL>shutdown immediate
ORA-01109:database not open
 
Databasedismounted.
ORACLEinstance shut down.
 
SQL>startup nomount;
ORACLEinstance started.
   www.2cto.com  
TotalSystem Global Area  218103808 bytes
FixedSize                    1218604 bytes
VariableSize                   79693780 bytes
DatabaseBuffers          134217728 bytes
RedoBuffers                    2973696 bytes
 
使用noresetlogs创建,因为联机日志还在,所以可以使用noresetlogs的方法创建
[oracle@rhel5orcl]$ ls *.ctl
control01.ctl  control02.ctl control03.ctl
[oracle@rhel5orcl]$ rm *.ctl
 
[oracle@rhel5udump]$ vi cuug_ora_4744_cuug.trc
CREATECONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  ARCHIVELOG
MAXLOGFILES16
MAXLOGMEMBERS3
MAXDATAFILES100
MAXINSTANCES8
MAXLOGHISTORY292
LOGFILE
  GROUP 1'/opt/oracle/product/10.2.0/oradata/orcl/redo01.log'  SIZE 50M,
  GROUP 2'/opt/oracle/product/10.2.0/oradata/orcl/redo02.log'  SIZE 50M,
  GROUP 3'/opt/oracle/product/10.2.0/oradata/orcl/redo03.log'  SIZE 50M,
  GROUP 4'/opt/oracle/product/10.2.0/oradata/orcl/redo04.log'  SIZE 50M
--STANDBY LOGFILE
DATAFILE
 '/opt/oracle/product/10.2.0/oradata/orcl/system01.dbf',
 '/opt/oracle/product/10.2.0/oradata/orcl/undotbs01.dbf',
 '/opt/oracle/product/10.2.0/oradata/orcl/sysaux01.dbf',
 '/opt/oracle/product/10.2.0/oradata/orcl/users01.dbf',
 '/opt/oracle/product/10.2.0/oradata/orcl/rmans01.dbf',
 '/opt/oracle/product/10.2.0/oradata/orcl/cuug01.dbf',
 '/opt/oracle/product/10.2.0/oradata/orcl/ORCL/datafile/o1_mf_zxm_7ycm0twl_.dbf',
 '/opt/oracle/product/10.2.0/oradata/orcl/ORCL/datafile/o1_mf_cuug_7ycm20jq_.dbf'
CHARACTERSET UTF8
;
此时打开数据库会提示错误
首先要恢复数据文件
查询数据文件
SQL>select name from v$datafile;
 
NAME
--------------------------------------------------------------------------------
/opt/oracle/product/10.2.0/oradata/cuug/system01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/undotbs01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/sysaux01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/users01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/rmans01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/cuug01.dbf
/opt/oracle/product/10.2.0/db_1/dbs/UNNAMED00007
SQL>alter database rename file '/opt/oracle/product/10.2.0/db_1/dbs/UNNAMED00007'to '/opt/oracle/product/10.2.0/oradata/cuug/test01.dbf';
SQL>select name from v$datafile;  www.2cto.com  
 
NAME
--------------------------------------------------------------------------------
/opt/oracle/product/10.2.0/oradata/cuug/system01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/undotbs01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/sysaux01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/users01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/rmans01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/cuug01.dbf
/opt/oracle/product/10.2.0/oradata/cuug/test01.dbf
 
目前数据文件还不一致,需要进行介质恢复,但是不用using子句
SQL>recover database using backup controlfile;
ORA-00279:change 708399 generated at 06/26/2012 12:11:13 needed for thread 1
ORA-00289:suggestion :
/opt/oracle/product/10.2.0/flash_recovery_area/CUUG/archivelog/2012_06_26/o1_mf_
1_10_%u_.arc
ORA-00280:change 708399 for thread 1 is in sequence #10
 
Specifylog: {=suggested | filename | AUTO | CANCEL}
/opt/oracle/product/10.2.0/oradata/cuug/redo02.log
Logapplied.
Mediarecovery complete
SQL>alter database open resetlogs;
 
Databasealtered.
查询恢复状态
 
 selectfile_name,tablespace_name,bytes/1024/1024 MB fromdba_data_files        
   www.2cto.com  
FILE_NAME                                                    TABLESPACE_NAME                            MB
------------------------------------------------------------------------------------------ ----------
/opt/oracle/product/10.2.0/oradata/cuug/cuug01.dbf            CUUG                                   200
/opt/oracle/product/10.2.0/oradata/cuug/rmans01.dbf            RMANS                                   500
/opt/oracle/product/10.2.0/oradata/cuug/users01.dbf            USERS                                     5
/opt/oracle/product/10.2.0/oradata/cuug/sysaux01.dbf            SYSAUX                                   250
/opt/oracle/product/10.2.0/oradata/cuug/undotbs01.dbf            UNDOTBS1                                    25
/opt/oracle/product/10.2.0/oradata/cuug/system01.dbf            SYSTEM                                   480
/opt/oracle/product/10.2.0/oradata/cuug/test01.dbf            TEST                                  100    www.2cto.com        
SQL>select count(*) from scott.a
  2  ;
 
  COUNT(*)
----------
      3642
 
SQL>select count(*) from scott.aa;
 
  COUNT(*)
----------
      3642
恢复完成。
 
 
作者 Dream19881003

推荐阅读
  • 大数据领域的职业路径与角色解析
    本文将深入探讨大数据领域的各种职业和工作角色,帮助读者全面了解大数据行业的需求、市场趋势,以及从入门到高级专业人士的职业发展路径。文章还将详细介绍不同公司对大数据人才的需求,并解析各岗位的具体职责、所需技能和经验。 ... [详细]
  • 本文介绍 DB2 中的基本概念,重点解释事务单元(UOW)和事务的概念。事务单元是指作为单个原子操作执行的一个或多个 SQL 查询。 ... [详细]
  • LeetCode 125: 验证回文字符串 (Valid Palindrome)
    本题要求检查给定的字符串是否为回文。在判断过程中,仅考虑字母和数字字符,并且忽略大小写。例如,"A man, a plan, a canal: Panama" 是一个回文。 ... [详细]
  • 本文详细探讨了Spring框架中遇到的NoSuchBeanDefinitionException异常,具体涉及com.thinkplatform.dao.UserLogDao Bean未定义的问题,并提供了相应的解决方案。 ... [详细]
  • Ubuntu 环境下配置 LAMP 服务器
    本文详细介绍了如何在 Ubuntu 系统上安装和配置 LAMP(Linux、Apache、MySQL 和 PHP)服务器。包括 Apache 的安装、PHP 的配置以及 MySQL 数据库的设置,确保读者能够顺利搭建完整的 Web 开发环境。 ... [详细]
  • 本文介绍了编程语言的基本分类,包括机器语言、汇编语言和高级语言的特点及其优缺点。随后详细讲解了Python解释器的安装与配置方法,并探讨了Python变量的定义、使用及内存管理机制。 ... [详细]
  • QSplitter 使用详解
    阅读《C++ GUI Programming with Qt 4, 2nd Edition》第六章布局管理器中的第三节关于 Splitters 的内容,并尝试实现书中的示例,发现实际效果与书中描述存在差异,尤其是分界线部分。 ... [详细]
  • 【转】强大的矩阵奇异值分解(SVD)及其应用
    在工程实践中,经常要对大矩阵进行计算,除了使用分布式处理方法以外,就是通过理论方法,对矩阵降维。一下文章,我在 ... [详细]
  • 经过三轮严格的面试,终于顺利加入沪江网。虽然在团队开发方面还有待提升,但充满信心和期待,希望能在这里不断学习和成长。 ... [详细]
  • WCF类型共享的最佳实践
    在使用WCF服务时,经常会遇到同一个实体类型在不同服务中被生成为不同版本的问题。本文将介绍几种有效的类型共享方法,以解决这一常见问题。 ... [详细]
  • 优化虎牙直播体验的插件
    近期在观看虎牙直播时,发现广告和一些低质量直播间频繁出现,严重影响了观看体验。为此,我开发了一款插件,帮助用户屏蔽这些不想要的内容。以下是插件的介绍和使用方法。 ... [详细]
  • 本文介绍了多种开源数据库及其核心数据结构和算法,包括MySQL的B+树、MVCC和WAL,MongoDB的tokuDB和cola,boltDB的追加仅树和mmap,levelDB的LSM树,以及内存缓存中的一致性哈希。 ... [详细]
  • 一个初秋的雨夜,我独自漫步在校园的小道上,心中突然涌起对理想爱情的憧憬。这篇文章将分享我对理想伴侣的期望,以及与他共度美好时光的愿景。 ... [详细]
  • 短暂的人生中,IT和技术只是其中的一部分。无论换工作还是换行业,最终的目标是成功、荣誉和收获。本文探讨了技术人员如何跳出纯技术的局限,实现更大的职业发展。 ... [详细]
  • 我有一个从C项目编译的.o文件,该文件引用了名为init_static_pool ... [详细]
author-avatar
手机用户2502885633
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有