您的位置:首页 > 运维架构

表空间和数据文件基本维护

2012-05-29 14:51 281 查看
一些基本概念:

一个表空间在某一时刻只能属于一个数据库;

除了 SYSTEM 表空间或者有活动回退段的表空间,其它表空间可以脱机;

表空间可以在可读写和只读状态之间切换;

一个数据文件只能属于一个表空间;

段无法跨越表空间,但是段可以跨越属于同一表空间的多个数据文件;

一个区可能不跨越数据文件;必须存在于一个数据文件内;

对应oracle来说,表空间主要分为系统表空间(system)和其他非系统表空间,或者说分为重要表空间和不重要表空间;有人就要说了,我在XXX表空间存放在我的业务数据呢,怎么能这么分呢?但是oracle就是这么分,因为只要保证system表空间的存在,数据库就可以运行。

一些命令:

创建表空间

create tablespace mytb1 datafile '/u01/oradata/mytb01.dfb' SIZE 10M AUTOEXTEND ON NEXT 5M MAXSIZE 1024M;

create tablespace mytb1 datafile '/u01/oradata/mytb01.dfb' SIZE 10M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED;

create tablespace mytb1 datafile '/u01/oracle/9i/oradata/gt9i/mytb01.dbf' size 10m autoextend off,'/u01/oracle/9i/oradata/gt9i/mytb02.dbf' size 10m autoextend off;

CREATE TEMPORARY TABLESPACE mytbtmp1 TEMPFILE '/u01/oradata/mytbtmp1.dfb' SIZE 10M AUTOEXTEND ON NEXT 5M MAXSIZE 10240M;

CREATE undo TABLESPACE mytbtmp1 TEMPFILE '/u01/oradata/mytbtmp1.dfb' SIZE 10M AUTOEXTEND ON NEXT 5M MAXSIZE 10240M;

关于临时表空间

无法设置只读

无法rename

始终是nologging

不会备份

不会恢复

使表空间脱机

alter tablespace mytb1 offline;--注意有4个选项,默认normal,TEMPORARY|IMMEDIATE|FOR RECOVER

使表空间联机

alter tablespace mytb1 online;

使表空间只读

alter tablespace mytb1 read only;

使表空间读写

alter tablespace mytb1 read write;

增加数据文件

alter tablespace mytb1 add datafile '/u01/oracle/9i/oradata/gt9i/mytb01.dbf' size 10m;

调整数据文件大小

alter tablespace mytb1 datafile '/u01/oracle/9i/oradata/gt9i/mytb01.dbf' resize 10m;

移动数据文件

alter tablespace mytb1 rename datafile '/u01/oracle/9i/oradata/gt9i/mytb01.dbf' to '/u01/oracle/9i/oradata/gt9i/mytb02.dbf';

数据库层面移动数据文件

alter database rename file '/u01/oracle/9i/oradata/gt9i/mytb01.dbf' to '/u01/oracle/9i/oradata/gt9i/mytb02.dbf';

删除表空间

drop tablespace mytb1 including contents and datafiles;

DROP TABLESPACE mytb1 INCLUDING CONTENTS CASCADE CONSTRAINTS;

-The End-
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐