oracle 表空间和数据文件管理

一、表空间和数据文件

创建表空间

可通用database_properties表查询表空间创建时的默认属性;
create [smallfile|bigfile] tablespace <> datafile <> size <> …;

设置表空间创建时默认大文件:

alter database set default bigfile tablespace;

表空间管理方法
  • a 数据字典管理表空间,DMT(9i以后逐渐被淘汰)
  • b 本地管理表空间,LMT
移植一个DMT表空间
  • 数据字典管理表空间不能直接转换本地管理表空间
  • 升级老版本数据库到新版本后,大多数表空间可以通过创建新的本地管理表空间,并移动存储对象到新表空间的方式把字典管理表空间替换掉,但是系统表空间却无法这样处理
  • 数据字典管理的系统表空间移植到本地管理的表空间的方法:
    DBMS_SPACE_ADMIN.TABLESAPCE_MIGRATE_TO_LOCAL(‘SYSTEM’);
  • 如8i(dmt) --> exp -->10g(lmt),建立表结构 --> imp,ignore=y;

表空间的状态

可以在v$datafile查看表空间状态;

状态分为四种:

online
offline
read write
read only

修改表空间状态:

alter tablespace users read only;

表空间及数据文件重命名

表空间重命名

alter tablespace users rename to userdate;
(有些表空间名称不能修改,例如system或者sysaux)

表空间文件的重命名和重定位
  1. 数据库为open状态
  • a将需要重命名数据文件的表空间离线
  • b操作系统级移动数据文件或者改名
  • c执行下面的rename命令,执行之前目标数据文件必须存在
    alter tablespace datas rename datafile ‘/u01/oradata/orcl/datas01.dbf’ to ‘/u02/oradata/orcl/datas01.dbf’;(此语句只能用于open)或者
    alter database rename file ‘/u01/oradata/orcl/datas01.dbf’ to ‘/u02/oradata/orcl/datas01.dbf’;
  • d将表空间online,online时会校验数据文件的状态是否正确
  1. 数据库为mount状态
  • a操作系统级移动数据文件或者改名
  • b执行下面的rename命令,执行之前目标数据文件必须存在
    alter database rename file ‘/u01/oradata/orcl/datas01.dbf’ to ‘/u02/oradata/orcl/datas01.dbf’;

表空间大小的改变

查询dba_data_files可以查看数据文件是否启用了自动扩展属性;
自动扩展数据文件大小对性能有一定的影响,所以更建议手动扩展文件;

启动数据文件大小的自动扩展:

alter database datafile ‘/u01/oradata/orcl/datas01.dbf’ autoextend on next 10m maxsize 500m;
或者
alter database datafile 5 autoextend on next 10m maxsize 500m;

手动改变数据文件大小:

alter database datafile ‘/u01/oradata/orcl/datas01.dbf’ resize 200m;
或者
alter database datafile 5 resize 200m;

为表空间增加数据文件:

alter tablespace users add datafile ‘/u01/oradata/orcl/datas01.dbf’ size 100m autoextend on;

删除表空间

drop tablespace datas includin contents and datafile;
includin contents用于删除表空间的同时删除表空间上的所有段;
includin contents and datafile 删除表空间、数据文件以及表空间上段的信息,同时删除操作系统中的数据文件;

获取表空间和数据文件信息

表空间信息:

v$tablespace
dba_tablespace

数据文件信息:

v$datafile
dab_data_files

临时数据文件信息:

v$tempfile
dba_temp_files

二、系统表空间system

待补充

三、系统辅助表空间sysaux

待补充

四、回滚段表空间undo

待补充

五、用户表空间users

查询系统默认表空间:

database_properties;

修改系统默认表空间:

alter database default tablespace users;

查询用户默认表空间:

dba_users;

六、临时表空间temp

查询默认临时表空间:

database_properties;

修改默认临时表空间:

alter database default temporary tablespace temp1;

查询临时表空间:

v$tempfile;
dba_temp_files;

建立temp表空间:

create temporary tablespace temp1 tempfile ‘/u01/oradata/orcl/temp1.dbf’ siz 100m;

查询临时表空间组:

dba_tablespace_groups;

建立temp表空间组:

create temporary tablespace temp1 tempfile ‘/u01/oradata/orcl/temp1.dbf’ siz 100m tablespace group temp11;

临时temp表空间组添加成员:

alter tablespace temp2 tablespace group temp11;

删除temp表空间组成员:

drop all temp tablespace in the tablespace group tempname;

为用户指定临时表空间:

alter user scott temporary tablespace temp11;

临时表空间丢失损坏空间不足:

添加新的,指定默认的,删除旧的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值