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;

 

转载于:https://www.cnblogs.com/kingle-study/p/10429960.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学好Oracle的六条总结 1、如果有一定的数据库基础,知道SQL是怎么回事,即使写不出来简单的SQL, 但可以看懂它们,你就可以跳到2。否则请先学习一下数据库基础和SQL语言, 不需要很深,更不需要去记忆那些复杂的SQL命令,这些可以留在以后边应用 边学习、记忆。2 、要想学好ORACLE,首先要学习ORACLE的体系结构,现在你不需要深入 理解它们,但要分清几个关键的概念: instance (实例)、数据文件、日志文件、参数文件、数据文件与表空间的关系 3、2是有关ORACLE的一些基本概念,下面要学习的是一些简单的的实际操作 ,就是如何去管理ORACLE数据库,当然不是管理全部的ORACLE。在此过程 中你将对SQL和ORACLE体系结构有个更深入的了解。 4、到了这一步你基本上算是初步掌握了ORACLE,下面将要根据你的方向来具 体学习其它的ORACLE知识了。如果你是开发人员,则需要更多地去学习 PL/SQL以及DEVELOPER,而这将是一门新的课程。如果你是一名DBA, 请继续。 5、可以根据自己的实际情况,进行有选择的学习,也就是说下面的内 没有特别顺序要求。可以选择深入学习ORACLE的管理、备份与恢复、性能 调整、网络等。当然在学习这些知识的过程中,如果有实际的工作更好,这样 可以在实际中成长,学会TROUBLE SHOOTING 目录 1.1 数据库基本知识 1.2 关系数据库 1.3 数据库设计基础 1.4 SQL基本命令 1.5 Oracle简介 1.6 启动和关闭Oracle 1.7 Oracle 命令复习
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值