Oracle的这些BUG你要遇到,说明你是一个DBA老鸟...

作者:IT邦德
中国DBA联盟(ACDU)成员,10余年DBA工作经验,
Oracle、PostgreSQL ACE
CSDN博客专家及B站知名UP主,全网粉丝10万+
擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复,
安装迁移,性能优化、故障应急处理

文章目录

  • 前言
    • 1 创建本地数据文件bug
      • 1.1 现象
      • 1.2 隐患
      • 1.3 解决办法
    • 2.数据字典Bug
      • 2.1 现象
      • 2.2 隐患
      • 2.3 解决办法
    • 3.OGG的bug
      • 3.1 现象
      • 3.2 解决办法
    • 4.lag延迟
      • 4.1现象
      • 4.2 处理办法
    • 5.总结

前言

本文总结了一些Oracle隐藏的很深的的BUG分享给大家,一起来探讨

1 创建本地数据文件bug

1.1 现象

RAC集群创建表空间的时候,由于数据文件路径写错
竟然自动创建到了本地$ORACLE_HOME/dbs目录下
既然RAC一直强调ASM共享的理念,
那么核心的表空间是共享的
为什么能自动创建到本地呢?
这样就会造成另外一个实例无法访问

而此时我们通过过实例1 查询dba_data_files正常
sql rac1>select file_id,
tablespace_name,file_name,
status
from dba_data_files;
通过查询发现,新建的一个表空间建到了本地磁盘,

但是通过实例2去查询,发现错误,
select file_id,tablespace_name,
file_name,status
from dba_data_files;

ERROR at line 1:
ORA-01157: cannot identify/lock data file 34 - see DBWR trace file
ORA-01110: data file 34: '/u01/app/oracle/product/19.0.0/dbhome_1/dbs/ptho_ts.dbf

1.2 隐患

1.造成备份失败,因为RMAN备份前要做数据校验
同时会影响归档的删除,造成ASM磁盘撑爆
2.自动创建到本地后,业务正常写入数据,
发生故障转移,应用后大面积报错,同时也会撑爆本地磁盘

1.3 解决办法

offline数据文件恢复的方法
sql>alter database datafile 34 offline;
rman> backup as copy datafile 34 format ‘+data’;
rman> switch datafile 34 to copy;
sql>recover datafile 34;
sql>alter database datafile 34 online;

2.数据字典Bug

2.1 现象

最近一次故障,设置的数据文件自增长,监控一直没有报警,
结果应用瘫痪了,提示表空间不足,
结果查询dba_data_files里的bytes值大于maxbytes值?
根据以往的Oracle运维经验觉得这绝对是不可能的。
但是数据查出来的事实就是这样的

2.2 隐患

当一个datafile 手工resize到一个大于maxsize(maxbytes)的值之后,
DBA_DATA_FILES中bytes的值要比maxbytes的值要大
当该datafile被设置为autoextend on之后,
dba_data_files中的maxbytes 值被自动结算为一个非零值。
这样会造成监控的时候监控不到,导致down机

2.3 解决办法

–resiz到32G
SQL> alter database datafile ‘/oracle/test.dbf’ resize 34358689792;
–取消自动扩展
SQL> alter database datafile ‘/oracle/test.dbf’ autoextend off;
其实启动扩展会带来很多性能到问题,建议取消

3.OGG的bug

3.1 现象

我们知道OGG的配置文件非常的重要,
某套库配置的是OGG数据同步是采用的DML和DDL同步
最近业务频繁发生,主库在维护分区表的时候,
触发以下BUG,官方的说法是维护分区表执行了错误的命令,
但是主库发出的分区维护操作是正确的
类似这种主库命令操作错误导致OGG终端层出不群

OGG-00492 DDL error ignored: error code [DEFAULT],
filter [include all (default)],
error text [Error code [14075]
ORA-14075: partition maintenance operations
may only be performed on partitioned indices

3.2 解决办法

对应的报错设置过滤即可
DDLERROR 1234 ABENDD --结束报错
DDLERROR 5678 IGNORE --忽略报错

为了避免语法错误造成的OGG终止
在目的端的replicat进程参数文件中加入如下配置,
在启动进程,启动成功。
ddlerror default ignore retryop

4.lag延迟

4.1现象

关于Oracle GoldenGate 的 Lag at Chkpt和Time Since Chkpt的理解,
前提需要理解OGG的每个进程都有它自己的checkpoint file。
每当一个进程看到在事务的commit时,
检查点文件中就将产生一个检查点。
OGG的恢复进程总是以检查点作为起点。
而OGG是通过监控的checkpoint和Lag at Chkpt
和Time Since Chkpt这2个指标来衡量数据同步延迟时效的。
OGG复制一直正常同步,可是Lag at Chkpt为何有延迟呢

4.2 处理办法

官方的解释如下:
Time Since Checkpoint
指ogg的extract或replicat进程产生最近的一个检查点,
再从这个检查点到目前为止有多长时间没有更新了,
即最近一个检查点与当前系统时间的时间差。
该值可以通过info看到是在不断变化
(特别是当处理长会话时,会持续增长,直到处理完该长会话)。

Lag at Checkpoint
lag是复制进程处理最后一条记录的操作系统时间和此条记录在trail文件中记录的时间戳的差值,这里需要注意的是lag延迟只有在检查点更新时才会更新,
所以这个值不是实时更新的,
具有一定的离散性,
实际上应该理解成最后一个检查点的最后一条记录与当前系统时间的时间差。

OGG的lag指的是数据复制的延迟
–那么也就是长时间主库如果没有事物提交就会发生这种现象
解决的办法如下:
–前滚重新生成一个新的队列文件
alter extract xxx etrollover
–重置读取进程,重新从0号trial文件开始读取。
alter replicat rep1,extseqno 0,extrba 0 或者
alter rep1,begin now

5.总结

以上报错,仅个人的一点独特见解,希望大家一起讨论分享你们的认为的bug

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/853358.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

采用卷积神经网络分类MNIST数据集与基础知识

卷积神经网络 (CNN) 分类 MNIST 数据集的基础知识 1. MNIST 数据集简介 MNIST(Modified National Institute of Standards and Technology)数据集是一个手写数字的图像数据库,用于机器学习领域中的图像分类任务。它包含60,000张训练图像和10,000张测试图像,图像大小为28x…

WED前端做什么:深度剖析与实用指南

WED前端做什么:深度剖析与实用指南 在当今数字化浪潮中,前端开发已成为互联网领域不可或缺的一部分。WED前端作为其中的关键角色,肩负着构建优质用户体验的重任。那么,WED前端具体做什么呢?本文将从四个方面、五个方面…

39python数据分析numpy基础之h5py读写数组数据到h5文件

1 python数据分析numpy基础之h5py读写数组数据到h5文件 HDF5(分层数据格式文件)是Hierarchical Data Format Version 5的缩写,是一种用于存储和管理大数据的文件格式。经历了20多年的发展,HDF格式的最新版本是HDF5,它包含了数据模型&#xf…

【LVGL】Guider 界面分析

文章目录 前言架构创建 UI切换界面空间释放分析创建页面空间变化 前言 分析Gui Guider-1.7.2-GA 生成的 LVGL 界面切换,资源管理等处理 架构 所有控件存放于同一个结构体 lv_ui 内,每个页面都至少包含 screen_xxx 和 screen_xxx_del 两个成员 typede…

用HAL库改写江科大的stm32入门-7-1 ADC

实验目的:了解ADC基本概念 电路图: ADC(Analog-Digital Converter)模拟-数字转换器,它可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁。 实验效果: &#xff0…

【html】学会这一套布局,让你的网页更加

很多小伙伴们在刚刚开始学习网页设计的时候不知道怎么布局今天给大家介绍一种非常实用且更加专业的一种布局。 灵感来源: 小米官网 布局图; 实例效果图: 这是一个简单的HTML模板,包括头部、内容区域和底部。 头部部分包括一个分为左右两部分…

【代码随想录】【算法训练营】【第39天】 [62]不同路径 [63]不同路径II [343]整数拆分 [96]不同的二叉搜索树

前言 思路及算法思维,指路 代码随想录。 题目来自 LeetCode。 day 39,周六,坚持不住了~ 题目详情 [62] 不同路径 题目描述 62 不同路径 解题思路 前提:每次只能向下或者向右移动一步 思路:动态规划&#xff0…

部署LVS-DR群集...

目录 最后一台主机(第四台) 本地yum源安装httpd(非必做) 继续开始从最后一台主机开始(第四台) 转第二台主机 转第三台主机 回第二台 上传 转第三台主机 上传 回第二台 转第三台 转第一台主机…

Linux Kernel入门到精通系列讲解(RV-Kernel 篇) 5.5 RTC设备编写与实现

1. 概述 上一章节我们已经在QEMU中添加了RTC设备,本章节我们就把RTC设备给移植进入kernel中运行起来,我们移植的Google goldfish_rtc设备,此IP已经在Linux kernel有了Driver,所以我们直接移植设备树即可。 RTC时钟是用来记录当前系统时间的;对于Linux系统来说,时间是一…

Java 项目学习(初始化项目)

后端工程基于 maven 进行项目构建,并且进行分模块开发 参考:Spring或Spring Boot项目目录结构划分和代码分层 1、了解项目的整体结构 sky-take-out maven 父工程,统一管理依赖版本,聚合其他子模块 sky-common 子模块&#xff0c…

【背包题】oj题库

目录 1282 - 简单背包问题 1780 - 采灵芝 1888 - 多重背包&#xff08;1&#xff09;​编辑 1891 - 开心的金明 2073 - 码头的集装箱 1905 - 混合背包 1282 - 简单背包问题 #include <bits/stdc.h> using namespace std; //二维数组:dp[i][j]max(dp[i-1][j],v[i]dp[…

CSS动画(登录页面)

1.整体效果 https://mmbiz.qpic.cn/sz_mmbiz_gif/EGZdlrTDJa6Pfop3IiakrZOtiaiaKniaxeH2Gs407DmkXPsMo8AFKdsYibYcpZiboc24Ulic2CicmyvHmnwCrib7MDe6Jvg/640?wx_fmtgif&fromappmsg&tpwebp&wxfrom5&wx_lazy1&wx_co1 2.完整代码 HTML <!DOCTYPE html&g…

Oracle备份失败处理,看这一篇就够了!

作者&#xff1a;IT邦德 中国DBA联盟(ACDU)成员&#xff0c;10余年DBA工作经验&#xff0c; Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主&#xff0c;全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复&#xff0c; 安装迁移&#xff0c;性能优化、故障…

FLAN-T5模型的文本摘要任务

Text Summarization with FLAN-T5 — ROCm Blogs (amd.com) 在这篇博客中&#xff0c;我们展示了如何使用HuggingFace在AMD GPU ROCm系统上对语言模型FLAN-T5进行微调&#xff0c;以执行文本摘要任务。 介绍 FLAN-T5是谷歌发布的一个开源大型语言模型&#xff0c;相较于之前的…

第一页总结

第一页总结 链表反转206. 反转链表25. K 个一组翻转链表 双指针21. 合并两个有序链表141. 环形链表 链表 反转 206. 反转链表 206. 反转链表 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 递归思路&#xff1a; 每一个子递归都将当前…

什么是专业的CRM客户管理系统,介绍crm客户管理系统的功能作用

CRM&#xff08;Customer Relationship Management&#xff09;客户管理系统&#xff0c;是现代企业不可或缺的一款管理工具。它集客户信息管理、销售自动化、客户服务与支持、数据分析与决策支持等多项功能于一身&#xff0c;帮助企业实现客户关系的全方位管理&#xff0c;从而…

浏览器必备插件:最新Allow copy万能网页复制下载,解锁网页限制!

今天阿星给大家安利一个超级实用的小工具&#xff0c;专治那些“禁止复制”的网页文字。学生党、资料搜集狂人&#xff0c;你们有福了&#xff01; 想象一下&#xff0c;你在网上冲浪&#xff0c;突然遇到一篇干货满满的文章&#xff0c;正想复制下来慢慢品味&#xff0c;结果…

CubeMX Keil Configure

// 使用外部高速晶振 外部高速晶振为8M&#xff08;根据开发板上的晶振频率设置&#xff09;&#xff0c;使用 PLLCLK&#xff0c;HSE 选项 USART1 使用 Asynchronous&#xff0c;PA9&#xff0c;PA10引脚&#xff08;USART1 引脚根据开发板上引脚设置&#xff09; 设置MDK AR…

Docker Nginx

Docker官网 https://www.docker.com/https://www.docker.com/ 删除原先安装的Docker sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ …

android13 应用冷启动

1 概述 launcher 通过binder到systemserver中atms中发送startActivity请求 startProcess向zygote发送启动新进程请求 zygote收到请求&#xff0c;fork新进程并调用ActivityThread的main初始化 新进程启动&#xff0c;发送attachApplication给ams&#xff0c;告诉他新进程启动…