SQL> select * from v$version;--Oracle版本
BANNER
----------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE??? 10.2.0.1.0????? Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
--Windowns Server 2003
--Oracle 查找参数文件的顺序
1.Orahome\database\Spfile.ora或者Spfilesid.ora
2.Orahome\database\initorcl.ora
--自Oracle 9i以后启动的时候默认使用的初始化文件是spfile,我们可以通过如下种方式来判断是SPFILE还是PFILE方式启动数据库
--若为pfile启动,此参数的值为空
SQL> show parameter spfile
NAME???????????????????????????????? TYPE??????? VALUE
------------------------------------ ----------- ------------------------------
spfile?????????????????????????????? string????? F:\ORACLE\PRODUCT\10.2.0\DB_1\DBS\SPFILEORCL.ORA
?
--关闭数据库
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
--修改initorcl文件为initorcl1,发现系统无法启动
--oralce默认会去读取INITORCL.ORA文件去启动数据库(ORAHOME\DB_1\DATABASE\INITORCL.ORA)
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: ???????????????? 'F:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\INITORCL.ORA'
--创建pfile
--Oracle会把spfile的内容写入? ORAHOME\db_1\database\initorcl.ora
--原文件的内容为SPFILE='ORAHOME\db_1/dbs/spfileorcl.ora'
SQL> create pfile from spfile;
文件已创建。
--创建spfile
--Oracle会在此目录下创建另外一个spfile (ORAHOME\db_1\database\Spfilexx.ora)
SQL> create spfile from pfile;
文件已创建。
--另外一个pfile,貌似是在数据库创建的时候会自动生成的。在spfile损坏的时候,可以用这个文件恢复
--ORAHOME\admin\orcl\pfile\init.ora.1018201231751
--使用这个文件启动后,创建spfile需要注意要用下面的语法:
create spfile from pfile = 'ORAHOME\admin\orcl\pfile\init.ora.1018201231751';
?
一点总结:在修改参数文件的参数时,最好先做个备份,只要简单的copy下文件即可。