oracle 报存spfile,spfile在共享存储上启动数据库实例的要点及解决办法

问题描述

这里希望提醒大家的是:在RAC环境中轻易不要使用“create pfile from spfile;”命令创建PFILE。

因为在RAC环境,默认情况下的SPFILE会放到共享存储上(裸设备或ASM磁盘组上),RAC的每台主机上是使用PFILE指向SPFILE的方法来完成SPFILE的定位的。

一旦使用“create pfile from spfile;”命令创建PFILE后,新生成的PFILE将覆盖原有dbs目录下的PFILE,此后数据库实例启动时读取的将不再是共享存储上的SPFILE,转而读取本地的PFILE文件的内容。

1.默认情况下$ORACLE_HOME/dbs目录下的PFILE initracdb.ora中只有一行记录,记录着SPFILE的路径指向。

/oracle/app/oracle/product/10.2.0/db_1/dbs$ cat initracdb1.ora

spfile=+DATA/racdb/spfileracdb.ora

2.此时可以从数据库参数得到目前使用的是SPFILE启动的数据库

SQL> show parameter spfile

NAME            TYPE        VALUE

--------------- ----------- ------------------------------

spfile          string      +DATA/racdb/spfileracdb.ora

3.此时如果使用“create pfile from spfile;”命令创建PFILE,原有PFIEL中的SPFILE指向将被具体的数据库参数所取代。

当数据库再次启动时,因为无法找到SPFILE的位置,将使用PFILE文件中记录的具体参数值完成数据库的启动,这样将会给数据库的管理带来比较大的影响,不再享受到SPFILE参数的便捷。

4.小结

本文描述的是一个常识性的问题,希望大家在对RAC数据库进行维护和管理的过程中不要因此给自己带来不必要的麻烦。

如果出现了这样的问题该如何处理呢?方法比较简单,将PFILE的内容恢复为具有SPFILE指向的内容即可,也许在具体场景中需要重新创建SPFILE。

解决办法

创建spfile

SQL>create spfile=’/oradata/oracle/spfileoracle.ora'from pfile=’/home/oracle/initoracle.ora’;

以上spfile位置是没有限制的,而且最好不要把spfile放入到默认位置下

接下来如果在共享存储中的双机或集群环境下直接使用startup启动数据库实例

那么就要做一下步骤了:

在oracle用户下进入$ORACLE_HOME找到dbs如果没有手动创建

[root@localhost dbs]# su - oracle

[oracle@localhost ~]$ cd $ORACLE_HOME/dbs

[oracle@localhost dbs]$ ll

total 60

-rwxrwxr-x 1 oracle dba     1544 May 28 09:06 hc_oracle.dat

-rwxrwxr-x 1 oracle dba     8385 Sep 11  1998 init.ora

-rwxrwxr-x 1 oracle dba    12920 May  3  2001 initdw.ora

-rwxrwxr-x 1 oracle dba       35 May 31 03:47 initoracle.ora

-rw-rw---- 1 oracle oracle    24 May 31 02:53 lkORACLE

[oracle@localhost dbs]$ cat initoracle.ora

spfile='/oracle/spfileoracle.ora'

[oracle@localhost dbs]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Fri May 31 03:47:47 2013

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup

ORACLE instance started.

Total System Global Area  289406976 bytes

Fixed Size                  1218992 bytes

Variable Size              92276304 bytes

Database Buffers          188743680 bytes

Redo Buffers                7168000 bytes

Database mounted.

Database opened.

搞定!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值