一、查看表空间使用情况
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 cWHERE a.tablespace_name = b.tablespace_nameAND a.tablespace_name = c.tablespace_name;
二、创建表空间以及用户
1. 查看表空间的文件位置
select * from dba_data_filesorder by tablespace_name, file_name;
2. 创建表空间
create tablespace mst --(表空间名称)loggingdatafile 'E:\ORACELDATA\MST.dbf' --(表空间路径位置)size 32m --表空间大小autoextend on -- 设置空间不足时增长next 32m extent management local;
3.创建表空间用户
create user mst -- 用户名 identified by 123 --密码 default tablespace mst; --表空间名称
4. 授权表空间相应权限
GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,DBA,CONNECT,RESOURCE,CREATE SESSION TO mst --表空间名称
三、解决表空间快满的操作
1.添加新的表空间文件
alter tablespace users --users为表空间名称,此处注意替换add datafile '/opt/oracle/oradata/esop/so_data02.dbf' --表空间文件位置size 200M; -- 新的表空间文件大小 也可以使用G为单位
2.重新设置原有表空间大小
alter database datafile '/opt/oracle/oradata/esop/so_data01.dbf' --表空间文件 resize 200M ; --最新的表空间大小
总结
- 此次针对Oracle表空间相关操作,包括查看表空间大小,表空间使用情况,创建表空间及其用户,添加或修改表空间大小