zoukankan      html  css  js  c++  java
  • oracle 基础知识(二)-表空间

    一,表空间

      01,表空间?

      Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。有了数据库,就可以创建表空间。表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作SYSTEM表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:USER表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。

      02,语法

    创建表空间语法:
    
    Create TableSpace 表空间名称  
    DataFile          表空间数据文件路径  
    Size              表空间初始大小  
    Autoextend on

      03,表空间类型

    Oracle 11g默认的表空间有六个:

    表空间

    说明

    EXAMPLE

    如果安装时选择"实例方案",则此表空间存放各样例的数据

    SYSTEM

    存放数据字典,包括表、视图、存储过程的定义等

    SYSAUX

    SYSTEM表空间的辅助空间。主要用于存储除数据字典外的其他的数据对象,这样可以减少SYSTEM表空间的负荷

    TEMP

    存放SQL语句处理的表和索引的信息,比如数据排序就占用此空间

    UNDOTBLS1

    存放撤销数据的表空间

    USERS

    通常用于存放应用系统所使用的数据对象

      04,表空间创建实例

          - 创建大小为50mb的永久表空间TEST01,禁止自动扩展数据文件

           

    1 create tablespace TEST01
    2     logging
    3     datafile '/oradata/TEST01.dbf' size 50m
    4     reuse autoextend off;
    View Code

                -- 创建永久表空间TEST02,允许自动扩展数据文件,本地管理方式

            

    1 create tablespace TEST02
    2     logging
    3     datafile '/oradata/TEST02.dbf'  size 50m
    4     reuse autoextend on next 10m maxsize 200m
    5     extent management local;
    View Code

          当然想要查看也是没问题的  

    1 SELECT tablespace_name,
    2 file_id,
    3 file_name,
    4 round(bytes / (1024 * 1024), 0) total_space
    5 FROM dba_data_files
    6 ORDER BY tablespace_name;

          特定的:

    select TABLESPACE_NAME,FILE_NAME from dba_data_files where TABLESPACE_NAME='TEST01';

          -- 创建永久表空间TEST03,允许自动扩展数据文件,本地管理方式,区分配方式为自动分配

          

    1 create tablespace TEST03
    2     logging
    3     datafile'/oradata/TEST03.dbf' size 50m
    4     reuse autoextend on next 10m maxsize 200m
    5     extent management local autoallocate;
    View Code

          -- 创建永久表空间TEST04,允许自动扩展数据文件,本地管理方式,区分配方式为定制分配

    1 create tablespace TEST04
    2     logging
    3     datafile'/oradata/TEST04.dbf' size 50m
    4     reuse autoextend on next 10m maxsize 200m
    5     extent management local uniform size 10m;
    View Code

                     -- 创建永久表空间TEST05,允许自动扩展数据文件,本地管理方式,区分配方式为自动分配,段管理方式为自动管理

          

    1 create tablespace test05
    2     logging
    3     datafile'/oradata/TEST05.dbf' size 50m
    4     reuse autoextend on next 10m maxsize 200M
    5     extent management local autoallocate
    6     segment space management auto;
    View Code

          -- 创建永久表空间TEST06,允许自动扩展数据文件,本地管理方式,区分配方式为定制分配,段管理方式为手动管理

          

    1 create tablespace test06
    2     logging
    3     datafile'/oradata/TEST06.dbf' size 50m
    4     reuse autoextend on next 10m maxsize 200M
    5     extent management local uniform size 10m
    6     segment space management manual;
    View Code

       

      05,临时表空间     

          --创建临时表空间,为了避免临时空间频繁分配与回收时产生大量碎片,临时表空间的区只能采用自动分配方式   

    1 create temporary tablespace test07
    2     tempfile '/oradata/TEST07.dbf' size 20M;
    View Code

          

      06,创建undo表空间 

          

    create undo tablespace test08
        datafile'/oradata/TEST08.dbf' size 20M;
    

      07,管理表空间

    --首先把该表空间设置为脱机状态

    alter tablespace TEST03 offline normal;

    -- 手动创建TEST03文件夹,并且复制TEST03.dbf到TEST03文件夹,重命名为TEST03_1.dbf

    alter tablespace TEST03 rename datafile

        '/oradata/TEST03.dbf'

        to

        '/oradata/TEST03/TEST03_1.dbf';

    --最后把该表空间设置为联机状态

    alter tablespace TEST03 online;

      08,删除表空间

        删除表空间及对应的 数据文件

    1 drop tablespace test01 including contents and datafiles;
    View Code

      

      查看表空间使用的情况:

    1 select tablespace_name, count(*) AS extends,round(sum(bytes) / 1024 / 1024, 2) AS MB,sum(blocks) AS blocks from dba_free_space group BY tablespace_name;
    View Code

      09,表空间扩容

    第一种方式:表空间增加数据文件

    alter tablespace test02 add datafile '/oradata/test02_2.DBF' size 30M; 
    

    第二种方式:表空间增加数据文件,设置自增长,限制最大值 

    alter tablespace test02 add datafile '/oradata/test02_3.DBF' size 50M autoextend on maxsize 3072M; 
    

    第三种方式:已存在表空间数据文件设置自增长 

    alter database  datafile  '/oradata/TEST02.dbf' autoextend on maxsize 3072M; 
    

    第四种方式:已存在表空间数据文件重新设置大小 

    alter database datafile '/oradata/test02_3.DBF' resize 80M;
    
  • 相关阅读:
    Windows phone 应用开发[9]单元测试
    Git Tool Part 2
    Windows phone 应用开发[6]Managed Extensibility Framework应用程序扩展
    也谈存储过程分页
    上传图像到sqlserver
    这两段代码是不同的
    TextBox中的TextChanged和KeyDown事件的小区别
    发现发现返回一条记录的datareader的新用法
    最近好多疑问啊!高手给点意见吧!
    csdn论坛去不了,只有在这里问了
  • 原文地址:https://www.cnblogs.com/kingle-study/p/10429960.html
Copyright © 2011-2022 走看看