ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 控制文件、系统数据文件损坏(异常关闭),使用TRACE NORESETLOGS恢复

控制文件、系统数据文件损坏(异常关闭),使用TRACE NORESETLOGS恢复

原创 Linux操作系统 作者:kinglawrence 时间:2010-06-22 10:19:06 0 删除 编辑

[oracle@RHEL5 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on Sat May 29 23:08:46 2010

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> alter tablespace system begin backup;

Tablespace altered.

SQL> host cp /u01/app/oracle/oradata/NEWAY/system01.dbf /u01/app/oracle/oradata/                                                                              NEWAY/system01.bak

SQL> alter tablespace system end backup;

Tablespace altered.

SQL> create table t1(a int);

Table created.

SQL> insert into t1 values(1);

1 row created.

SQL> commit;

Commit complete.

SQL> alter system switch logfile;

System altered.

SQL> alter database backup controlfile to TRACE as '/u02/backup_files/ctl.sql' r                                                                              euse;

Database altered.

SQL> shutdown abort;
ORACLE instance shut down.

SQL> host cp /u01/app/oracle/oradata/NEWAY/system01.bak /u01/app/oracle/oradata/NEWAY/system01.dbf


SQL> host vi /u02/backup_files/ctl.sql
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "NEWAY" NORESETLOGS FORCE LOGGING ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 (
    '/u01/app/oracle/oradata/NEWAY/redo01.log',
    '/u01/app/oracle/oradata/redo02.log',
    '/u01/app/oracle/oradata/redo01.log'
  ) SIZE 50M,
  GROUP 2 (
    '/u01/app/oracle/oradata/NEWAY/redo02.log',
    '/u01/app/oracle/oradata/redo002.log',
    '/u01/app/oracle/oradata/redo003.log'
  ) SIZE 50M,
  GROUP 3 (
    '/u01/app/oracle/oradata/NEWAY/redo03.log',
    '/u01/app/oracle/oradata/redo03.log'
  ) SIZE 50M
-- STANDBY LOGFILE
DATAFILE
  '/u01/app/oracle/oradata/NEWAY/system01.dbf',
  '/u01/app/oracle/oradata/NEWAY/undotbs01.dbf',
  '/u01/app/oracle/oradata/NEWAY/sysaux01.dbf',
  '/u01/app/oracle/oradata/NEWAY/users01.dbf',
  '/u01/testing.dbf',
  '/u01/testing02.dbf',
  '/tmp/testing_lmt.dbf',
  '/u01/app/oracle/oradata/example01.dbf'
CHARACTER SET ZHS16GBK
;

SQL> @/u02/backup_files/ctl.sql
ORACLE instance started.

Total System Global Area  285212672 bytes
Fixed Size                  2083368 bytes
Variable Size             146802136 bytes
Database Buffers          130023424 bytes
Redo Buffers                6303744 bytes

Control file created.

SQL> SELECT GROUP#,SEQUENCE#,STATUS,ARCHIVED,FIRST_CHANGE# FROM V$LOG;

    GROUP#  SEQUENCE# STATUS           ARC FIRST_CHANGE#
---------- ---------- ---------------- --- -------------
         1         65 CURRENT          NO        1397664
         3         63 INACTIVE         NO        1370063
         2         64 INACTIVE         NO        1395798

SQL> select FILE#,status,CHECKPOINT_CHANGE#,name from v$datafile;

     FILE# STATUS  CHECKPOINT_CHANGE# NAME
---------- ------- ------------------ ------------------------------
         1 SYSTEM             1397664 /u01/app/oracle/oradata/NEWAY/
                                      system01.dbf

         2 RECOVER            1397664 /u01/app/oracle/oradata/NEWAY/
                                      undotbs01.dbf

         3 RECOVER            1397664 /u01/app/oracle/oradata/NEWAY/
                                      sysaux01.dbf

         4 RECOVER            1397664 /u01/app/oracle/oradata/NEWAY/
                                      users01.dbf

     FILE# STATUS  CHECKPOINT_CHANGE# NAME
---------- ------- ------------------ ------------------------------

         5 RECOVER            1397664 /u01/testing.dbf
         6 RECOVER            1397664 /u01/testing02.dbf
         7 RECOVER            1397664 /tmp/testing_lmt.dbf
         8 RECOVER            1397664 /u01/app/oracle/oradata/exampl
                                      e01.dbf


8 rows selected.

SQL> recover database;
Media recovery complete.

此时可以用ALTER DATABASE OPEN 打开数据库,因为是NORESETLOGS创建的控制文件,必须所有的日志文件、数据文件都存在,所以不需要USING BACKUP CONROLFILE来介质恢复数据库


 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21158541/viewspace-665851/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 重建OEM
请登录后发表评论 登录
全部评论

注册时间:2010-02-08

  • 博文量
    60
  • 访问量
    93117