acle12c数据库新特性之在线迁移特性在生产数据库中实施应用过程
在巡检过程中,发现 44、45号数据文件创建路径不合理,存放在根目录下,随着业务量及数据文件的扩展,有可能导致根目录满而引起系统挂起的情况,属于隐患问题,需要及时处理。以下就是12c环境下在线迁移数据文件的过程。
首先登陆到 cdb命令行,查看44、45号文件,确认其路径。
SQL> select
file#,name from v$datafile where file# in (44,45);
FILE# NAME
----------
----------------------------------------------------------------------
44
/u01/app/oracle/12.1.0/db/dbs/D:apporacleoradataqyws_jkda01.dbf
45
/u01/app/oracle/12.1.0/db/dbs/D:apporacleoradataqyws_jkda02.DBF
2 rows selected.
在 cdb下执行在线迁移
SQL> alter
database move datafile
'/u01/app/oracle/12.1.0/db/dbs/D:apporacleoradataqyws_jkda01.dbf' to
'/oradata/apporacleoradataqyws_jkda01.dbf' keep;
alter database
move datafile '/u01/app/oracle/12.1.0/db/dbs/D:apporacleoradataqyws_jkda01.dbf'
to '/oradata/apporacleoradataqyws_jkda01.dbf' keep
*
ERROR at line 1:
ORA-01516:
nonexistent log file, data file, or temporary file "44"
报出 ora-01516错误,根据提示,无法找到数据文件、日志文件、临时文件,在12c环境中,各个pdb之间及其与cdb之间,数据文件都是互相隔离的,所以此处出现该错误说明44号文件应该不存在cdb下,通过以下方式确定其所属那个数据库。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 |
SQL>
select
file_name,file_id,con_id
from
cdb_data_files
where
file_id = 44; FILE_NAME------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ FILE_ID CON_ID---------- ----------/u01/app/oracle/12.1.0/db/dbs/D:apporacleoradataqyws_jkda01.dbf
44 9 SQL>
select
file_name,file_id,con_id
from
cdb_data_files
where
file_id = 45; FILE_NAME------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ FILE_ID CON_ID---------- ----------/u01/app/oracle/12.1.0/db/dbs/D:apporacleoradataqyws_jkda02.DBF
45 9 |
可以查到, 44号和45号数据文件所属pdb的con_id都是9,查看pdb
|
1
2
3
4
5 |
SQL>
select
pdb_name,status,con_id
from
cdb_pdbs
where
con_id = 9; PDB_NAME STATUS CON_ID---------------------------------------- --------- ----------QYWS_MYGH NORMAL 9 |
可以看到, 9号pdb为QYWS_MYGH,切换到QYWS_MYGH数据库下。
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 |
SQL>
alter
session
set
container= QYWS_MYGH; Session altered. 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 /u01/app/oracle/12.1.0/db/dbs/D:apporacleoradataqyws_jkda01.dbf
FILE#
NAME---------- ----------------------------------------------------------------------
45 /u01/app/oracle/12.1.0/db/dbs/D:apporacleoradataqyws_jkda02.DBF |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69995495/viewspace-2761206/ ,如需转载,请注明出处,否则将追究法律责任。