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

19c 创建可插拔数据库实例报ORA-65005

原创 dbtiger 2023-02-07
2386

1.现象

SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB1 READ WRITE NO SQL> show con_name CON_NAME ------------------------------ CDB$ROOT SQL> CREATE PLUGGABLE DATABASE salespdb 2 ADMIN USER salesadm IDENTIFIED BY password 3 ROLES = (dba) 4 DEFAULT TABLESPACE sales 5 DATAFILE '/opt/oracle/dbs/salespdb/sales01.dbf' SIZE 250M AUTOEXTEND ON 6 FILE_NAME_CONVERT = ('/opt/oracle/dbs/pdbseed/', '/opt/oracle/dbs/salespdb/') 7 8 STORAGE (MAXSIZE 2G) PATH_PREFIX = '/opt/oracle/dbs/salespdb/'; 9 CREATE PLUGGABLE DATABASE salespdb * ERROR at line 1: ORA-65005: missing or invalid file name pattern for file - /opt/oracle/oradata/ORCLCDB/pdbseed/system01.dbf

2.分析路径

检查file_name_convertdb_create_file_dest参数

SQL> set linesize 1000 SQL> show parameter file_name_convert NAME TYPE VALUE ------------------------------------ ---------------------- ------------------------------ db_file_name_convert string log_file_name_convert string pdb_file_name_convert string SQL> show parameter db_create_file_dest NAME TYPE VALUE ------------------------------------ ---------------------- ------------------------------ db_create_file_dest string

3.解决办法

file_name_convert参数官方文档的介绍如下:

About the Names and Locations of Files for the CDB Root and PDB$SEED

To create the CDB, Oracle Database must know the names and locations of the files for the CDB root and PDB$SEED.

After the CREATE DATABASE statement completes successfully, you can use PDB$SEED and its files to create new PDBs. You cannot modify the PDB seed after it is created.

You must specify the names and locations of the files for PDB$SEED in one of the following ways:

1.The ENABLE PLUGGABLE DATABASE SEED FILE_NAME_CONVERT clause of CREATE DATABASE

2.Oracle Managed Files

3.The PDB_FILE_NAME_CONVERT initialization parameter

如果不启用该参数,则在创建可插拔数据库实例时候,这个路径必须是模板路径(通过cdb_data_files查到模板文件路径)。

Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 SQL> select file_name from cdb_data_files; FILE_NAME ---------------------------------------------------------------------------------------------------- /opt/oracle/oradata/ORCLCDB/salespdb/system01.dbf /opt/oracle/oradata/ORCLCDB/salespdb/sysaux01.dbf /opt/oracle/oradata/ORCLCDB/salespdb/undotbs01.dbf /opt/oracle/dbs/salespdb/sales01.dbf /opt/oracle/oradata/ORCLCDB/ORCLPDB1/system01.dbf /opt/oracle/oradata/ORCLCDB/ORCLPDB1/sysaux01.dbf /opt/oracle/oradata/ORCLCDB/ORCLPDB1/undotbs01.dbf /opt/oracle/oradata/ORCLCDB/ORCLPDB1/users01.dbf /opt/oracle/oradata/ORCLCDB/users01.dbf /opt/oracle/oradata/ORCLCDB/undotbs01.dbf /opt/oracle/oradata/ORCLCDB/system01.dbf FILE_NAME ---------------------------------------------------------------------------------------------------- /opt/oracle/oradata/ORCLCDB/sysaux01.dbf 12 rows selected. SQL> CREATE PLUGGABLE DATABASE salespdb ADMIN USER salesadm IDENTIFIED BY password ROLES = (dba) 2 3 4 DEFAULT TABLESPACE sales DATAFILE '/opt/oracle/dbs/salespdb/sales01.dbf' SIZE 250M AUTOEXTEND ON FILE_NAME_CONVERT = ('/opt/oracle/oradata/ORCLCDB/pdbseed', '/opt/oracle/oradata/ORCLCDB/salespdb/') STORAGE (MAXSIZE 2G) PATH_PREFIX = '/opt/oracle/dbs/salespdb/'; 5 6 7 8 9 Pluggable database created. SQL> alter pluggable database salespdb open read write; Pluggable database altered. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB1 READ WRITE NO 4 SALESPDB READ WRITE NO

小结:

原理通透,思路清晰,操作娴熟。
简单问题搜百度,搞不定则查看官方文档对该参数的介绍,这样事半功倍!

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

评论