关于oracle 10中pfile 和spfile 的有关问题
关于oracle 10中pfile 和spfile 的问题。
我总感觉很多人翻译oracle的时候总会出错,与事实不符。
oracle 10g在启动时首先寻找spfile,如果找不到的话就去找pfile,但事实上我把spfile删除以后,数据库根本就无法启动!
但是我把pfile删除了启动数据库照样可以启动。
如下所示:
SQL> conn sys/admin as sysdba;
已连接。
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string D:\ORACLE10.2.0\DBS\SPFILEORCL
.ORA
SQL> show parameter pfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string D:\ORACLE10.2.0\DBS\SPFILEORCL
.ORA
SQL> create spfile from pfile;
文件已创建。 //这时候明明是以spfile启动,为什么还能从pfile创建spfile???
SQL> create pfile from spfile;
文件已创建。
您看,通过show parameter spfile可以看出当前使用的是spfile,但是执行命令create spfile from pfile 为什么会成功?
接下来:我关闭数据库删除spfile后执行以下命令:
SQL> conn sys/admin as sysdba;
已连接到空闲例程。
SQL> startup;
ORA-01565: error in identifying file 'D:\oracle10.2.0/dbs/spfileorcl.ora'
ORA-27041: unable to open file
OSD-04002: N^7(4r?*ND<~
O/S-Error: (OS 2) O5M3UR2;5=V86(5DND<~!#
报错!不是说了吗?如果找不到spfile他会找pfile的,但是他为什么报错????
恢复spfile后,启动正常。如下:
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 595591168 bytes
Fixed Size 1250332 bytes
Variable Size 155192292 bytes
Database Buffers 432013312 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
数据库已经打开。
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string D:\ORACLE10.2.0\DATABASE\SPFIL
EORCL.ORA
接下来,我删除ininorcl.ora,然后启动数据库:
SQL> conn sys/admin as sysdba;
已连接。
SQL> create spfile from pfile;
create spfile from pfile
*
ERROR 位于第 1 行:
ORA-32002: 无法创建已由实例使用的 SPFILE
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string D:\ORACLE10.2.0\DATABASE\SPFIL
EORCL.ORA
SQL> show parameter pfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string D:\ORACLE10.2.0\DATABASE\SPFIL
EORCL.ORA
SQL>
你看现在为什么用create spfile from pfile 就会报错??还有,这时的spfile为什么跑到database目录下了??
谁能告诉我???
我真的搞不清为什么?书上的为什么和我的实验不一样呢????
------解决方案--------------------
http://www.cnblogs.com/jacktu/archive/2008/02/27/1083232.html
------解决方案--------------------
我总感觉很多人翻译oracle的时候总会出错,与事实不符。
oracle 10g在启动时首先寻找spfile,如果找不到的话就去找pfile,但事实上我把spfile删除以后,数据库根本就无法启动!
但是我把pfile删除了启动数据库照样可以启动。
如下所示:
SQL> conn sys/admin as sysdba;
已连接。
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string D:\ORACLE10.2.0\DBS\SPFILEORCL
.ORA
SQL> show parameter pfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string D:\ORACLE10.2.0\DBS\SPFILEORCL
.ORA
SQL> create spfile from pfile;
文件已创建。 //这时候明明是以spfile启动,为什么还能从pfile创建spfile???
SQL> create pfile from spfile;
文件已创建。
您看,通过show parameter spfile可以看出当前使用的是spfile,但是执行命令create spfile from pfile 为什么会成功?
接下来:我关闭数据库删除spfile后执行以下命令:
SQL> conn sys/admin as sysdba;
已连接到空闲例程。
SQL> startup;
ORA-01565: error in identifying file 'D:\oracle10.2.0/dbs/spfileorcl.ora'
ORA-27041: unable to open file
OSD-04002: N^7(4r?*ND<~
O/S-Error: (OS 2) O5M3UR2;5=V86(5DND<~!#
报错!不是说了吗?如果找不到spfile他会找pfile的,但是他为什么报错????
恢复spfile后,启动正常。如下:
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 595591168 bytes
Fixed Size 1250332 bytes
Variable Size 155192292 bytes
Database Buffers 432013312 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
数据库已经打开。
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string D:\ORACLE10.2.0\DATABASE\SPFIL
EORCL.ORA
接下来,我删除ininorcl.ora,然后启动数据库:
SQL> conn sys/admin as sysdba;
已连接。
SQL> create spfile from pfile;
create spfile from pfile
*
ERROR 位于第 1 行:
ORA-32002: 无法创建已由实例使用的 SPFILE
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string D:\ORACLE10.2.0\DATABASE\SPFIL
EORCL.ORA
SQL> show parameter pfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string D:\ORACLE10.2.0\DATABASE\SPFIL
EORCL.ORA
SQL>
你看现在为什么用create spfile from pfile 就会报错??还有,这时的spfile为什么跑到database目录下了??
谁能告诉我???
我真的搞不清为什么?书上的为什么和我的实验不一样呢????
------解决方案--------------------
http://www.cnblogs.com/jacktu/archive/2008/02/27/1083232.html
------解决方案--------------------