Environment Description: OS/aix5.3-64bit DB/10.2.0.3-64bit
Today, a new database is created on a quasi-standby bare device in an aix production system. Therefore, dbca is called to create a database using a data warehouse template. The correspondence between bare devices, tablespaces, and spfiles is stored in the wilson_raw.conf file. The content of this file is as follows:
Control01 =/dev/rlv_bas_ctl01
Control02 =/dev/rlv_bas_ctl02
Control03 =/dev/rlv_bas_ctl03
System =/dev/rlv_bas_system01
Sysaux =/dev/rlv_bas_sysaux01
Undotbs1 =/dev/rlv_bas_undo01
Temp =/dev/rlv_bas_temp01
Users =/dev/rlv_bas_users01
Redo1_1 =/dev/rlv_bas_log11
Redo1_2 =/dev/rlv_bas_log12
Redo2_1 =/dev/rlv_bas_log21
Redo2_2 =/dev/rlv_bas_log22
Redo3_1 =/dev/rlv_bas_log31
Redo3_2 =/dev/rlv_bas_log32
Spfile =/dev/rlv_bas_spfile
However, the following error occurs during dbca database creation.
Metalink queries to find that this Error is related to an Oracle bug. For details, see 10.2.0.3 Database Upgrade Using DBUA Failed With Error "failed to retrieve size of raw device" [ID 432725.1]. Because a production database already exists in the system, the rawutl command is not replaced by the metalink command for security reasons.
Solution: Create a database creation script using the dbca template. Change the file system path of the control file to the path of the bare device by modifying the data files and log files in the database creation script, then, you can manually call the database creation script in sqlplus to create the database successfully. In this case, all data files, log files, and control files in the new database use bare devices, while pfile is the file system used, if you want spfile to use a bare device, you can use dd or create spfile from pfile to migrate the parameter file from the file system to the bare device.