zoukankan      html  css  js  c++  java
  • oracle dg状态检查及相关命令

    oracle dg 状态检查

    先检查备库的归档日志同步情况 

    SELECT NAME,applied FROM v$archived_log; 

    alter database recover managed standby database cancel;

    select thread#,sequence#,standby_dest,archived,applied,status from v$archived_log order by 1,2;

    alter database recover managed standby database using current logfile disconnect from session;

    .在备库 查看gap

    1.      select * from v$archive_gap;



    ALTER  DATABASE RECOVER MANAGED STANDBY  DATABASE DISCONNECT FROM SESSION;

    查看主库的基本信息:

    SYS@enmo1 hey~1->select open_mode,protection_mode,database_role,switchover_status from v$database;

    OPEN_MODE            PROTECTION_MODE             DATABASE_ROLE         SWITCHOVER_STATUS
    -------------------- ----------------------------- ------------------------ ------------------------
    READ WRITE           MAXIMUM PERFORMANCE      PRIMARY                      TO STANDBY

    查看备库的基本信息:

    SYS@enmo2 hey~2->select open_mode,protection_mode,database_role,switchover_status from v$database;

    OPEN_MODE                   PROTECTION_MODE             DATABASE_ROLE         SWITCHOVER_STATUS
    ------------------------- ----------------------------- ------------------------ ------------------------
    READ ONLY WITH APPLY MAXIMUM PERFORMANCE      PHYSICAL STANDBY      NOT ALLOWED

    备库应用日志保持和主库数据一致(如果不一致,执行如下语句应用日志)

    SYS@enmo2 hey~2->recover managed standby database using current logfile disconnect from session;
    Media recovery complete.

    SYS@enmo2 hey~2->recover managed standby database cancel;
    Media recovery complete.

    主库切换到备库角色并查看切换之后的状态为RECOVERY NEEDED

    SYS@enmo1 hey~1->alter database commit to switchover to physical standby with session shutdown;

    Database altered.

    SYS@enmo1 hey~1->shutdown abort;

    ORACLE instance started.

    Total System Global Area 830930944 bytes
    Fixed Size 2257800 bytes
    Variable Size 700451960 bytes
    Database Buffers 121634816 bytes
    Redo Buffers 6586368 bytes
    Database mounted.
    SYS@enmo1 hey~1->select switchover_status from v$database;

    SWITCHOVER_STATUS
    --------------------
    RECOVERY NEEDED

    切换应用日志,然后在查看切换状态为TO primary正常:

    SYS@enmo1 hey~1->recover managed standby database using current logfile disconnect from session;
    Media recovery complete.
    SYS@enmo1 hey~1->select switchover_status from v$database;

    SWITCHOVER_STATUS
    --------------------
    TO PRIMARY

    备库切主库:

    SYS@enmo2 hey~2->select open_mode,protection_mode,database_role,switchover_status from v$database;

    OPEN_MODE PROTECTION_MODE DATABASE_ROLE SWITCHOVER_STATUS
    -------------------- -------------------- ---------------- --------------------
    MOUNTED MAXIMUM PERFORMANCE PHYSICAL STANDBY TO PRIMARY

    SYS@enmo2 hey~2->alter database commit to switchover to primary with session shutdown;

    Database altered.

    SYS@enmo2 hey~2->alter database open;

    Database altered.

    SYS@enmo2 hey~2->select switchover_status,database_role from v$database;

    SWITCHOVER_STATUS DATABASE_ROLE
    -------------------- ----------------
    FAILED DESTINATION PRIMARY

    SYS@enmo2 hey~2->select open_mode,protection_mode,database_role from v$database;

    OPEN_MODE PROTECTION_MODE DATABASE_ROLE
    -------------------- -------------------- ----------------

    READ WRITE MAXIMUM PERFORMANCE PRIMARY



    二、备库不同步的问题检查方法


    1、检查主备两边的序号
    select max(sequence#) from v$log;   ---检查发现一致


    2、备库执行,查看是否有数据未应用
    select name,SEQUENCE#,APPLIED from v$archived_log order by sequence#;

    select SEQUENCE#,FIRST_TIME,NEXT_TIME ,APPLIED from v$archived_log order by 1;

    3、检查备库是否开启实时应用
    select recovery_mode from v$archive_dest_status where dest_id=2;

    4、检查备库状态
    select switchover_status from v$database; --发现状态not allowed 

    3、看看进程MRP是否存在
     ps aux|grep mrp      --发现进程不存在

    4、如果不存在执行以下:
    alter database recover managed standby database using current logfile disconnect;

    alter database recover managed standby database disconnect from session;  --后台执行

    alter database recover managed standby database --前台执行,执行这个可以看到报错的情况

    如果有报错,查看alert日志和log.xml日志 

    5、验证是否正常
    select process,status from v$managed_standby;
    select process,status,sequence# from v$managed_standby;

    如果看到mrp0正常

    6、以上步骤处理好后,如果数据还不正常,接着处理

    关闭备库,接着处理:
    把主库上 undotbs01.dbf 文件,物理的重拷到备库机上以前undotbs01.dbf 所在目录下;

    $scp /data/oracle/oradata/voip/undotbs01.dbf   192.168.122.204:/data/oracle/oradata/voip

    再在主库上重新生成一个standby control file ,拷到备库机上相应目录下,

    alter database create standby controlfile as '/data/oracle/oradata/voip/qyqdg01.ctl'

    $scp /data/oracle/oradata/voip/qyqdg01.ctl   192.168.122.204:/data/oracle/oradata/voip
    $ mv qyqdg01.ctl  control01.ctl
    $ cp control01.ctl /data/oracle/flash_recovery_area/qyq/
    $cd /data/oracle/flash_recovery_area/qyq/
    $ mv control01.ctl  control02.ctl

    接着
    STARTUP NOMOUNT;
    ALTER DATABASE MOUNT STANDBY DATABASE;
    ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

    --------------------------------------
    session恢复完成后,重启打开备库;

    alter database open read only;

  • 相关阅读:
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车按键启动和蜂鸣器报警
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车指定花式动作
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车指定花式动作
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车指定花式动作
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车前后左右综合实验
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车前后左右综合实验
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车前后左右综合实验
    asp中设置session过期时间方法总结
    asp中设置session过期时间方法总结
    ASP.NET关于Session_End触发与否的问题
  • 原文地址:https://www.cnblogs.com/ect123/p/11739435.html
Copyright © 2011-2022 走看看