在尝试做一些实验时,修改了oracle文件:
alter system set log_archive_dest_1="location=/oradata/archive mandatory reopen" scope=spfile;
然后将数据库关闭了。再次启动数据库时,发现数据库无法启动,报如下错误:
SQL> startup ORA-16032: parameter LOG_ARCHIVE_DEST_1 destination string cannot be translated ORA-09291: sksachk: invalid device specified for archive destination OSD-04018: ?????????????????????????? O/S-Error: (OS 2) The system cannot find the file specified.
网上查阅相关资料,说是需要修改spfile文件中log_archive_dest_1指定的存放位置,由于spfile是二进制文件,无法打开。需要将该文件拷贝一份,如下:
SQL> create pfile='c:\initorcl.ora' from spfile;
文件已创建。
打开initorcl.ora文件,其中文件中log_archive_dest_1指定的位置:
*.log_archive_dest_1='location=/oradata/archive mandatory reopen'
将文件中的log_archive_dest_1指定的位置修改为:*.log_archive_dest_1='location=F:/oracle/product/10.2.0/oradata/archive mandatory reopen'
由于文件指定的位置不对,从而导致数据库无法启动。修改文件位置保存后,回到命令行:
SQL> create spfile from pfile='d:\initorcl.ora';
文件已创建。
再次启动oracle数据库:
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1292036 bytes
Variable Size 268437756 bytes
Database Buffers 335544320 bytes
Redo Buffers 7094272 bytes
数据库装载完毕。
数据库能正常启动。(一步一步的学习Oracle,呵呵!!!)