进行数据文件维护时,发现数据文件的名称存在大小写差异。
在某个时间点以后创建的数据文件,名称中的db_name和“datafile”都是大写,而以前都是小写。
查询官方文档 Directory for Datafiles and Controlfiles Become Uppercase in 18.3 DBCA. (Doc ID 2542927.1)
在18.3.0.0版本开始,内部设计上的变化导致了此问题。
同时还指向一个internal的文档,无权限浏览:
- 18.3 DBCA UPPERCASING DB_UNIQUE_NAME FOR DIRECTORY OF DATA FILES AND CONTROL FILES.
进一步分析发现,我们将数据库升级到19c,并将compatible由11.2.0.4改为19.3.0.0后,数据文件路径就改为大写了。
使用文件系统作为存储介质的数据库未出现此问题。
Directory for Datafiles and Controlfiles Become Uppercase in 18.3 DBCA. (Doc ID 2542927.1)
Oracle Database Configuration Assistant - Version 18.3.0.0.0 and later Information in this document applies to any platform.
When you specified lowercase "DB_UNIQUE_NAME" variable(for example:orcl) in DB:18.3 DBCA to create DB instance after the instance be created, you will find the directory of data files and control files contains uppercase DB_UNIQUE_NAME which you specified. ----------------------------- /u01/app/oracle/oradata/ORCL ----------------------------- This result is different from the previous version(DB:12.2/DB:12.1).
If we save the DBCA scripts which can be generated by DBCA, we could see that even if you specified lowercase DB_UNIQUE_NAME in DBCA, the script is to create uppercase DB_UNIQUE_NAME in the directory path of data files and control files.
$ pwd ../..oracle/admin/orcl/scripts scripts]$ grep "ORCL" *.sql cloneDBCreation.sql:LOGFILE GROUP 1 ('...oradata/ORCL/redo01.log') SIZE 200M, cloneDBCreation.sql:GROUP 2 ('..oradata/ORCL/redo02.log') SIZE 200M, cloneDBCreation.sql:GROUP 3 ('../oradata/ORCL/redo03.log') SIZE 200M RESETLOGS; cloneDBCreation.sql:LOGFILE GROUP 1 ('..oradata/ORCL/redo01.log') SIZE 200M, cloneDBCreation.sql:GROUP 2 ('..oradata/ORCL/redo02.log') SIZE 200M, ... plug_PDBSeed.sql:host mkdir -p .../oradata/ORCL/pdbseed; plug_PDBSeed.sql:host mkdir -p .../oracle/oradata/ORCL/pdbseed; ... rmanRestoreDatafiles.sql:set newname for datafile 4 to '..oradata/ORCL/undotbs01.dbf' ; rmanRestoreDatafiles.sql:set newname for datafile 7 to '...oradata/ORCL/users01.dbf' ;
Using DB:18.3 DBCA to create database instance and specified lowercase "DB_UNIQUE_NAME" variable.
It is a limitation according to current design.
The following method can avoid this issue. STEP 1: Generate the DBCA Scripts. STEP 2: Change the uppercase DB_UNIQUE_NAME to lowercase DB_UNIQUE_NAME manually. STEP 3: Execute these scripts to create DB instance.
来自 “ 开源世界 ” ,链接:http://ym.baisou.ltd/post/537.html,如需转载,请注明出处,否则将追究法律责任。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。