oracle表空间操作语句

1、查看所有表空间及表空间大小:
select tablespace_name ,sum(bytes) / 1024 / 1024 as MB from dba_data_files group by tablespace_name;
2、查看所有表空间对应的数据文件:
select tablespace_name,file_name from dba_data_files;
3、修改数据文件大小:
alter database datafile 'H:ORACLEPRODUCT10.1.0ORADATAORACLEUSERS01.DBF' RESIZE 10240M;

4、创建表空间

create tablespace MOF_TEMP
datafile 'D:oracleproduct10.2.0oradataorclMOF_TEMP.def' size 500M
autoextend on next 100M maxsize unlimited logging
extent management local autoallocate
segment space management auto;

1) DATAFILE: 表空间数据文件存放路径
2) SIZE: 起初设置为500M
3) UNIFORM: 指定区尺寸为128k,如不指定,区尺寸默认为64k
4) 空间名称MOF_TEMP与 数据文件名称 MOF_TEMP.dbf 不要求相同,可随意命名.

5) AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间

5、查看表空间名称、大小、使用大小、剩余大小和使用率:

SELECT a.tablespace_name "表空间名称", 

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

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

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

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 

 6、更改表空间大小(例如改为10G)

ALTER DATABASE DATAFILE '/表空间路径/表空间文件名称.dbf' RESIZE 10240M;

7、查看表空间是否自动增长

SELECT FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE FROM dba_data_files;

8、设置表空间自动增长:

ALTER DATABASE DATAFILE '/表空间路径/表空间文件名称.dbf' AUTOEXTEND ON;//打开自动增长

ALTER DATABASE DATAFILE '/表空间路径/表空间文件名称.dbf' AUTOEXTEND ON NEXT 200M ;//每次自动增长200M

ALTER DATABASE DATAFILE '/表空间路径/表空间文件名称.dbf' AUTOEXTEND ON NEXT 200M MAXSIZE 1024M;//每次自动增长200M,表空间最大不超过1G

END
原文地址:https://www.cnblogs.com/zmbhfly/p/8796714.html