CREATE DATABASE cannot create a control file
527488Oct 8 2008 — edited Oct 8 2008I know, it's not supported. Please refrain from reminding me.
I am trying to install a second database on an Oracle 8i installation (8.1.7.4) on a Windows 2003 server. I cannot use DBCA because it doesn't work, so I create the databases manually using the script produced by DBCA.
So I run the following:
connect INTERNAL@TEST
startup nomount pfile="C:\oracle\admin\COHPTEST\pfile\initTEST.ora"
CREATE DATABASE TEST
LOGFILE 'D:\oracle\oradata\TEST\redo01.log' SIZE 1024K,
'D:\oracle\oradata\TEST\redo02.log' SIZE 1024K,
'D:\oracle\oradata\TEST\redo03.log' SIZE 1024K
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXLOGHISTORY 1
DATAFILE 'D:\oracle\oradata\TEST\system01.dbf' SIZE 264M REUSE AUTOEXTEND ON NEXT 10240K
MAXDATAFILES 254
MAXINSTANCES 1
CHARACTER SET WE8ISO8859P1
NATIONAL CHARACTER SET WE8ISO8859P1;
I receive the following error:
ORA-01501: CREATE DATABASE failed
ORA-00200: controlfile could not be created
ORA-00202: controlfile: 'D:\oracle\oradata\TEST\ctrl01.ctl'
ORA-27040: skgfrcre: create error, unable to create file
OSD-04002: unable to open file
O/S-Error: (OS 3) The system cannot find the path specified.
More information:
1) Added the "Everyone" account to full control on the D: drive, to eliminate the possibility of access issues.
2) The control files, the alertLog, and just about every other file do not exist before, or after the error.
3) I cannot produce more detailed information other than what you see. I do not know of a trace that will track this, which would be helpful.
4) I've tried from both SQLPLUS and SVRMGRL, as well as using INTERNAL, SYS accounts as well as adding sysdba privileges.
I would love to upgrade this instance, but it has other databases on it, and only one box to run this DB on.
SO, just to be sure, telling me to upgrade isn't what I am hoping to learn. I would appreciate some insight on how to display the account svrmgrl runs under, or how to get it to run under another user ID that would be great, or why it can't create the file, or a manual way to create the file (CREATE CONTROLFILE is for existing db's only right? )