DBMS_SPACE查找使用和未使用的空间
来源:互联网 发布:淘宝卖家怎么贷款 编辑:程序博客网 时间:2024/06/04 20:09
找出剩余空间
DBA_FREE_SPACE字典视图可以查找表空间和数据文件中的可用空间信息,空间信息不包括数据库对象。
DBMS_SPACE程序包可以解决如下问题:
1.在一个新区进入前有多少可以使用的可用空间。
2.有多少数据块在高水位标记(HWM)之上。
DBA_EXTENTS和DBA_SEGMENTS字典视图可以提供关于分配给对象(如表和索引)的尺寸的大量信息,但是这些视图并不能得知已用空间使用率和可用空间使用率是多少。如果对表进行过分析,BLOCKS列将提供HWM-即表曾经达到的最高点。但是如果正在对表进行大量的DML操作,则HWM并不能准确指示表所使用的实际空间。DBMS_SPACE程序包是查找对象中已用空间和可用空间的理想工具。
DBMS_SPACE程序包有3个主要过程。UNUSED_SPACE过程提供一个对象段中的未用空间信息,FREE_BLOCKS过程提供一个段中可用块的数量信息,而SPACE_USAGE过程给出了块中空间使用的细节。
DECLARE
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(
SEGMENT_OWNER => 'SCOTT',
SEGMENT_NAME => 'EMP',
SEGMENT_TYPE => 'TABLE',
TOTAL_BLOCKS => V_TOTAL_BLOCKS,
TOTAL_BYTES => V_TOTAL_BYTES,
UNUSED_BLOCKS => V_UNUSED_BLOCKS,
UNUSED_BYTES => V_UNUSED_BYTES,
LAST_USED_EXTENT_FILE_ID => V_LAST_USED_EXTENT_FILE_ID,
LAST_USED_EXTENT_BLOCK_ID => V_LAST_USED_EXTENT_BLOCK_ID,
LAST_USED_BLOCK => V_LAST_USED_BLOCK);
DBMS_OUTPUT.PUT_LINE('Number of Total Blocks :' || V_TOTAL_BLOCKS);
DBMS_OUTPUT.PUT_LINE('Number of Bytes :' || V_TOTAL_BYTES);
DBMS_OUTPUT.PUT_LINE('Number of Unused Blocks :' || V_UNUSED_BLOCKS);
DBMS_OUTPUT.PUT_LINE('Number of UnUsed Bytes :' || V_UNUSED_BYTES);
END;
SQL> set serveroutput on;
SQL>
SQL> DECLARE
2 V_TOTAL_BLOCKS NUMBER;
3 V_TOTAL_BYTES NUMBER;
4 V_UNUSED_BLOCKS NUMBER;
5 V_UNUSED_BYTES NUMBER;
6 V_LAST_USED_EXTENT_FILE_ID NUMBER;
7 V_LAST_USED_EXTENT_BLOCK_ID NUMBER;
8 V_LAST_USED_BLOCK NUMBER;
9 BEGIN
10 DBMS_SPACE.UNUSED_SPACE(
11
12 SEGMENT_OWNER => 'SCOTT',
13 SEGMENT_NAME => 'EMP',
14 SEGMENT_TYPE => 'TABLE',
15 TOTAL_BLOCKS => V_TOTAL_BLOCKS,
16 TOTAL_BYTES => V_TOTAL_BYTES,
17 UNUSED_BLOCKS => V_UNUSED_BLOCKS,
18 UNUSED_BYTES => V_UNUSED_BYTES,
19 LAST_USED_EXTENT_FILE_ID => V_LAST_USED_EXTENT_FILE_ID,
20 LAST_USED_EXTENT_BLOCK_ID => V_LAST_USED_EXTENT_BLOCK_ID,
21 LAST_USED_BLOCK => V_LAST_USED_BLOCK);
22 DBMS_OUTPUT.PUT_LINE('Number of Total Blocks :' || V_TOTAL_BLOCKS);
23 DBMS_OUTPUT.PUT_LINE('Number of Bytes :' || V_TOTAL_BYTES);
24 DBMS_OUTPUT.PUT_LINE('Number of Unused Blocks :' || V_UNUSED_BLOCKS);
25 DBMS_OUTPUT.PUT_LINE('Number of Used Bytes :' || V_UNUSED_BYTES);
26
27 END;
28 /
Number of Total Blocks :8
Number of Bytes :65536
Number of Unused Blocks :0
Number of Used Bytes :0
PL/SQL procedure successfully completed
DBA_FREE_SPACE字典视图可以查找表空间和数据文件中的可用空间信息,空间信息不包括数据库对象。
DBMS_SPACE程序包可以解决如下问题:
1.在一个新区进入前有多少可以使用的可用空间。
2.有多少数据块在高水位标记(HWM)之上。
DBA_EXTENTS和DBA_SEGMENTS字典视图可以提供关于分配给对象(如表和索引)的尺寸的大量信息,但是这些视图并不能得知已用空间使用率和可用空间使用率是多少。如果对表进行过分析,BLOCKS列将提供HWM-即表曾经达到的最高点。但是如果正在对表进行大量的DML操作,则HWM并不能准确指示表所使用的实际空间。DBMS_SPACE程序包是查找对象中已用空间和可用空间的理想工具。
DBMS_SPACE程序包有3个主要过程。UNUSED_SPACE过程提供一个对象段中的未用空间信息,FREE_BLOCKS过程提供一个段中可用块的数量信息,而SPACE_USAGE过程给出了块中空间使用的细节。
DECLARE
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(
SEGMENT_OWNER => 'SCOTT',
SEGMENT_NAME => 'EMP',
SEGMENT_TYPE => 'TABLE',
TOTAL_BLOCKS => V_TOTAL_BLOCKS,
TOTAL_BYTES => V_TOTAL_BYTES,
UNUSED_BLOCKS => V_UNUSED_BLOCKS,
UNUSED_BYTES => V_UNUSED_BYTES,
LAST_USED_EXTENT_FILE_ID => V_LAST_USED_EXTENT_FILE_ID,
LAST_USED_EXTENT_BLOCK_ID => V_LAST_USED_EXTENT_BLOCK_ID,
LAST_USED_BLOCK => V_LAST_USED_BLOCK);
DBMS_OUTPUT.PUT_LINE('Number of Total Blocks :' || V_TOTAL_BLOCKS);
DBMS_OUTPUT.PUT_LINE('Number of Bytes :' || V_TOTAL_BYTES);
DBMS_OUTPUT.PUT_LINE('Number of Unused Blocks :' || V_UNUSED_BLOCKS);
DBMS_OUTPUT.PUT_LINE('Number of UnUsed Bytes :' || V_UNUSED_BYTES);
END;
SQL> set serveroutput on;
SQL>
SQL> DECLARE
2 V_TOTAL_BLOCKS NUMBER;
3 V_TOTAL_BYTES NUMBER;
4 V_UNUSED_BLOCKS NUMBER;
5 V_UNUSED_BYTES NUMBER;
6 V_LAST_USED_EXTENT_FILE_ID NUMBER;
7 V_LAST_USED_EXTENT_BLOCK_ID NUMBER;
8 V_LAST_USED_BLOCK NUMBER;
9 BEGIN
10 DBMS_SPACE.UNUSED_SPACE(
11
12 SEGMENT_OWNER => 'SCOTT',
13 SEGMENT_NAME => 'EMP',
14 SEGMENT_TYPE => 'TABLE',
15 TOTAL_BLOCKS => V_TOTAL_BLOCKS,
16 TOTAL_BYTES => V_TOTAL_BYTES,
17 UNUSED_BLOCKS => V_UNUSED_BLOCKS,
18 UNUSED_BYTES => V_UNUSED_BYTES,
19 LAST_USED_EXTENT_FILE_ID => V_LAST_USED_EXTENT_FILE_ID,
20 LAST_USED_EXTENT_BLOCK_ID => V_LAST_USED_EXTENT_BLOCK_ID,
21 LAST_USED_BLOCK => V_LAST_USED_BLOCK);
22 DBMS_OUTPUT.PUT_LINE('Number of Total Blocks :' || V_TOTAL_BLOCKS);
23 DBMS_OUTPUT.PUT_LINE('Number of Bytes :' || V_TOTAL_BYTES);
24 DBMS_OUTPUT.PUT_LINE('Number of Unused Blocks :' || V_UNUSED_BLOCKS);
25 DBMS_OUTPUT.PUT_LINE('Number of Used Bytes :' || V_UNUSED_BYTES);
26
27 END;
28 /
Number of Total Blocks :8
Number of Bytes :65536
Number of Unused Blocks :0
Number of Used Bytes :0
PL/SQL procedure successfully completed
- DBMS_SPACE查找使用和未使用的空间
- DBMS_SPACE包的使用
- dbms_space( 分析段增长和空间的需求)
- IOS - 查找未使用的图片
- 查所有表的记录数,保留空间,使用空间,索引使用空间,未用空间
- 使用Function查找未使用绑定变量的SQL
- 开发拾遗篇:去除未使用的命名空间
- sqlserver2008 R2中查找未使用过的索引
- Android未使用的资源文件查找工具
- dbms_space.create_table_cost的unwrap解密和原理解析
- 查找使用表空间的TABLE,INDEX,INDEX SUBPARTITION
- linux查找被删除但是未释放空间的文件
- 关于域名和空间的再使用
- 命名空间的使用和优缺点
- PHP 命名空间的介绍和使用
- 命名空间namespace的概念和使用
- using命名空间的声明和使用
- 命名空间namespace的概念和使用
- HDU 2056 Rectangles (求两个相交矩形面积)
- 创建数据库
- OpenCV 编程简介(矩阵/图像/视频的基本读写操作)
- POJ 3537 Crosses and Crosses
- 利用xml在不同数据库中交换数据
- DBMS_SPACE查找使用和未使用的空间
- 向oracle中获取记录集的代码
- mysql旧版本密码长度问题
- Getting Started With Burp Suite
- HDU 2030 汉字统计
- linux下firefox安装Adobe Flash Player插件
- ubuntu下安装 gSOAP 用于C/C++开发web service服务端与客户端
- OpenCV摄像头视频的获取
- POJ 2421 最小生成树