参数文件在数据库nomount时被读取。
参数文件两种形式:文本文件,二进制文件。他们可以共存,但读取时有顺序。
启动的顺序为:
1. spfilesid.ora(二进制)
2. spfile.ora(二进制)
3. initsid.ora(纯文本)
4. 报错,无法找到参数文件。
注意: startup nomount时,如果出错,一是数据库软件装的有问题,二就是参数文件错误。仅有这两个原因。
参数文件的作用:
1. 设置内存分配
2. 指定控制文件位置
查看当前系统使用的是什么参数文件:
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u01/app/oracle/product/10.1.0
/db_1/dbs/spfileorcl.ora
如果VALUE内有值的话,就是使用了对应的文件,这个文件是二进制的。
如果没有值的话,说明使用了纯文本文件,默认位置: /u01/app/oracle/product/10.1.0/db_1/dbs/。
两种格式文件可以相互转换:
二进制转纯文本:create pfile from spfile;
纯文本转二进制:create spfile from pfile;
可以在启动时制定纯文本: startup pfile='.......ora';
关于alter system '...' scope=memory,spfile,both,中的scope。
默认时scope=memory,仅改变当前内存的参数,不改变spfile,下次启动无效。
scope=spfile,改变spfile,下次启动后生效,当前无效。
scope=both,以上两个合并。
注意: 如果修改的参数是静态的,那么,使用memory,both时,就会报错。