目录
oracle表空间
1、查询表空间目录
select * from dba_directories;
SELECT FILE_NAME AS 数据文件路径,TABLESPACE_NAME AS 表空间名称,AUTOEXTENSIBLE AS 自动扩展,STATUS AS 状态,MAXBYTES AS 可扩展最大值,USER_BYTES AS 已使用大小,INCREMENT_BY AS 自动扩展增量 FROM dba_data_files;
查询表空间datafile
以及状态
select file#,name,status from v$datafile;
2、创建表空间
2.1、linux
创建表空间文件根路径以及表空间文件
mkdir -p /home/oracle/u01/oradata/APIDEV
touch /home/oracle/u01/oradata/APIDEV/api_data_01.dbf
2.2、plsql
执行创建表空间
TABLESPACE
:设置表空间名称
SIZE
:设置初始值的容量大小
AUTOEXTEND ON NEXT
:设置自动扩容的大小
MAXSIZE UNLIMITED
:设置最大容量,目前最大容量没有上限
CREATE TABLESPACE API_DATA LOGGING
DATAFILE '/home/oracle/u01/oradata/APIDEV/api_data_01.dbf'
SIZE 32M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
3、删除表空间(谨慎操作)
语法:drop tablespace tablespace_name [including contents] [cascade constraints]
语法解析:
drop tablespace
:删除表空间的关键字,tablespace_name 表示表空间名字
[including contents]
:表示在删除表空间的时候把表空间中的数据文件一并删除
[cascade constraints]
:表示在删除表空间的时候把表空间的完整性也一并删除。比如表的外键,和触发器等就是表的完整性约束。
3.1、删除非空表空间,包含物理文件
drop tablespace tablespace_name including contents and datafiles;
如果其他表空间中的表有外键等约束关联到了本表空间中的表的字段,就要加上CASCADE CONSTRAINTS
drop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;
3.2、删除非空表空间,不包含物理文件
drop tablespace tablespace_name including contents;
3.3、删除空的表空间,不包含物理文件
drop tablespace tablespace_name;
3.4、删除空表空间,包含物理文件
drop tablespace tablespace_name including datafiles;
4、查看表空间使用大小
--查看表空间使用率(包含临时表空间)
select * from (
Select a.tablespace_name,
(a.bytes- b.bytes) "表空间使用大小(BYTE)",
a.bytes/(1024*1024*1024) "表空间大小(GB)",
b.bytes/(1024*1024*1024) "表空间剩余大小(GB)",
(a.bytes- b.bytes)/(1024*1024*1024) "表空间使用大小(GB)",
to_char((1 - b.bytes/a.bytes)*100,'99.99999') || '%' "使用率"
from (select tablespace_name,
sum(bytes) bytes
from dba_data_files
group by tablespace_name) a,
(select tablespace_name,
sum(bytes) bytes
from dba_free_space
group by tablespace_name) b
where a.tablespace_name = b.tablespace_name
union all
select c.tablespace_name,
d.bytes_used "表空间使用大小(BYTE)",
c.bytes/(1024*1024*1024) "表空间大小(GB)",
(c.bytes-d.bytes_used)/(1024*1024*1024) "表空间剩余大小(GB)",
d.bytes_used/(1024*1024*1024) "表空间使用大小(GB)",
to_char(d.bytes_used*100/c.bytes,'99.99999') || '%' "使用率"
from
(select tablespace_name,sum(bytes) bytes
from dba_temp_files group by tablespace_name) c,
(select tablespace_name,sum(bytes_cached) bytes_used
from v$temp_extent_pool group by tablespace_name) d
where c.tablespace_name = d.tablespace_name
)
order by tablespace_name;
4、扩容表空间
4.1、设置扩容表空间大小
alter database datafile '/home/oracle/u01/oradata/APIDEV/api_data_01.dbf' autoextend on;
alter database datafile '/home/oracle/u01/oradata/APIDEV/api_data_01.dbf' resize 6G;
4.2、设置自动扩容表空间大小
alter database datafile '/home/oracle/u01/oradata/APIDEV/api_data_01.dbf' autoextend on next 200M;
标签:1024,name,bytes,空间,tablespace,oracle
From: https://www.cnblogs.com/lgxdev/p/17652047.html