表空间是数据库的逻辑组成部分,从物理上讲,数据库数据存放在数据文件中;从逻辑上讲,数据库则是存放在表空间中,表空间由一个或多个数据文件组成。
1.oracle中逻辑结构包括表空间,段,区和块
2.create tablespace data01 datafile 'd:\test\data01.dbf'
size 20m uniform size 128k;
3.建在其他的表空间
create table mypart
(
deptno number(4),
XXXX XXX
)
tablespace data01;
4. 该表表空间的状态
(1)使表空间脱机
alter tablespace 表空间名 offline;
(2)使表空间联接
alter tablespace 表空间名 online;
(3)只读表空间
alter tablespace 表空间名 read only
(4)可读可写表空间
alter tablespace 表空间名 read write
查询某表空间下的所有表名
select * from all_tables where tablespace_name='表空间名'
查询某个表在那个表空间中
select tablespace_name,table_name from user_tables where
table_name='EMP';
删除表空间
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;
扩展表空间
1.增加数据文件
ALTER TABLESPACE game
ADD DATAFILE '/oracle/oradata/db/GAME02.dbf' SIZE 1000M;
2.手动增加数据文件尺寸
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf'
RESIZE 4000M;
3.设定数据文件自动扩展
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf
AUTOEXTEND ON NEXT 100M MAXSIZE 10000M;
设定后查看表空间信息
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"
FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;
移动数据文件
1.确定数据文件所在的表空间
select tablespace_name from dba_data_files where
file_name='d:/sp001';
2.使表空间脱机
sql>alter tablespace sp001 offline,
3.使用命令移动数据文件到指定目标位置
sql>host move d:/sp001.dbf c:/sp001.dbf
4.移动数据文件
sql>alter tablespace sp001 rename datafile
'd:/sp001.dbf' to 'c:/sp001.dbf';
5.使表空间练级
sql>alter tablespace sp001 online
其他表空间
除了最常用的数据表空间外
(1)索引表空间
(2)undo表空间
(3)临时表空间
(4)非标准块表空间
1.oracle中逻辑结构包括表空间,段,区和块
2.create tablespace data01 datafile 'd:\test\data01.dbf'
size 20m uniform size 128k;
3.建在其他的表空间
create table mypart
(
deptno number(4),
XXXX XXX
)
tablespace data01;
4. 该表表空间的状态
(1)使表空间脱机
alter tablespace 表空间名 offline;
(2)使表空间联接
alter tablespace 表空间名 online;
(3)只读表空间
alter tablespace 表空间名 read only
(4)可读可写表空间
alter tablespace 表空间名 read write
查询某表空间下的所有表名
select * from all_tables where tablespace_name='表空间名'
查询某个表在那个表空间中
select tablespace_name,table_name from user_tables where
table_name='EMP';
删除表空间
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;
扩展表空间
1.增加数据文件
ALTER TABLESPACE game
ADD DATAFILE '/oracle/oradata/db/GAME02.dbf' SIZE 1000M;
2.手动增加数据文件尺寸
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf'
RESIZE 4000M;
3.设定数据文件自动扩展
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf
AUTOEXTEND ON NEXT 100M MAXSIZE 10000M;
设定后查看表空间信息
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"
FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME;
移动数据文件
1.确定数据文件所在的表空间
select tablespace_name from dba_data_files where
file_name='d:/sp001';
2.使表空间脱机
sql>alter tablespace sp001 offline,
3.使用命令移动数据文件到指定目标位置
sql>host move d:/sp001.dbf c:/sp001.dbf
4.移动数据文件
sql>alter tablespace sp001 rename datafile
'd:/sp001.dbf' to 'c:/sp001.dbf';
5.使表空间练级
sql>alter tablespace sp001 online
其他表空间
除了最常用的数据表空间外
(1)索引表空间
(2)undo表空间
(3)临时表空间
(4)非标准块表空间