Oracle初始化参数文件pfile和spfile

2023-12-13 03:43:46

pfile :Oracle 9i之前,ORACLE一直采用PFILE方式存储初始化参数,该文件为文本文件,可以在操作系统级别修改。当spfile文件修改出现错误导致oracle无法启动时,可以使用 pfile文件启动数据库

spfile:从Oracle 9i开始,Oracle引入了SPFILE文件,该文件为二进制格式,不能通过手工修改,只能在sql下通过alter system set 修改其中的参数。

如:

 ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE = EXCLUSIVE SCOPE = SPFILE ;

其中 scope有三个参数,分别为

scope=both 立即并永久生效,(默认模式)

scope=spfile 下次启动才能生效。

scope=memory 立即生效但下次启动时失效

查看spfile的位置

SELECT NAME, VALUE, DISPLAY_VALUE FROM V$PARAMETER WHERE NAME ='spfile';
---或
show parameter spfile

验证是否是spfile启动

1.执行SELECT ISSPECIFIED,count(*) FROM v$spparameter group by ISSPECIFIED;

如果结果又true值,说明是spfile启动

2.show parameter spfile 如果value值不为空,则为spfile启动

pfile文件的创建和使用pfile文件启动数据库

1.创建pfile文件

create pfile from spfile; 创建的pfile默认位置在 $ORACLE_HOME/dbs/ initorcl.ora ,initorcl.ora是默认的pfile文件名

create pfile='/home/oracle/pfile' from spfile; 指定pfile的路径和文件名

2.使用pfile文件启动数据库

startup force pfile='?/dbs/initorcl.ora'

从pfile创建spfile

create spfile from pfile='/home/oracle/pfile';

因为spfile在数据库没有启动的情况下也能创建,所有通过pfile和spfile的互转,可以在数据库无法启动的情况下修改spfile文件

文章来源:https://blog.csdn.net/avatar_2009/article/details/134816314
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。