Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2796222
  • 博文数量: 389
  • 博客积分: 4177
  • 博客等级: 上校
  • 技术积分: 4773
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-16 23:29
文章分类

全部博文(389)

分类: Oracle

2014-01-10 12:23:49

                                     在线移动数据库文件

  在12C以前的版中,如果需要移动数据文件到新的位置,基本的过程如下:

1,表空间离线;

2,copy或是mv文件到新的位置;

3,修改位置

alter tablespace t1 rename datafile 'datafile1' to 'datafile2';
或是
alter database rename file 'datafile1' to 'datafile2';

4,表空间online


这种方式不好的地方在于移动期间表空间需要离线。

12C中引入了online move datafile的概念,在移动期间不需要datafile offline
也不需要手动使用os命令去拷贝文件,整个过程一条命令搞定.

例:
创建了某表空间,文件名为

/home/oracle/C12/datafile/o1_mf_t1_9dp1ywmg_.dbf

现在需要把该文件移动到另外一个位置,如果使用以前的版本,需要做四步.现在只要一步:

SQL> alter database move datafile '/home/oracle/C12/datafile/o1_mf_t1_9dp1ywmg_.dbf'  to '/home/oracle/t1.dbf';

Database altered.

[oracle@o12c database]$ ls -l /home/oracle/C12/datafile/o1_mf_t1_9dp1ywmg_.dbf
ls: /home/oracle/C12/datafile/o1_mf_t1_9dp1ywmg_.dbf: No such file or directory

原有的数据文件不存在了。如果还想要保持的话,可以加keep选项,这样oracle在move的时候
不会删除原有的数据文件了.

阅读(3000) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~