oracle-redolog日常管理

redolog是oracle中极其重要的组建,它的目的在于保证数据的安全。redolog的丢失可能导致数据库中数据的丢失。涉及redolog的故障恢复,应该是DBA应该掌握的。在生产库上,我们应该尽量将数据库运行在归档模式。

说明:我操作的数据库版本是11.2.0.3


一、online redolog日常管理

1、查询redolog信息

1、查询redolog信息
-->日志状态信息
SYS@PROD>select group#,thread#,sequence#,bytes/1024/1024 size_MB,members,archived,status,first_change#,to_char(FIRST_TIME,'yyyy-mm-dd hh24:mi:ss') first_time from v$log;

    GROUP#    THREAD#  SEQUENCE#    SIZE_MB    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------------
         1          1         28        100          2 YES CLEARING_CURRENT       1961831 2014-03-31 03:05:38
         3          1         27        100          2 YES CLEARING               1841509 2014-03-27 15:49:34
         2          1         28        100          2 YES CLEARING               1961831 2014-03-31 03:05:38

-->日志文件信息
SYS@PROD>select a.group#,a.thread#,b.member,a.bytes/1024/1024 size_MB,a.members,a.archived,a.status from v$log a,v$logfile b where a.group#=b.group#;

    GROUP#    THREAD# MEMBER                                                SIZE_MB    MEMBERS ARC STATUS
---------- ---------- -------------------------------------------------- ---------- ---------- --- ----------------
         1          1 /u01/app/oracle/oradata/PROD/disk1/redo01.log             100          2 YES CLEARING_CURRENT
         1          1 /u01/app/oracle/oradata/PROD/disk1/redo04.log             100          2 YES CLEARING_CURRENT
         3          1 /u01/app/oracle/oradata/PROD/disk1/redo06.log             100          2 YES CLEARING
         2          1 /u01/app/oracle/oradata/PROD/disk1/redo05.log             100          2 YES CLEARING
         3          1 /u01/app/oracle/oradata/PROD/disk1/redo03.log             100          2 YES CLEARING
         2          1 /u01/app/oracle/oradata/PROD/disk1/redo02.log             100          2 YES CLEARING

6 rows selected.

-->列出日志切换的线程号和切换时间
col 00 for '999'
col 01 for '999'
col 02 for '999'
col 03 for '999'
col 04 for '999'
col 05 for '999'
col 06 for '999'
col 07 for '999'
col 08 for '999'
col 09 for '999'
col 10 for '999'
col 11 for '999'
col 12 for '999'
col 13 for '999'
col 14 for '999'
col 15 for '999'
col 16 for '999'
col 17 for '999'
col 18 for '999'
col 19 for '999'
col 20 for '999'
col 21 for '999'
col 22 for '999'
col 23 for '999'
SELECT   thread#, a.ttime, SUM (c8) "08", SUM (c9) "09", SUM (c10) "10",
         SUM (c11) "11", SUM (c12) "12", SUM (c13) "13", SUM (c14) "14",
         SUM (c15) "15", SUM (c16) "16", SUM (c17) "17", SUM (c18) "18",
         SUM (c0) "00", SUM (c1) "01", SUM (c2) "02", SUM (c3) "03",
         SUM (c4) "04", SUM (c5) "05", SUM (c6) "06", SUM (c7) "07",
         SUM (c19) "19", SUM (c20) "20", SUM (c21) "21", SUM (c22) "22",
         SUM (c23) "23"
    FROM (SELECT thread#, ttime, DECODE (tthour, '00', 1, 0) c0,
                 DECODE (tthour, '01', 1, 0) c1,
                 DECODE (tthour, '02', 1, 0) c2,
                 DECODE (tthour, '03', 1, 0) c3,
                 DECODE (tthour, '04', 1, 0) c4,
                 DECODE (tthour, '05', 1, 0) c5,
                 DECODE (tthour, '06', 1, 0) c6,
                 DECODE (tthour, '07', 1, 0) c7,
                 DECODE (tthour, '08', 1, 0) c8,
                 DECODE (tthour, '09', 1, 0) c9,
                 DECODE (tthour, '10', 1, 0) c10,
                 DECODE (tthour, '11', 1, 0) c11,
                 DECODE (tthour, '12', 1, 0) c12,
                 DECODE (tthour, '13', 1, 0) c13,
                 DECODE (tthour, '14', 1, 0) c14,
                 DECODE (tthour, '15', 1, 0) c15,
                 DECODE (tthour, '16', 1, 0) c16,
                 DECODE (tthour, '17', 1, 0) c17,
                 DECODE (tthour, '18', 1, 0) c18,
                 DECODE (tthour, '19', 1, 0) c19,
                 DECODE (tthour, '20', 1, 0) c20,
                 DECODE (tthour, '21', 1, 0) c21,
                 DECODE (tthour, '22', 1, 0) c22,
                 DECODE (tthour, '23', 1, 0) c23
            FROM (SELECT thread#, TO_CHAR (first_time, 'yyyy-mm-dd') ttime,
                         TO_CHAR (first_time, 'hh24') tthour
                    FROM v$log_history
                   WHERE (SYSDATE - first_time < 30))) a
GROUP BY thread#, ttime
order by ttime;

2、添加日志组

SQL> alter database add logfile group 4 ('/u01/app/oracle/oradata/redolog/redo04a.log','/u01/app/oracle/oradata/redolog/redo04b.log') size 20M;   

Database altered.

3、添加日志成员

SQL> alter database add logfile group 5 ('/u01/app/oracle/oradata/redolog/redo05a.log') size 20M;

Database altered.

-->给group 5添加一个日志成员
SQL> alter database add logfile member '/u01/app/oracle/oradata/redolog/redo05b.log' to group 5;    

Database altered.

SQL> select group#,member from v$logfile;

    GROUP# MEMBER
---------- --------------------------------------------------
         1 /u01/app/oracle/oradata/redolog/redo01a.log
         1 /u01/app/oracle/oradata/redolog/redo01b.log
         2 /u01/app/oracle/oradata/redolog/redo02a.log
         2 /u01/app/oracle/oradata/redolog/redo02b.log
         3 /u01/app/oracle/oradata/redolog/redo03a.log
         3 /u01/app/oracle/oradata/redolog/redo03b.log
         4 /u01/app/oracle/oradata/redolog/redo04a.log
         4 /u01/app/oracle/oradata/redolog/redo04b.log
         5 /u01/app/oracle/oradata/redolog/redo05a.log
         5 /u01/app/oracle/oradata/redolog/redo05b.log

10 rows selected.

4、删除日志组

-->检查日志组状态
SQL> select group#,thread#,sequence#,bytes/1024/1024 size_MB,members,archived,status,first_change#,to_char(FIRST_TIME,'yyyy-mm-dd hh24:mi:ss') first_time from v$log;

    GROUP#    THREAD#  SEQUENCE#    SIZE_MB    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------------
         1          1         31        100          2 YES INACTIVE            4219305791 2013-12-23 00:12:35
         2          1         32        100          2 NO  CURRENT             4219324100 2013-12-25 16:29:10
         3          1         30        100          2 YES INACTIVE            4219267204 2013-12-22 03:00:58
         4          1          0         20          2 YES UNUSED                       0
         5          1          0         20          2 YES UNUSED                       0

-->当archvied状态为yes,status状态为inactive or unused状态时,可以删除该redolog group。
SQL> alter database drop logfile group 5;

Database altered.

二、redolog损坏的恢复
在做下面实验之前,请先对数据库进行一次全库备份。

RMAN> run{
2> backup database format '/s01/backup/database_full_%U';
3> backup format '/s01/backup/al_%s_%p_%t'  archivelog all delete input;
4> backup current controlfile format '/s01/backup/control_%s_%p_%t';
5> }

1、日志组一个成员损坏

-->检查redolog日志组状态
SQL> select group#,thread#,sequence#,bytes/1024/1024 size_MB,members,archived,status,first_change#,to_char(FIRST_TIME,'yyyy-mm-dd hh24:mi:ss') first_time from v$log;

    GROUP#    THREAD#  SEQUENCE#    SIZE_MB    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------------
         1          1         39        100          2 YES INACTIVE            4219341679 2014-03-31 11:38:20
         2          1         40        100          2 NO  CURRENT             4219346542 2014-03-31 13:51:26
         3          1         38        100          2 YES INACTIVE            4219340026 2014-03-31 11:38:08
         4          1         37         20          2 YES INACTIVE            4219339805 2014-03-31 11:38:02
-->正常关闭数据库
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

-->删除日志组4的一个日志组成员
SQL> ! rm -f /u01/app/oracle/oradata/redolog/redo04b.log

-->启动数据库,数据库可以正常启动但是在alert log 日志中报错误。
Mon Mar 31 14:02:30 2014
ARC3 started with pid=23, OS id=5593 
Errors in file /u01/app/oracle/diag/rdbms/db/db/trace/db_lgwr_5503.trc:
ORA-00313: open failed for members of log group 4 of thread 1
ORA-00312: online log 4 thread 1: '/u01/app/oracle/oradata/redolog/redo04b.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Errors in file /u01/app/oracle/diag/rdbms/db/db/trace/db_lgwr_5503.trc:
ORA-00321: log 4 of thread 1, cannot update log file header
ORA-00312: online log 4 thread 1: '/u01/app/oracle/oradata/redolog/redo04b.log'
Mon Mar 31 14:02:31 2014
Errors in file /u01/app/oracle/diag/rdbms/db/db/trace/db_m000_5595.trc:
ORA-00313: open failed for members of log group 4 of thread 1
ORA-00312: online log 4 thread 1: '/u01/app/oracle/oradata/redolog/redo04b.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory

-->检查发现
SQL> select a.group#,a.thread#,b.member,a.bytes/1024/1024 size_MB,a.members,a.archived,a.status from v$log a,v$logfile b where a.group#=b.group#;

    GROUP#    THREAD# MEMBER                                                SIZE_MB    MEMBERS ARC STATUS
---------- ---------- -------------------------------------------------- ---------- ---------- --- ----------------
         1          1 /u01/app/oracle/oradata/redolog/redo01a.log               100          2 YES INACTIVE
         1          1 /u01/app/oracle/oradata/redolog/redo01b.log               100          2 YES INACTIVE
         2          1 /u01/app/oracle/oradata/redolog/redo02a.log               100          2 NO  CURRENT
         2          1 /u01/app/oracle/oradata/redolog/redo02b.log               100          2 NO  CURRENT
         3          1 /u01/app/oracle/oradata/redolog/redo03a.log               100          2 YES INACTIVE
         3          1 /u01/app/oracle/oradata/redolog/redo03b.log               100          2 YES INACTIVE
         4          1 /u01/app/oracle/oradata/redolog/redo04a.log                20          2 YES INACTIVE
         4          1 /u01/app/oracle/oradata/redolog/redo04b.log                20          2 YES INACTIVE

8 rows selected.

-->
SQL> ! ls /u01/app/oracle/oradata/redolog/
redo01a.log  redo01b.log  redo02a.log  redo02b.log  redo03a.log  redo03b.log  redo04a.log

-->
SQL> select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER                                             IS_
---------- ------- ------- -------------------------------------------------- ---
         1         ONLINE  /u01/app/oracle/oradata/redolog/redo01a.log        NO
         1         ONLINE  /u01/app/oracle/oradata/redolog/redo01b.log        NO
         2         ONLINE  /u01/app/oracle/oradata/redolog/redo02a.log        NO
         2         ONLINE  /u01/app/oracle/oradata/redolog/redo02b.log        NO
         3         ONLINE  /u01/app/oracle/oradata/redolog/redo03a.log        NO
         3         ONLINE  /u01/app/oracle/oradata/redolog/redo03b.log        NO
         4         ONLINE  /u01/app/oracle/oradata/redolog/redo04a.log        NO
         4 INVALID ONLINE  /u01/app/oracle/oradata/redolog/redo04b.log        NO

8 rows selected.

-->
SQL> alter database add logfile member '/u01/app/oracle/oradata/redolog/redo04b.log' to group 4;
alter database add logfile member '/u01/app/oracle/oradata/redolog/redo04b.log' to group 4
*
ERROR at line 1:
ORA-01577: cannot add log file '/u01/app/oracle/oradata/redolog/redo04b.log' - file already part of database

-->遇到这种情况使用alter database clear方式重建group.
SQL> alter database clear logfile group 4;

Database altered.

SQL> select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER                                             IS_
---------- ------- ------- -------------------------------------------------- ---
         1         ONLINE  /u01/app/oracle/oradata/redolog/redo01a.log        NO
         1         ONLINE  /u01/app/oracle/oradata/redolog/redo01b.log        NO
         2         ONLINE  /u01/app/oracle/oradata/redolog/redo02a.log        NO
         2         ONLINE  /u01/app/oracle/oradata/redolog/redo02b.log        NO
         3         ONLINE  /u01/app/oracle/oradata/redolog/redo03a.log        NO
         3         ONLINE  /u01/app/oracle/oradata/redolog/redo03b.log        NO
         4         ONLINE  /u01/app/oracle/oradata/redolog/redo04a.log        NO
         4         ONLINE  /u01/app/oracle/oradata/redolog/redo04b.log        NO

8 rows selected.

SQL> ! ls /u01/app/oracle/oradata/redolog/
redo01a.log  redo01b.log  redo02a.log  redo02b.log  redo03a.log  redo03b.log  redo04a.log  redo04b.log

2、非当前日志组损坏
这种情况也是比较好恢复的。与上面的实例相似。

-->检查日志组状态
SQL> select group#,thread#,sequence#,bytes/1024/1024 size_MB,members,archived,status,first_change#,to_char(FIRST_TIME,'yyyy-mm-dd hh24:mi:ss') first_time from v$log;

    GROUP#    THREAD#  SEQUENCE#    SIZE_MB    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------------
         1          1         39        100          2 YES INACTIVE            4219341679 2014-03-31 11:38:20
         2          1         40        100          2 YES INACTIVE            4219346542 2014-03-31 13:51:26
         3          1         42        100          2 NO  CURRENT             4219347530 2014-03-31 14:19:17
         4          1         41         20          2 YES INACTIVE            4219347526 2014-03-31 14:19:12

-->关闭数据库
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

-->删除日志组2全部成员
SQL> ! rm -f /u01/app/oracle/oradata/redolog/redo02*

-->启动数据库
SQL> startup
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size                  2235208 bytes
Variable Size             792724664 bytes
Database Buffers          268435456 bytes
Redo Buffers                5541888 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
Process ID: 5879
Session ID: 1 Serial number: 5

Mon Mar 31 14:22:00 2014
ARC1 started with pid=21, OS id=5883 
Errors in file /u01/app/oracle/diag/rdbms/db/db/trace/db_lgwr_5797.trc:
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/redolog/redo02b.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/redolog/redo02a.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Errors in file /u01/app/oracle/diag/rdbms/db/db/trace/db_lgwr_5797.trc:
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/redolog/redo02b.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/redolog/redo02a.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Errors in file /u01/app/oracle/diag/rdbms/db/db/trace/db_ora_5879.trc:
ORA-00313: open failed for members of log group 1 of thread 
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/redolog/redo02a.log'
ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/redolog/redo02b.log'
Mon Mar 31 14:22:00 2014
ARC2 started with pid=22, OS id=5885 
USER (ospid: 5879): terminating the instance due to error 313
System state dump requested by (instance=1, osid=5879), summary=[abnormal instance termination].
System State dumped to trace file /u01/app/oracle/diag/rdbms/db/db/trace/db_diag_5787.trc
Dumping diagnostic data in directory=[cdmp_20140331142200], requested by (instance=1, osid=5879), summary=[abnormal instance termination].
Instance terminated by USER, pid = 5879

-->启动数据库到mount状态
SQL> startup mount
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size                  2235208 bytes
Variable Size             792724664 bytes
Database Buffers          268435456 bytes
Redo Buffers                5541888 bytes
Database mounted.

SQL> select group#,thread#,sequence#,bytes/1024/1024 size_MB,members,archived,status,first_change#,to_char(FIRST_TIME,'yyyy-mm-dd hh24:mi:ss') first_time from v$log;

    GROUP#    THREAD#  SEQUENCE#    SIZE_MB    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------------
         1          1         39        100          2 YES INACTIVE            4219341679 2014-03-31 11:38:20
         4          1         41         20          2 YES INACTIVE            4219347526 2014-03-31 14:19:12
         3          1         42        100          2 NO  CURRENT             4219347530 2014-03-31 14:19:17
         2          1         40        100          2 YES INACTIVE            4219346542 2014-03-31 13:51:26

-->处理
SQL> alter database clear logfile group 2;

Database altered.

-->数据库可以正常打开。
SQL> alter database open;

Database altered.

3、当前日志组损坏
这种状态处理起来是比较麻烦的。需要做不完全恢复或者强制打开,这些都是有可能导致数据丢失的。因此我们要尽量避免这种情况的发生,对每组日志进行镜像就是一个不错的方法。

-->恢复方法:
1)如果有归档和备份,用不完全恢复。
SQL>startup mount;
SQL>recover database until cancel; 先选择auto尽可能多的利用归档日志进行恢复,然后再次执行
SQL>recover database until cancel; 这次输入cancel,完成不完全恢复
用resetlogs打开数据
SQL>alter database open resetlogs;
 
2)强制恢复, 这种方法可能会导致数据不一致
sql>startup mount;
sql>alter system set "_allow_resetlogs_corruption"=true scope=spfile;
sql>recover database until cancel;
sql>alter database open resetlogs;
-->使用该隐含参数将库来起来以后,需要将数据导出然后重新建库。

下面演示一下不完全恢复的方法

-->检查日志组状态
SQL> select group#,thread#,sequence#,bytes/1024/1024 size_MB,members,archived,status,first_change#,to_char(FIRST_TIME,'yyyy-mm-dd hh24:mi:ss') first_time from v$log;

    GROUP#    THREAD#  SEQUENCE#    SIZE_MB    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------------
         1          1         39        100          2 YES INACTIVE            4219341679 2014-03-31 11:38:20
         2          1          0        100          2 YES UNUSED              4219346542 2014-03-31 13:51:26
         3          1         42        100          2 NO  CURRENT             4219347530 2014-03-31 14:19:17
         4          1         41         20          2 YES INACTIVE            4219347526 2014-03-31 14:19:12
-->关闭数据库
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

-->
SQL> ! rm -f /u01/app/oracle/oradata/redolog/redo03*

-->
SQL> startup
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size                  2235208 bytes
Variable Size             792724664 bytes
Database Buffers          268435456 bytes
Redo Buffers                5541888 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
Process ID: 6353
Session ID: 1 Serial number: 5

Mon Mar 31 14:31:17 2014
ARC1 started with pid=21, OS id=6357 
Errors in file /u01/app/oracle/diag/rdbms/db/db/trace/db_lgwr_6271.trc:
ORA-00313: open failed for members of log group 3 of thread 1
ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/redolog/redo03b.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/redolog/redo03a.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Errors in file /u01/app/oracle/diag/rdbms/db/db/trace/db_lgwr_6271.trc:
ORA-00313: open failed for members of log group 3 of thread 1
ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/redolog/redo03b.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/redolog/redo03a.log'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
Errors in file /u01/app/oracle/diag/rdbms/db/db/trace/db_ora_6353.trc:
ORA-00313: open failed for members of log group 1 of thread 
ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/redolog/redo03a.log'
ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/redolog/redo03b.log'
Mon Mar 31 14:31:17 2014
ARC2 started with pid=22, OS id=6359 
USER (ospid: 6353): terminating the instance due to error 313
System state dump requested by (instance=1, osid=6353), summary=[abnormal instance termination].
System State dumped to trace file /u01/app/oracle/diag/rdbms/db/db/trace/db_diag_6261.trc
Dumping diagnostic data in directory=[cdmp_20140331143117], requested by (instance=1, osid=6353), summary=[abnormal instance termination].
Instance terminated by USER, pid = 6353

-->
SQL> startup mount
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size                  2235208 bytes
Variable Size             792724664 bytes
Database Buffers          268435456 bytes
Redo Buffers                5541888 bytes
Database mounted.


SQL> select group#,thread#,sequence#,bytes/1024/1024 size_MB,members,archived,status,first_change#,to_char(FIRST_TIME,'yyyy-mm-dd hh24:mi:ss') first_time from v$log;

    GROUP#    THREAD#  SEQUENCE#    SIZE_MB    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------------
         1          1         39        100          2 YES INACTIVE            4219341679 2014-03-31 11:38:20
         4          1         41         20          2 YES INACTIVE            4219347526 2014-03-31 14:19:12
         3          1         42        100          2 NO  CURRENT             4219347530 2014-03-31 14:19:17
         2          1          0        100          2 YES UNUSED              4219346542 2014-03-31 13:51:26


SQL> alter database clear logfile group 3;
alter database clear logfile group 3
*
ERROR at line 1:
ORA-00350: log 3 of instance db (thread 1) needs to be archived
ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/redolog/redo03a.log'
ORA-00312: online log 3 thread 1: '/u01/app/oracle/oradata/redolog/redo03b.log'

-->做不完全恢复
SQL> recover database until cancel;
Media recovery complete.

-->使用resetlogs方式打开数据库
SQL> alter database open resetlogs;

Database altered.

--END--



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值