如何计算高水位线

SQL> create or replace procedure p_unused_space(p_object_name in varchar2,
p_object_type in varchar2 default 'TABLE',
p_owner in varchar2 default user,
p_partition_name in varchar2 default '') is
v_total_blocks number;
v_total_bytes number;
v_unused_blocks number;
v_unused_bytes number;
v_last_used_extent_file_id number;
 v_last_used_extent_block_id number;
 v_last_used_block number;
 begin
 dbms_space.unused_space(upper(p_owner), upper(p_object_name), upper(p_object_type),
v_total_blocks,
 v_total_bytes, v_unused_blocks, v_unused_bytes, v_last_used_extent_file_id,
 v_last_used_extent_block_id, v_last_used_block, upper(p_partition_name));
 dbms_output.put_line('total_blocks is ' || v_total_blocks);
 dbms_output.put_line('total_bytes is ' || v_total_bytes);
 dbms_output.put_line('unused_blocks is ' || v_unused_blocks);
 dbms_output.put_line('unused_bytes is ' || v_unused_bytes);
 dbms_output.put_line('last_used_extent_file_id is ' || v_last_used_extent_file_id);
 dbms_output.put_line('last_used_extent_block_id is ' || v_last_used_extent_block_id);
 dbms_output.put_line('last_used_block is ' || v_last_used_block);
 end;
 /

SQL> set serveroutput on
SQL> exec p_unused_space('DEPT','TABLE','SCOTT');
total_blocks is 8
total_bytes is 65536
unused_blocks is 4
unused_bytes is 32768
last_used_extent_file_id is 20
last_used_extent_block_id is 9
last_used_block is 4

PL/SQL procedure successfully completed.



HWM= total_blocks -unused_blocks-1=8-4-1=3

SQL> alter system dump datafile 20 block 9;

System altered.


  HWM Flag: HWM Set
      Highwater::  0x0500000d  ext#: 0      blk#: 4      ext size: 8    
  #blocks in seg. hdr's freelists: 0    
  #blocks below: 4    
  mapblk  0x00000000  offset: 0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flink SQL中的水位线(Watermark)是一种时间概念,主要用于处理流式数据的事件时间窗口计算。在Apache Flink这样的实时流处理框架中,由于数据的不可预测性和乱序到达,传统的基于点时间(point in time)的处理可能会导致结果不准确。水位线的概念引入了事件的时间依赖性,用于解决这个问题。 简单来说,水位线定义了一个“事件发生应该被处理”的时间范围。对于每个事件,系统会有一个与其关联的水位线,表示该事件发生后允许的最大延迟时间。如果后续的事件晚于这个水位线,那么就认为这些事件已经被处理过了;反之,如果新的事件早于水位线,系统则需要重新考虑之前的状态和计算。 Flink SQL水位线设置涉及到两个关键参数: 1. **事件时间**(event time):这是相对于实际事件发生的绝对时间。 2. **滑动时间窗口**(sliding window):例如Tumbling Window或Sliding Window,用来定义事件何时进入和离开窗口。 - **事件时间戳**:每条消息都有其生成的时间戳,这是计算水位线的基础。 - **事件时间水印**:根据已接收的消息计算出来的未来可能到达的最新消息时间点。 - **处理时间水印**:基于消息实际到达时间计算水位线。 Flink提供了API来调整水位线策略,如EventTimeSessionWindows中的timeBeforeEvent、timeAfterEvent等方法,用于设定水位线的具体行为。通过合理的水位线配置,Flink能够保证即使在数据乱序的情况下,也能正确地处理事件时间窗口内的数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值