久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Oracle如何查看對象空間使用情況

158次閱讀
沒有評論

共計 3988 個字符,預計需要花費 10 分鐘才能閱讀完成。

這篇文章主要為大家展示了“Oracle 如何查看對象空間使用情況”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓丸趣 TV 小編帶領大家一起研究并學習一下“Oracle 如何查看對象空間使用情況”這篇文章吧。

–工具源碼

CREATE OR REPLACE PROCEDURE show_space(p_segname IN VARCHAR2,
 p_owner IN VARCHAR2 DEFAULT USER,
 p_type IN VARCHAR2 DEFAULT  TABLE ,
 p_partition IN VARCHAR2 DEFAULT NULL) 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;12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182

–用法演示

create table test_spaceASselect * from dba_tables;/1234
SYS@orcl  exec show_space(TEST_SPACE 1

Total Blocks ……………………… 112 
Total Bytes ……………………… 917,504 
Total MBytes ……………………… 0 
Unused Blocks……………………… 3 
Unused Bytes ……………………… 24,576 
Last Used Ext FileId……………….. 1 
Last Used Ext BlockId………………. 115,608 
Last Used Block……………………. 5

PL/SQL 過程已成功完成。

SYS@orcl  delete from test_space;1

已刪除 3044 行。

SYS@orcl  commit;1

提交完成。

SYS@orcl  exec show_space(TEST_SPACE 1

Total Blocks ……………………… 112 
Total Bytes ……………………… 917,504 
Total MBytes ……………………… 0 
Unused Blocks……………………… 3 
Unused Bytes ……………………… 24,576 
Last Used Ext FileId……………….. 1 
Last Used Ext BlockId………………. 115,608 
Last Used Block……………………. 5

PL/SQL 過程已成功完成。

SYS@orcl  truncate table test_space;1

表被截斷。

SYS@orcl exec show_space(‘TEST_SPACE’); 
Total Blocks ……………………… 8 
Total Bytes ……………………… 65,536 
Total MBytes ……………………… 0 
Unused Blocks……………………… 7 
Unused Bytes ……………………… 57,344 
Last Used Ext FileId……………….. 1 
Last Used Ext BlockId………………. 101,872 
Last Used Block……………………. 1

PL/SQL 過程已成功完成。

drop table test_space;

以上是“Oracle 如何查看對象空間使用情況”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-24發表,共計3988字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 历史| 四子王旗| 南华县| 松江区| 靖远县| 辉南县| 马尔康县| 榕江县| 新竹县| 河西区| 家居| 夏河县| 剑阁县| 江山市| 乌鲁木齐县| 蒙自县| 彭州市| 恭城| 汨罗市| 岢岚县| 寿光市| 凉山| 闵行区| 泰安市| 仁寿县| 阿瓦提县| 泌阳县| 会宁县| 西畴县| 永仁县| 宁明县| 道真| 诸暨市| 苏州市| 平乡县| 昔阳县| 玛沁县| 罗甸县| 长宁区| 连山| 东明县|