使用工具:PL/SQL DEVELOPER管理Oracle数据库的表空间。本文主要包括:Resize(重新定义)表空间、设置自动增加、查询表空间文件所在位置、查看表空间使用情况SQL等。
一、Oracle表空间扩容
1) 查看表空间的名字及文件所在位置。
SELECT
tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
FROM
dba_data_files order by tablespace_name;
2) 增加到所需表空间大小(resize命令)。
ALTER database datafile '表空间文件路径' resize 新的文件大小;
比如:
ALTER database datafile '\oracle\oradata\mydb.dbf' resize 8192m;
二、对于oracle数据库的表空间相关的操作
1)如何创建自动扩容的Oracle表空间?
CREATE tablespace TBNAME(表空间名称)LOGGING DATAFILE 'PATHTO/dbfile.dbf'
SIZE 4096M AUTOEXTEND ON NEXT 1024M;
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
2)如何创建固定大小的Oralce表空间?
CREATE tablespace TBNAME(表空间名称)LOGGING DATAFILE 'PATHTO/dbfile.dbf'
SIZE 4096M AUTOEXTEND OFF
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
3)如何删除表空间?
DROP TABLESPACE tablespace_name(要删除的表空间名称) INCLUDING CONTENTS AND DATAFILES;
4)如何增加Oracle表空间数据文件个数?
ALTER tablespace 表空间名称
add datafile '新的数据文件地址' size 数据文件大小;
add datafile '新的数据文件地址' size 数据文件大小;
比如:
ALTER tablespace YOURTABLESPACE_NAME add datafile 'PATHTO\mydb.dbf' size 2048m;
5)如何设置Oracle表空间数自动扩容?
ALTER database datafile '数据文件路径' autoextend on next 自动扩展大小 maxsize 最大扩展大小;
举例:
ALTER database datafile 'pathto\mydb.dbf' autoextend on next 512m maxsize 512000m;
6)如何查询Oracle表空间使用情况?
SELECT
a.tablespace_name,a.bytes/1024/1024 "Total MB",
(a.bytes-b.bytes)/1024/1024 "Used MB",
b.bytes/1024/1024 "Free MB",
round (((a.bytes-b.bytes)/a.bytes)*100,2) "Used Rate %"
FROM
(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a,
(select tablespace_name,sum(bytes) bytes,max (bytes) largest from dba_free_space group by tablespace_name)b
WHERE
a.tablespace_name=b.tablespace_name order by ((a.bytes-b.bytes)/a.bytes) desc;