oracle 在win平台上创建控制文件可能会出现ORA-01565 ORA-27041 OSD-04002错误
C:\Users\feicheng>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on 星期六 9月 13 16:20:38 2014
Copyright (c) 1982, 2013, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> startup nomount;
ORACLE 例程已经启动。
Total System Global Area 400846848 bytes
Fixed Size 2281656 bytes
Variable Size 188747592 bytes
Database Buffers 201326592 bytes
Redo Buffers 8491008 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "XFF" NORESETLOGS NOARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 'D:\ORACLE\ORADATA\XFF\REDO01.LOG' SIZE 50M BLOCKSIZE 512,
9 GROUP 2 'D:\ORACLE\ORADATA\XFF\REDO02.LOG' SIZE 50M BLOCKSIZE 512,
10 GROUP 3 'D:\ORACLE\ORADATA\XFF\REDO03.LOG' SIZE 50M BLOCKSIZE 512
11 DATAFILE
12 'D:\ORACLE\ORADATA\XFF\SYSTEM01.DBF',
13 'D:\ORACLE\ORADATA\XFF\SYSAUX01.DBF',
14 'D:\ORACLE\ORADATA\XFF\UNDOTBS01.DBF',
15 'D:\惜分飞\USERS01.DBF'
16 CHARACTER SET ZHS16GBK
17 ;
CREATE CONTROLFILE REUSE DATABASE "XFF" NORESETLOGS NOARCHIVELOG
*
第 1 行出现错误:
ORA-01503: CREATE CONTROLFILE ??
ORA-01565: ???? 'D:\???\USERS01.DBF' ???
ORA-27041: ??????
OSD-04002: ????????????
O/S-Error: (OS 123) ????????????????????????????????
alert日志对应错误提示为
Sat Sep 13 16:27:48 2014
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
starting up 1 shared server(s) ...
ORACLE_BASE from environment = D:\oracle
Sat Sep 13 16:28:11 2014
CREATE CONTROLFILE REUSE DATABASE "XFF" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'D:\ORACLE\ORADATA\XFF\REDO01.LOG' SIZE 50M BLOCKSIZE 512,
GROUP 2 'D:\ORACLE\ORADATA\XFF\REDO02.LOG' SIZE 50M BLOCKSIZE 512,
GROUP 3 'D:\ORACLE\ORADATA\XFF\REDO03.LOG' SIZE 50M BLOCKSIZE 512
DATAFILE
'D:\ORACLE\ORADATA\XFF\SYSTEM01.DBF',
'D:\ORACLE\ORADATA\XFF\SYSAUX01.DBF',
'D:\ORACLE\ORADATA\XFF\UNDOTBS01.DBF',
'D:\???\USERS01.DBF'
CHARACTER SET ZHS16GBK
WARNING: Default Temporary Tablespace not specified in CREATE DATABASE command
Default Temporary Tablespace will be necessary for a locally managed database in future release
Errors in file D:\ORACLE\diag\rdbms\xff\xff\trace\xff_ora_8136.trc:
ORA-01565: ???? 'D:\???\USERS01.DBF' ???
ORA-27041: ??????
OSD-04002: 无法打开文件
O/S-Error: (OS 123) 文件名、目录名或卷标语法不正确。
ORA-1503 signalled during: CREATE CONTROLFILE REUSE DATABASE "XFF" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'D:\ORACLE\ORADATA\XFF\REDO01.LOG' SIZE 50M BLOCKSIZE 512,
GROUP 2 'D:\ORACLE\ORADATA\XFF\REDO02.LOG' SIZE 50M BLOCKSIZE 512,
GROUP 3 'D:\ORACLE\ORADATA\XFF\REDO03.LOG' SIZE 50M BLOCKSIZE 512
DATAFILE
'D:\ORACLE\ORADATA\XFF\SYSTEM01.DBF',
'D:\ORACLE\ORADATA\XFF\SYSAUX01.DBF',
'D:\ORACLE\ORADATA\XFF\UNDOTBS01.DBF',
'D:\???\USERS01.DBF'
CHARACTER SET ZHS16GBK
ORA-01565 ORA-27041 OSD-04002的含义大致为:在创建控制文件的时候,有数据文件无法不存在.
另外在alert日志里面也可以看到,sqlplus中的”D:\惜分飞\USERS01.DBF”变为了”D:\???\USERS01.DBF”导致无法定位到数据文件,从而在创建数据文件之时出现ORA-01565 ORA-27041 OSD-04002错误.
解决放方法:
1.创建控制文件语句中不含中文
C:\Users\feicheng>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on 星期六 9月 13 16:32:09 2014
Copyright (c) 1982, 2013, Oracle. All rights reserved.
已连接到空闲例程。
SQL> STARTUP NOMOUNT
ORACLE 例程已经启动。
Total System Global Area 400846848 bytes
Fixed Size 2281656 bytes
Variable Size 188747592 bytes
Database Buffers 201326592 bytes
Redo Buffers 8491008 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "XFF" NORESETLOGS NOARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 'D:\ORACLE\ORADATA\XFF\REDO01.LOG' SIZE 50M BLOCKSIZE 512,
9 GROUP 2 'D:\ORACLE\ORADATA\XFF\REDO02.LOG' SIZE 50M BLOCKSIZE 512,
10 GROUP 3 'D:\ORACLE\ORADATA\XFF\REDO03.LOG' SIZE 50M BLOCKSIZE 512
11 DATAFILE
12 'D:\ORACLE\ORADATA\XFF\SYSTEM01.DBF',
13 'D:\ORACLE\ORADATA\XFF\SYSAUX01.DBF',
14 'D:\ORACLE\ORADATA\XFF\UNDOTBS01.DBF',
15 'D:\xifenfei\USERS01.DBF'
16 CHARACTER SET ZHS16GBK
17 ;
控制文件已创建。
2.设置nls_lang为american_america.ZHS16GBK
C:\Users\feicheng>set NLS_LANG=american_america.ZHS16GBK
C:\Users\feicheng>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Sat Sep 13 16:29:04 2014
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> CREATE CONTROLFILE REUSE DATABASE "XFF" NORESETLOGS NOARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 'D:\ORACLE\ORADATA\XFF\REDO01.LOG' SIZE 50M BLOCKSIZE 512,
9 GROUP 2 'D:\ORACLE\ORADATA\XFF\REDO02.LOG' SIZE 50M BLOCKSIZE 512,
10 GROUP 3 'D:\ORACLE\ORADATA\XFF\REDO03.LOG' SIZE 50M BLOCKSIZE 512
11 DATAFILE
12 'D:\ORACLE\ORADATA\XFF\SYSTEM01.DBF',
13 'D:\ORACLE\ORADATA\XFF\SYSAUX01.DBF',
14 'D:\ORACLE\ORADATA\XFF\UNDOTBS01.DBF',
15 'D:\惜分飞\USERS01.DBF'
16 CHARACTER SET ZHS16GBK
17 ;
Control file created.
此时alert日志提示
Sat Sep 13 16:29:22 2014
CREATE CONTROLFILE REUSE DATABASE "XFF" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'D:\ORACLE\ORADATA\XFF\REDO01.LOG' SIZE 50M BLOCKSIZE 512,
GROUP 2 'D:\ORACLE\ORADATA\XFF\REDO02.LOG' SIZE 50M BLOCKSIZE 512,
GROUP 3 'D:\ORACLE\ORADATA\XFF\REDO03.LOG' SIZE 50M BLOCKSIZE 512
DATAFILE
'D:\ORACLE\ORADATA\XFF\SYSTEM01.DBF',
'D:\ORACLE\ORADATA\XFF\SYSAUX01.DBF',
'D:\ORACLE\ORADATA\XFF\UNDOTBS01.DBF',
'D:\惜分飞\USERS01.DBF'
CHARACTER SET ZHS16GBK
WARNING: Default Temporary Tablespace not specified in CREATE DATABASE command
Default Temporary Tablespace will be necessary for a locally managed database in future release
Sat Sep 13 16:29:25 2014
Successful mount of redo thread 1, with mount id 3507744098
Completed: CREATE CONTROLFILE REUSE DATABASE "XFF" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'D:\ORACLE\ORADATA\XFF\REDO01.LOG' SIZE 50M BLOCKSIZE 512,
GROUP 2 'D:\ORACLE\ORADATA\XFF\REDO02.LOG' SIZE 50M BLOCKSIZE 512,
GROUP 3 'D:\ORACLE\ORADATA\XFF\REDO03.LOG' SIZE 50M BLOCKSIZE 512
DATAFILE
'D:\ORACLE\ORADATA\XFF\SYSTEM01.DBF',
'D:\ORACLE\ORADATA\XFF\SYSAUX01.DBF',
'D:\ORACLE\ORADATA\XFF\UNDOTBS01.DBF',
'D:\惜分飞\USERS01.DBF'
CHARACTER SET ZHS16GBK
通过此实验简单说明:在oracle使用该过程中,尽可能少用中文路径或者文件名