• 【Dataguard】DataGuard运维注意事项


    【Dataguard】DataGuard运维注意事项

    原创 Oracle 作者:xysoul_云龙 时间:2021-03-30 14:12:32  398  0
    DataGuard 主要目的 或者作用
    1、主备唯一名不能相同
     
    1
    2
    3
    db_name,db_unique_name,instance_name,service_name,区别和关系
    /u02/app/oracle/diag/rdbms/mydb/mydb/trace
    +DATA/mydb/datafile/users
    注意/ 影响:
    正常来说报错,或者无法同步, 山大二院案例 windows 单机 dg,搭建完成,启动recover不报错,但无法实时同步。
    2、OMF 对dg的影响
     
    1
    2
    db_create_file_dest
    db_file_name_convert/log_file_name_convert
    影响: 主备切换,增量恢复
    使用omf后,备端生成的名字类似如下:
    +DATA/mydb/datafile/t2019.259.1018457031
    +DATA/mydb/datafile/mytest.270.1025380271
    当使用增量恢复时,我们需要恢复控制文件,怎么确定数据文件位置?
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    --备端旧控制文件数据文件位置
    set lines 2000
    set pages 999
    col name for a70
    select 'alter database rename file '||f.file#||' to '''||f.name||''';' from v$datafile f  order by f.file#;
    --or
    select f.file#,f.name from v$datafile f  order by f.file#;
    --备端旧控制文件临时数据文件位置
    set lines 2000
    set pages 999
    col name for a70
    select 'alter database rename file '||f.file#||' to '''||f.name||''';' from v$tempfile f order by f.file#;
    --or
    select f.file#,f.name from v$tempfile f  order by f.file#;
    --备端新控制文件数据文件位置
    set lines 2000
    set pages 999
    col name for a70
    select 'alter database rename file '''||f.name||''' to '''||f.file#||''';' from v$datafile f  order by f.file#;
    --备端新控制文件临时数据文件位置
    set lines 2000
    set pages 999
    col name for a70
    select 'alter database rename file '''||f.name||''' to '''||f.file#||''';' from v$tempfile f order by f.file#;
    注意事项:
    1、尽量备份备端原有控制文件,以备后查
    2、将数据文件、日志文件、临时文件等做好查询记录,更好用于恢复(建议恢复控制文件后对比)
    如果没备份,恢复时突然发现不对怎么办?  例如,system表空间就一个数据文件,备端却3个……
    3、主备端数据文件不一致
    问题:客户在主库添加数据文件后,造成dg中断
    Warning: Datafile 88 (+DATA/plt136/datafile/bappr02.dbf) is offline during full database recovery
    and will not be recovered
    Waiting for all non-current ORLs to be archived...
    All non-current ORLs have been archived.
    Media Recovery Log +FLA/plt136/archivelog/2019_12_30/thread_2_seq_168948.6376.1028413411
    Media Recovery Log +FLA/plt136/archivelog/2019_12_30/thread_1_seq_324738.9642.1028413409
    Errors in file /u01/app/oracle/diag/rdbms/plt136/plt1361/trace/plt1361_pr00_11732.trc (incident=08516):
    ORA-00600: internal error code, arguments: [3689], [88], [], [], [], [], [], [], [], [], [], Incident details in: /u01/app/oracle/diag/rdbms/plt136/plt1361/incident/incdir_208516/plt1361__11732_i208516.trc
    Completed: alter database recover managed standby database using current logfile disconnect ession
    主备端都查,发现两个问题, 主备端88号数据文件创建时间不同,表空间也不一样
    --检查文件信息
    1
    2
    select d.file#,t.name,d.name,d.creation_time from v$datafile d,v$tablespace t 
    where d.ts#=t.ts# and d.file#=88;
    问题比较明朗:客户在主库增加数据文件时,数据文件编号为88号,但备端早已经有了88号数据文件,造成dg中断,报错。
    Thu Oct 03 22:39:24 2019
    alter tablespace bappr drop datafile 88
    Deleted file /u02/app/oracle/product/11.2.0/db_home/dbs/gcltsysdata01_3.ora
    Completed: alter tablespace bappr drop datafile 88

    怎么处理……

    1)、检查88号文件是怎么来的,主备端都检查, 主库因建错表空间位置,drop 表空间了,备库没有drop,是alter database create datafile 88 as ‘’;
    2)、必须删除备端88文件,与主库保持一致,现在88文件已有数据,删除会丢失,怎么恢复
    处理过程:
    1、删除备端88号文件  --要知道,删除的88号文件,其实就是所属表空间(例如 B表空间)数据丢失
    2、主端备份 B表空间数据,还有控制文件,恢复至dg备端(88号文件在备端已经没有了)
    3、主端需要备份88号数据文件等后续产生的数据文件,恢复至备端
    4、备端开启recover进程
     
      为什么还有恢复控制文件?
    因主备数据文件所属表空间不一致,控制文件记录的信息不一样,需要根主端一直
    注意事项:
    1、不管是删除还是增加数据文件,保持一致
    2、处理前后检查、做好记录
    4、standby log日志
    建议主备都建好,为了方便,在做备份恢复前,主库建好。
    注意事项: 主端未建,如有问题切换时,会多一个步骤,影响业务恢复时间
    5、备端归档目录满
    归档日志传输中断,如果不能清理归档日志怎么办?
    • 更换目录或者文件夹
    • 暂时停止归档日志传输,也需要预估好主端能存放多久归档
    • 如备端性能差,追太慢呢? 建议增量恢复
    • 需要注意,造成归档日志满,备端归档目录最后一个或几个日志,可能已损坏,注意观察
    6、主备硬件尽量性能相同
    主要面对业务突然增加,如果备端性能较差,应用速度受限,造成数据同步延迟
    7、如何分析DG备端性能
    AWR 能否使用? ash呢?  --awr是同步主端数据,ash是当前数据
    执行计划呢,如何跟主库对比 --因为备端是只读环境,可以通过跟踪,10046等方式查询
  • 相关阅读:
    vue-vue-cli3配置文件的查看和修改
    vue-vue-cli3初始化项目
    vue-vue构建版本runtime-compiler和runtime-only的区别
    vue-vue构建版本runtime-compiler和runtime-only的区别
    vue-vue-cli2目录结构介绍
    Redis设计与实现(十一)事件
    Redis设计与实现(十)AOF持久化
    Redis设计与实现(九)RDB持久化
    Redis设计与实现(八)数据库
    Redis设计与实现(七)对象
  • 原文地址:https://www.cnblogs.com/yaoyangding/p/14609482.html
Copyright © 2020-2023  润新知