• show_space1


    CREATE OR REPLACE PROCEDURE show_space1(p_segname IN VARCHAR2,
    p_owner IN VARCHAR2 DEFAULT 'NTSUSER0',
    p_type IN VARCHAR2 DEFAULT 'TABLE',
    p_partition IN VARCHAR2 DEFAULT NULL)
    authid current_user
    AS
    l_free_blks NUMBER;
    l_total_blocks NUMBER;
    l_total_bytes NUMBER;
    l_unused_blocks NUMBER;
    l_unused_bytes NUMBER;
    l_lastusedextfileid NUMBER;
    l_lastusedextblockid NUMBER;
    l_last_used_block NUMBER;
    l_segment_space_mgmt VARCHAR2(255);
    l_unformatted_blocks NUMBER;
    l_unformatted_bytes NUMBER;
    l_fs1_blocks NUMBER;
    l_fs1_bytes NUMBER;
    l_fs2_blocks NUMBER;
    l_fs2_bytes NUMBER;
    l_fs3_blocks NUMBER;
    l_fs3_bytes NUMBER;
    l_fs4_blocks NUMBER;
    l_fs4_bytes NUMBER;
    l_full_blocks NUMBER;
    l_full_bytes NUMBER;

    PROCEDURE p(p_label IN VARCHAR2,
    p_num IN NUMBER) IS
    BEGIN
    dbms_output.put_line(rpad(p_label, 40, '.') ||
    to_char(p_num, '999,999,999,999'));
    END;
    BEGIN
    EXECUTE IMMEDIATE 'select ts.segment_space_management from dba_segments seg,dba_tablespaces ts where seg.segment_name = :p_segname and (:p_partition is null or seg.partition_name = :p_partition) and seg.owner = :p_owner and seg.tablespace_name=ts.tablespace_name'
    INTO l_segment_space_mgmt
    USING p_segname, p_partition, p_partition, p_owner;

    -- exception
    -- when too_many_rows
    -- then
    -- dbms_output.put_line('This must be a partitioned table,use p_partition => ');
    -- return;
    -- end;

    IF l_segment_space_mgmt = 'AUTO' THEN
    dbms_space.space_usage(p_owner, p_segname, p_type, l_unformatted_blocks,
    l_unformatted_bytes, l_fs1_blocks, l_fs1_bytes,
    l_fs2_blocks, l_fs2_bytes, l_fs3_blocks, l_fs3_bytes,
    l_fs4_blocks, l_fs4_bytes, l_full_blocks,
    l_full_bytes, p_partition);

    p('Unformatted Blocks ', l_unformatted_blocks);
    p('FS1 Blocks (0-25) ', l_fs1_blocks);
    p('FS2 Blocks (25-50) ', l_fs2_blocks);
    p('FS3 Blocks (50-75) ', l_fs3_blocks);
    p('FS4 Blocks (75-100) ', l_fs4_blocks);
    p('Full Blocks ', l_full_blocks);
    ELSE
    dbms_space.free_blocks(segment_owner => p_owner, segment_name => p_segname,
    segment_type => p_type, freelist_group_id => 0,
    free_blks => l_free_blks);
    END IF;

    dbms_space.unused_space(segment_owner => p_owner, segment_name => p_segname,
    segment_type => p_type, partition_name => p_partition,
    total_blocks => l_total_blocks,
    total_bytes => l_total_bytes,
    unused_blocks => l_unused_blocks,
    unused_bytes => l_unused_bytes,
    last_used_extent_file_id => l_lastusedextfileid,
    last_used_extent_block_id => l_lastusedextblockid,
    last_used_block => l_last_used_block);

    p('Total Blocks ', l_total_blocks);
    p('Total Bytes ', l_total_bytes);
    p('Total MBytes ', trunc(l_total_bytes / 1024 / 1024));
    p('Unused Blocks', l_unused_blocks);
    p('Unused Bytes ', l_unused_bytes);
    p('Last Used Ext FileId', l_lastusedextfileid);
    p('Last Used Ext BlockId', l_lastusedextblockid);
    p('Last Used Block', l_last_used_block);
    END;

  • 相关阅读:
    如何分析redis中的慢查询
    redis订阅关闭异常解决
    异常解决:Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
    linux下postgres的安装
    springboot tomcat配置参数列表
    如何把web.xml中的context-param、Servlet、Listener和Filter定义添加到SpringBoot中
    electron-builder 由于网络原因无法下载问题解决
    Handshake failed due to invalid Upgrade header: null 解决方案
    Linux-006-执行Shell脚本报错 $' ':command not found
    VUE-013-为elementUI 设置 tootip 宽度
  • 原文地址:https://www.cnblogs.com/gates/p/8573910.html
Copyright © 2020-2023  润新知