Oracle系列---【表空间常用命令】

1.创建表空间

sql 复制代码
#创建大小为30G且开启自增的表空间
CREATE TABLESPACE TEST_COM_SDM_FRONT DATAFILE '/oradata/ORA19/datafile/TEST_COM_SDM_FRONT_01.dbf' SIZE 30024M AUTOEXTEND ON;

2.查看表空间使用情况

SQL 复制代码
#表空间数据文件维度使用率查询
SELECT 
    b.TABLESPACE_NAME,
    b.FILE_NAME,
    SUBSTR(b.BYTES/1024/1024/1024,1,5) 总大小G,
    SUBSTR(b.BYTES-SUM(NVL(a.BYTES,0)))/1024/1024/1024,1,5) 已使用G,
    SUBSTR(b.BYTES-SUM(NVL(a.BYTES,0)))/b.BYTES*100,1,5) 使用率
FROM
    SYS.DBA_FREE_SPACE a
INNER JOIN
    SYS.DBA_DATA_FILES b
ON 
    a.FILE_ID = b.FILE_ID
GROUP BY 
    b.TABLESPACE_NAME,b.FILE_NAME,b.BYTES
ORDER BY SUBSTR((b.BYTES-SUM(NVL(a.BYTES,0)))/b.BYTES*100,1,5) DESC;

#表空间维度
SELECT 
    b.TABLESPACE_NAME,
    SUBSTR(b.BYTES/1024/1024/1024,1,5) 总大小G,
    SUBSTR((b.BYTES-SUM(NVL(a.BYTES,0)))/1024/1024/1024,1,5) 已使用G,
    SUBSTR((b.BYTES-SUM(NVL(a.BYTES,0)))/b.BYTES*100,1,5) 使用率
FROM
    SYS.DBA_FREE_SPACE a
INNER JOIN
    SYS.DBA_DATA_FILES b
ON 
    a.FILE_ID = b.FILE_ID
GROUP BY
    SUBSTR((b.BYTES-SUM(NVL(a.BYTES,0)))/b.BYTES*100,1,5) DESC;

3.表空间新增数据文件

SQL 复制代码
ALTER tablespace AFP_COM_ASC
ADD DATAFILE '/oradata/ORA19/datafile/TEST_COM_SDM_FRONT_02.dbf'
SIZE 20480M
AUTOEXTEND ON NEXT 5000M;

ALTER DATABASE DATAFILE '/oradata/ORA19/datafile/TEST_COM_SDM_FRONT_01.dbf'
AUTOEXTEND ON NEXT 500M;

4.用户表空间查询

sql 复制代码
SELECT 
    DISTINCT a.TABLESPACE_NAME
FROM 
    DBA_TABLES a
LEFT JOIN DBA_TABLESPACES b ON
    a.TABLESPACE_NAME = b.TABLESPACE_NAME
WHERE
    OWNER LIKE 'AFP_%';

5.关闭表空间自增

sql 复制代码
#查看已开启自增的表空间
SELECT FILE_NAME,
       TABLESPACE_NAME,
       AUTOEXTENSIBLE,
       'ALTER DATABASE DATAFILE '''||FILE_NAME||''' AUTOEXTEND OFF;',
FROM DBA_DATA_FILES
WHERE
       AUTOEXTENSIBLE ='YES'
       AND TABLESPACE_NAME LIKE 'AFP%';

#关闭表空间自增
ALTER DATABASE DATAFILE '/oradata/ORA19/datafile/TEST_COM_SDM_FRONT_01.dbf' AUTOEXTEND OFF;

6.删除oracle用户

SQL 复制代码
DROP USER YOUR_USERNAME CASCADE;
ALTER TABLESPACE YOUR_TABLESPACE_NAME SHRINK SPACE;

7.修改表中表分区的表空间

sql 复制代码
ALTER TABLE `TEST_NEW_DS.BANK_OPER` MOVE PARTITION `SYS_P1706` TABLESPACE `TEST_NEW_DS`;
相关推荐
廋到被风吹走2 小时前
【数据库】【MySQL】InnoDB外键解析:约束机制、性能影响与最佳实践
android·数据库·mysql
掘根2 小时前
【消息队列】交换机数据管理实现
网络·数据库
Logic1012 小时前
《Mysql数据库应用》 第2版 郭文明 实验6 数据库系统维护核心操作与思路解析
数据库·sql·mysql·学习笔记·计算机网络技术·形考作业·国家开放大学
AI Echoes3 小时前
构建一个LangChain RAG应用
数据库·python·langchain·prompt·agent
@nengdoudou3 小时前
KingbaseES支持 mysql 的find_in_set函数
数据库·mysql
摇滚侠4 小时前
面试实战 问题三十三 Spring 事务常用注解
数据库·spring·面试
梁萌4 小时前
保姆级的MySQL执行计划(Explain)解读
数据库·mysql·explain·执行计划
JIngJaneIL4 小时前
基于Java+ vue智慧医药系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot
+VX:Fegn08954 小时前
计算机毕业设计|基于springboot + vue图书管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
杨云龙UP5 小时前
MySQL 8.0.x InnoDB 写入链路优化:Redo Log 与 Buffer Pool 扩容与缓冲区调优实战记录-20251029
linux·运维·数据库·sql·mysql