可以确定 44、45号文件属于QYWS_MYGH数据库,及con_id为9的数据库。继续执行在线迁移任务,此处由于是生产数据库,考虑到数据安全问题,通过keep参数将原数据文件保留,迁移过程如下:
SQL> alter database move datafile '/u01/app/oracle/12.1.0/db/dbs/D:apporacleoradataqyws_jkda01.dbf' to '/oradata/apporacleoradataqyws_jkda01.dbf' keep;
Database altered.
SQL> alter database move datafile '/u01/app/oracle/12.1.0/db/dbs/D:apporacleoradataqyws_jkda02.DBF' to '/oradata/apporacleoradataqyws_jkda02.DBF' keep;
Database altered.
迁移完成后,在pdb下查看确认迁移路径是否符合,如下。
SQL> select file#,name from v$datafile;
FILE# NAME
---------- ----------------------------------------------------------------------
4 /oradata/QYWSXXDB/datafile/o1_mf_undotbs1_d5ljrc20_.dbf
41 /oradata/QYWSXXDB/448F174D916D03B1E055000000000001/datafile/o1_mf_syst
em_d61zyly7_.dbf
42 /oradata/QYWSXXDB/448F174D916D03B1E055000000000001/datafile/o1_mf_sysa
ux_d61zyly8_.dbf
43 /oradata/QYWSXXDB/448F174D916D03B1E055000000000001/datafile/o1_mf_qyws
_myg_d61zz1vr_.dbf
44 /oradata/apporacleoradataqyws_jkda01.dbf
FILE# NAME
---------- ----------------------------------------------------------------------
45 /oradata/apporacleoradataqyws_jkda02.DBF
6 rows selected.
SQL>
可以看到, 44、45号文件按照预期迁移到/oradata目录下,迁移比较顺利,在确保迁移后业务测试正常的情况下,记得将保留的原文件在系统层面进行删除。
总结:在 oracle12c之前的版本中,如果迁移数据文件,一般流程是offline数据文件à移动-àonline,而在12C版本的新特性中,仅通过一条ALTER DATABASE MOVE DATAFILE命令,不需要做任何offline或者数据库只能启动到mount的设置,直接移动,移动的同时数据库可以执行任何DDL\DML以及查询操作,而且在move过程中,可以进行重命名操作,避免了相当多的麻烦,非常的实用。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69995495/viewspace-2761207/ ,如需转载,请注明出处,否则将追究法律责任。