DG常见运维命令及常见问题解决方法

l> DG库启动、关闭标准操作

Dataguard关闭

1)、先取消日志应用

alter database recover managed standby database cancel;

2)、正常关闭DG库

Shutdown immediate;

Dataguard开启

1)、数据库先启动到nomount状态

startup nomount;

2)、然后数据库在启动到standby mount状态

alter database mount standby database;

3、最后开启日志应用

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

2> DG监听、TNS配置及说明

1、

监听、TNS配置路径

$ORACLE_HOME/network/admin

2、

监听配置

SID_LIST_oradb =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = oradb)

(ORACLE_HOME = $ORACLE_HOME)

(SID_NAME = oradb)

)

)

oradb =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = ip )(PORT = 1521))

)

3、

TNS配置

oradb_primary =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = primary_ip)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = oradb)

)

)

oradb_standby =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = standby_ip)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = oradb)

)

)

3> DG归档文件系统使用率100%解决办法

1、

查看归档目录

例如:/oradb/db_dg_arc/oradb

2、

查询归档目录使用情况

AIX      (df -g)

HPUX    (bdf)

Linux     (df -h)

3、

手动清理归档日志步骤

(1)、登陆数据库实例查询最新日志应用号

select PROCESS,STATUS,SEQUENCE#,BLOCKS from V$MANAGED_STANDBY;

用SEQUENCE#去和主库对 MRP0为日志应用进程 RFS为日志传输进程

PROCESS   STATUS        SEQUENCE#     BLOCKS

--------- ------------ ---------- ----------

ARCH      CLOSING          116489       1063

ARCH      CONNECTED             0          0

ARCH      CLOSING          116491        200

ARCH      CLOSING          116490       1642

MRP0      APPLYING_LOG     116492      4194304

(2)、查看是否部署了删除归档日志脚本,如果存在,手工执行脚本删除过期日志

(3)如果删除脚本不存在,首先手工删除部分应用过的日志,再部署自动删除归档日志脚本

4> DG GAP问题分析解决办法

1、

查询GAP

SQL> select PROCESS,STATUS,SEQUENCE#,BLOCKS from V$MANAGED_STANDBY;

PROCESS   STATUS        SEQUENCE#     BLOCKS

--------- ------------ ---------- ----------

ARCH      CLOSING          511899       1971

ARCH      CLOSING          511892        308

ARCH      CLOSING          511895       1399

ARCH      CLOSING          511887       1404

ARCH      CONNECTED             0          0

ARCH      CLOSING          511900       1591

MRP0      WAIT_FOR_GAP     511901          0

RFS       IDLE                  0          0

2、

GAP原因分析

(1)、归档空间满,日志无法传输

(2)、网络延迟导致日志传输速度慢

(3)、DG监听没有启动导致日志无法传输

(4)、DG本身日志缺失

(5)、DG库宕机故障

3、

常规GAP解决办法

DG备库GAP恢复操作过程:

1) 在主库查找所缺日志的备份片

select 'catalog device type '|| '''SBT_TAPE''' ||' backuppiece ''/'||HANDLE||''';' from

(select distinct a.HANDLE  from v$backup_piece_details a, v$backup_archivelog_details b

where set_count = id2 and b.thread#=1  and b.SEQUENCE# >缺失的sequence号 and b.SEQUENCE#

2)、在DG库上注册备份集

rman target /

configure CHANNEL device type 'SBT_TAPE' PARMS 'ENV=(NB_ORA_CLIENT=主机名)';

catalog device type 'SBT_TAPE' backuppiece '/al_XXXXXXXXXXXXXXXXX';

3)、注册完了 第一个配置的参数清除下

CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' CLEAR;

使用oracle用户rman target /

RMAN>catalog start with '归档路径';

3)检查日志是否开始应用

l

DG库ORA-01111错误处理

1、

问题描述:主库添加数据文件,DG库同步时发现无法同步添加导致报错

2、

问题原因:

1)

DG库standby_file_management参数没有设置为auto

2)

DG库对应文件系统剩余空间不足以添加数据文件

3、解决办法:

如果主备文件系统剩余空间不一致,先清理目标目录的历史文件(如归档日志、dmp包等)

alter system set standby_file_management=manual;

alter database create datafile '/u01/oracle/product/db11gr2/dbs/UNNAMED00070' as '/oradb/datafile/oradb/oradb.dbf';

alter system set standby_file_management=auto;

打开应用:

alter database recover managed standby database  parallel  4 disconnect from session;

5> DG库上归档出现ORA-03113错误

SQL> select dest_name,status,error from v$archive_dest;

DEST_NAME                     STATUS                        ERROR

------------------------------ --------------------------------------

LOG_ARCHIVE_DEST_1           VALID

LOG_ARCHIVE_DEST_2      ERROR          ORA-03113: end-of-file on   communication channel

解决办法:在主库执行

SQL> alter system set log_archive_dest_state_2= enable;

这个命令式手动触发主库区尝试连接备库。

其实这种情况下,只要保证主备库之间的网络和配置是正确的。dataguard会自动恢复这个错误。这个周期默认是300秒,

也可以在log_archive_dest_1的参数中添加reopen参数指定这个主备库之间失败后继续尝试的周期

2、

ORA-01031: insufficient privileges错误

SQL> select dest_name,status,error from v$archive_dest;

DEST_NAME                     STATUS                        ERROR

---------------------- -----------------------------------------------

LOG_ARCHIVE_DEST_1            VALID

LOG_ARCHIVE_DEST_2            ERROR             ORA-01031: insufficient Privileges

解决办法:统一主备库的数据库密码文件,或者重建密码文件,sys密码设置成一样。

然后在主库执行

SQL> alter system set log_archive_dest_state_2= enable;

3、

ORA-16191: Primary log shipping client not logged on standby

SQL> select dest_name,status,error from v$archive_dest;

DEST_NAME                     STATUS                        ERROR

------------------------------ -----------

LOG_ARCHIVE_DEST_1            VALID

LOG_ARCHIVE_DEST_2           ERROR                    ORA-16191: Primary log   shipping client not logged on standby

解决办法:统一主备库的数据库密码文件,或者重建密码文件,sys密码设置成一样。

然后在主库执行

SQL> alter system set log_archive_dest_state_1= enable;

注意事项

建议在主备库的涉及到名称地方都统一用小写字母,避免在配置过程出现莫名的错误。

如果在主库执行alter database clear unarchived logfile或alter database open resetlogs,则dataguard要重建。

在连续恢复模式下工作之前,需要保证之前所有的归档日志己经应用到备用库上。因为在连续恢复模式的情况下,oracle不会应用之前的归档日志,而只会应用后面陆续到来的归档日志。

新建表、表空间、datafile都能通过日志应用到备库,但新建一个临时表空间和rename datafile均不能应用到备库上。

出现归档日志gap时,需要找出相应的归档日志,然后将这些归档日志copy到备用节点的log_archive_dest目录下面。然后ALTER DATABASE RECOVER AUTOMATIC STANDBY DATABASE;

应当实时察看standby库的alert文件,就能清晰明了地知道主备更新的情况。这也是排错的重要方法。

oracle dg 数据不一致,DG常用运维命令及常见问题解决相关推荐

  1. 【分享】Oracle 常用运维命令大全

    教材下载 ORACLE OCP 19C 官方电子教材 ORACLE OCP 12C官方电子教材 课程介绍 DBA数据库管理必备认证:ORACLE OCP 19C Oracle 常用运维命令大全 一.o ...

  2. Redis 常用运维命令

    题外话 如需转载文章,请保留文章出处(knight.blog.csdn.net).因为我的很多文章一般是会进行更新的.也避免百度搜出来一大推相似的文章,却找不到原创博主. 常用命令的官网参考 ## h ...

  3. 【每日一小时】常用运维命令

    常用运维命令 1:jps jps:列出所有正在运行的java进程,其中jps命令也是一个java程序,前面的数字就是对应的进程id jps -l:输出应用程序main.class的完整package名 ...

  4. Oracle常用运维命令整理

    一.oracle建库与删库命令 (1)oracle11g 建库(一般习惯配置gdbname与sid名一样,sys密码与system密码一样,以方便记忆) [oracledb@ ~]$ dbca -si ...

  5. Oracle 常用运维命令整理

    一.oracle建库与删库命令 (1)oracle11g建库(一般习惯配置gdbname与sid名一样,sys密码与system密码一样,以方便记忆) [oracledb@ ~]$ dbca -sil ...

  6. oracle@命令_Oracle 常用运维命令整理

    一.oracle建库与删库命令 (1)oracle11g建库(一般习惯配置gdbname与sid名一样,sys密码与system密码一样,以方便记忆) [oracledb@ ~]$ dbca -sil ...

  7. oracle 查看表被谁删了_【分享】Oracle 常用运维命令大全

    一.oracle建库与删库命令 (1)oracle11g建库(一般习惯配置gdbname与sid名一样,sys密码与system密码一样,以方便记忆) [oracledb@ ~]$ dbca -sil ...

  8. linux常用运维命令【转】

    自己的小网站跑在阿里云的ECS上面,偶尔也去分析分析自己网站服务器日志,看看网站的访问量.看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试! 1.查看有多少个IP访问: [pl ...

  9. openstack常用运维命令_运维人员常用的Linux命令汇总

    作为运维人员,这些常用命令不得不会,掌握这些命令,工作上会事半功倍,提供工作效率. 一.文件和目录 cd命令,用于切换当前目录,它的参数是要切换到的目录的路径,可以是绝对路径,也可以是相对路径. cd ...

最新文章

  1. 吐血整理:24种可视化图表优缺点对比,一图看懂!
  2. 1、solr包结构介绍,solrCore的安装配置,solr部署到Tomcat,多solrCore配置,配置中文分词器,界面功能介绍,Schema.xml的基本使用,数据导入
  3. HTML,JS禁止鼠标右键、禁止全选、复制、粘贴的方法
  4. 工作278:控制数据从字典表获取
  5. arcgis中字段计算器利用python比较大小
  6. 打车业务下单高并发解决方案
  7. 3.2. @RestController
  8. 【软件工程】 期末考试 重点复习
  9. 这本书非常值得一读!《微习惯》读后感
  10. 什么叫51单片机最小系统
  11. 【洛谷】P5960 【模板】差分约束算法
  12. 应用之星:H5制作又出一利器,分分钟刷爆朋友圈
  13. activity串行多实例审批
  14. ping命令TTL的意思
  15. Rational Rose 画时序图 且保存为图片文件
  16. 玩转PYthon,用Python绘制全球疫情变化地图(好东西,值得一看~~~)
  17. 爬虫框架Scrapy(西瓜皮)
  18. 【从0到1搭建LoRa物联网】1、LoRa物联网的架构
  19. Switch和for循环的区别与联系
  20. XML-DTD解析(转载的)

热门文章

  1. Android——网络交互,如何调用接口并且json解析json格式和pull解析xml格式
  2. 【mac】查找字体路径
  3. 第十三届蓝桥杯全国软件和信息技术专业人才大赛(web应用开发)
  4. 关于运维,新华三的经验谈
  5. OpenJudge百炼-2966-时区转换-C语言-日期处理
  6. C++ primer 函数(1)
  7. CentOS6.4安装Python3.6.5,以及出现问题modules were not found:_ssl
  8. 2021广东高考成绩分数查询电话,广东电话查高考成绩 2017年广东高考成绩查询(查分电话:96040)-电话号码查询...
  9. 1.Excel查询重复数据
  10. Linux系统编程之文件IO