Oracle RAC参数文件管理

本文详细介绍了Oracle RAC环境中11gR2与12c版本参数文件(spfile)的管理方法,包括如何修改参数文件位置、在OCR中更新spfile路径、以及在不同RAC版本中参数文件的查找方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle RAC参数文件管理

一:11gRAC(11gR2):

众所周知,在集群环境下,参数文件是共享的,在11g中每一个节点的$ORACLE_HOME/dbs目录下都存在一个initsid.ora文件,该文件用于指向共享存储中参数文件spfile的位置。

内容如下:

[oracle@rac1 dbs]$ more initracdb1.ora

SPFILE='+DATA/racdb/spfileracdb.ora'

[oracle@rac2 dbs]$ more initracdb2.ora

SPFILE='+DATA/racdb/spfileracdb.ora

11gR2实例启动过程是先找init.ora,在由该文件所指向的ASM中的spfile。

在11gRAC中修改参数文件位置时,不仅需要修改本地操作系统initsid.ora的spfile记录文件,也需要修改OCR中的数据库资源信息。

流程如下:

一:临时位置生成pfile
注意:RAC环境下严禁使用create pfile from spfile;会覆盖默认位置下pfile内容。
也不可以使用create spfile from pfile,那么会覆盖掉spfile,需要指定具体的位置。
SQL> create pfile='/tmp/pfilexxx.ora' from spfile;

二:新位置重新生成spfile
注意:pfile和spfile都需要指定目录,
SQL> create spfile='+DATA/racdb/spfile/spfileracdb.ora' from pfile='/tmp/pfilexxx.ora';

三: 修改pfile中spfile位置
[oracle@rac1 dbs]$ vim initracdb1.ora
###SPFILE='+DATA/racdb/spfileracdb.ora'
SPFILE='+DATA/racdb/spfile/spfileracdb.ora'

四:修改OCR中spfile位置
[oracle@rac01 dbs]$ srvctl modify database -d cjcdb -p '+DATA/racdb/spfile/spfileracdb.ora'

五:重启数据库生效
逐个节点重启或同时重启都可以,根据是否可以停机来定
[oracle@rac01 dbs]$ srvctl stop database -d racdb
[oracle@rac01 dbs]$ srvctl start database -d racdb

六:检查是否使用正确的参数文件
SQL> show parameter spfile
NAME     TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile     string +DATA/racdb/spfileracdb.ora

二:12cRAC(包含12c以后的所有版本):

每个节点的$ORACLE_HOME/dbs目录下已经不存在initsid.ora文件。

那么各个节点是如何找到共享盘中的spfile参数文件呢,或者说哪里记录了参数文件spfile位置信息。

从12c开始,spfile信息只记录在OCR的数据库资源信息中,当数据库启动时,直接读取OCR中记录的spfile参数文件

查看参数文件记录位置:

[grid@rac1 dbs]$ srvctl config database -d DN_NAME
Database unique name: test12c
Database name: test12c
Oracle home: /oracle/app/product/12201/db_1
Oracle user: oracle
Spfile: +DATA/TEST12C/PARAMETERFILE/spfile.272.1044685717
Password file: +DATA/TEST12C/PASSWORD/pwdtest12c.256.1044684147
Domain: 
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: 
Disk Groups: DATA
Mount point paths: 
Services: 
Type: RAC
Start concurrency: 
Stop concurrency: 
OSDBA group: dba
OSOPER group: oper
Database instances: test12c1,test12c2
Configured nodes: rac12c1,rac12c2
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services: 
Database is administrator managed

修改读取的参数文件位置流程:

1.//修改OCR中记录的spfile位置
srvctl modify database -database test12c -spfile '+DATA/pri/PARAMETERFILE/spfile'   

2.//在相同位置创建spfile
create spfile='+DATA/pri/PARAMETERFILE/spfile' from  pfile='/oracle/dg/initorcl.ora';  

三:参数文件中参数修改方式如下:

alter system|session set parametername = values scope = memory | spfile |both sid = 'sid' | '*'

scope 
	memory : 只对当前有效,下次启动则失效 
	spfile : 只对spfile 修改,必须经过下一次启动才生效,当前的实例没有修改 
	both :内存与参数文件都将修改,当不指定scope时,缺省为both. 

system | session 
	system : system级别有效,影响整个系统及所有使用者 
	session : 仅当前session有效,一旦退出之后将实效 

sid='*'
 这个在RAC环境下使用的较为频繁,指定sid_name则当前指定的实例生效,如果指定 *,则所有实例都会被修改
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值