oracle数据库的逻辑结构

来源:互联网 发布:淘宝刷好评兼职要会费 编辑:程序博客网 时间:2024/06/05 14:30
本文内容摘自《收获,不止Oracle》,这确实是一本好书啊。看了好久我才意识到,书中脚本中的 "LJB" ,原来是作者“梁敬彬”的拼音缩写啊。哈哈。。。。。

oracle的体系逻辑结构

          oracle 数据库的逻辑结构是:
(1)表空间(TABLESPACE) ,包括:系统表空间回滚段表空间临时表空间用户表空间(除用户表空间外其他三张表空间有各自特定的用途,不可随意更改和破坏)
在建表时,可以指定表空间,例如: create table t(id int)  tablespace  tbs_test;

建各类表空间的方法:
① 普通数据表空间
create tablespace TBS_LJB(表空间名)
datafile  'E:\ORADATA\ORA11\DATAFILE\TBS_LJB_01.DBF'(数据文件全路径)      size 100M(大小
extent management local        --(这两句,在oracle 10g及以上版本,可以取消)
segment space management auto;

临时表空间
CREATE TEMPORARY TABLESPACE  temp_ljb
TEMPFILE  'E:\ORADATA\ORA11\DATAFILE\TMP_LJB.DBF'   SIZE 100M;

回滚段表空间
create undo tablespace undotbs2
datafile  'E:\ORADATA\ORA11\DATAFILE\UNDOTBS2.DBF'  size  100M;


补充:
1、建用户,并将先前建的表空间 tbs_ljb 和临时表空间 temp_ljb 作为 ljb 用户的默认使用空间。
create user ljb
identified by ljb
default tablespace tbs_ljb
temporary tablespace temp_ljb;
-- 赋给ljb dba权限
grant dba to ljb;

2、如果表空间不足,可以有两种方法:
第一种,增加数据文件:
    ALTER  TABLESPACE TBS_LJB(表空间名)  ADD DATAFILE  '......'(数据文件全路径名)  SIZE 100M;

第二种,把表空间设置为自动扩展:
ALTER DATABASE DATAFILE   '.......'(数据文件全路径名)   autoextend on;  (在创建表空间时,就可以加上这个关键字,表示该表空间自动扩展)

3、删除表空间
drop  tablespace  TBS_LJB 
including contents and datafile; 

如果表空间有数据,不增加 including contents 将无法删除成功,增加 and datafiles 关键字在linux 及 unix 下可自动删除数据文件,而在windows 环境下需要手动删除

4、UNDO 表空间和 TEMP 表空间在数据库建好是必然已经创建好了,不过,它们都可以新建,并且用户都可以指定新建的空间。

5、oracle 可以为不同的用户指定不同的临时表空间,而且可以为同一用户的不同session 设置不同的临时表空间(临时表空间组),从而减缓IO 竞争。



(2)段(SEGMENT)
每建立一张表,往往对应一个段,如果是分区表,那么各个分区又独立成段。在表上建一个索引,则又会有一个对应的索引段。
(3)区(EXTENT)
oracle 分配空间的最小单位
(4)块(BLOCK)
oracle 的最小逻辑数据单位

           
        
0 0