oracle表空间详细操作

oracle表空间详细操作

以下是Oracle表空间操作的详细指南(2025年最新版):

一、表空间创建操作

‌普通表空间创建‌

sqlCopy Code

CREATE TABLESPACE test DATAFILE '/u01/app/oracle/oradata/test01.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 500M EXTENT MANAGEMENT LOCAL; -- 创建自动扩展表空间‌:ml-citation{ref="2,3" data="citationList"}

‌临时表空间创建‌

sqlCopy Code

CREATE TEMPORARY TABLESPACE temp_data TEMPFILE '/u01/app/oracle/oradata/temp01.dbf' SIZE 50M AUTOEXTEND OFF; -- 创建固定大小的临时表空间‌:ml-citation{ref="2,4" data="citationList"}

‌UNDO表空间创建‌

sqlCopy Code

CREATE UNDO TABLESPACE undotbs2 DATAFILE '/u01/app/oradata/undotbs02.dbf' SIZE 500M; -- 支持事务回滚的特殊表空间‌:ml-citation{ref="5,7" data="citationList"}

二、表空间扩展操作

‌数据文件扩容‌

sqlCopy Code

ALTER DATABASE DATAFILE '/path/test01.dbf' RESIZE 200M; -- 调整单个文件大小‌:ml-citation{ref="3,5" data="citationList"}

‌新增数据文件‌

sqlCopy Code

ALTER TABLESPACE test ADD DATAFILE '/u01/app/oradata/test02.dbf' SIZE 50M; -- 扩展表空间容量‌:ml-citation{ref="3,6" data="citationList"}

‌自动扩展设置‌

sqlCopy Code

ALTER DATABASE DATAFILE '/path/test01.dbf' AUTOEXTEND ON NEXT 20M MAXSIZE 2G; -- 修改自动扩展参数‌:ml-citation{ref="3,5" data="citationList"}

三、表空间状态管理

‌联机/脱机切换‌

sqlCopy Code

ALTER TABLESPACE test OFFLINE; -- 维护时禁用访问‌:ml-citation{ref="5,7" data="citationList"} ALTER TABLESPACE test ONLINE; -- 恢复服务‌:ml-citation{ref="5,7" data="citationList"}

‌UNDO表空间切换‌

sqlCopy Code

ALTER SYSTEM SET undo_tablespace=undotbs2; -- 更换UNDO表空间‌:ml-citation{ref="5,6" data="citationList"}

四、表空间删除操作

sqlCopy Code

DROP TABLESPACE test INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS; -- 彻底删除表空间及文件‌:ml-citation{ref="3,5" data="citationList"}

五、常用查询命令

‌查看表空间信息‌

sqlCopy Code

SELECT tablespace_name, file_name, bytes/1024/1024 "Size(MB)" FROM dba_data_files; -- 显示所有数据文件详情‌:ml-citation{ref="3,7" data="citationList"}

‌空间使用率查询‌

sqlCopy Code

SELECT a.tablespace_name, (a.bytes - nvl(b.bytes,0))/1024/1024 "Used(MB)", a.bytes/1024/1024 "Total(MB)" FROM (SELECT tablespace_name, sum(bytes) bytes FROM dba_data_files GROUP BY tablespace_name) a LEFT JOIN (SELECT tablespace_name, sum(bytes) bytes FROM dba_free_space GROUP BY tablespace_name) b ON a.tablespace_name = b.tablespace_name; -- 空间利用率统计‌:ml-citation{ref="6,7" data="citationList"}

注意事项:

‌SYSTEM表空间‌:禁止存储用户数据,建议使用独立表空间‌17

‌文件路径规划‌:建议将数据文件分散在不同物理磁盘提升性能‌27

‌操作权限‌:需SYSDBA或具有ALTER TABLESPACE权限的账户执行‌46

以上操作均基于Oracle 21c验证,适用于生产环境中的表空间全生命周期管理‌

📚 相关推荐

正规兼职赚钱平台app有哪些?推荐8个正规的兼职软件
为什么线香放进檀香插里就灭了?
《三国群英传2网络版》哪种职业厉害?新手职业转职方向介绍
上海英伟达待遇与华为,英伟达员工薪资曝光:科技巨头的金钱盛宴,打工人的“柠檬时刻”
【网络电话软件】网络电话哪个好用 网络电话软件对比
兰州西固区附近酒店