暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 12c:多租户数据库克隆 ORA-01276 错误处理

原创 盖国强 2019-05-08
1283

问题描述

在使用12c多租户模式,克隆创建PDB时遇到如下 ORA-01276 错误:

SQL> select * from v$version;

BANNER										     CON_ID
-------------------------------------------------------------------------------- ----------
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production		  0
PL/SQL Release 12.2.0.1.0 - Production							  0
CORE	12.2.0.1.0	Production							  0
TNS for Linux: Version 12.2.0.1.0 - Production						  0
NLSRTL Version 12.2.0.1.0 - Production							  0
SQL> create pluggable database yhem from pdb1
  2  file_name_convert=('/u01/app/oracle/oradata/ORCL/3F605C8D8A4206B6E0536838A8C04ACF','/u01/app/oracle/oradata/ORCL/enmotech');
create pluggable database yhem from pdb1
*
ERROR at line 1:
ORA-01276: Cannot add file
/u01/app/oracle/oradata/ORCL/enmotech/datafile/o1_mf_system_d0n37tyk_.dbf.
File has an Oracle Managed Files file name.

这个错误是由于使用了OMF管理模式后,不允许显示的指定目录转换的映射关系。
可以通过设置DB_CREATE_FILE_DEST参数指向新的PDB目录,执行PDB Clone创建即可。


专家解答

这个错误是由于使用了OMF管理模式后,不允许显示的指定目录转换的映射关系。
可以通过设置DB_CREATE_FILE_DEST参数指向新的PDB目录,执行PDB Clone创建即可。

SQL> alter system set db_create_file_dest='/u01/app/oracle/oradata/ORCL/enmotech';

System altered.

SQL> create pluggable database yhem from pdb1 ;

Pluggable database created.

SQL> select name from v$datafile where con_id=5;

NAME
------------------------------------------------------------------------------------------------------------
/u01/app/oracle/oradata/ORCL/enmotech/PG1/428AB277A7FC3DE6E0530381250AFAB1/datafile/o1_mf_system_d3ybm4z6_.dbf
/u01/app/oracle/oradata/ORCL/enmotech/PG1/428AB277A7FC3DE6E0530381250AFAB1/datafile/o1_mf_sysaux_d3ybm50s_.dbf
/u01/app/oracle/oradata/ORCL/enmotech/PG1/428AB277A7FC3DE6E0530381250AFAB1/datafile/o1_mf_undotbs1_d3ybm50w_.dbf
/u01/app/oracle/oradata/ORCL/enmotech/PG1/428AB277A7FC3DE6E0530381250AFAB1/datafile/o1_mf_users_d3ybm50y_.dbf

SQL> alter pluggable database yhem open;

Pluggable database altered.

SQL> alter session set container=YHEM;

Session altered.

SQL> alter session set current_schema=EYGLE;

Session altered.

SQL> select count(*) from enmotech;

  COUNT(*)
----------
	10

在引入了多租户特性之后,数据库的维护发生了很多改变。记录一下。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论