oracle表空间

主要内容来源于<<oracle从入门到精通(视频实战版)>>

一个oracle数据库是由一个或多个表空间组成,一个表空间可以存放多个数据文件,但一个数据文件只能对应一个表空间.在创建表空间的同时必须创建数据文件,同理,创建数据文件必须指定表空间.



常见表空间:
example表空间:用于安装oracle使用示例数据库.
sysaux表空间:作为example的辅助表空间.
system表空间:用来存储sys用户的表,视图以及存储过程等数据库对象.
temp表空间:存储sql语名处理的表和索引的信息.
undotbs1表空间:存储撤销信息.
users表空间:存储数据库用户创建的数据库对象.
查看所有用户默认的表空间:select tablespace_name from dba_tablespaces;
查看指定用户默认的表空间:select default_tablespace from dba_users where username='SCOTT';
查看表空间文件信息:select FILE_NAME,TABLESPACE_NAME,BYTES,STATUS,ONLINE_STATUS from dba_data_files;


具体用法参考http://docs.oracle.com/cd/E11882_01/server.112/e41084.pdf
一.永久表空间管理
1.创建表空间:
SQL> create tablespace mytbs datafile '/PATH/file.dbf' size 512m;
SQL> create bigfile tablespace bigtbs datafile '/PATH/bigtbs01.dbf' size 1024M;
2.重命名表空间:
SQL> alter tablespace oldname rename to newname;
3.删除表空间:
SQL> drop tablespace mytbs INCLUDING CONTENTS and datafiles;
4.修改现有数据文件的大小
alter database datafile '' resize 15M;


移动数据文件例子:
a.设成离线状态
SQL> alter tablespace tablespace_name offline
b.可以移动文件位置
c.更新数据文件的名称.
SQL> alter tablespace tablespace_name rename datafile '/PATH/oldfilename.dbf' to '/PATH/newfilename.dbf';
d.设成在线状态
SQL> alter tablespace tablespace_name online; 


二.临时表空间管理:
1.查询临时表空间
SQL> select USERNAME,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE from dba_users where username='SCOTT'; 
2.创建临时表空间
SQL> create temporary tablespace tablespace_name tempfile '/PATH/filename.dbf' size 128M;
3.修改数据库默认临时表空间
SQL> alter database default temporary tablespace temp;
4.添加或删除临时表空间的文件
SQL> alter tablespace temp2 add tempfile '/PATH/temp02a.db' size 10M;
SQL> alter tablespace temp2 drop tempfile '/PATH/temp02a.db';
5.删除临时表空间
SQL> drop tablespace temp2 including contents and datafiles;


移动临时文件例子:
a.查询一下临时文件的存储位置
SQL> select tablespace_name,file_name from dba_temp_files; 
b.删除临时表空间文件
SQL> alter tablespace temp drop tempfile '/u01/oracle/oradata/ora11g/temp01.dbf';
c.检查
SQL> select name from v$tablespace;表空间还在
SQL> select name from v$tempfile; 没有数据文件了
d.追加新的临时文件
SQL> alter tablespace temp add tempfile '/u01/oracle/oradata/ora11g/temp02.dbf' size 100M;


三.回退表空间
作用:
a.交易的回退:没有提交的交易可以rollback
b.交易的恢复:数据库崩溃时,将磁盘的不正确数据恢复到交易前
c.读一致性:被查询的记录有事务占用,转向回滚段找改前镜像
d.闪回数据:从回滚段中构造历史数据
回滚段创建的时候是空闲的,只有事务产生时候才会产生数据。


创建UNDO表空间:
SQL> create undo tablespace undo2 datafile '/u01/oracle/oradata/ora11g/undo02.dbf' size 50M;


管理模式
SQL> show parameter undo
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_management                      string      AUTO
undo_retention                       integer     900
undo_tablespace                      string      UNDOTBS1


undo_management=AUTO 回滚表空间段的段管理模式,
1.自动管理:
a.管理员只需要备足够的表空间容量,oracle会自动管理扩展回滚段的数量。
b.只能使用一个UNDO表空间
c.undo_tablespace:只有在自动管理模式下才可以使用。指明使用哪个UNDO表空间
2.手工管理.







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值