zoukankan      html  css  js  c++  java
  • day16——oracle灾备2

    切换

    85上主库
    SQL> select process from v$managed_standby;

    82上备库
    SQL> select process from v$managed_standby;
    (上面都有相关进程就正确了)
    SQL> select open_mode from v$database;


    案例1:灾备系统要求最多允许丢失2小时数据
    解决办法:
    SQL> show parameter archive 
    archive_lag_target                   integer     0
    (archive_lag_target为切换间隔,秒为单位,最大值为7200秒)

    SQL> select 2*60*60 from dual;
    SQL> alter system set archive_lag_target=7200;


    案例2:灾备系统要求不允许丢失任何数据
    办法1:分布式日志存储
    办法2:数据镜像(存储层)

    =============================================
    角色切换
    (无损切换,主库不坏切换,如测试备库,主库升级)

    查看角色状态
    SQL> select database_role from v$database;

    (1)检查主库是否具有切换的状态
    SQL> select switchover_status from v$database;

    SWITCHOVER_STATUS
    --------------------
    SESSIONS ACTIVE
    (不具备切换状态,还有其他会话)


    2.切换主库到备库 并关闭会话
    85上
    SQL> ALTER DATABASE commit TO switchover TO physical standby WITH SESSION shutdown;
    SQL> startup mount force;

    SQL> select database_role from v$database;

    DATABASE_ROLE
    ----------------
    PHYSICAL STANDBY
    (主库变成了备库)


    82上查看
    SQL> select database_role from v$database;

    DATABASE_ROLE
    ----------------
    PHYSICAL STANDBY
    (结果也是备库)


    3.把备库变成主库
    备库查看状态
    SQL> select switchover_status from v$database;
    SWITCHOVER_STATUS
    --------------------
    TO PRIMARY
    (可以切换到主库)

    SQL> alter database commit to switchover to primary;(切换)
    SQL> startup mount force;

    SQL> select database_role from v$database;

    DATABASE_ROLE
    ----------------
    PRIMARY
    (变为主库)
    SQL> alter database open;

    4.验证
    82主库上
    SQL> select process from v$managed_standby;
    有lns

    85备库上
    SQL> select process from v$managed_standby;
    有RFS
    没有MRP0
    SQL> alter database recover managed standby database disconnect from session;

    ===========================
    ((角色切换  如果报16416错误
    SQL> shutdown immediate;
    SQL> startup mount;
    SQL> alter database create standby controlfile as '/home/oracle/archive/sdtby_control01.ctl';

    82备库上
    SQL> create spfile from pfile;
    SQL> shutdown immediate

    85主库上
    [oracle@sq123 archive]$ scp sdtby_control01.ctl oracle@192.168.8.2:/home/oracle/archive

    82备库上
    SQL> startup mount

    SQL> ALTER DATABASE commit TO switchover TO physical standby WITH SESSION shutdown;
    ))

    ==============================
    主库失败有损恢复

    主库
    SQL> shutdown immediate

    备库
    SQL> alter database recover managed standby database finish force;
    (force为停止当前rfs进程,进行恢复)

    SQL> alter database commit to switchover to primary;

    SQL> alter database open;


    ===================================

    监控恢复进度
    (1)查看进程的活动状态
    V$MANAGED_STANDBY视图专用于显示物理Standby数据库相关进程的当前状态,该视图中的列也很有特点,查看进程状态时,通常我们会关注PROCESS、CLIENT_PROCESS、SEQUENC#和STATUS几列,例如:
    SQL> SELECT PROCESS,CLIENT_PROCESS,SEQUENCE#, STATUS FROM V$MANAGED_STANDBY;
    PROCESS   CLIENT_P  SEQUENCE# STATUS
    --------- -------- ---------- ------------
    ARCH      ARCH        78  CLOSING
    ARCH      ARCH        79  CLOSING
    MRP0      N/A          80  WAIT_FOR_LOG
    RFS       LGWR        80  IDLE
    RFS       ARCH         0  IDLE
    RFS       N/A            0  IDLE
    相关说明:
    PROCESS:进程名称,如ARCH、RFS、MRP0等。
    CLIENT_P:对应的Primary数据库中的进程,如ARCH、LGWR等。
    SEQUENCE#:归档序号。
    STATUS:进程的当前状态,值较多,常见的有:
    1)ALLOCATED:正准备连接Primary数据库。
    2)ATTACHED:正在连接Primary数据库。
    3)CONNECTED:已连接至Primary数据库。
    4)IDLE:空闲中。
    5)RECEIVING:归档文件接收中。
    6)OPENING:归档文件处理中。
    7)CLOSING:归档文件处理完,收尾中。
    8)WRITING:REDO数据库写向归档文件中。
    9)WAIT_FOR_LOG:等待新的REDO数据中。
    10)WAIT_FOR_GAP:归档有中断,正等待中断的那部分REDO数据。
    11)APPLYING_LOG:应用REDO数据中。
    (2)检查REDO应用进度
    V$ARCHIVE_DEST_STATUS视图显示归档文件路径配置信息及REDO的应用情况等,例如:
    SQL> SELECT DEST_NAME,ARCHIVED_THREAD#,ARCHIVED_SEQ#,APPLIED_THREAD#,APPLIED_SEQ#,
    DB_UNIQUE_NAME FROM V$ARCHIVE_DEST_STATUS WHERE STATUS='VALID';
    DEST_NAME ARCHIVED_THREAD# ARCHIVED_SEQ# APPLIED_THREAD# APPLIED_SEQ# DB_UNIQUE_NAME
    -------------------- ---------------- ------------- --------------- ------------ ------------------------------
    LOG_ARCHIVE_DEST_1         1          79              0            0      NONE
    STANDBY_ARCHIVE_DEST      1          78              1           78     NONE
    (3)检查归档文件路径和创建信息
    物理Standby数据库端可以通过查询V$ARCHIVED_LOG视图,获取归档文件的一些附加信息,如文件创建时间、创建进程、归档序号、是否被应用等,例如:
    SQL>  SELECT NAME,CREATOR,SEQUENCE#,APPLIED,COMPLETION_TIME FROM V$ARCHIVED_LOG;
    NAME                                               CREATOR  SEQUENCE# APP COMPLETIO
    -------------------------------------------------- ------- ---------- --- ---------
    /u01/archive/1_1_717413573.dbf                     ARCH             1 YES 30-APR-10
    /u01/archive/1_3_717413573.dbf                     ARCH             3 YES 30-APR-10
    … …
    /u01/archive/1_78_717413573.dbf                    ARCH            78 YES 01-MAY-10
    /u01/archive/1_79_717413573.dbf                    ARCH            79 YES 02-MAY-10
    (4)查询归档历史
    物理Standby数据库端通过V$LOG_HISTORY视图,可以查询所有已被应用的归档文件信息(无论该归档文件是否还存在),例如:
    SQL> SELECT FIRST_TIME,FIRST_CHANGE#,NEXT_CHANGE#, SEQUENCE# FROM V$LOG_HISTORY;
    FIRST_TIM FIRST_CHANGE# NEXT_CHANGE#  SEQUENCE#
    --------- ------------- ------------ ----------
    27-APR-10        446075       475833          1
    27-APR-10        475833       489482          2
    … …
    30-APR-10        544929       590113         78
    01-MAY-10        590113       652357         79
    仍然通过该视图,稍稍修改下SQL语句,就可以查询到最后应用的归档文件,例如:
    SQL> SELECT THREAD#, MAX(SEQUENCE#) AS "LAST_APPLIED_LOG" FROM V$LOG_HISTORY GROUP BY THREAD#;
    THREAD# LAST_APPLIED_LOG
    ---------- ----------------
    1               79
    当然也可以通过查询V$ARCHIVED_LOG视图中的APP列获得相同的功能,例如:
    SQL> SELECT THREAD#, SEQUENCE#, APPLIED FROM V$ARCHIVED_LOG;







  • 相关阅读:
    1082 射击比赛 (20 分)
    1091 N-自守数 (15 分)
    1064 朋友数 (20 分)
    1031 查验身份证 (15 分)
    1028 人口普查 (20 分)
    1059 C语言竞赛 (20 分)
    1083 是否存在相等的差 (20 分)
    1077 互评成绩计算 (20 分)
    792. 高精度减法
    791. 高精度加法
  • 原文地址:https://www.cnblogs.com/xiaoxiao5ya/p/c2e2330cd430d052c5425af878359b06.html
Copyright © 2011-2022 走看看