暂无图片
Oracle 查询某条SQL产生的日志大小
我来答
分享
Thomas
2023-02-20
Oracle 查询某条SQL产生的日志大小

如题。在PLSQL里写一段代码:先运行某DML并COMMIT,然后查询该DML产生的日志大小,能实现吗?

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

可以用下面的存储过程试试:

create or replace procedure do_sql(p_sql in varchar2)

as

    l_start_redo number;

    l_redo number;

begin

        l_atart_redo := get_stat_val( 'redo size' );

    execute immediate p_sql;

    commit;

    l_redo :=get_stat_val( 'redo size' ) - l_start_redo;

    dbms_output.put_line

    ( to_char(l_redo,'99,999,999') || ' bytes of redo generated for '' ' || 

        substr( replace( p_sal, char(10), ' '), 1, 25) || ' '' ... ' );

end;

/

暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片
Thomas

请教,get_stat_val的源码找不到啊。帮人帮到底,送佛送到西。呵呵

暂无图片 评论
暂无图片 有用 1
打赏 0
2023-02-21
创建函数get_stat_val create or replace function get_stat_val(p_name in varchar2) return number as l_val number; begin select b.value into l_val from v$statname a,v$mystat b where a.statistic# = b.statistic# and a.name = p_name; return l_val; end;
fxjian0829
create or replace function get_stat_val(p_name in varchar2) return number as l_val number begin select b.value into l_val from v$stat name a, v$my stat b where a.statistic# = b.statistic# and a.name=p_name; return l_val; end; / 摘自《Oracle编程艺术:深入理解数据库体系结构》第9章 redo与undo 希望能帮到你
暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
DG下归档日志的管理
回答 3
这个看你的DG是什么模式,如果是realtimeapply进行同步的话,备库的归档保留时间不受影响,因为日志是直接通过standbyredo就做了数据同步了,不会先经过归档解析。如果是非realtim
oracle数据库,varchar2(10)只能存储两个汉字?
回答 2
已采纳
我使用oracle的客户端工具sqldeveloper做了下测试:数据库字符集:ZHS16GBKselectfromnlsdatabaseparameters;建表:createtablelucife
oracle 数据库有很多报错: opiodr aborting process 是什么原因
回答 1
已采纳
opiodrabortingprocess信息仅仅是一个消息,它是Oracle11g里新添加的一个消息,用来记录进程的异常退出。该消息一般用来记录有权限的用户kill 的session信息。
Oracle数据库在服务器的警告日志alert.log中看到如下信息,是怎么回事?
回答 9
已采纳
如果警告日志出现了这样的信息,DBA必须格外当心。数据库试图重用一个在线重做日志文件,但是它发现做不到,此时它就会把这样的一条消息写到服务器上的alert.log中。那么数据库为什么不能重用在线重做日
oracle 监听里的 log.xml 和 listener.log有什么区别
回答 1
已采纳
自问自答Oracle监听器的listener.log文件和log.xml文件都记录了有关监听器操作的信息。listener.log文件是一个文本文件,其中包含有关监听器操作的时间戳和文本消息。log.
Oracle SQL变量
回答 3
如果是procedure,可用动态SQL如果是在应用程序里,那拼接这个很容易仅限SQL,做不到
Oracle 12c rac em怎么关闭呢?是agent
回答 1
已采纳
去agent安装bin目录下,./emctlstopagent
iostat如何判断是不是随机读呢?
回答 1
看随机读速度
Oracle:kettle阅览显示乱码?
回答 1
客户端字符集与数据库不匹配
Exadata调整scan IP
回答 1
已采纳
是一样的,您可以参考这篇文档(DocID952903.1)HowtoUpdatetheIPAddressoftheSCANVIPResources(ora.scan{n}.vip)(DocID9529