管理表空间和数据文件
1.表空间:是数据的逻辑组成部分.从物理上讲,数据库数据粗放在数据文件中;
从逻辑上讲,数据库则是存放在表空间中,表空间由一个或是多个数据文件
组成!
2.oracle中的逻辑结构包括表空间,段,区和块;
表空间由区构成,段由区构成,区又是由块组成
3.表空间的作用:
a).控制数据库占用的磁盘空间
b).dba可以将不同的数据类型部署到不同的位置,这样有利于提高i/o性能,
同时利于备份和恢复等管理操作
4.建立数据库表空间(一般是dba权限下):
如:create tablespace data01 datafile 'd:\data01.dbf'size 20m
uniform size 128k
说明一下上面的代码:执行完上述命令后,会建立名称为data01的表空间,
并为该表空间建立名称为data01.dbf的数据文件,表空间大小为20m;
区的大小为128k
5.使用数据库表空间(在数据库里面创建表):
如:create table mypart(dept number(4)) tablespace data01;
6.改变表空间的状态:(一般是dba权限下)
a).使表空间脱机:
alter tablespace 表空间名 offline
b).使表空间联机:
alter tablespace 表空间名 online;
c)设置只读表空间(只可以对表select)
alter tablespace 表空间名 read only
d)设置可读写表空间(可以对表进行增删改查的操作)
alter tablespace 表空间名 write
7.扩展表空间(三种常用方法)
a)增加数据文件(如:文件1 文件2 文件3 等等)
如:alter tablespace sp01 add datafile 'd:\sp01.dbf' size 20m
b)增加数据文件的大小:
如:alter tablespace datafile 'd:\sp01.dbf' resize 20m;
这里需要注意的是数据文件的大小不要超过500m
c)设置文件自动增长:
如:alter tablespace datafile 'd:\sp01.dbf' autoextend on next 10m
maxsize 500m;(不能小于10m,但是不能大于500m)
8.移动数据文件:
以sp01dbf为例来说明:
1).确定数据文件所在的表空间:
select tablespace_name from dba_data_files where file_name
='d:\sp001.dbf';
2)使表空间脱机:
确保数据文件的一致性,将表空间转变为offline的状态
alter tablespace sp01 offline
3.)使用命令移动数据文件到指定的目标位置:
host move d:\sp01.dbf c:\sp01.dbf
4)执行alter tablespace 命令:
alter tablespace sp01 rename datafile 'd:\sp001.dbf' to
'c:\sp001.dbf';
5)使表空间联机:
alter tablespace sp01 online;
9.显示表空间的信息:
select 表空间名 from dba_tablespace;
10.显示表空间所包含的数据文件:
select tablespace_name,table_name from user_tables where table_name='EMP';
1.表空间:是数据的逻辑组成部分.从物理上讲,数据库数据粗放在数据文件中;
从逻辑上讲,数据库则是存放在表空间中,表空间由一个或是多个数据文件
组成!
2.oracle中的逻辑结构包括表空间,段,区和块;
表空间由区构成,段由区构成,区又是由块组成
3.表空间的作用:
a).控制数据库占用的磁盘空间
b).dba可以将不同的数据类型部署到不同的位置,这样有利于提高i/o性能,
同时利于备份和恢复等管理操作
4.建立数据库表空间(一般是dba权限下):
如:create tablespace data01 datafile 'd:\data01.dbf'size 20m
uniform size 128k
说明一下上面的代码:执行完上述命令后,会建立名称为data01的表空间,
并为该表空间建立名称为data01.dbf的数据文件,表空间大小为20m;
区的大小为128k
5.使用数据库表空间(在数据库里面创建表):
如:create table mypart(dept number(4)) tablespace data01;
6.改变表空间的状态:(一般是dba权限下)
a).使表空间脱机:
alter tablespace 表空间名 offline
b).使表空间联机:
alter tablespace 表空间名 online;
c)设置只读表空间(只可以对表select)
alter tablespace 表空间名 read only
d)设置可读写表空间(可以对表进行增删改查的操作)
alter tablespace 表空间名 write
7.扩展表空间(三种常用方法)
a)增加数据文件(如:文件1 文件2 文件3 等等)
如:alter tablespace sp01 add datafile 'd:\sp01.dbf' size 20m
b)增加数据文件的大小:
如:alter tablespace datafile 'd:\sp01.dbf' resize 20m;
这里需要注意的是数据文件的大小不要超过500m
c)设置文件自动增长:
如:alter tablespace datafile 'd:\sp01.dbf' autoextend on next 10m
maxsize 500m;(不能小于10m,但是不能大于500m)
8.移动数据文件:
以sp01dbf为例来说明:
1).确定数据文件所在的表空间:
select tablespace_name from dba_data_files where file_name
='d:\sp001.dbf';
2)使表空间脱机:
确保数据文件的一致性,将表空间转变为offline的状态
alter tablespace sp01 offline
3.)使用命令移动数据文件到指定的目标位置:
host move d:\sp01.dbf c:\sp01.dbf
4)执行alter tablespace 命令:
alter tablespace sp01 rename datafile 'd:\sp001.dbf' to
'c:\sp001.dbf';
5)使表空间联机:
alter tablespace sp01 online;
9.显示表空间的信息:
select 表空间名 from dba_tablespace;
10.显示表空间所包含的数据文件:
select tablespace_name,table_name from user_tables where table_name='EMP';