oracle初始参数文件spfile和pfile
1、当数据库实例启动时,分配oracle实例的内存,并且打开两种初始参数文件类型中的一种:服务器参数文件,即SPFILE;基于文本的文件,即PFILE,如“init<SID>.ora”。
2、在STARTUP(NOMOUNT)启动方式时,查找文件的顺序为spfile<SID>..ora->spfile.ora->init<SID>.ora->init.ora(spfile优于pfile)。也可以显示地指定用于启动的PFILE,如startup pfile=‘文件目录’。无论哪种方式,初始参数文件都可以指定跟踪文件、控制文件等文件的位置,也设置SGA中各种结构的大小限制,以及有多少用户可以同时连接到数据库。
3、查看spfile location的SQL代码show parameter spfile。
查看初始化参数的SQL代码show parameters。
从spfile获取pfile的SQL代码Create pfile='d:pfileSID.ora' from spfile; Create pfile='d:pfileSID.ora' from spfile='spfile_location';
从pfile获取spfile的SQL代码Create spfile from pfile='Your_pfile_location'; Create spfile='spfile_location' from pfile='Your_pfile_location';
查看全局区大小show parameter sga;
查看最大连接数show parameter processes;
4、查看系统是以pfile还是spfile启动。查询v$parameter动态视图,SELECT name,value FROM v$parameter WHERE name='spfile'; 如果返回空值,那么是在使用pfile。也可以使用SHOW命令来显示参数设置,show parameter spfile,如果返回空值,那么是在使用pfile。
5、动态修改参数的SQL代码alter system set parameter=Value scope=spfile|both|memory;现在要说一下SCOPE这个参数:SCOPE参数有三个可选值:SPFILE、MEMORY、BOTH。scope=spfile是对参数的修改仅记录在服务器初始化参数文件中。该选项同时适用于动态与静态的初始化参数。修改后的参数只有下一次启动数据库时更改才会生效。scope=memory是对参数的修改记录在内存中,对于动态初始化参数,更改立即生效。修改并不会被记录在服务器端的初始化参数中。下一次启动数据库时更改失效,不能用于静态初始化参数。scope=both是对参数的修改同时记录在内存中和服务器端的初始化参数文件中。为默认使用值。