ITPub博客

首页 > 数据库 > Oracle > dbms_space(分析段增长和空间的需求)

dbms_space(分析段增长和空间的需求)

Oracle 作者:不一样的天空w 时间:2018-12-05 16:09:01 0 删除 编辑

https://www.cnblogs.com/champaign/p/9468768.html


Oracle 常用系统包

一、DBMS_OUTPUT(用于输入和输出信息)

二、DBMS_JOB(用于安排和管理作业队列)

三、dbms_pipe(类似UNIX系统的管道)

四、dbms_alert(用于生成并传递数据库预警信息)

五.dbms_transaction(用于在过程,函数,和包中执行SQL事务处理语句.)

六.dbms_session(提供了使用PL/SQL实现ALTER SESSION命令)

七、dbms_rowid(用于在PL/SQL程序和SQL语句中取得行标识符)

八、dbms_rls(实现精细访问控制)

九、dbms_ddl(提供了在PL/SQL块中执行DDL语句的方法)

十、dbms_shared_pool(提供了对共享池的一些过程和函数访问)

十一、dbms_random(随机数生成器)

十二、dbms_logmnr(分析重做日志和归档日志)

十三、dbms_flashback(用于激活或禁止会话的flashback特征)

十四、dbms_obfuscation_toolkit(用于加密和解密应用数据)

十五、dbms_space(分析段增长和空间的需求)

十六、dbms_space_admin(提供了局部管理表空间的功能)

十七、dbms_tts(检查表空间集合是否是自包含)

十八、dbms_repair(用于检测,修复在表和索引上的损坏数据块)

十九、dbms_resource_manager(用于维护资源计划,资源使用组和资源计划指令)

二十、dbms_stats(用于搜集,查看,修改数据库对象的优化统计信息)

二十一、utl_file(用于读写OS文件)

二十二、utl_inaddr(用于取得局域网或Internet环境中的主机名和IP地址)

二十三、DBMS_METADATA(提供提取数据库对象的完整定义的接口)

二十四、DBMS_SQL


1、概述

作用:用于分析段增长和空间的需求。


回到顶部


2、包的组成


1)、unused_space

作用:用于返回对象(表、索引、簇)的未用空间

语法:dbms_space.unused_space(segment_owner in varchar2,

segment_name in varchar2,segment_type in varchar2,

total_blocks out number,total_bytes out number,

unused_blocks out number,unused_bytes out number,

last_used_extent_file_id out number,

last_used_extent_block_id out number,

last_used_block out number,

partition_name in varchar2 default null);

其中segment_owner指定段所有者,segment_name指定段名,segment_type指定段类型,

tatal_blocks返回段的总计块个数,total_bytes返回段的总计字节数,

unused_blocks返回段的末用块个数,unused_byte返回段未用字节,

last_used_extent_file_id返回包含数据的最后一个区所在文件的编号,

last_used_extent_block_id返回包含数据的最有一个区的块编号,

last_used_block返回包含数据的最有一个区的最后一个块,

partition_name指定要分析的段分区号。


2)、free_blocks

作用:用于返回对象(表、索引、簇)的空闲块信息。

语法:dbms_space.free_blocks(segment_owner in varchar2,segment_name in varchar2,segment_type in varchar2,freelist_group_id in number,

free_blks out number,scan_limit in number default null,partition_name in varchar2 default null);

其中freelist_group_id指定返回空闲列表组所对应的空闲列表个数,scan_limit指定要读取的空闲列表块的最大个数。


3)、space_usage

作用:显示段HWM(High Water Mark)以下数据块的空闲使用情况,并且该过程只适用于自动段空间管理的表空间。

语法:dbms_space.space_usage(segment_owner in varchar2,segment_name in varchar2,segment_type in varchar2,unformatted_blocks out number,unformatted_bytes out number,

fs1_blocks out number,fs1_bytes out number,

fs2_blocks out number,fs2_bytes out number,

fs3_blocks out number,fs3_bytes out number,

fs4_blocks out number,fs4_bytes out number,

full_blocks out number,full_bytes out number,

partition_name in varchr2 default null);

其中unformatted_blocks用于返回未格式化块的个数,unformatted_bytes用于返回未格式化的字节数,

fs1_blocks用于返回空闲空间在0~25%之间的块个数,fs1_bytes返回空闲空间在0~25%之间的字节数,2范围为25%~50%之间,3范围为50%~75%之间,4范围为75%~100%之间。

full_blocks返回段的总计块个数,full_bytes返回段的总计字节数。


回到顶部


3、综合例子

1)、简单例子

例子:


declare

total_blocks number;

total_bytes number;

unused_blocks number;

unused_bytes number;

last_used_extent_file_id number;

last_used_extent_block_id number;

last_used_block number;

free_blocks number;

variable unf number,

variable unfb number,

variable fs1 number,

variable fs1b number,

variable fs2 number,

variable fs2b number,

variable fs3 number,

variable fs3b number,

variable fs4 number,

variable fs4b number,

variable full number,

variable fullb number,

begin

--unused_space

dbms_space.unused_space('SYSTEM','T1','TABLE',total_blocks,total_bytes,unused_blocks,unused_bytes,last_used_extent_file_id,last_used_extent_block_id,last_used_block);

dnms_output.put_line(to_char('HWM='||total_blocks-unused_blocks-1));

--free_blocks

dbms_space.free_blocks('SYSTEM','T1','TABLE',0,free_blocks);

dbms_output.put_line('组0的空闲列表个数'||free_blocks);

--space_usage

dbms_space.space_usage('U1','T','TABLE',:nuf,:unfb,:fs1,:fs1b,:fs2,:fs2b,:fs3,:fs3b,:fs4,:fs4b,:fnull,:fnullb);

end;


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31397003/viewspace-2284257/,如需转载,请注明出处,否则将追究法律责任。

下一篇: oracle user$
请登录后发表评论 登录
全部评论

注册时间:2016-09-22

  • 博文量
    869
  • 访问量
    703932