最近一气之下把好好地dba工作辞了,转做了大数据,刚到公司项目组没几天,就碰到了公司搭建的测试库空间快满了,需要把数据文件移动到新添加的硬盘上,项目组内的基本上都是java、pl/sql出身,迁移数据的任务就落到我身上了,然后问我怎么做,让我拿出迁移方案,最好最近二天内搞定它。
下面是我给出的几种迁移方案:
1、不关闭数据库情况下(非系统表空间):offline表空间
* 主要步骤: ** 1、offline表空间:alter tablespace tablespace_name offline; *
* 2、复制数据文件到新的目录; *
* 3、rename修改表空间对应数据文件位置,并把信息记录到控制文件;*
* 4、online表空间; *
例子:
alter tablespace users add datafile '/u01/app/oracle/oradata/chen/users02.dbf' size 100M autoextend on next 10M;
alter tablespace users offline;
mkdir -p /oradata/chen/
chown oracle:oinstall -R oradata
chmod 755 -R oradata
cd /u01/app/oracle/oradata/chen
bogon-> pwd
/u01/app/oracle/oradata/chen
bogon-> cp user* /oradata/chen/
select name,status from v$datafile;
alter tablespace users rename datafile '/u01/app/oracle/oradata/chen/users01.dbf' to '/oradata/chen/users01.dbf';
alter tablespace users rename datafile '/u01/app/oracle/oradata/chen/users02.dbf' to '/oradata/chen/users02.dbf';
alter tablespace users online;
select file_name,tablespace_name,status from dba_data_files;
select name,status from v$datafile;
2、关闭数据库迁移整个库数据文件位置
* 主要步骤: ** 1、首先关闭数据库 *
* 2、复制数据文件到新的目录;