您的位置:首页 > 其它

将数据文件从asm移到普通文件系统

2016-08-15 10:14 211 查看
数据库可以关闭的场景:

1.关闭并重新mount数据库

$ sqlplus '/as sysdba'
SQL> shutdown immediate;
SQL> startup mount;


2.确保文件系统的空间大小够用

SQL> select file#,name,bytes/1024/1024 file_size_mb from v$datafile;

FILE# NAME                                                         FILE_SIZE_MB
---------- ------------------------------------------------------------ ------------
1 +DATA/test/datafile/system.285.914350599                             790
2 +DATA/test/datafile/sysaux.276.914350599                            2140
3 +DATA/test/datafile/undotbs1.280.914350599                           130
4 +DATA/test/datafile/users.284.914350599                             2140


3.登录rman并copy数据文件

$ rman target /
RMAN> copy datafile 4 to '/oradata/test/users01.dbf';


4.更新控制文件中被移动文件的信息

$ sqlplus '/as sysdba'
SQL> alter database rename file '+DATA/test/datafile/users.284.914350599' to '/oradata/test/users01.dbf';


5.查看结果

SQL> select file#,name from v$datafile;


6.打开数据库

数据库处于运行状态:

如果数据库处于运行状态,要想移动数据文件,必须要将文件offline
1.查看包含该文件的表空间,并将数据文件offline

RMAN> report schema;
SQL> alter database datafile 4 offline;


2.确保文件系统的空间大小够用

SQL> select file#,name,bytes/1024/1024 file_size_mb from v$datafile;

FILE# NAME                                                         FILE_SIZE_MB
---------- ------------------------------------------------------------ ------------
1 +DATA/test/datafile/system.285.914350599                             790
2 +DATA/test/datafile/sysaux.276.914350599                            2140
3 +DATA/test/datafile/undotbs1.280.914350599                           130
4 +DATA/test/datafile/users.284.914350599                             2140


3.登录rman并copy数据文件

$ rman target /
RMAN> copy datafile 4 to '/oradata/test/users01.dbf';


4.更新控制文件中被移动文件的信息

$ sqlplus '/as sysdba'
SQL> alter database rename file '+DATA/test/datafile/users.284.914350599' to '/oradata/test/users01.dbf';


5.查看结果

SQL> select file#,name from v$datafile;


6.将数据文件online
(1) 如果该数据文件所在的表空间是offline的,直接将数据文件online

SQL> alter database datafile 4 online;


(2) 如果该文件所在表空间是online的

SQL> recover automatic datafile 4;
SQL> alter database datafile 4 online;或者使用rman
RMAN> recover datafile 4;
RMAN> sql "alter database datafile 4 online";


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: