Oracle:创建,修改,删除表空间

一,表空间建立

#创建本地管理表空间 
     create tablespace SSQ
     datafile 'G:\SSQ.dbf' size 50m
     extent management local autoallocate;//自动分配区间


     create tablespace SSQ
     datafile 'G:\SSQ.dbf' size 50m
     extent management local uniform size 128k;//设置最小区间为128k
#区别
    使用本地化的扩展功能,可避免发生重复的空间管理操作
    本地化管理的自动扩展能够跟踪临近的自由空间,可消除结合自由空间的麻烦
#创建大文件表空间
    create bigfile tablespace SSQ
    datafile 'G:\SSQ.dbf' size 1g;
#区别
    大文件表空间是为超大型数据库所设计的,但只有一个数据文件。
#创建自动段管理方式的表空间
     create tablespace SSQ
     datafile 'G:\SSQ.dbf' size 30m
     extent management local autoallocate
     segment space management auto;
#创建手动段管理方式的表空间
     create tablespace SSQ
     datafile 'G:\SSQ.dbf' size 30m
     extent management local autoallocate
     segment space management manual;
#区别
    手动管理是为了向后兼容而保留的
    自动管理具有更好的性能
    自动段管理不能用于创建临时表空间和系统表空间
    Oracle推荐使用自动段空间管理方式管理永久表空间
#创建临时表空间
    create temporary tablespace SSQ
    tempfile 'G:\SSQ.dbf'
    size 20m reuse
    extent management local uniform size 16m;
#区别
    是一个磁盘空间,主要用于内存排序区不足而必须将数据写到磁盘
    其中的临时段是由数据库根据需要创建,管理和删除的
    主要用于Select distinct查询,union联合查询,minus计算,analyze分析

二,表空间的操作

#重命名表空间
    alter tablespace SSQ rename to SSQQ;
#向本地管理表中增加数据文件
    alter tablespace SSQQ
    add datafile 'G:\SSS.dbf' size 10m;
#修改大文件表空间属性
    alter tablespace SSQ resize 4g;
#向临时表空间中添加临时文件
    alter tablespace SSQ
    add tempfile 'G:\ss.dbf' size 20m;
#修改表空间为联机状态
    alter tablespace SSQQ online;
#修改表空间为脱机状态
    alter tablespace SSQQ offline;
#查看表空间的状态
    select Tablespace_name,contents,status from dba_tablespaces;
#设置表空间为只读表空间
    alter tablespace SSQQ Read ONLY;
#设置表空间为只写表空间
    alter tablespace SSQQ Write ONLY;
#设置表空间为读写表空间
    alter tablespace SSQQ Read Write;

三,表空间的删除

#删除表空间
    drop tablespace SSQ;
#删除表空间的同时删除其中的段
    drop tablespace SSQ including contents;
#删除表空间,其中的段以及数据文件
    drop tablespace SSQ including contents and datafiles;

猜你喜欢

转载自blog.csdn.net/qq_42192693/article/details/88972217
今日推荐