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`;
相关推荐
技术砖家--Felix5 分钟前
Spring Boot数据访问篇:整合MyBatis操作数据库
数据库·spring boot·mybatis
银河技术12 分钟前
Redis 限流最佳实践:令牌桶与滑动窗口全流程实现
数据库·redis·缓存
小白考证进阶中29 分钟前
如何拿到Oracle OCP(Oracle 19c)?
数据库·oracle·dba·开闭原则·ocp认证·oracle认证·oracleocp
IAR Systems1 小时前
使用J-Link Attach NXP S32K3导致对应RAM区域被初始化成0xDEADBEEF
arm开发·数据库·嵌入式软件开发·iar
RestCloud1 小时前
OceanBase 分布式数据库的 ETL 实践:从抽取到实时分析
数据库·分布式·postgresql·oceanbase·etl·数据处理·数据同步
码顺1 小时前
记录一次Oracle日志listener.log文件大小超过4G后出现Tomcat服务启动一直报错的原因【ORACLE】
数据库·oracle·tomcat
一只小透明啊啊啊啊2 小时前
SQL 查询语句的子句的执行顺序
数据库·sql
一条懒鱼6662 小时前
Redis主从复制
数据库·redis·缓存
间彧2 小时前
MySQL优化指南:慢查询分析工具 pt-query-digest
数据库