0
点赞
收藏
分享

微信扫一扫

Oracle 联机重做日志文件(ONLINE LOG FILE)


--=========================================

-- Oracle 联机重做日志文件(ONLINE LOG FILE)

--=========================================

 

一、Oracle中的几类日志文件

log files      -->联机重做日志

log files   -->归档日志

log files     -->告警日志

-->跟踪日志

-->用户跟踪日志

-->进程跟踪日志

   

--查看后台进程相关目录

> show parameter dump

 

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

        background_core_dump                 string      partial

/u01/app/oracle/admin/orcl/bdump

/u01/app/oracle/admin/orcl/cdump

        max_dump_file_size                   string      UNLIMITED

        shadow_core_dump                     string      partial

/u01/app/oracle/admin/orcl/udump  

       

    关于Oracle 常用目录及路径请参考:Oracle 常用目录结构(10g)

    关于Oracle 体系结构请参考:Oracle实例和Oracle数据库(Oracle体系结构)

 

二、联机重做日志的规划管理

    1.联机重做日志     

        记录了数据的所有变化(DML,DDL或管理员对数据所作的结构性更改等)

        提供恢复机制(对于意外删除或宕机利用日志文件实现数据恢复)

        可以被分组管理

       

    2.联机重做日志组

        由一个或多个相同的联机日志文件组成一个联机重做日志组

        至少两个日志组,每组一个成员(建议每组两个成员,分散放开到不同的磁盘)

        由LGWR后台进程同时将日志内容写入到一个组的所有成员

            LGWR的触发条件

                在事务提交的时候(COMMIT)

Log三分之一满

Log多于一兆的变化记录

                在DBWn写入数据文件之前

           

    3.联机重做日志成员

        重做日志组内的每一个联机日志文件称为一个成员

        一个组内的每一个成员具有相同的日志序列号(log),且成员的大小相同

        每次日志切换时,Oracle服务器分配一个新的LSN号给即将写入日志的日志文件组

        LSN号用于唯一区分每一个联机日志组和归档日志

        处于归档模式的联机日志,LSN号在归档时也被写入到归档日志之中

       

    4.日志文件的工作方式

        日志文件采用按顺序循环写的方式

        当一组联机日志组写满,LGWR则将日志写入到下一组,当最后一组写满则从第一组开始写入

        写入下一组的过程称为日志切换

        切换时发生检查点过程

        检查点的信息同时写入到控制文件

   

    5.联机日志文件的规划

        总原则

            分散放开,多路复用

            日志所在的磁盘应当具有较高的I/O

            一般日志组大小应满足自动切换间隔至少15-20分钟左右业务需求

            建议使用rdo结尾的日志文件名,避免误删日志文件。如redo1.rdo,redo2.rdo

        规划样例

Log Group1     Redo Log Group2     Redo Log

           

-->Physical Disk 1

           

-->Physical Disk 2

           

-->Physical Disk 3

           

    6.日志切换和检查点切换

ALTER SYSTEM SWITCH LOGFILE;   --强制手动切换

       

ALTER SYSTEM CHECKPOINT;

       

        强制设置检查点间隔

ALTER SYSTEM SET FAST_START_MTTR_TARGET =

       

    7.添加日志文件组

ALTER DATABASE ADD LOGFILE [GROUP

('$ORACLE_BASE/oradata/u01/logn1.rdo',

'$ORACLE_BASE/oradata/u01/logn2.rdo')

SIZE mM;

           

    8.添加日志成员

ALTER DATABASE ADD

'$ORACLE_BASE/oradata/u01/logn1.rdo' TO GROUP 1,

'$ORACLE_BASE/oradata/u01/logn2.rdo' TO GROUP 2;

       

    9.删除日志成员

        不能删除组内的唯一一个成员

        不能删除处于active 和current 状态组内的成员

        删除处于active 和current 状态组内的成员,应使用日志切换使其处于INACTIVE状态后再删除

        对于组内如果一个成员为NULL 值,一个为INVALID,且组处入INACTIVE,仅能删除INVALID状态成员

        删除日志成员,物理文件并没有真正删除,需要手动删除

        删除日志文件后,控制文件被更新

        对于处于归档模式下的数据库,删除成员时确保日志已被归档,查看v$log视图获得归档信息

ALTER DATABASE DROP LOGFILE MEMBER '$ORACLE_BASE/oradata/u01/logn1.rdo'

       

    10.删除日志组

        一个实例至少需要两个联机日志文件组

        活动或当前的日志组不能被删除

        组内成员状态有NULL 值或INVALID状态并存,组不可删除

        日志组被删除后,物理文件需要手动删除(对于非OMF)

ALTER DATABASE DROP LOGFILE GROUP

       

    11.日志的重定位及重命名

        所需权限

ALTER DATABASE系统权限

            复制文件到目的位置操作系统权限(写权限)

CURRENT状态组内的成员不能被重命名

        建议该行为之前备份数据库

        重命名或重定位之后建议立即备份控制文件

        重定位及重命名的两种方法

            添加一个新成员到日志组,然后删除一个旧的成员

            使用ALTERDATABASE RENAME FILE命令(不区分归档与非归档模式)

                复制联机日志文件到新路径:ho cp <oldfile> <newfile>

                执行ALTERDATABASE RENAME FILE '<oldfile>' TO '<newfile>'

            对于处于CURRENT状态的需要改名且不切换的情况下

                办法是切换到MOUNT状态下再执行上述操作

                               

    12.清空日志文件组

ALTER DATABASE CLEAR LOGIFLE GROUP

ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP n --使用unarchived 避免归档

   

    13.日志周期循环及切换分析

       

Group 1      Group 2      Group

       

Current

---------- Log Switch -------------

Current

---------- Log Switch -------------

Current

---------- Log Switch -------------

Current

       

--Active 和Current 称之为在一个循环周期之内(按顺序写日志)

--Inactive 称为一个周期之外(一个新的循环)

--新一轮循环开始如在归档状态则先归档再清空,否则直接清空日志

--数据库启动时Active 和Current 状态的日志不能丢失,否则出错

       

    14.日志的监视

        查看日志视图中的物理日志文件是否存在、位置、大小等

SELECT 'ho cp '||member FROM v$logfile;

        查看日志文件所处的磁盘空间是否足够

> ho df -h

        查看组内是否存在多个成员,如为单一成员应考虑增加日志成员

        日志切换的间隔时间,应满足15-20分钟业务需求,如果切换间隔很短,应当增加日志文件的大小

            增加方法,先删除日志组,再重建该组(对于current和active的需要切换再做处理)

 

--查看切换时间间隔(下面的示例中为手工切换的时间,不作考虑)

> SELECT TO_CHAR(first_time,'yyyy-mm-dd hh24:mi:ss'),group# FROM v$log;

   

(FIRST_TIME,

------------------- ----------

-07-20 09:43:18          1

-07-19 22:44:30          2

-07-19 22:44:32          3         

       

    15.日志的异常处理(参照演示中9小节)

        不一致的情况(启动时)

ALTER DATABASE CLEAR LOGFILE GROUP

ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP

           

三、与日志有关的动态性能视图

        V$LOG

        V$LOGFILE

       

        V$LOG中STATUS的状态值

:从未对该联机日志写入任何内容,一般为新增加联机日志文件或是使用resetlog后的状态

CURRENT:当前重做日志文件,表示该重做日志文件为活动状态,能够被打开和关闭

            ACTIVE:处于活动状态,不属于当前日志,崩溃恢复需要该状态,可用于块恢复,可能归档,也可能未归档

            CLEARING:表示在执行alterdatabase命令后正将该日志重建为一个空日志,重建后状态变为unused

:当前日志处于关闭线程的清除状态。如日志某些故障或写入新日志标头时发生I/O错误

:实例恢复不在需要联机重做文件日志组,可能归档也可能未归档

           

        V$LOGFILE中STATUS的状态值

:表明该文件不可访问

:表明文件内容不完全

:表明该文件不再使用

            NULL :表明文件正在使用

 

四、演示

--1.查看当前数据库的日志

> SELECT * FROM v$log;

 

            GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM

---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------

NO  CURRENT                2758062 19-JUL-10

-JUL-10

-JUL-10

                 

 

> SELECT * FROM v$logfile ORDER BY group#;

 

TYPE

---------- ------- ------- ------------------------------------------------------- ---

/u01/app/oracle/oradata/orcl/redo01.log                 NO

/u01/app/oracle/oradata/orcl/redo02.log                 NO

/u01/app/oracle/oradata/orcl/redo2.log                  NO

/u01/app/oracle/oradata/orcl/redo03.log                 NO

/u01/app/oracle/oradata/orcl/redo3.log                  NO

                 

--2.添加日志组

> SELECT * FROM v$logfile;

 

TYPE

---------- ------- ------- ------------------------------------------------------- ---

/u01/app/oracle/oradata/orcl/redo2.log                  NO

/u01/app/oracle/oradata/orcl/redo02.log                 NO

/u01/app/oracle/oradata/orcl/redo01.log                 NO

/u01/app/oracle/oradata/orcl/redo3.log                  NO

/u01/app/oracle/oradata/orcl/redo03.log                 NO

/u01/app/oracle/oradata/orcl/redo4.log                  NO

/u01/app/oracle/oradata/orcl/redo04.log                 NO

                 

--3.添加日志成员

> ALTER DATABASE ADD LOGFILE MEMBER '/u01/app/oracle/oradata/orcl/redo1.log' TO GROUP 1;

 

Database altered.

 

> SELECT * FROM v$logfile WHERE group# = 1 ;

 

TYPE

---------- ------- ------- ------------------------------------------------------- ---

/u01/app/oracle/oradata/orcl/redo01.log                 NO

/u01/app/oracle/oradata/orcl/redo1.log                  NO

                 

--4.删除日志成员

> ALTER DATABASE DROP LOGFILE MEMBER '/u01/app/oracle/oradata/orcl/redo01.log';

ALTER DATABASE DROP LOGFILE MEMBER '/u01/app/oracle/oradata/orcl/redo01.log'

*

:  --redo01.log处于NULL状态且该日志组为current状态不能删除

-00362: member is required to form a valid logfile in group

-01517: log member: '/u01/app/oracle/oradata/orcl/redo01.log'

 

 

> ALTER DATABASE DROP LOGFILE MEMBER '/u01/app/oracle/oradata/orcl/redo04.log';

 

Database altered.

 

>  ALTER DATABASE DROP LOGFILE MEMBER '/u01/app/oracle/oradata/orcl/redo4.log';

ALTER DATABASE DROP LOGFILE MEMBER '/u01/app/oracle/oradata/orcl/redo4.log'

*

:   --最后一个日志成员不能被删除

-00361: cannot remove last log member /u01/app/oracle/oradata/orcl/redo4.log for group

 

--5.日志切换

> SELECT * FROM v$log;  --当前的日志组处于CURRENT状态

 

            GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM

---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------

NO  CURRENT                2758062 19-JUL-10

-JUL-10

-JUL-10

                 4          1          0   31457280          1 YES UNUSED                       0

 

> ALTER SYSTEM SWITCH LOGFILE;  --进行日志切换

 

.

 

> SELECT * FROM v$log;    --原来的日志组4的unused状态变为current状态

 

            GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM

---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------

-JUL-10

-JUL-10

-JUL-10

NO  CURRENT                2759277 19-JUL-10

 

> ALTER SYSTEM SWITCH LOGFILE;   --再次进行日志切换

 

.

 

> SELECT * FROM v$log;          --日志组1变为current且组4变为active 状态

 

            GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM

---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------

-JUL-10

NO  CURRENT                2759293 19-JUL-10

-JUL-10

-JUL-10       

 

    由上可得知,在日志切换时对于unused组将优先作为下一组切换对象

--再次删除redo01.log还是收到错误提示

> ALTER DATABASE DROP LOGFILE MEMBER '/u01/app/oracle/oradata/orcl/redo01.log';

ALTER DATABASE DROP LOGFILE MEMBER '/u01/app/oracle/oradata/orcl/redo01.log'

*

:

-00362: member is required to form a valid logfile in group

-01517: log member: '/u01/app/oracle/oradata/orcl/redo01.log'

 

> ALTER SYSTEM SWITCH LOGFILE;  --再次进行日志切换

 

.

 

> SELECT * FROM v$log;          --group1变为inactive

 

            GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM

---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------

-JUL-10

-JUL-10

NO  CURRENT                2759420 19-JUL-10

-JUL-10

 

--反复多切几次日志之后redo01.log被成功删除     

>  ALTER DATABASE DROP LOGFILE MEMBER '/u01/app/oracle/oradata/orcl/redo01.log';

 

Database altered.

         

--6.删除日志组(CURRENT和ACTIVE状态的不能被删除)

> SELECT * FROM v$log;

 

            GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM

---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------

-JUL-10

NO  CURRENT                2759502 19-JUL-10

-JUL-10

-JUL-10

                 

> ALTER DATABASE DROP LOGFILE GROUP 4;

ALTER DATABASE DROP LOGFILE GROUP

*

:   --处于活动状态的group4 用于灾难恢复,不能被删除

-01624: log 4 needed for crash recovery of instance orcl (thread 1)

-00312: online log 4 thread 1: '/u01/app/oracle/oradata/orcl/redo4.log'

 

> ALTER SYSTEM SWITCH LOGFILE;   --进行日志切换

 

.

 

> /

 

.

 

> SELECT * FROM v$log;    --group 4的状态变为inactvie

 

            GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM

---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------

NO  CURRENT                2759720 19-JUL-10

-JUL-10

-JUL-10

-JUL-10

 

> ALTER DATABASE DROP LOGFILE GROUP 4;   --成功删除group 4

 

Database altered.

 

> ho ls /u01/app/oracle/oradata/orcl/redo*

/u01/app/oracle/oradata/orcl/redo01.log  /u01/app/oracle/oradata/orcl/redo1.log

/u01/app/oracle/oradata/orcl/redo02.log  /u01/app/oracle/oradata/orcl/redo2.log

/u01/app/oracle/oradata/orcl/redo03.log  /u01/app/oracle/oradata/orcl/redo3.log

/u01/app/oracle/oradata/orcl/redo04.log  /u01/app/oracle/oradata/orcl/redo4.log

 

> ho rm /u01/app/oracle/oradata/orcl/redo04.log   --删除物理文件

 

> ho rm /u01/app/oracle/oradata/orcl/redo4.log    --删除物理文件

 

--7.日志的重定位及重命名(仅演示ALTER DATABASE RENAME FILE 命令)

> SELECT name,log_mode FROM v$database;

 

NAME

--------- ------------

        ORCL      ARCHIVELOG

 

> SELECT * FROM v$logfile ORDER BY group#;

 

TYPE

---------- ------- ------- ------------------------------------------------------- ---

/u01/app/oracle/oradata/orcl/redo01.log                 NO

/u01/app/oracle/oradata/orcl/redo02.log                 NO

/u01/app/oracle/oradata/orcl/redo2.log                  NO

/u01/app/oracle/oradata/orcl/redo03.log                 NO

/u01/app/oracle/oradata/orcl/redo3.log                  NO

 

> ho cp /u01/app/oracle/oradata/orcl/redo01.log /u01/app/oracle/oradata/redo01.rdo      

 

> ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/orcl/redo01.log'

TO '/u01/app/oracle/oradata/redo01.rdo';

 

Database altered.

 

> SELECT * FROM v$logfile WHERE group# = 1;

 

TYPE

---------- ------- ------- ------------------------------------------------------- ---

/u01/app/oracle/oradata/redo01.rdo                      NO

       

 

--8.清空日志文件组(只有非active 和非current状态的组才能被清空)

> SELECT * FROM v$log;

 

            GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM

---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------

-JUL-10

NO  CURRENT                2761383 19-JUL-10

-JUL-10

                 

> ALTER DATABASE CLEAR LOGFILE GROUP 1;

ALTER DATABASE CLEAR LOGFILE GROUP

*

:     --active 状态不能被清空

-01624: log 1 needed for crash recovery of instance orcl (thread 1)

-00312: online log 1 thread 1: '/u01/app/oracle/oradata/redo1.rdo'

 

>  ALTER DATABASE CLEAR LOGFILE GROUP 2;

ALTER DATABASE CLEAR LOGFILE GROUP

*

:    --current 状态不能被清空

-01624: log 2 needed for crash recovery of instance orcl (thread 1)

-00312: online log 2 thread 1: '/u01/app/oracle/oradata/orcl/redo2.log'

-00312: online log 2 thread 1: '/u01/app/oracle/oradata/orcl/redo02.log'

 

 

>  ALTER DATABASE CLEAR LOGFILE GROUP 3;

 

Database altered.

 

 

> SELECT * FROM v$log;   --group 3被清空后状态变为unused

 

            GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM

---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------

-JUL-10

NO  CURRENT                2761383 19-JUL-10

-JUL-10

             

--9.日志异常处理

--启动时提示日志不一致

>

.

 

        Total System Global Area  251658240 bytes

Size

Size

Database

        Redo Buffers                2973696 bytes

Database mounted.

-00341:log 1 of thread 1,wrong log # in

-00312:online log 1 thread 1:'/u01/app/oracle/oradata/orcl/redo1a.rdo'

-00312:online log 1 thread 1:'/u01/app/oracle/oradata/orcl/redo1b.rdo'

 

> ALTER DATABASE CLEAR LOGFILE GROUP 1;

 

Database altered.

 

> ALTER DATABASE OPEN;

 

Database opened.

 

--日志文件丢失(非current状态日志组)

>

.

 

        Total System Global Area  251658240 bytes

Size

Size

Database

        Redo Buffers                2973696 bytes

Database mounted.

-00313: open failed for members of log group 1 of

-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo1a.rdo'

-00312: online log 1 thread 1: '/u01/app/oracle/oradata/orcl/redo1b.rdo'

 

> ALTER DATABASE CLEAR LOGFILE GROUP 1;

 

Database altered.

 

> ALTER DATABASE OPEN;

 

Database altered.

 

--日志文件丢失(current状态日志组)

>

.

 

        Total System Global Area  251658240 bytes

Size

Size

Database

        Redo Buffers                2973696 bytes

Database mounted.

-00313: open failed for members of log group 3 of

-00312: online log 3 thread 1: '/u01/app/oracle/oradata/orcl/redo3a.rdo'

-00312: online log 3 thread 1: '/u01/app/oracle/oradata/orcl/redo3b.rdo'

 

        --查看告警日志

> ho tail -n 30 /u01/app/oracle/admin/orcl/bdump/alert_orcl.log

-27037: unable to obtain file

: 2: No such file or

:

-00312: online log 3 thread 1: '/u01/app/oracle/oradata/orcl/redo3a.rdo'

-27037: unable to obtain file

: 2: No such file or

:

:45:58 2010

in file /u01/app/oracle/admin/orcl/bdump/orcl_lgwr_4112.trc:

-00313: open failed for members of log group 3 of

-00312: online log 3 thread 1: '/u01/app/oracle/oradata/orcl/redo3b.rdo'

-27037: unable to obtain file

: 2: No such file or

:

-00312: online log 3 thread 1: '/u01/app/oracle/oradata/orcl/redo3a.rdo'

-27037: unable to obtain file

: 2: No such file or

:

:45:58 2010

:

:45:58 2010

: Becoming the 'no FAL'

: Becoming the 'no SRL'

:45:58 2010

:

:

:

with pid=18, OS id=4137

:45:58 2010

-313 signalled during: ALTER DATABASE OPEN...

       

        --查看物理日志文件是否存在

> ho ls /u01/app/oracle/oradata/orcl/redo3a.rdo

: /u01/app/oracle/oradata/orcl/redo3a.rdo: No such file or

 

> ho ls /u01/app/oracle/oradata/orcl/redo3b.rdo

: /u01/app/oracle/oradata/orcl/redo3b.rdo: No such file or

       

--尝试使用清空日志组命令

> ALTER DATABASE CLEAR LOGFILE GROUP 3;

ALTER DATABASE CLEAR LOGFILE GROUP

*

:   --系统处于非归档模式,且group 3状态为CURRENT

-00350: log 3 of instance orcl (thread 1) needs to

-00312: online log 3 thread 1: '/u01/app/oracle/oradata/orcl/redo3a.rdo'

-00312: online log 3 thread 1: '/u01/app/oracle/oradata/orcl/redo3b.rdo'

 

        --尝试使用不归档清空日志

> ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 3;

ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP

*

:

-00313: open failed for members of log group 3 of

-00312: online log 3 thread 1: '/u01/app/oracle/oradata/orcl/redo3b.rdo'

-27037: unable to obtain file

: 2: No such file or

:

-00312: online log 3 thread 1: '/u01/app/oracle/oradata/orcl/redo3a.rdo'

-27037: unable to obtain file

: 2: No such file or

:

 

        --使用带控制文件的介质恢复

> RECOVER DATABASE USING BACKUP CONTROLFILE;

-00279: change 2835232 generated at 07/20/2010 10:40:23 needed for

-00289: suggestion : /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2010_07_20/o1_mf_1_39_%u_.arc

-00280: change 2835232 for thread 1 is in

 

 

log: {<RET>=suggested | filename | AUTO |

 

-00308: cannot open archived log '/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2010_07_20/o1_mf_1_39_%u_.arc'

-27037: unable to obtain file

: 2: No such file or

:

 

        --使用resetlogs选项打开数据库

> ALTER DATABASE OPEN RESETLOGS;

 

Database altered.

 

> SELECT * FROM v$log;   --系统重建group 3

 

            GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM

---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------

NO  CURRENT                2835234 20-JUL-10

-JUL-10

                 3          1          0   31457280          2 YES UNUSED                       0          

                 

> SELECT * FROM v$logfile;   --为group 3增加了两个成员redo3a.rdo ,redo3b.rdo  

 

TYPE

---------- ------- ------- ------------------------------------------------------- ---

/u01/app/oracle/oradata/orcl/redo2a.rdo                 NO

/u01/app/oracle/oradata/orcl/redo2b.rdo                 NO

/u01/app/oracle/oradata/orcl/redo1a.rdo                 NO

/u01/app/oracle/oradata/orcl/redo3a.rdo                 NO

/u01/app/oracle/oradata/orcl/redo3b.rdo                 NO

/u01/app/oracle/oradata/orcl/redo1b.rdo                 NO

 

        对于CURRENT组的也可以使用隐藏参数来解决

        步骤:

alter system set "_allow_resetlogs_corruption" = true scope = spfile;

           

database using bakcup controlfile;

           

alter database open resetlogs;

           

shutdown immediate;

           

;

           

alter database open resetlogs;

           

alter system reset "_allow_resetlogs_corruption" scope = spfile sid = '*'

   

        对于归档模式下的日志文件丢失,同样可以按上述步骤处理

 

 


举报

相关推荐

0 条评论