问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何查看“oracle”临时表空间当前使用了多少空间?

发布网友 发布时间:2022-04-30 07:06

我来回答

3个回答

懂视网 时间:2022-04-30 11:27

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;

–用法演示

create table test_space
AS
select * from dba_tables;
/
SYS@orcl> exec show_space(‘TEST_SPACE‘);

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;

已删除3044行。

SYS@orcl> commit;

提交完成。

SYS@orcl> exec show_space(‘TEST_SPACE‘);

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;

表被截断。

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查看对象空间使用情况show_space

标签:show-space   oracle   

热心网友 时间:2022-04-30 08:35

查看“oracle”临时表空间当前使用了多少空间,可按照以下程序。

SELECT d.tablespace_name "Name", d.status "Status",
TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.90') "Size (M)",
TO_CHAR (NVL (a.BYTES - NVL (f.BYTES, 0), 0) / 1024 / 1024,
'99999999.99'
) USE,
TO_CHAR (NVL ((a.BYTES - NVL (f.BYTES, 0)) / a.BYTES * 100, 0),
'990.00'
) "Used %"
FROM SYS.dba_tablespaces d,
(SELECT   tablespace_name, SUM (BYTES) BYTES
FROM dba_data_files
GROUP BY tablespace_name) a,
(SELECT   tablespace_name, SUM (BYTES) BYTES
FROM dba_free_space
GROUP BY tablespace_name) f
WHERE d.tablespace_name = a.tablespace_name(+)
AND d.tablespace_name = f.tablespace_name(+)
AND NOT (d.extent_management LIKE 'LOCAL' AND d.CONTENTS LIKE 'TEMPORARY')
UNION ALL
SELECT d.tablespace_name "Name", d.status "Status",
TO_CHAR (NVL (a.BYTES / 1024 / 1024, 0), '99,999,990.90') "Size (M)",
TO_CHAR (NVL (t.BYTES, 0) / 1024 / 1024, '99999999.99') USE,
TO_CHAR (NVL (t.BYTES / a.BYTES * 100, 0), '990.00') "Used %"
FROM SYS.dba_tablespaces d,
(SELECT   tablespace_name, SUM (BYTES) BYTES
FROM dba_temp_files
GROUP BY tablespace_name) a,
(SELECT   tablespace_name, SUM (bytes_cached) BYTES
FROM v$temp_extent_pool
GROUP BY tablespace_name) t
WHERE d.tablespace_name = a.tablespace_name(+)
AND d.tablespace_name = t.tablespace_name(+)
AND d.extent_management LIKE 'LOCAL'
AND d.CONTENTS LIKE 'TEMPORARY';


热心网友 时间:2022-04-30 09:53

1、查看临时表空间 (dba_temp_files视图)(v_$tempfile视图)
select tablespace_name,file_name,bytes/1024/1024 file_size,autoextensible from dba_temp_files;
select status,enabled, name, bytes/1024/1024 file_size from v_$tempfile;--sys用户查看

2、缩小临时表空间大小
alter database tempfile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\TELEMT\TEMP01.DBF' resize 100M;

3、扩展临时表空间:
方法一、增大临时文件大小:
SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/temp01.dbf’ resize 100m;
方法二、将临时数据文件设为自动扩展:
SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/temp01.dbf’ autoextend on next 5m maxsize unlimited;
方法三、向临时表空间中添加数据文件:
SQL> alter tablespace temp add tempfile ‘/u01/app/oracle/oradata/orcl/temp02.dbf’ size 100m;

4、创建临时表空间:
SQL> create temporary tablespace temp1 tempfile ‘/u01/app/oracle/oradata/orcl/temp11.dbf’ size 10M;

5、更改系统的默认临时表空间:
--查询默认临时表空间
select * from database_properties where property_name='DEFAULT_TEMP_TABLESPACE';
--修改默认临时表空间
alter database default temporary tablespace temp1;
所有用户的默认临时表空间都将切换为新的临时表空间:
select username,temporary_tablespace,default_ from dba_users;
--更改某一用户的临时表空间:
alter user scott temporary tablespace temp;

6、删除临时表空间
删除临时表空间的一个数据文件:
SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/temp02.dbf’ drop;
删除临时表空间(彻底删除):
SQL> drop tablespace temp1 including contents and datafiles cascade constraints;

7、查看临时表空间的使用情况(GV_$TEMP_SPACE_HEADER视图必须在sys用户下才能查询)
GV_$TEMP_SPACE_HEADER视图记录了临时表空间的使用大小与未使用的大小
dba_temp_files视图的bytes字段记录的是临时表空间的总大小
SELECT temp_used.tablespace_name,
total - used as "Free",
total as "Total",
round(nvl(total - used, 0) * 100 / total, 3) "Free percent"
FROM (SELECT tablespace_name, SUM(bytes_used) / 1024 / 1024 used
FROM GV_$TEMP_SPACE_HEADER
GROUP BY tablespace_name) temp_used,
(SELECT tablespace_name, SUM(bytes) / 1024 / 1024 total
FROM dba_temp_files
GROUP BY tablespace_name) temp_total
WHERE temp_used.tablespace_name = temp_total.tablespace_name
ORDER BY B.TABLESPACE, B.SEGFILE#, B.SEGBLK#, B.BLOCKS;
希望能帮到您!
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
脚崴了挂什么科、急急急 linux 解压缩工具--tar命令 生日祝福语闺蜜 简短独特暖心 QQ有哪些隐藏的图标??他们分别是什么??怎么样点亮?? QQ业务的各种图标怎么点亮? qq怎么点亮图标和名字 诗中书万象=求下联 大爱如山藏万象下联 中国电子展:电位器和可调电阻的区别是什么?这四点很明显 电位器的接线方法是什么 电位器的工作原理如何 《一个像夏天一个像秋天》这首歌说的是什么意思?形容什么关系? 诸城哪些超市是支付宝口碑商家? 一首歌高潮是很多女生唱的这是我们的纪念日 八个月的宝宝吃什么水果,蔬菜好 小孩吃什么水果疏花头发长的快 15个月婴幼儿感冒吃什么水果 15个月宝宝能吃什么水果 一岁半的宝宝吃什么水果最好 15个月的孩子 吃什么水果好呢 谢谢了 15月大的宝宝可以吃什么水果或者蔬菜比较好? 我的QQ怎么建不了群,我是会员以前没有建过群,为什么呢? QQ建群建不起了 我为什么建不了qq 群? 上次老年代步车怎么买 本人急售三轮车一辆,二手燃油电动老年代步车大约多少多少钱? 这种老年代步车价位在多少 老年代步车什么牌子好?用上牌照吗?大概多少元啊? 老年电动代步车 上海永久电动车出厂的老年代步车带棚的多少钱一台 你好:我想买辆老年代步车,燃油的,价钱大概在多少左右? 不学易不足于谋大事出自什么书 力达四人娃娃机尺寸 不学易不可为将相下一句 50cmfufu重量 为什么古人说:不学《易》不可为将相? 古有不学易无以为将相,无以成太医是什么意思 孔子为什么早年不学易而晚年学易 不学易者不得为相什么意思 你们看看我什么时候就不学易了。哈哈哈哈哈哈!! 我从科学的角度去告诉你,为什么不学易语言 张延生是不是骗子 娃娃机一般寿命有多久?质量怎么样 如何做到不学周易也会预测命运 我初学易经 但不知从何入手 看什么书 我听说需要看《黄帝内经》 《道德经》 应从什么书入手 为什么现在很多人学连山易,不学周易 娃娃机里弱抓力 强抓力是什么意思?怎么看娃娃机的力度? 写下联 1物理,物理,物中有理,无物无理 物理易学不易学易学不易 上学易成功还是不上学易成功 参伍筮法怎么拍盘的 卢老师的理数不二学周易书看了 但还是不会排 求详解 为什么学易经没好下场 为什么学易经 我的真实经历(