Oracle 查看表空间大小 增大表空间 查看表空间文件

发布于 2018-11-20  616 次阅读


本文介绍了表空间大小的查询方式

1. 查看表空间的方法

① 查询表空间文件位置及表空间总大小

SELECT
tablespace_name, 
file_id, 
file_name, 
round(bytes / (1024 * 1024), 0) total_space 
FROM dba_data_files 
ORDER BY tablespace_name; 

② 查询表空间使用率

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

2. 创建新的表空间

CREATE TABLESPACE TBS_INMS
    LOGGING 
    DATAFILE '/home/oracle/oradata/tbs_xxx_01.dbf' SIZE 30G 
    AUTOEXTEND 
    OFF;

这里的size就是创建时的大小,ora11g最大只支持30G
AUTOEXTEND参数是自动增长,但是如果设置SIZE为30G了,就不会再增长了,因为已经到头了。

3. 增大表空间

alter TABLESPACE TBS_INMS add DATAFILE '/home/oracle/oradata/tbs_xxx_02.dbf' SIZE 30G;

【马摇金辔破香尘,我自御剑乘风去】