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`;
相关推荐
松涛和鸣42 分钟前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
likangbinlxa1 小时前
【Oracle11g SQL详解】UPDATE 和 DELETE 操作的正确使用
数据库·sql
r i c k1 小时前
数据库系统学习笔记
数据库·笔记·学习
野犬寒鸦2 小时前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
IvorySQL2 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·3 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
IT邦德3 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫3 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i3 小时前
完全卸载MariaDB
数据库·mariadb
纤纡.3 小时前
Linux中SQL 从基础到进阶:五大分类详解与表结构操作(ALTER/DROP)全攻略
linux·数据库·sql