Windows平台下Oracle重建控制文件不能运行的解决方法

在Windows下面重建控制文件之后,跑脚本跑不起来
SQL> startup nomount;
ORACLE 例程已经启动。

Total System Global Area 612368384 bytes
Fixed Size 1292036 bytes
Variable Size 264243452 bytes
Database Buffers 339738624 bytes
Redo Buffers 7094272 bytes
SQL> @c:\a.sql
SP2-0042: 未知命令 "DATAFILE" - 其余行忽略。
SP2-0734: 未知的命令开头 "'d:\SYSTEM..." - 忽略了剩余的行。
SP2-0734: 未知的命令开头 "'d:\SMS104..." - 忽略了剩余的行。
SP2-0734: 未知的命令开头 "'d:\SMS104..." - 忽略了剩余的行。
SP2-0044: 要获取已知命令的列表, 请输入 HELP;
输入 EXIT 可退出。
SP2-0734: 未知的命令开头 "'d:\SMS104..." - 忽略了剩余的行。
SP2-0734: 未知的命令开头 "'d:\SMS104..." - 忽略了剩余的行。
SP2-0734: 未知的命令开头 "CHARACTER ..." - 忽略了剩余的行。
1 CREATE CONTROLFILE REUSE DATABASE "SMS104" NORESETLOGS NOARCHIVELOG
2 MAXLOGFILES 16
3 MAXLOGMEMBERS 3
4 MAXDATAFILES 100
5 MAXINSTANCES 8
6 MAXLOGHISTORY 292
7 LOGFILE
8 GROUP 1 'd:\SMS104\REDO01.LOG' SIZE 50M,
9 GROUP 2 'd:\SMS104\REDO02.LOG' SIZE 50M,
10 GROUP 3 'd:\SMS104\REDO03.LOG' SIZE 50M
11* -- STANDBY LOGFILE
SQL> shutdown
ORA-01507: ??????

解决办法
在脚本里删除掉多余的行不能有空格出现
CREATE CONTROLFILE REUSE DATABASE "SMS104" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'd:\SMS104\REDO01.LOG' SIZE 50M,
GROUP 2 'd:\SMS104\REDO02.LOG' SIZE 50M,
GROUP 3 'd:\SMS104\REDO03.LOG' SIZE 50M
-- STANDBY LOGFILE ---删掉这行注释
DATAFILE
'd:\SYSTEM01.DBF',
'd:\SMS104\UNDOTBS01.DBF',
'd:\SMS104\SYSAUX01.DBF',
'd:\SMS104\USERS01.DBF',
'd:\SMS104\EXAMPLE01.DBF'
CHARACTER SET ZHS16GBK
;

你可能感兴趣的:(windows)