But, you do have the option to save the response file before the dbca GUI starts the actual creation process. Using the response file instead of the GUI, you have a couple of options to override the use of OMF and the naming of the subdirectories used for data files:
The reponse file, after peeling off the comments, contains the following:
Notice how the dbca withholds the value you supply for SYS and SYSTEM passwords, while it prints out the value for datafileDestination and recoveryAreaDestination in the response file for you.
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0 gdbName=mydb.skead.no sid=mydb databaseConfigType=SI policyManaged=false createServerPool=false force=false createAsContainerDatabase=false numberOfPDBs=0 useLocalUndoForPDBs=true templateName=/u01/oracle/product/19c/assistants/dbca/templates/General_Purpose.dbc sysPassword= systemPassword= runCVUChecks=FALSE dvConfiguration=false olsConfiguration=false datafileJarLocation={ORACLE_HOME}/assistants/dbca/templates/ datafileDestination=/u01/oradata/{DB_UNIQUE_NAME}/ recoveryAreaDestination=/u04/flash_recovery_area/{DB_UNIQUE_NAME} storageType=FS characterSet=AL32UTF8 registerWithDirService=false listeners=LISTENER skipListenerRegistration=false variables=ORACLE_BASE_HOME=/u01/oracle/product/19c,DB_UNIQUE_NAME=mydb,ORACLE_BASE=/u01/oracle,PDB_NAME=,DB_NAME=mydb,ORACLE_HOME=/u01/oracle/product/19c,SID=mydb initParams=undo_tablespace=UNDOTBS1,sga_target=4718MB,db_block_size=8KB,dispatchers=(PROTOCOL=TCP) (SERVICE={SID}XDB),diagnostic_dest={ORACLE_BASE},remote_login_passwordfile=EXCLUSIVE,db_create_file_dest=/data2/oradata/{DB_UNIQUE_NAME}/,audit_file_dest={ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/adump,processes=320,pga_aggregate_target=1573MB,local_listener=LISTENER_MYDB,db_recovery_file_dest_size=8256MB,open_cursors=300,db_domain=skead.no,compatible=19.0.0,db_name=mydb,db_recovery_file_dest=/data4/flash_recovery_area/{DB_UNIQUE_NAME},audit_trail=db sampleSchema=false memoryPercentage=40 databaseType=MULTIPURPOSE automaticMemoryManagement=false totalMemory=0
This response file can be used to execute dbca silently, like this:
dbca -silent -createDatabase -responsefile youresponsefilename.rspThis will create the database MYDB with OMF naming:
select file_name from dba_data_files: /data2/oradata/MYDB/datafile/o1_mf_users__vbctspxs_.dbf /data2/oradata/MYDB/datafile/o1_mf_undotbs1__vbcsmzql_.dbf /data2/oradata/MYDB/datafile/o1_mf_system__vbb9h6kc_.dbf /data2/oradata/MYDB/datafile/o1_mf_sysaux__vbcc2o9j_.dbf select member from v$logfile MEMBER -------------------------------------------------- /data2/oradata/MYDB/onlinelog/o1_mf_3__vbdwcyb1_.log /data4/fra/MYDB/onlinelog/o1_mf_3__vbdwxrdx_.log /data2/oradata/MYDB/onlinelog/o1_mf_2__vbdwbqv8_.log /data4/fra/MYDB/onlinelog/o1_mf_2__vbdwxb5f_.log /data2/oradata/MYDB/onlinelog/o1_mf_1__vbdw9lqy_.log /data4/fra/MYDB/onlinelog/o1_mf_1__vbdwtx1r_.logThis is because the response file contains the value
initParams=db_create_file_dest=/data2/oradata/{DB_UNIQUE_NAME}/
If dbca is run again without this value, the files will not be of type OMF anymore:
SYS@mydb>select member from v$logfile; MEMBER ---------------------------------------- /u01/oradata/MYDB/redo03.log /u01/oradata/MYDB/redo02.log /u01/oradata/MYDB/redo01.log SYS@mydb>select member from v$logfile; MEMBER ---------------------------------------- /u01/oradata/MYDB/redo03.log /u01/oradata/MYDB/redo02.log /u01/oradata/MYDB/redo01.logIf you alter the directions
datafileDestination=/u01/oradata/{DB_UNIQUE_NAME}/ recoveryAreaDestination=/data4/flash_recovery_area/{DB_UNIQUE_NAME}to
datafileDestination=/u01/oradata/mydb recoveryAreaDestination=/data4/flash_recovery_area/mydbyou will also be able to override the fact that dbca creates the subdirectories in capital letters by default.