当前位置:操作系统 > Unix/Linux >>

崩溃恢复的起点和终点

崩溃恢复的起点和终点
 
准备三个会话:
 
SESSION A:
 
SESSION A>create tablespace test datafile '/tmp/test.dbf' size 1m reuse;
 
表空间已创建。
SESSION A> create table t(id number) tablespace test;
 
表已创建。
SESSION A> create or replace procedure p_instance_recovery_demo is
  2         i number;
  3       begin
  4         for i in 1..100 loop
  5          insert into t values (i);
  6           commit;
  7           dbms_lock.sleep(1);
  8         end loop;
  9       end p_instance_recovery_demo;
 10  /
 
过程已创建。
 
SESSION A>col member for a30;
SESSION A>col member for a30;
SESSION A>select group#,sequence#,archived,status,first_change# from v$log;
 
    GROUP#  SEQUENCE# ARCHIVED  STATUS                                           FIRST_CHANGE#
---------- ---------- --------- ------------------------------------------------ -------------
         1         34 YES       INACTIVE                                               1657465
         2         35 YES       INACTIVE                                               1657534
         3         36 NO        CURRENT                                                1677594
 
SESSION A>select * from v$logfile;
 
    GROUP# STATUS                TYPE                  MEMBER                         IS_RECOVE
---------- --------------------- --------------------- ------------------------------ ---------
         3                       ONLINE                /u01/app/oracle/oradata/myorcl NO
                                                       /redo03.log
 
         2                       ONLINE                /u01/app/oracle/oradata/myorcl NO
                                                       /redo02.log
 
         1                       ONLINE                /u01/app/oracle/oradata/myorcl NO
                                                       /redo01.log
SESSION A>alter system switch  logfile;
 
系统已更改。
 
SESSION A>
SESSION A>
SESSION A>select group#,sequence#,archived,status,first_change# from v$log;
 
    GROUP#  SEQUENCE# ARCHIVED  STATUS                                           FIRST_CHANGE#
---------- ---------- --------- ------------------------------------------------ -------------
         1         37 NO        CURRENT                                                1678224
         2         35 YES       INACTIVE                                               1657534
         3         36 YES       ACTIVE                                                 1677594
 
SESSION A>exec p_instance_recovery_demo;
 
SESSION b:
 
SESSION b>
        ID
----------
LOCATION
--------------------------------------------------------------------------------
         1
5_13
 
         2
5_13
 
         3
5_13
 
 
        ID
----------
LOCATION
--------------------------------------------------------------------------------
         4
5_13
 
         5
5_13
 
         6
5_13
 
 
        ID
----------
LOCATION
--------------------------------------------------------------------------------
         7
5_13
 
         8
5_13
 
         9
5_13
 
......后面还有很多数据注意让他显示在一个块上,基本上有个20条左右,就可以切换到session C了
 
SESSION C:
 
SESSION C>alter system checkpoint;
 
系统已更改。
 
SESSION C> shutdown abort;
ORACLE 例程已经关闭。
 
SESSION A:
 
SESSION A>exec p_instance_recovery_demo;
BEGIN p_instance_recovery_demo; END;
 
*
第 1 行出现错误:
ORA-03113: 通信通道的文件结尾进程 ID:
5536
会话 ID: 191 序列号: 7
 
然后新启一个会话:
 
BBED> set file 5
        FILE#    
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,