`
oolala
  • 浏览: 99586 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
09c341db-7f05-3f2b-a572-9ee69a5d8a77
unix环境高级编程
浏览量:21626
社区版块
存档分类
最新评论

oracle学习之4 管理表空间和数据文件

阅读更多

管理表空间和数据文件

   表空间是数据库的逻辑组成部分。从物理上说,数据库存放在数据文件中,从逻辑上说,数据库数据存放在表空间中(table space).表空间是由一个或多个数据文件组成。

 

1)数据库逻辑结构与物理结构

 

2)建立表空间

oracle10g开始,当数据库管理员执行create database命令建立数据库时,oracle不仅会建立system表空间,还会建立辅助表空间sysaux system表空间用于存放数据字典和system回滚段。sysaux表空间用于存放各种oracle产品和特征的信息。

Ø  建立本地管理表空间

因为本地管理表空间优于字典管理表空间。建立本地管理表空间时,不能指定

default storageminimum extent子句。

a)   使用uniform选项指定区尺寸

sql>create tablespace user01 datafile ‘D:\demo\user01.dbf’

size 2M uniform size 128K;

           执行完sql语句后会自动创建user01.dbf文件

           执行上述命令后,会建立名为user01的表空间,该表空间的空间管理方式为本地管理,区尺寸为128K

b)   使用autoallocate选项用于指定区尺寸由系统自动分配。

sql>create tablespace user02 database ‘D:\demo\user02.dbf’

size 2M autoallocate;

Ø  建立字典管理表空间

sql>create tablespace user03 datafile ‘D:\demo\users.dbf’

size 5M extent management dictionary

default storage (

    inital 20K next 20K

    minextents 2 maxextents 50

pctincrease 50);

Ø  建立大文件表空间

sql>create bigfile tablespace big_tbs

datafile ‘D:\demo\big.dbf’ size 100G;

Ø  建立UNDO表空间

sql>create undo tablespace undotbs2 datafile ‘D:\demo\undotbs2.dbf’

    size 10M;

       以上语句,建立名为undotbs2undo表空间,该表空间管理方式为本地管理,区尺寸由系统自动分配。

  

Ø  建立临时表空间

a)  建立本地管理临时表空间

sql>create temporary tablespace temp01

tempfile ‘D:\demo\temp01.dbf’ size 5M

uniform size 256K;

uniform选项指定区尺寸。

b)  建立大文件临时表空间

sql>create bigfile temporary tablespace temp02

    tempfile ‘D:\demo\temp02.dbf’size 5M;

   

 

3)维护表空间

Ø  改变表空间可用性

a)  使表空间脱机

SQL>alter tablespace tbs_8k offline;

b)  使表空间联机

SQL>alter tablespace tbs_8k online;

c)  使数据文件脱机

SQL>alter database datafile 3 offline;

d)  使数据文件联机

SQL>alter database datafile 3 online;

 

Ø  改变表空间读写状态

a)  使表空间只读

alter tablespace tbs_8k read only;

b)  使表空间可读写

alter tablespace tbs_8k read write;

 

Ø  改变表空间名称

alter tablespace tbs_8k rename to tb_7k;

 

Ø  设置默认表空间

a)  设置数据库默认表空间

oracle10g之前,建立数据库时,如果不指定default tablespace 选项,会将

system表空间作为用户默认表空间。从oracle10g开始,使用alter database

default tablespace命令可以设置数据库默认表空间。

alter database default tablespace users;

b)  设置数据库默认临时表空间

alter database default temporary tablespace temp01;

 

Ø  删除表空间

oracle9i开始,删除表空间时也可以级联删除其所拥有的所有数据文件

drop tablespace tb_8k including contents and datafiles;

 

Ø  扩展表空间

a)  增加数据文件

alter tablespace user01 add datafile

‘D:\demo\user01_2.dbf’size 10M;

b)  手工改变数据文件尺寸

alter database datafile ‘D:\demo\user01.dbf’ resize 10M;

c)  允许数据文件自动扩展

alter database datafile ‘D:\demo\user01.dbf’ autoextend on

next 10M maxsize 1G;

指定autoextend on选项后,在表空间填满时数据文件将自动扩展,从而间接的扩展了表空间

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics