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`;
相关推荐
lunz_fly199217 小时前
Oracle清理:如何安全删除trace, alert和archivelog文件?
oracle
薛定谔的算法18 小时前
phoneGPT:构建专业领域的检索增强型智能问答系统
前端·数据库·后端
Databend20 小时前
Databend 亮相 RustChinaConf 2025,分享基于 Rust 构建商业化数仓平台的探索
数据库
得物技术21 小时前
破解gh-ost变更导致MySQL表膨胀之谜|得物技术
数据库·后端·mysql
Raymond运维1 天前
MariaDB源码编译安装(二)
运维·数据库·mariadb
沢田纲吉1 天前
🗄️ MySQL 表操作全面指南
数据库·后端·mysql
RestCloud2 天前
SQL Server到Hive:批处理ETL性能提升30%的实战经验
数据库·api
RestCloud2 天前
为什么说零代码 ETL 是未来趋势?
数据库·api
ClouGence2 天前
CloudCanal + Paimon + SelectDB 从 0 到 1 构建实时湖仓
数据库
DemonAvenger2 天前
NoSQL与MySQL混合架构设计:从入门到实战的最佳实践
数据库·mysql·性能优化