设为首页 收藏本站
查看: 801|回复: 0

[经验分享] oracle控制文件损坏恢复

[复制链接]

尚未签到

发表于 2018-9-22 12:04:13 | 显示全部楼层 |阅读模式
  一、使用trace文件恢复

  SQL>>Database> SQL> @gettrace  --得到trace文件的路径 TRACE_FILE_NAME--------------------------------------------------------------------------------/oracle/app/admin/ora10g/udump/ora10g_ora_31270.trc SQL> ![oracle@chanjet23 ~]$ more /oracle/app/admin/ora10g/udump/ora10g_ora_31270.trc /oracle/app/admin/ora10g/udump/ora10g_ora_31270.trcOracle Database 10g Enterprise Edition>With the Partitioning, OLAP and Data Mining optionsORACLE_HOME = /oracle/app/oracle/product/10.2.0/db_1System name:    LinuxNode name:      chanjet23Release:        2.6.18-164.el5                   .                   .                   . --  ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCESTARTUP NOMOUNTCREATE CONTROLFILE REUSE DATABASE "ORA10G" NORESETLOGS  ARCHIVELOG    MAXLOGFILES 16    MAXLOGMEMBERS 3    MAXDATAFILES 100    MAXINSTANCES 8    MAXLOGHISTORY 292LOGFILE  GROUP 1 '/oradata/ora10g/redo01.log'  SIZE 50M,  GROUP 2 '/oradata/ora10g/redo02.log'  SIZE 50M,  GROUP 3 '/oradata/ora10g/redo03.log'  SIZE 50M-- STANDBY LOGFILEDATAFILE  '/oradata/ora10g/system01.dbf',  '/oradata/ora10g/undotbs01.dbf',                            .                            .                            . ALTER TABLESPACE TEMP ADD TEMPFILE '/oradata/ora10g/temp01.dbf'    >-- End of tempfile additions.-- [oracle@chanjet23 udump]$  cd[oracle@chanjet23 ~]$ vim recontro.sql ——拷贝trace文件中有用的语句重建控制文件。如果在之前没有备份的trace文件,我们可以从init{SID}.ora文件中得到数据文件、日志文件、数据库表空间等信息,把init{SID}.ora文件中的内容按以下格式创建重构控制文件脚本 STARTUP NOMOUNTCREATE CONTROLFILE REUSE DATABASE "ORA10G" NORESETLOGS  ARCHIVELOG    MAXLOGFILES 16    MAXLOGMEMBERS 3    MAXDATAFILES 100    MAXINSTANCES 8    MAXLOGHISTORY 292LOGFILE  GROUP 1 '/oradata/ora10g/redo01.log'  SIZE 50M,  GROUP 2 '/oradata/ora10g/redo02.log'  SIZE 50M,  GROUP 3 '/oradata/ora10g/redo03.log'  SIZE 50MDATAFILE  '/oradata/ora10g/system01.dbf',  '/oradata/ora10g/undotbs01.dbf',  '/oradata/ora10g/sysaux01.dbf',  '/oradata/ora10g/users01.dbf'CHARACTER SET ZHS16GBK;VARIABLE RECNO NUMBER;EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CONTROLFILE AUTOBACKUP','OFF');RECOVER DATABASEALTER SYSTEM ARCHIVE LOG ALL;ALTER DATABASE OPEN;    >STARTUP NOMOUNTCREATE CONTROLFILE REUSE DATABASE "ORA10G" RESETLOGS  ARCHIVELOG    MAXLOGFILES 16    MAXLOGMEMBERS 3    MAXDATAFILES 100    MAXINSTANCES 8    MAXLOGHISTORY 292LOGFILE  GROUP 1 '/oradata/ora10g/redo01.log'  SIZE 50M,  GROUP 2 '/oradata/ora10g/redo02.log'  SIZE 50M,  GROUP 3 '/oradata/ora10g/redo03.log'  SIZE 50MDATAFILE  '/oradata/ora10g/system01.dbf',  '/oradata/ora10g/undotbs01.dbf',  '/oradata/ora10g/sysaux01.dbf',  '/oradata/ora10g/users01.dbf'CHARACTER SET ZHS16GBK;VARIABLE RECNO NUMBER;EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CONTROLFILE AUTOBACKUP','OFF');RECOVER DATABASE USING BACKUP CONTROLFILEALTER DATABASE OPEN RESETLOGS;    >"recontro.sql" 49L, 1641C 已写入[oracle@chanjet23 ~]$ sqlplus / as sysdba SQL*Plus:> Copyright (c) 1982, 2005, Oracle.  All rights reserved.  Connected to:Oracle Database 10g Enterprise Edition>With the Partitioning, OLAP and Data Mining options SQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> set echo on       ——打开显示输出SQL> @recontro        ——使用刚建立的重构控制文件的脚本重建控制文件SQL> STARTUP NOMOUNTORACLE instance started. Total System Global Area  209715200 bytesFixed>Variable>Database Buffers          130023424 bytesRedo Buffers                2973696 bytesSQL> CREATE CONTROLFILE REUSE DATABASE "ORA10G" NORESETLOGS     ARCHIVELOG  2      MAXLOGFILES 16  3      MAXLOGMEMBERS 3  4      MAXDATAFILES 100  5      MAXINSTANCES 8  6      MAXLOGHISTORY 292  7  LOGFILE  8    GROUP 1 '/oradata/ora10g/redo01.log'    >  9    GROUP 2 '/oradata/ora10g/redo02.log'    > 10    GROUP 3 '/oradata/ora10g/redo03.log'    > 11  DATAFILE 12    '/oradata/ora10g/system01.dbf', 13    '/oradata/ora10g/undotbs01.dbf', 14    '/oradata/ora10g/sysaux01.dbf', 15    '/oradata/ora10g/users01.dbf' 16  CHARACTER SET ZHS16GBK 17  ; Control file created. SQL> VARIABLE RECNO NUMBER;SQL> EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CONTROLFILE AUTOBACKUP','OFF'); PL/SQL procedure successfully completed. SQL> RECOVER DATABASE SQL>> System> SQL>> Database> SQL>>  2      > Tablespace> SQL> STARTUP NOMOUNTORA-01081: cannot start already-running ORACLE - shut it down firstSQL> CREATE CONTROLFILE REUSE DATABASE "ORA10G" RESETLOGS  ARCHIVELOG  2      MAXLOGFILES 16  3      MAXLOGMEMBERS 3  4      MAXDATAFILES 100  5      MAXINSTANCES 8  6      MAXLOGHISTORY 292  7  LOGFILE  8    GROUP 1 '/oradata/ora10g/redo01.log'    >  9    GROUP 2 '/oradata/ora10g/redo02.log'    > 10    GROUP 3 '/oradata/ora10g/redo03.log'    > 11  DATAFILE 12    '/oradata/ora10g/system01.dbf', 13    '/oradata/ora10g/undotbs01.dbf', 14    '/oradata/ora10g/sysaux01.dbf', 15    '/oradata/ora10g/users01.dbf' 16  CHARACTER SET ZHS16GBK 17  ;CREATE CONTROLFILE REUSE DATABASE "ORA10G" RESETLOGS  ARCHIVELOG SQL> VARIABLE RECNO NUMBER;SQL> EXECUTE :RECNO := SYS.DBMS_BACKUP_RESTORE.SETCONFIG('CONTROLFILE AUTOBACKUP','OFF'); PL/SQL procedure successfully completed. SQL> RECOVER DATABASE USING BACKUP CONTROLFILE SQL>> SQL>>  2      >ALTER TABLESPACE TEMP ADD TEMPFILE '/oradata/ora10g/temp01.dbf' Tablespace>SQL> select open_mode from v$database; OPEN_MODE----------READ WRITE

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-599891-1-1.html 上篇帖子: Oracle 管理实例 下篇帖子: java JDBC访问Oracle数据库
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表