Oracle【参数文件】浅谈数据库实例加载时,参数文件优先级选择。

前言:本实验主要是为了测试orcl数据库加载过程中,对参数文件选择的优先权。对此我们需要准备 initorcl.ora,spfileorcl.ora,init.ora,spfile.ora 四个参数文件,修改参数文件中的一个参数,以便区分每次加载的是哪个参数。

一、测试环境:

(1)OS:Red Hat Enterprise Linux Server release 5.5

(2)DB:Enterprise Oracle Server 10g release 2

二、模拟准备:

(1)备份 $ORACLE_HOMEs 目录

cd $ORACLE_HOME/

ls

 hc_orcl.dat  initdw.ora  init.ora  lkORCL  orapworcl  spfileorcl.ora

cp -r dbs  dbs_bk

(2)在 $ORACLE_HOMEs 下创建四个测试参数文件

(2.1)修改spfileorcl.ora 参数文件,设置processes参数为150,默认存在

strings spfileorcl.ora | grep processes             /**确认当前processes为150**/

(2.2)创建 initorcl.ora 参数文件,修改processes参数为200,保存退出

startup;

create pfile from spfile;

vi initorcl.ora

processes=200                                                  

cat initorcl.ora |  grep processes                           /**确认当前processes为200**/    

(2.3)修改 init.ora 参数文件,修改processes参数为250,保存退出

cp initorcl.ora init.ora

vi init.ora

processes=250

cat init.ora | grep processes                                  /**确认当前processes为250**/        

(2.4)创建spfile.orc参数,设置processes参数为300,保存退出

cp spfileorcl.ora spfileorcl.ora_bak

startup mount;

alter system set processes=300 scope=spfile;

shutdown immediate;

mv spfileorcl.ora spfile.ora;

mv spfileorcl.ora_bak spfileorcl.ora;

strings spfile.ora | grep processes              /**确认当前processes为300**/

--至此:4个测试参数文件制作成功!!!

三、测试演练:

(1)启动数据库,查看processes大小,确认启动的是哪个参数文件

startup mount;

show parameter processes;               /**当前process参数为150,说明Oracle优先选择spfileorcl.ora参数**/

(2)删除 spfileorcl.ora,重启数据库,查看processes大小,确认启动的是哪个参数文件

shutdown immediate;

ho rm -rf spfileorcl.ora;

startup mount;

show parameter processes;              /**当前process参数为300,说明Oracle优先选择spfile.ora参数**/

(3)删除spfile.ora,重启数据库,查看processes大小,确认启动的是哪个参数文件

shutdown immediate;

ho rm -rf spfile.ora;

startup mount;

show parameter processes;           /**当前process参数为200,说明Oracle优先选择initorcl.ora参数**/

--至此,最后剩下init.ora,无需测试,我们得出Oracle实例加载对参数的优先选择顺序是:

   spfileorcl.ora --> spfile.ora --> initorcl.ora --> init.ora !!!

四、小结:

通过上面的测试我们发现,只要数据库中存在spfile,数据库在加载实例时,优先选择spfile,并且是带有SID的spfile参数文件。因为spfile.ora是特定数据库定制的参数文件,只有当定制不存在时,才走由默认值构成的spfile.ora;其次选择具有定制参数的init.ora,最后走由默认值构成的init.ora参数文件。


你可能感兴趣的:(oracle,参数文件,实例加载)