首页 > Linux操作系统 > Linux操作系统 > Oracle参数文件
Oracle参数文件
Oracle实例启动之前,需要必要的参数,即初始化参数,这些参数保存在参数文件里面。在Oracle9i之前,参数文件只有一种类型,称为PFILE,9i及以后的版本中,由新增了服务器参数文件,称为SPFILE。下面将分别介绍它们。
文件名是initSID.ora。它是文本文件,可以使用文本编辑器直接编辑,但是需要重新启动实例才能使修改生效。它的位置,默认情况下,Linux环境中是在
文件名是spfileSID.ora,全称是服务器参数文件。它的位置,默认情况下,Windows环境中是在
由于不能直接编辑SPFILE,所以,如果想要更改SPFILE中的参数,则使用命令:alter system set parameter = value
使用alter system命令修改参数时,需要注意一下2点:
1、 如果你过去实例使用的是PFILE而不是SPFILE,则scope=spfile或spfile=both会产生错误;
2、 如果实例以PFILE启动,则scope的默认值是memory,若以SPFILE启动,则默认值是both。
如果不需要自定义某个参数的值,而是采用系统的默认值,则使用命令alter system reset
1、 PFILE是文本文件;SPFILE是二进制文件;
2、 SPFILE可以被RMAN备份,但是PFILE不能;
3、 SPFILE只存在于服务器端,而PFILE可以存在客户端上,且SPFILE由数据库服务器维护,这样做,一来便于维护,二来减少了人为的错误(修改SPFILE 时Oracle数据库服务器会检查参数修改的合法性);
4、 消除了配置问题,就是当你连接远程Oracle数据库时,不需要本地的PFILE文件。
基于以上考虑,建议尽量使用SPFILE。
并且,Oracle实例启动时,读取参数文件的优先级如下:spfileSID.ora à Default SPFILE à initSID.ora。由此也看出Oracle也有限选择使用SPFILE。不过我们也可以在运行startup命令时手工指定PFILE文件:startup PFILE=$ORACLE_HOME/dbs/initORCL.ora。不能手工指定SPFILE,不过可以这样处理,新建一个PFILE,在PFILE文件中指定SPFILE=$ORACLE_HOME/database/mySPFILE.ora。然后在startup命令中指定PFILE为刚才创建的PFILE。
想知道当前使用的是PFILE还是SPFILE,可以运行命令show parameter SPFILE,如果返回空,则表示使用的是PFILE,如果返回路径,则表示使用了路径指定的SPFILE。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14969361/viewspace-545580/ ,如需转载,请注明出处,否则将追究法律责任。