oracle中的初始化参数文件

时间:2023-03-09 08:19:24
oracle中的初始化参数文件
oracle初始化参数文件管理

oracle实例是指运行状态下的oracle软件,是由内存结构跟一些进程结构组成的,主要实现数据库的访问跟控制功能,是oracle的核心。

初始化参数文件是oracle实例运行所需要的参数配置文件,oracle实例启动是必须先从参数文件中读取数据。

初始化参数文件分为pfile跟spfile。
1. pfile也叫文本初始化参数文件。oracle9i以前版本只有这种参数文件,内容是纯文本的可以直接进行编辑。
oracle在安装每一个库是都会建立一个pfile文件,默认名字是init<SID>.ora,SID为数据库实例名。在windows环境下一般该文件是放在oracle_homedatabase目录下,UNIX的环境下一般是装在oracle_homedbs目录下。例如在windows2000的环境下d:oracleora92databaseinit<SID>.ora,但是在92010的版本中由于采用的是spfile为默认的参数文件,所以只能在oracle_baseadmin<SID>pfile目录先才能找到pfile文件的一个备份,如:init.ora.4212004195359,可以直接用文本编辑,另外在oracle_homeadminsamplepfile可以找到一个pfile的参考备份文件,DBA可以利用它建立新的初始化文件。
因为修改初始化参数文件必须先关闭数据库,这样会使数据库性能下降,而且有时候中断是不能容忍的,而且DBA要在远程启动数据库就必须在客户端保存一个pfile文本的副本,如果内容不一致的话就可能启动不了数据库,在8i以后引入了动态参数的设置但是pfile不能直接保存,因此在数据库重新启动后原先修改的数据还会丢失,因此在92010以后的版本就引入了spfile这种新的参数文件。
2. spfile也叫服务器初始化参数文件,它是二进制的无法用文本进行修改。在9i中它的默认位置是oracle_homedatabase,默认文件名是spfile<SID>.ora。

数据库启动时oracle会自动在默认目录oracle_homedatabase下搜索初始化参数文件,搜索顺序为:
spfile<SID>.ora oracle数据库创建时自动建立的spfile文件
spflie.ora oracle缺省的spfile文件
init<SID>.ora oracle数据库创建时自动建立的pfile文件
init.ora oracle缺省的pfile文件
如果不希望时候默认的初始化参数文件,DBA可以在startup命令指定相应的初始化参数文件,如:
SQL>startup pfile=d:oracleadmin<SID>pfileinit<SID>.ora
pfile中还有两个特殊的关键字:ifile跟spfile
ifile是用来指定另外一个pfile文件的,例如在d:oraclepflie中的init.ora初始化参数文件中有这样的参数设置:
ifile="c:oraclepfileinit001.ora"
那么执行:startup pfile=d:oraclepflieinit.ora
就相当于执行:startup pfile=c:oraclepfileinit001.ora
spfile关键字也一样只不过是用来执行spfile文件的而已。

创建初始化参数文件
创建pfile文件
可以直接复制一个pfile文件,然后直接通过syartup pfile=这样来启动数据库,或者是用sysdba的身份登陆sql*plus执行以下命令:
SQL>create pfile='.:....init.ora'
from spfile='.:....spfile.ora'
或者是执行不带参数的:
SQL>create pfile from spfile
该命名将在oracle_homedatabase下创建一个pfile默认名字是init<SID>.ora
创建spfile文件
由于spfile是二进制文件所以不能直接复制粘贴的,可以用这个命令来通过pfile建立新的spfile
SQL>create spfile='.:....spfile.ora'
from pfile='.:....init.ora'

配置初始化参数文件
通过命令:
SQL>alter system set 参数名=参数值 spoce=spfile|memory|both

在oracle11g中的oracle_home的database目录下不存在pfile文件init<SID>.ora,因为oracle11g启动时默认加载的是spfile文件spfile<SID>.ora文件。但是在oracle的D:\app\Administrator\admin\orclyg\pfile目录下存在oracle university installer生成的pfile的一个模板文件init.ora.XXXX,如果需要pfile文件的情况下,可以根据数据库的需要通过修改该模板文件生成对应的pfile然后使用startup命令重启数据库同时加载指定的修改过的pfile文件。

使用create命令无论是创建pfile还是创建spfile生成的文件都是放在oracle_home/database目录下