• Oracle数据库之表空间(一)_常用操作


    1 查看数据库中存在的表空间

    select t.TABLESPACE_NAME from dba_tablespaces t;

    2 创建表空间

    1. create tablespace mmis_dbs
    2. datafile 'D:\oracle\product\10.2.0\mmis_dbs.dbf' size 1024M --存储地址 初始大小1G
    3. autoextend on next 100M maxsize unlimited --每次扩展100M,无限制扩展
    4. EXTENT MANAGEMENT local autoallocate --本地管理方式,区分配方式为自动分配
    5. segment space management auto; --空间自动管理

    3 查看表空间存储参数

    1. select
    2. T.TABLESPACE_NAME, --表空间名称
    3. T.INITIAL_EXTENT,-- 表空间初始大小
    4. T.NEXT_EXTENT, -- 下一分区大小
    5. T.MIN_EXTENTS,--分区数量
    6. T.MAX_EXTENTS -- 最大分区数量
    7. from DBA_TABLESPACES T;

    4 查看表空间使用情况

    1. select
    2. T1.FILE_ID as 文件ID,
    3. T1.FILE_NAME as 文件名称,
    4. T1.TABLESPACE_NAME as 表空间名称,
    5. T1.BYTES/1024/1024 as 表空间总大小M,
    6. (T1.BYTES-SUM(NVL(T.BYTES,0)))/1024/1024 as 表空间已使用大小,
    7. sum(nvl(T.BYTES,0))/1024/1024 as 表空间剩余大小,
    8. sum(nvl(T.BYTES,0))/(T1.BYTES)*100 as 表空间剩余百分比,
    9. (100-(SUM(NVL(T.BYTES,0))/(T1.BYTES)*100)) as 表空间已使用百分比
    10. from dba_free_space T,dba_data_files T1
    11. where T.FILE_ID=T1.FILE_ID
    12. group by T1.TABLESPACE_NAME,T1.FILE_NAME,T1.FILE_ID,T1.BYTES
    13. ORDER BY T1.TABLESPACE_NAME;

    5 扩展表空间

    • 手动增加表空间数据文件大小,ALTER DATABASE DATAFILE '数据文件路径'  RESIZE '设置大小' 
    ALTER DATABASE DATAFILE 'F:\APP\ORADATA\TABLESPACE\MMIS_DBS.DBF' RESIZE '1024M';
    •  将表空间数据文件设置为自动扩展    ALTER DATABASE DATAFILE   '指定数据文件路径'    AUTOEXTEND ON NEXT  '指定每次自动扩展大小'   MAXIMIZE '指定最大可扩展数量'
    1. ALTER DATABASE DATAFILE 'F:\APP\ORADATA\TABLESPACE\MMIS_DBS.DBF'
    2. AUTOEXTEND ON NEXT 500M MAXIMIZE 2048M;
    • 增加表空间数据文件: ALTER DATABASE 表空间名称  ‘增加的表空间文件路径 ’ SIZE '指定文件大小'

    1. ALTER DATABASE MMIS_DBS
    2. add DATAFILE 'F:\APP\ORADATA\TABLESPACE\MMIS_DBS01.DBF' SIZE '10240M';

    6 收缩表空间

          ALTER DATABASE DATAFILE '表空间文件路径' resize '收缩大小M'

     第一步: :查看表空间使用情况

    1. select
    2. T1.FILE_ID as 文件ID,
    3. T1.FILE_NAME as 文件名称,
    4. T1.TABLESPACE_NAME as 表空间名称,
    5. T1.BYTES/1024/1024 as 表空间总大小M,
    6. (T1.BYTES-SUM(NVL(T.BYTES,0)))/1024/1024 as 表空间已使用大小,
    7. sum(nvl(T.BYTES,0))/1024/1024 as 表空间剩余大小,
    8. sum(nvl(T.BYTES,0))/(T1.BYTES)*100 as 表空间剩余百分比,
    9. (100-(SUM(NVL(T.BYTES,0))/(T1.BYTES)*100)) as 表空间已使用百分比
    10. from dba_free_space T,dba_data_files T1
    11. where T.FILE_ID=T1.FILE_ID
    12. group by T1.TABLESPACE_NAME,T1.FILE_NAME,T1.FILE_ID,T1.BYTES
    13. ORDER BY T1.TABLESPACE_NAME;

    第二步:收缩表空间:ALTER DATABASE DATAFILE '表空间文件路径' resize  重置大小M

    ALTER DATABASE DATAFILE 'F:\APP\ORADATA\TABLESPACE\MMIS_DBS.DBF' RESIZE 32500M;
    

    第三步:查看收缩后的表空间,是否收缩成功

    7 删除表空间

            including contents and datafiles:表空间内容及文件
            cascade constraints :参照完整性约束

    1. drop tablespace MMIS_DBS
    2. including contents and datafiles
    3. cascade constraints;

    8  查看指定表空间的数据文件列表

    select file_name from dba_data_files where tablespace_name='MMIS_DBS';
    

    9 设置表空间在线

    alter tablespace MMIS_DBS online;

    10  设置表空间离线 

    alter tablespace MMIS_DBS offline;

    11  重命名表空间

    alter tablespace MMIS_DBS rename to MMIS_DBS01;

  • 相关阅读:
    文盘 Rust -- tokio 绑定 cpu 实践
    C++函数如何具有多个返回值?
    Ardupilot — AP_OpticalFlow代码梳理
    python>>numpy(第二讲)
    【毕业设计】深度学习交通车辆流量分析 - 目标检测与跟踪 - python opencv
    从零开始利用MATLAB进行FPGA设计(七)用ADC采集信号教程2
    git配置
    亚马逊重大更新,底层卖家的机会来了(干货)
    转以太网通过CHNet-S7200在纺机设备控制系统联网中的应用
    Uniapp连接iBeacon设备——实现无线定位与互动体验(实现篇)
  • 原文地址:https://blog.csdn.net/Calvex880714/article/details/133235072