oracle 11g:创建表空间,查看表空间的使用率,扩展表空间

一、创建表空间

创建语句:

create tablespace 表空间名称 datefile '数据文件名(绝对路径)' size 表空间大小 

autoextend on next xxxM 

extend management local uniform size xxxK

设置表空间自动扩展,表空间满后每次自动扩展xxxM

autoextend on next xxxM

 在oracle数据库中,表空间扩展方式(extend management)有两种:本地管理(local)、数据字典管理(dictionary)。默认使用本地管理,对于本地管理,表空间有两种空间分配方式:自动分配(autoallocate)、统一大小分配(uniform)。自动分配方式(autoallocate)是由系统自动决定区间(extent)大小,统一大小分配(uniform)由用户指定区间(extent)大小。uniform默认为1M大小,在temp表空间中是默认,但不能被应用在undo表空间。

设置表空间扩展方式为本地管理方式,空间分配方式为统一大小分配,指定每次分配区间时,按照等同大小进行,大小为xxxK

extend management local uniform size xxxK

在本地创建好表空间,之后创建oracle账户,并为账户指定表空间:

CREATE TABLESPACE EXAM_DATA01 DATAFILE 'F:\app\zwl\oradata\orcl\exam_data01.dbf' SIZE 500M 
AUTOEXTEND ON NEXT 50M 
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K;

CREATE USER exam IDENTIFIED BY exam 
DEFAULT TABLESPACE EXAM_DATA01 
TEMPORARY TABLESPACE temp;
GRANT connect,resource,dba to exam;

--设置默认用户表空间为 EXAM_DATA01 

DEFAULT TABLESPACE EXAM_DATA01 

--临时表空间为temp
TEMPORARY TABLESPACE temp;

--授予权限:可以连接oracle、可以创建实体、拥有全部特权,可以创建数据库结构

GRANT connect,resource,dba to exam;

 

二、查看表空间的使用率

查询表空间的大小、剩余大小、使用率需要查询dba_free_space表(记录表空间剩余空间的表)和dba_data_files表(数据库数据文件信息表),看看这两张表的一些字段:

dba_data_files
file_name数据文件名称
file_id文件ID,整个数据库中唯一
tablespace_name文件所属表空间名称
bytes  文件字节数量

 通常表空间可能会有一个或一个以上的数据文件,这些数据文件的字节数总和就是这个表空间的大小:

--1GB=1024MB,1MB=1024KB,1KB=1024Bytes,1Bytes(字节)=8Bits(位)

select tablespace_name,sum(bytes)/(1024*1024)||'M' as total from dba_data_files group by tablespace_name 

dba_free_space
tablespace_name文件所属表空间名称
file_id 文件ID,整个数据库中唯一
bytes文件剩余字节数量

select tablespace_name,sum(bytes)/(1024*1024)||'M' as free from dba_free_space group by tablespace_name

连接两张表查询表空间使用率:

select 
	a.tablespace_name as 表空间名称,
	a.total||'M' as 表空间大小,
	(a.total-b.FREE) as 已使用,
	b.FREE||'M' as 剩余表空间大小,
	round((a.total - b.free) / a.total, 4)*100||'%' as 使用率
from (
select tablespace_name,sum(bytes)/(1024*1024) as total from dba_data_files group by tablespace_name
)a
left join (
select tablespace_name,sum(bytes)/(1024*1024) as free from dba_free_space group by tablespace_name
) b on a.tablespace_name = b.tablespace_name


三、扩展表空间

可通过增加数据文件的形式扩展表空间:

alter tablespace EXAM_DATA01 add datafile 'F:\app\zwl\oradata\orcl\EXAM_DATA02.DBF' size 524M;
alter database datafile 'F:\app\zwl\oradata\orcl\EXAM_DATA02.DBF' autoextend on next 50M ;

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值