`
guoyanxi
  • 浏览: 277473 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

show_space输出

阅读更多
    关于show_space的代码网上很多,大家也改了很多,本门末尾贴上itpub过来的“超级完全无敌”版

    但是关于数据结果缺不是很多总结,这里记录一下:

如:
EXEC Show_Space('WMS_BA_MQ_RECEIVE_ERP','auto','T','Y');
Total Blocks............................372992
Total Bytes.............................3055550464
Unused Blocks...........................0
Unused Bytes............................0
Last Used Ext FileId....................14
Last Used Ext BlockId...................949257
Last Used Block.........................128
 *************************************************
The segment is analyzed
0% -- 25% free space blocks.............2
0% -- 25% free space bytes..............16384
25% -- 50% free space blocks............0
25% -- 50% free space bytes.............0
50% -- 75% free space blocks............1
50% -- 75% free space bytes.............8192
75% -- 100% free space blocks...........267556
75% -- 100% free space bytes............2191818752
Unused Blocks...........................0
Unused Bytes............................0
Total Blocks............................104582
Total bytes.............................856735744
PL/SQL procedure successfully completed.
Elapsed: 00:00:03:48


Last Used Ext FileId:最后使用的文件的文件ID,该文件包含最后一个含数据的区段(extent)
Last Used Ext BlockId:最后一个区段开始处的块ID;这是最后使用的文件中的块ID
Last Used Block:最后一个区段中最后一个块的偏移量

x% free space blocks:空闲度为x%的块数
Unused Blocks:未用的块数——就是shrink能够释放的空间

    运行方法:在segment owner下create procedure,然后
EXEC Show_Space('WMS_BA_MQ_RECEIVE_ERP','auto','T','Y');


源码:
CREATE OR REPLACE PROCEDURE Show_Space
( p_segname_1 IN VARCHAR2,
p_space IN VARCHAR2 DEFAULT 'MANUAL',
p_type_1 IN VARCHAR2 DEFAULT 'TABLE' ,
p_analyzed IN VARCHAR2 DEFAULT 'N',
p_owner_1 IN VARCHAR2 DEFAULT USER)
AS
p_segname VARCHAR2(100);
p_type VARCHAR2(10);
p_owner VARCHAR2(30);

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;

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;

PROCEDURE p( p_label IN VARCHAR2, p_num IN NUMBER )
IS
BEGIN
DBMS_OUTPUT.PUT_LINE( RPAD(p_label,40,'.') ||
p_num );
END;
BEGIN
p_segname := UPPER(p_segname_1); -- rainy changed
p_owner := UPPER(p_owner_1);
p_type := p_type_1;

IF (p_type_1 = 'i' OR p_type_1 = 'I') THEN --rainy changed
p_type := 'INDEX';
END IF;

IF (p_type_1 = 't' OR p_type_1 = 'T') THEN --rainy changed
p_type := 'TABLE';
END IF;

IF (p_type_1 = 'c' OR p_type_1 = 'C') THEN --rainy changed
p_type := 'CLUSTER';
END IF;


dbms_space.unused_space
( segment_owner => p_owner,
segment_name => p_segname,
segment_type => p_type,
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 );

IF p_space = 'MANUAL' OR (p_space <> 'auto' AND p_space <> 'AUTO') THEN
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 );

p( 'Free Blocks', l_free_blks );
END IF;

p( 'Total Blocks', l_total_blocks );
p( 'Total Bytes', l_total_bytes );
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 );


/*IF the segment is analyzed */
IF p_analyzed = 'Y' THEN
dbms_space.space_usage(segment_owner => p_owner ,
segment_name => p_segname ,
segment_type => p_type ,
unformatted_blocks => l_unformatted_blocks ,
unformatted_bytes => l_unformatted_bytes,
fs1_blocks => l_fs1_blocks,
fs1_bytes => l_fs1_bytes ,
fs2_blocks => l_fs2_blocks,
fs2_bytes => l_fs2_bytes,
fs3_blocks => l_fs3_blocks ,
fs3_bytes => l_fs3_bytes,
fs4_blocks => l_fs4_blocks,
fs4_bytes => l_fs4_bytes,
full_blocks => l_full_blocks,
full_bytes => l_full_bytes);
DBMS_OUTPUT.PUT_LINE(RPAD(' ',50,'*'));
DBMS_OUTPUT.PUT_LINE('The segment is analyzed');
p( '0% -- 25% free space blocks', l_fs1_blocks);
p( '0% -- 25% free space bytes', l_fs1_bytes);
p( '25% -- 50% free space blocks', l_fs2_blocks);
p( '25% -- 50% free space bytes', l_fs2_bytes);
p( '50% -- 75% free space blocks', l_fs3_blocks);
p( '50% -- 75% free space bytes', l_fs3_bytes);
p( '75% -- 100% free space blocks', l_fs4_blocks);
p( '75% -- 100% free space bytes', l_fs4_bytes);
p( 'Unused Blocks', l_unformatted_blocks );
p( 'Unused Bytes', l_unformatted_bytes );
p( 'Total Blocks', l_full_blocks);
p( 'Total bytes', l_full_bytes);

END IF;

END;
/














分享到:
评论

相关推荐

    show_repo

    存储过程可以有输入和输出参数,而函数通常返回一个值。 10. **数据库设计**: 可能会涉及关系数据库模型,如ER模型,以及如何通过创建表和定义约束来实现这些模型。 由于“压缩包子文件的文件名称列表”中只有一个...

    PHP常用函数大全

    **语法:** `strip_whitespace ( string $filename ) : string` **参数:** `$filename` 是要处理的文件名。 **返回值:** 返回已删除空白字符和 PHP 注释的字符串。 **示例:** 删除文件 `example.php` 中的所有空白...

    PHP5函数小全(分享)

    - `show_source()`: 对文件进行语法高亮显示。 - `strip_whitespace()`: 返回已删除PHP注释以及空白字符的源代码文件。 - `highlight_string()`: 对字符串进行语法高亮显示。 - `highlight_file()`: 对文件进行...

    Linux_oracle命令大全

    **示例输出:** ```plaintext NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ java_max_sessions space_size integer 0 java_soft_sessions space_limit ...

    PHP函数大全

    `strip_whitespace()`函数移除字符串中的空白字符。这对于清理输入数据和标准化文本非常有用。 #### 9. pack() `pack()`函数用于将数据打包成二进制字符串,与`unpack()`相对。这在需要发送或存储二进制数据时非常...

    常用PHP函数小全

    这与 `show_source()` 类似,但同时提供了语法高亮功能,使得源代码更易于阅读。 #### get_browser() `get_browser()` 函数获取客户端浏览器的信息。这包括浏览器类型、版本等信息。对于需要根据浏览器类型进行...

    data_block物理结构的认识

    - 执行 `exec show_space('test')` 命令来获取表 `test` 占用的空间信息,包括总块数、总字节数、未使用块数和未使用字节数等。 - 输出显示该表占用 8 个块,共计 65536 字节,目前没有未使用的空间。 3. **Dump ...

    oracle 数据库性能健康检查脚本.docx

    - `show parameter cpu_count`和`show parameter block_size`显示CPU核心数和数据库块大小,这两个参数影响数据库的性能。 2. **检查数据文件信息**: - `dba_temp_files`、`dba_data_files`和`v$datafile`用于...

    整理非常全的PHP常用函数大全.pdf

    7. `show_source()`:高亮显示指定文件的源代码,方便调试和学习。 8. `strip_whitespace()`:返回删除了PHP注释和空白字符后的源代码,有助于压缩和优化代码。 9. `pack()`:相反于`unpack()`,它将数据打包成二...

    常用php函数大全[总结].pdf

    - `exit()` 和 `die()`:输出信息并停止脚本执行,两者基本等效。 - `ignore_user_abort()`:设置用户断开连接是否会影响脚本执行。 - `connection_status()`:检查当前连接状态。 - `connection_aborted()`:...

    supesite 二次开发手册

    &gt;` 输出常量 S_VER 中的内容,S_VER 中的内容当然为 SupeSite 的版本号。 3. `{template bbs_header}` 是模板文件的开始标签,表示模板文件的开始。 本手册涵盖了 SupeSite 模板开发的所有方面,包括模板路径、模板...

    13.WordCloud词云配置过程及词频分析1

    # 输出出现频率最高的几个词 for word, freq in counter.most_common(10): print(f'{word}: {freq}') ``` 词云图与词频分析结合,能有效揭示文本数据的主要主题,这对于新闻分析、社交媒体监控等场景尤为有用。...

    php 常用函数集合

    6. `show_source()`、`strip_whitespace()`、`highlight_string()` 和 `highlight_file()`:这些函数用于查看和处理PHP源代码,其中`highlight_string()`和`highlight_file()`可以对代码进行语法高亮显示,方便调试...

    sql server 2000教程

    `CAST` 的语法是 `CAST ( expression AS data_type )`,而 `CONVERT` 允许更多的选项,如指定输出格式,语法是 `CONVERT (data_type[(length)], expression [, style])`。 以上就是SQL Server 2000中的一些基本操作...

    oracle命令

    此命令用于查询当前系统日期和时间,并格式化输出为“年-月-日, 小时:分钟:秒”的形式。`sysdate`是Oracle中的一个伪列,表示系统当前的日期和时间。 #### 十、用户切换 **命令:** ```sql SQL&gt; copy from user1 ...

    MySQL主从配置完整步骤资料

    如果出现任何错误,可以在此输出中找到错误详情(`Last_Error`等字段)。 ### 总结 本文详细介绍了MySQL主从配置的具体步骤和命令,包括如何在主服务器上创建复制用户、编辑配置文件、设置读锁、获取binlog信息;...

    oracle常用SQL语句

    - **作用:** 获取当前日期和时间,并按照指定格式输出。 - **示例:** 使用`select to_char(sysdate, 'yyyy-mm-dd,hh24:mi:ss') from dual;`可以得到类似`2023-09-27,10:30:00`的结果。 以上是基于给定部分的内容...

    php常用函数

    7. `show_source()`: 对指定的文件进行语法高亮显示,有助于代码阅读和调试。 8. `strip_whitespace()`: 删除PHP源代码文件中的所有注释和空白字符,生成精简的代码。 9. `pack()`: 将各种数据类型打包成一个二...

    php函数大全 融智技术学苑.pdf

    16. **show_source函数**:类似于`highlight_file`,但不进行高亮处理,仅显示文件的源代码。 17. **sleep函数**和**usleep函数**:用于暂停脚本执行,前者以秒为单位,后者以微秒为单位。这对于控制脚本执行速度或...

    2021-2022计算机二级等级考试试题及答案No.19737.docx

    space(3)-space(2)的结果是5,因为space函数返回空格字符串,3个空格减去2个空格等于1个空格,1个空格的长度是1,所以结果是5。 6. 代码正确性:在提供的选项中,代码A f=(“1”“”,)是正确的,其他选项B、C、D都...

Global site tag (gtag.js) - Google Analytics