dg检查 oracle_oracle dg检查 - CSDN
精华内容
参与话题
  • 概述: 一、环境 ... ip地址:192.168.122.203 ... oracle根目录:/data/db/oracle  SID:qyq  数据文件路径/data/db/oracle/oradata/qyq  归档文件路径:/data/db/oracle/archive'  备库:  

    概述:


    一、环境
         主库:
          ip地址:192.168.122.203
          oracle根目录:/data/db/oracle
          SID:qyq
          数据文件路径/data/db/oracle/oradata/qyq
          归档文件路径:/data/db/oracle/archive'

         备库:
          ip地址:192.168.122.204
          oracle根目录:/data/app/oracle
          SID:qyq
          数据文件路径/data/app/oracle/oradata/qyq
          归档文件路径:/data/app/oracle/archive'

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

    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;

    
    展开全文
  • oracle RAC如何正确地删除ASM磁盘组

    千次阅读 2018-01-20 18:00:04
    1.检查确认要删除的磁盘组是否在用 select * from dba_data_files; select * from dba_temp_files; select * from v$logfile; 2.先在各节点上dismount磁盘组 alter diskgroup REDO01 dismount; alter ...
    1.检查确认要删除的磁盘组是否在用
    select * from dba_data_files;
    select * from dba_temp_files;
    select * from v$logfile;
    2.先在各节点上dismount磁盘组
    alter diskgroup REDO01 dismount;
    alter diskgroup REDO02 dismount;
    alter diskgroup REDODG1 dismount;
    3.ASM中删除磁盘组
    drop diskgroup REDO01 force including contents;
    drop diskgroup REDO02 force including contents;
    drop diskgroup REDODG1 force including contents;
    4.crs删除磁盘组
    crsctl stat res -t  ---查看磁盘组
    srvctl remove diskgroup -g REDO01 -f
    srvctl remove diskgroup -g REDO02 -f
    srvctl remove diskgroup -g REDODG1 -f
    5.更新crs信息
    查看crs依赖的磁盘组:
    crsctl status res ora.veraa.db -f
    START_DEPENDENCIES=hard(ora.testDG1.dg,ora.testDG2.dg,ora.REDODG1.dg,ora.testDG3.dg,ora.REDO01.dg,ora.REDO02.dg,ora.REDODG01.dg) weak(type:ora.listener.type,global:type:ora.scan_listener.type,uniform:ora.ons,global:ora.gns) pullup(ora.testDG1.dg,ora.testDG2.dg,ora.REDODG1.dg,ora.testDG3.dg,ora.REDO01.dg,ora.REDO02.dg,ora.REDODG01.dg)
    START_TIMEOUT=600
    STATE_CHANGE_TEMPLATE=
    STOP_DEPENDENCIES=hard(intermediate:ora.asm,shutdown:ora.testDG1.dg,shutdown:ora.testDG2.dg,shutdown:ora.REDODG1.dg,shutdown:ora.testDG3.dg,shutdown:ora.REDO01.dg,shutdown:ora.REDO02.dg,shutdown:ora.REDODG01.dg)
    修改正确的磁盘组:
    srvctl modify database -d veraa -a "testDG1,testDG2,testDG3,REDODG01" 
    展开全文
  • oracle dg 状态检查

    万次阅读 2018-05-18 10:04:40
    检查备库的归档日志同步情况 SELECT NAME,applied FROM v$archived_log; alter database recover managed standby database cancel;select thread#,sequence#,standby_dest,archived,applied,status from v$...

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

    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;






    展开全文
  • ORACLE DG概念及切换

    万次阅读 2019-01-15 16:02:46
    DG的原理: DG分为物理standy,逻辑standy 物理standy: 物理STANDBY提供与主数据库完全一样的拷贝(块到块),数据库SCHEMA,包括索引都是一样的。它是直接应用REDO实现同步的。 逻辑standy: 逻辑STANDBY则不是...

    DG的原理:

    DG分为物理standy,逻辑standy

    物理standy:

    物理STANDBY提供与主数据库完全一样的拷贝(块到块),数据库SCHEMA,包括索引都是一样的。它是直接应用REDO实现同步的。

    逻辑standy:

    逻辑STANDBY则不是这样,在逻辑STANDBY中,逻辑信息是相同的,但物理组织和数据结构可以不同,它和主库保持同步的方法是将接收的REDO转换成SQL语句,然后在STANDBY上执行SQL语句。逻辑STANDBY除灾难恢复外还有其它用途,比如用于用户进行查询和报表。

    DG三种模式:

    最大保护模式(Maximum protection)  --性能不佳

    alter database set standby database to maximize protection;

    Primary Database上的每个事务的Redo日志必须在本地和Standby Database上都写入日志文件后才能提交,如果不能写入到Standby Database,Primary Database就会自动关闭(挂起)以防止数据丢失。

    最大可用性(Maximum Availability)

    Primary Database每个事务的Redo日志要写到本地和Standby Database中才能提交。

    这个和最大保护模式不同的是,如果写入到Standby Database失败,Primary Database不会自动关闭。这时Primary Database会自动转换为Maximum Performance模式,等待问题解决并且Standby Database再次和Primary Database同步之后,Primary Database会自动的转换为Maximum Availability。

    这种模式要求Standby Database必须配置Standby Redo log,而Primary Database必须配置为LGWR、SYNC、AFFIRM方式归档。

    最大性能(Maximum Performance)

    这个模式是缺省模式,他更加侧重对Primary Database的可用性不造成任何影响。

    Primary Database上的事务的Redo日志只要写到本地日志文件就可以提交,不必等待到Standby Database的传递完成。

    Primary Database的Redo流可以异步的发送到Standby Database。

    这种模式通过LGWR ASYNC或者ARCH实现,Standby Database也不要求使用Standby Redo Log。

    一、检查DG是否正常的四个方法

    1.看备库的告警日志,正在恢复的日志号是否对应得上

    2.看三个进程是否都已经启动

    SQL>select process from v$managed_standby

    主库中显示:

    PROCESS

    ---------

    ARCH

    ARCH

    ARCH

    ARCH

    备库中显示:ARCH、MRPO和RFS 表示正常

    3.先切换一次日志,再进到归档目录里,看两边的归档文件号是否对得上

    4.用命令查看两边归档是否对得上

    SQL> select max(sequence#) from v$archived_log where applied='YES';

    二、切换DG步骤

    关闭:先主库,后备机,开启的时候先开备库启动备库监听,再开主库

    1.先将主库切换成备库,然后将原主库启动到物理库的状态

    SQL> Alter database commit to switchover to physical standby with session shutdown;

    2.关闭主库

    SQL> shutdown immediate

    3.打开数据库nomount

    SQL> startup nomount

    4.更改主库为备库

    SQL> alter database mount standby database;

    SQL> alter database recover managed standby database disconnect from session;

    如果配置了 standby redo log 并需要启用实时同步则执行以下代码

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

    5.将备库切换成主库

    SQL> select switchover_status from v$database;

    SQL> select * from v$version where rownum<2;

    SQL> alter database commit to switchover to primary with session shutdown;

    如果备库还有未应用的日志则执行

    SQL>alter database recover managed standby database disconnect from session;

    SQL> shutdown immediate

    SQL> startup

    切换日志进行检查

    SQL> select max(sequence#) from v$log;

    SQL>select sequence#,applied from v$archived_log;

    SQL> alter system switch logfile;

     

    展开全文
  • oracle dg打开备库为读写数据库,慎重!

    千次阅读 2014-08-01 20:05:14
    --确保standby数据库置于flashback on 状态 --设置闪回恢复区 alter system set db_recovery_dest_size=2g; ...alter system set db_recovery_file_dest='+DATA';...alter database recover managed standby d
  • oracle DG 启动和关闭顺序

    千次阅读 2018-02-26 17:35:16
    启动顺序:先启动备库,后启动主库关闭顺序:先关闭主库,后关闭备库1、正确打开备库和主库备库:SQL&gt; STARTUP MOUNT;SQL&gt;ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;...
  • ORACLE连接MYSQL-使用DG4ODBC.

    千次阅读 2014-05-23 10:48:37
    最近做了一次Oracle连接到MySQL的实验,主要是通过DG4ODBC来连接的.以下是实验环境和实验步骤. Oracle服务器: IP:192.168.0.193 Database Version:11.2.0.1 ...1.首先要检查OracleDG4ODBC是32位还是64位. [o
  • oracle11g主备库切换

    千次阅读 2016-06-13 15:48:49
    前言:  众所周知DataGuard一般的切换分成两种,一种是系统正常的情况下的切换这种方式为:switchover是无损切换,不会丢失数据;另外一种方式属于灾难情况下的切换,这种情况下一般主库已经启动不起来了,为...
  • oracle物理dg安装:主库创建

    千次阅读 2016-04-26 22:18:43
    oracle用户执行dbca,如果是root用户登录图形图面,则su切换用户前需要先执行一下xhost +x,否则oracle不能启动图形界面程序,下一步 ​ 选择Create Database,下一步 选择General Purpose or Transaction ...
  • 一、Linux下查看本机安装的oracle的目环境变量,进入oracle用户,查看.bash_profile文件内容 二、虽然环境变量配置正确,但是sqlplus提示错误,解决办法 bash: sqlplus: command not found 解决方法  解决...
  • 有关DG的RFS进程不存在的解决办法

    千次阅读 2015-02-26 16:15:15
    起因是这样的:之前我们有一台不靠谱的某个数据库DG备机,老是隔一段时间网络就断掉,由于当时没做告警,总是隔个几天才有人检查日志时发现(值班人员不认真)。当时有时候备库重新启动归档日志应用 时,发现主机不...
  • 今天帮一朋友检查主库alter日志的时候,
  • Oracle 11gR2 DG部署(RMAN方式)

    千次阅读 2018-12-04 09:47:16
    Oracle DG部署(RMAN方式) Oracle DG部署(RMAN方式) 1.环境介绍 2.DG部署 2.1.建立主库orcl 2.2.主库开启归档 2.3.主库添加Standby Redo Log 2.4.从主库创建pfile文件 2.5.设置主库初始化参数 2.6.设置备库...
  • oracle 搭建dg步骤解析

    千次阅读 2018-09-10 15:46:33
    如果搭建dg 先安装主库database 并建库,同时建备库database 软件,不需要建库。 1 主库打开归档功能 启动到mount状态下,打开归档功能 alter database archivelog; SQL&gt; archive log list; ...
  • Oracle 11g R2 Grid常用操作

    千次阅读 2013-10-16 18:24:53
    Oracle 升级至11g R2之后,新增了Grid组件安装包,集成了强大的ASM、CRS等管理工具,操作使用与我们以往常用的版本有很大不同, 如Oracle数据文件使用ASM管理不再支持LVM中的裸设备,CRS集群管理软件增加资源管理等...
  • 解决方式:oracle用户下 1.执行sqlplus / as sysdba; 2.修改local_listener参数,sql> alter system set local_listener=''; 3,再重新注册服务,sql> alter system register; 4.sql>exit; 5.查看注册情况,$ ...
  • DG维护常用命令---oracle DG dataguard

    千次阅读 2018-11-10 16:42:33
    DG维护常用命令 10g alter日志位置 /opt/app/oracle/admin/moe/bdump /u01/app/oracle/product/10.2.0/db_1/rdbms/log 11g alter日志位置 cd /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert /u01/app/oracle/...
  • 由于某种原因(是由别人很久以前导出的,这个人你已经联系不到),只有exp导出的....[oracle@dg01] exp thomas/thomas owner=thomas file=1.dmp Export: Release 10.2.0.4.0 - Production on Thu Mar 26 18:29:32 200
  • dg主备库切换步骤

    千次阅读 2012-05-11 13:06:26
    先将主库切换成备库,然后将原主库启动到物理库的状态 SQL> select switchover_status from v$database; ...SWITCHOVER_STATUS ...SQL> Alter database commit to switchover to physical standby w
1 2 3 4 5 ... 20
收藏数 5,925
精华内容 2,370
关键字:

dg检查 oracle