缩减oracle日志,[20180829]减少日志生成量.txt

[20180829]减少日志生成量.txt

--//最近一段时间优化一下生产数据库,主要是问题比我预计要严重,实际上exadata实在太快了,把许多问题都给掩盖了.

--//实际上这个问题很早就存在,我实在不想提,基于国内许多应用都可能存在类似问题,还是写一下.

SQL ordered by Executions

%CPU - CPU Time as a percentage of Elapsed Time

%IO - User I/O Time as a percentage of Elapsed Time

Total Executions: 13,385,158

Captured SQL account for 65.4% of Total

Executions  Rows Processed     Rows per Exec     Elapsed Time (s)     %CPU     %IO     SQL Id            SQL Module     SQL Text

....

140,257     139,411                     0.99                14.74     101.1      0     5f2atm993xz6w     PORTAL.EXE     update PD_PMXS SET PDBZ =:"SYS..."

140,256     140,256                     1.00                19.11     102        0     bs2qwd0crz5f3     PORTAL.EXE     update PD_DLB SET PDBZ =:"SYS_..."

--//一天不到1万人次就诊,修改PD_DLB表在1个小时内就14万次,注意看Rows per Exec,每次修改1条.很明显在做无效刷频.

--//我曾经跟一些开发讲过,在写代码时注意这些刷频语句.这些语句单条执行很快,但是执行很频繁,累积起来就很可怕.

--//甚至最终就是这样运行模式导致运行缓慢..

--//真心感到可悲的是,我们团队大部分比我熟悉表结构,PD_DLB(排队表)这个表当天处理完后要删除里面的记录的.

--//也就是最大记录量当天就诊人次,不大可能出现每小时14万次的修改,这么多人看awr报表,就没人注意到这么简单的问题吗?

5f2atm993xz6w

update PD_PMXS SET PDBZ =:"SYS_B_0" , STATUS =:"SYS_B_1" WHERE RDID =:1

修改为

update PD_PMXS SET PDBZ =:"SYS_B_0" , STATUS =:"SYS_B_1" WHERE RDID =:1 and  PDBZ <> :"SYS_B_0" and STATUS <>:"SYS_B_1"

--//错误,应该修改如下:

修改为

update PD_PMXS SET PDBZ =:"SYS_B_0" , STATUS =:"SYS_B_1" WHERE RDID =:1 and  (PDBZ,STATUS) not in(( :"SYS_B_0" , :"SYS_B_1" );

bs2qwd0crz5f3

update PD_DLB SET PDBZ =:"SYS_B_0" WHERE RDID =:1

修改为

update PD_DLB SET PDBZ =:"SYS_B_0" WHERE RDID =:1 and  PDBZ <> :"SYS_B_0"

--//补充一下实际上不能这样1条1条改,猜测是打开brid的游标,然后循环修改相关记录.

--//这样执行效率很低,而是一气呵成,一次修改需要的记录.

--//不想使用logminer探查,随手找一个brid查询,使用as of查询方式.

SELECT ROWID x

,versions_starttime

,versions_endtime

,versions_xid

,versions_operation

,versions_startscn

,versions_endscn

,PD_DLB.PDBZ,pd_dlb.*

FROM PD_DLB VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE;

WHERE RDID =11327282

ORDER BY versions_endscn;

--//这样运行10分钟都没结果出来,只能改成查询10分钟之前的变化.

SELECT ROWID x

,versions_starttime

,versions_endtime

,versions_xid

,versions_operation

,versions_startscn

,versions_endscn

,PD_DLB.PDBZ,pd_dlb.*

FROM PD_DLB VERSIONS BETWEEN TIMESTAMP sysdate-15/1440 and sysdate

WHERE RDID =11327282

ORDER BY versions_endscn;

--//结果不贴出了.15分钟内查询到112条,基本在做无用功.可以看出15*60/112 = 8.035, 8秒有一次刷新.

SELECT ROWID x

,versions_starttime

,versions_endtime

,versions_xid

,versions_operation

,versions_startscn

,versions_endscn

,PD_PMXS.status,PDBZ,PD_PMXS.*

FROM PD_PMXS VERSIONS BETWEEN TIMESTAMP sysdate-15/1440 and sysdate

WHERE RDID =11327282

ORDER BY versions_endscn;

--//看到开发这样写代码,真心的很无语.这样问题已经存在多年,这么多人,无数的眼睛在看代码没人提出异议吗?可悲可叹..

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

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

相关文章

ACM中算法时间约束

ACM中算法时间约束 一般ACM竞赛C/C的时间限制是一秒&#xff0c;因此可以根据题目数据来推断该题所使用的算法。 算法的时间复杂度在 1 0 7 10^7 107左右合适&#xff0c;最多不能超过 1 0 8 10^8 108&#xff0c; O ( n ) O(n) O(n)的极限就在 1 0 8 10^8 108左右。 问题规…

MiniProfiler,一个.NET简单但有效的微型分析器

背景MVC MiniProfiler是Stack Overflow团队设计的一款对ASP.NET MVC的性能分析的小程序。可以对一个页面本身&#xff0c;及该页面通过直接引用、Ajax、Iframe形式访问的其它页面进行监控,监控内容包括数据库内容&#xff0c;并可以显示数据库访问的SQL&#xff08;支持EF、EF …

oracle类似isempty,NULLs和empty strings在不同数据库的中特点

1.以oracle为例SQL> create table test(id int primary key,content varchar(20));SQL> INSERT INTO test (id, content) VALUES (1, NULL);SQL> INSERT INTO test (id, content) VALUES (2, );SQL> INSERT INTO test (id, content) VALUES (3, );SQL> INSERT …

龙芯.NET正式发布 稳步推进生态建设

2020年12月19日&#xff0c;2020中国. NET开发者大会于苏州开幕。此次大会上&#xff0c;龙芯发布了龙芯.NET 3。龙芯.NET 3基于.NET Core 3.1&#xff0c;支持该版本具备的所有主要功能&#xff0c;包括GC、AOT等。CoreCLR、CoreFX、ASP.NET Core等库的测试通过情况与x64/arm6…

有温度的技术,改善上亿人的生活

06有温度的技术&#xff0c;改善上亿人的生活鱼小皮哥&#xff0c;现在的 APP 真是越来越难用了&#xff0c;功能多、操作复杂、广告更多。唉&#xff0c;可不是么&#xff0c;而且人们的生活已经离不开 APP 了&#xff01;老百鱼小皮我爷爷最近的视力下降的很快&#xff0c;用…

Linux链接文件包括,Linux操作系统——系统各目录有什么作用、以及文件链接过程...

三、 Linux 系统目录结构/bin — 用来贮存用户命令。目录 /usr/bin 也被用来贮存用户命令。/sbin — 许多系统命令(例如 shutdown)的贮存位置。目录 /usr/sbin 中也包括了许多系统命令。/root — 根用户(超级用户)的主目录。/mnt — 该目录中通常包括系统引导后被挂载的文件系统…

linux脚本传参修改配置文件,shell脚本修改配置文件指定行的值

配置文件内容为Version1ExpireTime300MaxProcessTime15MaxQueueSize2000MaxStatisticsTime1000000StatisticsCount10根据关键字MaxStatisticsTime获取行号,修改对应的value值change_file.sh#!/bin/bashfile_name"config.xml"key_value"MaxStatisticsTime"c…

刚转Java?那准备转回.NET5吧!

再过几天就2021年了&#xff0c;回首今年最大的变化就是.NET5的发布&#xff0c;终结了.NET Framework和.NET Core两个分支。虽然因为新冠疫情原因&#xff0c;原定于.NET5的部分功能被推迟到.NET6了&#xff0c;但.NET5是一个非常非常重要的版本&#xff0c;会载入史册的一个版…

azure linux 多磁盘 lvm,EVE-NG扩展磁盘空间(扩展LVM卷)

环境准备系统环境&#xff1a;EVE-PRO-VM-2.0.4-20前期是使用ova导入安装&#xff0c;精简置备&#xff0c;40G虚拟磁盘容量。空间不足&#xff0c;尝试了很久&#xff0c;记录操作记录如下&#xff1a;血泪教训&#xff1a;操作不当有可能引起数据丢失&#xff0c;需要提前备份…

在 xunit 测试项目中使用依赖注入

在 xunit 测试项目中使用依赖注入Intro之前写过几篇 xunit 依赖注入的文章&#xff0c;今天这篇文章将结合我在 .NET Conf 上的分享&#xff0c;更加系统的分享一下在测试中的应用案例。之所以想分享这个话题是因为我觉得在我们开发过程中测试是非常重要的一部分&#xff0c;高…

linux 端口qos,linux的qos机制 - cgroup篇 (2)

这篇重点讲述cgroup如何控制blkio子系统的qos&#xff0c;首先看下设置blkio.weight blkio.weight_device我的理解是blkio.weight是整个io子系统的权重值&#xff0c;而blkio.weight_device是针对特定的major:minor 设备的权重blkio.throttle.read_bps_device blkio.throttle.w…

利用 C# 中的 FileSystemWatcher 制作一个文件夹监控小工具

利用 C# 中的 FileSystemWatcher 制作一个文件夹监控小工具独立观察员 2020 年 12 月 26 日前一段看到微信公众号 “码农读书” 上发了一篇文章《如何使用 C# 中的 FileSystemWatcher》&#xff08;翻译自&#xff1a;https://www.infoworld.com/article/3185447/how-to-work-w…

u盘安全删除 linux,为什么要安全删除U盘

原标题&#xff1a;为什么要安全删除U盘移除闪存设备时会对电脑造成危害吗&#xff1f;我们为什么要安全的移除它们&#xff1f;历史上&#xff0c;操作系统将磁盘作为信任对象不需要突然改变状态。当读写文件时&#xff0c;操作系统不希望文件在读写的过程中突然消失。如果文件…

如何在 C# 中使用 投影(Projection)

投影(Projection) 是一种可以将查询结果进行 塑性 的一种操作&#xff0c;你可以使用 投影 将一个 object 转成仅包含你需要属性的新对象&#xff0c;这篇文章中&#xff0c;我们就一起看看如何使用 投影 功能。C# 中的投影 LINQ 集成查询中有两个支持投影的扩展方法&#xff0…

Linux vi 双屏显示,manjaro AwesomeWM 上使用双显示器

安装manjaro时使用独显的单显示器&#xff0c;在主板上接第二个显示器一直没反应。几个问题和解决BIOS里检查是否关闭了集显开关大多数显卡的默认设置都会在识别独显后关闭集显&#xff0c;要使用集显上的接口需要单独设置。如果接口允许&#xff0c;最好将两个显示器都接在独显…

asp.net core中使用cookie身份验证

背景ASP.NET Core Identity 是一个完整的全功能身份验证提供程序&#xff0c;用于创建和维护登录名。 但是&#xff0c; cookie 不能使用基于的身份验证提供程序 ASP.NET Core Identity 。配置在 Startup.ConfigureServices 方法中&#xff0c;创建具有 AddAuthentication 和 A…

Linux语言写的高通滤波,高通滤波器c语言实现

描述高通滤波器&#xff0c;又称低截止滤波器、低阻滤波器&#xff0c;允许高于某一截频的频率通过&#xff0c;而大大衰减较低频率的一种滤波器。它去掉了信号中不必要的低频成分或者说去掉了低频干扰。高通滤波器是一种让某一频率以上的信号分量通过&#xff0c;而对该频率以…

在 WSL Ubuntu 上使用 .NET 进行跨平台开发新手入门

翻译自 haydenb 2020年6月3日的文章《Getting started with cross-platform development using .NET on Ubuntu on WSL》 [1].NET 是一个开源软件框架&#xff0c;用于在 Linux、Windows 和 macOS 上构建跨平台应用程序。WSL 上的 Ubuntu [2]允许您同时为 Ubuntu 和 Windows 构…

linux 全双工 wifi热点,Linux中的同时套接字读/写(“全双工”)(特别是aio)

我正在移植构建在ACE Proactor框架之上的应用程序.该应用程序适用于VxWorks和Windows,但在使用librt的内核2.6.X.X的Linux(CentOS 5.5,WindRiver Linux 1.4和3.0)上无法运行.我把问题缩小到一个非常基本的问题&#xff1a;应用程序在套接字上开始异步(通过aio_read)读取操作,然…

明源云·天际,地产⾏业的Salesforce Lightning Platform

源宝导读&#xff1a;2020年11月6日&#xff0c;明源云在CIO峰会上正式对外发布了“天际开放平台”&#xff0c;这是明源云凝聚其20多年行业经验打造的一款企业级PaaS平台。本文将介绍我们对企业级PaaS平台的行业思考&#xff0c;以及为加速泛地产生态链数字化转型而做的技术创…