暂无图片
在生产库上面发现redolog一小时切换40次,想知道如何去定位导致切换的源头sql语句。各位大大求解惑
我来答
分享
hzdba
2019-09-26
在生产库上面发现redolog一小时切换40次,想知道如何去定位导致切换的源头sql语句。各位大大求解惑

通过awr里面的segments by db dblocks changge里面定位的objects对象去找到的sql都是selete语句,一般产生redo应该都是dml语句才对吧。。

我来答
添加附件
收藏
分享
问题补充
5条回答
默认
最新
章芋文

是dml,有可能没到awr的top sql中,可以在数据库中查查看。

暂无图片 评论
暂无图片 有用 0
打赏 0
hzdba

大大,如何在数据库中查询对应影响redolog切换的sql,是查询top dml sql吗?能否提供查询sql脚本😳 😳

暂无图片 评论
暂无图片 有用 0
打赏 0
Jack.Li

--1、redo、archivelog大量产生必然是由于大量产生"块改变"。从awr视图中找出"块改变"最多的segments

select * from (

SELECT to_char(begin_interval_time, 'YYYY_MM_DD HH24:MI') snap_time,

       dhsso.object_name,

       SUM(db_block_changes_delta)

  FROM dba_hist_seg_stat dhss,

       dba_hist_seg_stat_obj dhsso,

       dba_hist_snapshot dhs

 WHERE dhs.snap_id = dhss. snap_id

   AND dhs.instance_number = dhss. instance_number

   AND dhss.obj# = dhsso. obj#

   AND dhss.dataobj# = dhsso.dataobj#

   AND begin_interval_time> sysdate - 60/1440

 GROUP BY to_char(begin_interval_time, 'YYYY_MM_DD HH24:MI'),

          dhsso.object_name

 order by 3 desc)

 where rownum<=5;

 

--2、从awr视图中找出步骤1中排序靠前的对象涉及到的SQL

SELECT to_char(begin_interval_time, 'YYYY_MM_DD HH24:MI'),

       dbms_lob.substr(sql_text, 4000, 1),

       dhss.instance_number,

       dhss.sql_id,

       executions_delta,

       rows_processed_delta

  FROM dba_hist_sqlstat dhss, dba_hist_snapshot dhs, dba_hist_sqltext dhst

 WHERE UPPER(dhst.sql_text) LIKE '%这里写对象名大写%'

   AND dhss.snap_id = dhs.snap_id

   AND dhss.instance_Number = dhs.instance_number

   AND dhss.sql_id = dhst.sql_id;


暂无图片 评论
暂无图片 有用 0
打赏 0
Moone

如下SQL也可以参考:

select *

from (

select timestamp, table_name,inserts,updates,deletes

from dba_tab_modifications

where timestamp>sysdate-1 and (inserts+updates+deletes)>0

order by (inserts+updates+deletes) desc

)

where rownum<=10

/


暂无图片 评论
暂无图片 有用 0
打赏 0
hzdba

感谢各位大大,我去查查

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
手动建库之后,impdp导入有报错
回答 2
(1)查询dbmsdatapump状态SQL&gt;SELECTowner,objectname,objecttype,statusFROMdbaobjectsWHEREobjectnamelike'
表空间和pdb比较
回答 1
已采纳
主要看资源限制有没有要求?1、用户级别的熔断,当SQL代码无法按照规范执行,达到阈值,则数据库将所有用这个用户的连接全部中断。防止影响到其他用户。无需其他支持2、会话级别的熔断,当SQL代码无法按照规
oracle迁移到pg,一般是个啥过程?
回答 1
已采纳
Oracle迁移到PostgreSQL的过程一般包括以下步骤:评估现有的Oracle数据库,确定需要迁移的数据和应用程序。选择合适的迁移工具,例如Ora2Pg、AWSDatabaseMigration
Oracle 当where条件判断一个字段(比如delete_flg这个字段只会有两只值0和1),where条件写=1与!=0效率上有区别吗?
回答 4
建议只要能写成或in,&nbsp;就不要写成!.&nbsp;不管是否有索引
临时表空间组删除后能恢复吗?
回答 2
已采纳
临时表空间组删除后不能恢复,所以在执行删除操作时必须慎重。删除临时表空间组后,临时表空间组中的文件并没有删除,因此,如果要彻底删除临时表空间组,需要先把临时表空间组中的临时表空间移除。
Oracle10g怎么创建md5函数?
回答 1
https://blog.csdn.net/weixin29911569/article/details/116539523看看这个
oracle数据库从备份表向实表导入数据
回答 1
mergeintoatab1using(selectfromb)tab2ontab1.&lt;唯一约束&gt;tab2.&lt;唯一约束&gt;whennotmatchedtheninsert(tab
AWR分析报告问题求助:version_count超过500,存在严重的高版本问题,请确认SQL是否使用过多绑定变量或者遇到BUG
回答 7
开始不知道可以下载AWR,没看到SQL
请问oracle如何批量扩展通一个表空间?
回答 4
已采纳
改成这样就行:!/bin/bashsqlplus/assysdba&lt;&lt;EOFspoolctbs.logbeginforiin31..100loopexecuteimmediate'alte
请教下各位 oracle有没有从ZHS16GBK迁移单个schema到AL32UTF8比较好的方案 ?
回答 3
已采纳
数据量或者表小直接数据泵迁移,报字段超长再手动扩。数据量大一点用DatabaseMigrationAssistant工具数据清洗验证,对于跨字符集环境下数据字段的调整(这个非常好用哦)。