1、oracle表空间

oracle表空间

1、查询表空间目录

select * from dba_directories;

查询表空间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;
posted @   站着说话不腰疼  阅读(213)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示