数据文件的操作

-------------
(1)创建表空间
create smallfile tablespace "NEWS"
datafile 'd:\...dbf'
size 100m autoextend on next 10m maxsize 200m
logging
extent management local    [uniform size 160m|autoallocate]
segment space managment auto
default nocompress;
(2)在新的表空间创建表,并确定第一个区间的大小
select extent_id,bytes from dba_extents where owner='SYSTEM' and segment_name='TABLE24';
(3)手动添加区间,并通过重复执行以下命令来观察每个新区间的大小
alter table table24 allocate extent;
(4)将字典管理的表空间转换为本地管理
execute dbms_space_admin.tablespace_migragte_to_local('tablespacename');
(5)将对象移动到新表空间
alter table emp move tablespace sales;
alter index emp_index rebulid online tablespace sales;
 1.create tablespace test datafile '/u01/app/oracle/mnt/orcl11g/test.dbf' size 1m ;
 2.alter database datafile '/u01/app/oracle/mnt/orcl11g/test.dbf' resize 1g;(小表空间)
   alter tablespace test1 resize 10g;(大表空间)
 3.alter tablespace test datafile '/u01/app/oracle/mnt/orcl11g/test.dbf'
   autoextend on
   next 10m
   maxsize 200m;
  extent management local
  segment space management auto;
(6)重新调整表空间的大小,可添加数据文件也可以调整现有数据文件的大小
alter database datafile '/u01/app/oracle/mnt/orcl11g/test.dbf' resize 1g;
alter tablespace test add  datafile '/u01/app/oracle/mnt/orcl11g/test_02.dbf'
alter tablespace  datafile '/u01/app/oracle/mnt/orcl11g/test_02.dbf' autoextent on next 50m maxsize 3g;
(7)重命名表空间及其数据文件
alter tablespace storetabs rename to storedata;
alter tablespace storedata offline;
host rename c:\oracle\oradata\orcl11g\storetabs_01.dbf storedata_01.dba
host rename c:\oracle\oradata\orcl11g\storetabs_02.dbf storedata_02.dba
alter database rename file 'c:\oracle\oradata\orcl11g\storetabs_01.dbf' to 'c:\oracle\oradata\orcl11g\storedata_01.dbf'
alter database rename file 'c:\oracle\oradata\orcl11g\storetabs_02.dbf' to 'c:\oracle\oradata\orcl11g\storedata_02.dbf'
alter tablespace storedata online;
(8)使表空间联机或脱机
alter tablespace tablespacename offline[normal,immediate,temporary]
normal将强制实施针对所有表空间数据文件的检查点。默认方式
immediate将立即使表空间和数据文件脱机,不会转储任何脏缓存区。如果这么做,数据文件将受到损坏(可能丢失未提交的更改)在使表空间重新联机之前,必须通过应用来自重做日志变更向量进行恢复
temporary脱机将针对所有可以执行检查点操作的所有文件实施检查点,然后按顺序使表空间及文件脱机。
(9)删除表空间
drop tablespace tablespacename
如果未指定including contents 关键字,但表空间中包含任何对象,那么删除操作将失败。使用这些关键字指示oracle首先删除对象,然后删除表空间。即使如此,在一些环境下同样会失败。如果表空间包含的表与另一个表空间的表存在外键关系,而且此表是副表,则删除将失败。
如果未指定and datafile关键字,则将删除表空间及其内容,但数据文件仍保存在磁盘上。oracle将不了解他们位于何处,必须使用操作系统命令删除他们。
(10)移动数据文件:
1.使用database移动数据文件(所有表空间,因为在操作时实例关闭)
确定表空间的数据文件名称
 select d.name from v$datafile d join v$tablespace t using (ts#) where t.name='SYSTEM';
 (1)作为sysdba连接数据库,关闭实例
(2)使用操作系统命令移动数据文件
(3)以mount模式打开数据库
(4)使用ALTER DATABASE改变对数据库中数据文件的引用
(5)以open模式打开数据库
(6)对包括控制文件的数据库执行增量备份或完整备份 alter database backup controlfile to trace;
2.使用tablespace移动数据文件(该表空间不是system,sysaux,撤销表空间,或临时表空间)
(1)对表空间进行脱机处理: alter tablespace sale offline;
 (2)使用操作系统命令移动数据文:!mv /u01/app/oracle/oradata/orcl11g/sale.dbf /u01/app/oracle/mnt/orcl11g/sale.dbf
 (3)使用alter tablespace改变对数据库中数据文件的引用
 alter tablespace sale rename datafile '/u01/app/oracle/oradata/orcl11g/sale.dbf' to '/u01/app/oracle/mnt/orcl11g/sale.dbf';
(4)将表空间联机
 alter tablespace sale online;
(11)移动联机重做日志文件
 select group#,member from v$logfile order by group#,member;
(1)关闭实例
(2)使用操作系统命令移动数据文
(3)以mount模式打开数据库
(4)使用ALTER DATABASE改变对数据库中数据文件的引用
alter database rename datafile '/u01/app/oracle/oradata/orcl11g/redo01.log' to '/u01/app/oracle/mnt/orcl11g/redo01.log';
(5)以open模式打开数据库
(12)移动控制文件
 select name,value from v$spparameter where name = 'control_files';
在使用spfile时:在关闭实例前,应使用alter system ....scope=spfile改变初始文件参数control_files.(静态参数)
(1)关闭实例
(2)使用操作系统命令移动数据文
(3)以open模式打开数据库
(13)将数据库迁移到ASM(Dba手册117)

 表空间类型,盘区管理类型
 select tablespace_name,block_size ,contents ,extent_management from dba_tablespaces;
 select tablespace_name,count(*) num_objects,sum(bytes),sum(blocks),sum(extents)from dba_segments group by rollup (tablespace_name);
 select owner,segment_name,tablespace_name,extent_id,file_id,block_id bytes from dba_extents where SEGMENT_NAME='EMP';
 SELECT TABLESPACE_NAME,SUM(BYTES) FROM DBA_FREE_sPACE GROUP BY TABLESPACE_NAME;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值