oracle 表空间大小30g,oracle查看表空间的大小及使用情况sql语句

--------------------------tablespace------------------------------------------------

1、//查看表空间的名称及大小

SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size

FROM dba_tablespaces t, dba_data_files d

WHERE t.tablespace_name = d.tablespace_name

GROUP BY t.tablespace_name;

2、//查看表空间物理文件路径的名称及大小

SELECT tablespace_name,

file_id,

file_name,

round(bytes / (1024 * 1024), 0) total_space

FROM dba_data_files

ORDER BY tablespace_name;

3、//查看回滚段名称及大小

SELECT segment_name,

tablespace_name,

r.status,

(initial_extent / 1024) initialextent,

(next_extent / 1024) nextextent,

max_extents,

v.curext curextent

FROM dba_rollback_segs r, v$rollstat v

WHERE r.segment_id = v.usn(+)

ORDER BY segment_name;

4、//查看控制文件

SELECT NAME FROM v$controlfile;

5、//查看日志文件

SELECT MEMBER FROM v$logfile;

6、//查看表空间的使用情况

SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name

FROM dba_free_space

GROUP BY tablespace_name;

SELECT a.tablespace_name,

a.bytes total,

b.bytes used,

c.bytes free,

(b.bytes * 100) / a.bytes "% USED ",

(c.bytes * 100) / a.bytes "% FREE "

FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c

WHERE a.tablespace_name = b.tablespace_name

AND a.tablespace_name = c.tablespace_name;

7、//查看表空间总数求和,已经使用的表空间

select total.tablespace_name,round(total.MB,2) as Total_MB,

round(total.MB-free.MB, 2) as Used_MB

from (select tablespace_name, sum(bytes)/1024/1024 as MB from dba_free_space

group by tablespace_name) free,

(select tablespace_name, sum(bytes)/1024/1024 as MB from dba_data_files group by

tablespace_name) total

where free.tablespace_name=total.tablespace_name

8、//查看数据库库对象

SELECT owner, object_type, status, COUNT(*) count#

FROM all_objects

GROUP BY owner, object_type, status;

9、//查看数据库的版本

SELECT version

FROM product_component_version

WHERE substr(product, 1, 6) = 'Oracle';

10、//查看数据库的创建日期和归档方式

SELECT created, log_mode, log_mode FROM v$database;

11、//查表空间使用率情况(含临时表空间)

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';

--------------------------tablespace使用大小计算-------------------------------

1G=1024MB

1M=1024KB

1K=1024Bytes

1M=11048576Bytes

1G=1024*11048576Bytes=11313741824Bytes

SELECT a.tablespace_name "表空间名",

total "表空间大小",

free "表空间剩余大小",

(total - free) "表空间使用大小",

total / (1024 * 1024 * 1024) "表空间大小(G)",

free / (1024 * 1024 * 1024) "表空间剩余大小(G)",

(total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",

round((total - free) / total, 4) * 100 "使用率 %"

FROM (SELECT tablespace_name, SUM(bytes) free

FROM dba_free_space

GROUP BY tablespace_name) a,

(SELECT tablespace_name, SUM(bytes) total

FROM dba_data_files

GROUP BY tablespace_name) b

WHERE a.tablespace_name = b.tablespace_name

-----------------------------扩增表空间大小---------------------------------------------------------

//查询用户对应的表空间,我们可以看到针对不同的数据库用户ORACLE

select username, default_tablespace, temporary_tablespace

from dba_users;

//查询用户的对应的数据文件,以及数据文件大小

select tablespace_name, file_id, file_name,

round(bytes/(1024*1024),0) total_space

from dba_data_files

order by tablespace_name;

//扩增表空间大小

SQL> ALTER DATABASE DATAFILE '/data/URSP_SLSADMIN.dbf' RESIZE 8000M ;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值