oracle表空间操作详解

表空间是数据库的逻辑组成部分,从物理上讲,数据库数据存放在数据文件中;从逻辑上讲,数据库则是存放在表空间中,表空间由一个或多个数据文件组成。

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)非标准块表空间
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值