ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

RAC下SPFILE文件修改

2021-05-29 18:04:46  阅读:250  来源: 互联网

标签:SPFILE RAC Database spfile 修改 orcl srvctl ora


RAC下SPFILE文件修改

关于RAC下spfile和pfile文件启动浅谈

第一篇:RAC下SPFILE文件修改

在RAC下spfile位置的修改与单节点环境不完全一致,有些地方需要特别注意,否则可能修改会失败。
SPFILE放在ASM中一个不正确的目录(+ARCH)中,现在想把它放在另外一个目录(+DATA)下。

以下是具体步骤:

1. 原spfile位置

1 SQL> show parameter spfile
2 spfile string +ARCH/spfiledorcl.ora

 

2. 拷贝spfile到其他目录

1 cp spfiledorcl.ora +DATA
2 copying +data/spfileorcl.ora -> +data/spfileorcl.ora

 

3. 修改所有节点$ORACLE_HOME/dbs/initorcl.ora下的参数文件

1 [oracle@dwdb04 dbs]$ vi initdorcl2.ora
2 
3 SPFILE='+ARCH/spfiledorcl.ora'
4 替换为
5 SPFILE='+DATA/spfiledorcl.ora'


4. 通过sqlplus方式重启实例

复制代码
 1 SQL> shutdown immediate
 2 SQL> startup
 3 
 4 ORACLE instance started.
 5 
 6 Total System Global Area 5.2429E+10 bytes
 7 Fixed Size 2193872 bytes
 8 Variable Size 3707766320 bytes
 9 Database Buffers 4.8671E+10 bytes
10 Redo Buffers 48136192 bytes
11 Database mounted.
12 Database opened.
13 
14 SQL > show parameter spfile
15 
16 NAME TYPE VALUE
17 
18 spfile string +DATA/spfiledorcl.ora
复制代码

 

可以发现,spfile已经修改成功。

5. 但是如果用过srvctl重启数据库,发现spfile又变回来了:

复制代码
1 oracle用户下执行
2 srvctl config database -d orcl -a
3 srvctl modify database -d orcl -p '+DATA/spfileorcl.ora'
4 srvctl config database -d orcl -a
5 
6 su - grid
7 srvctl stop database -d orcl
8 srvctl start database -d orcl
复制代码


6. 原因及解决

这是为什么呢?实际上在RAC环境中,我们更多时候是用srvctl来管理RAC资源,而srvctl的信息来自ocr,
包括spfile的位置信息。我们刚才那样做虽然修改了参数文件的位置,但是ocr并不知道,它还用原来的文件启动数据库。

我们可以用srvctl查看数据库的配置信息来确认:

复制代码
 1 [oracle@nhi-oa01 dbs]$ srvctl config database -d orcl -a
 2 Database unique name: orcl
 3 Database name: orcl
 4 Oracle home: /u01/app/oracle/product/11.2.0/db_1
 5 Oracle user: oracle
 6 Spfile: +ARCH/spfileorcl.ora
 7 Domain: 
 8 Start options: open
 9 Stop options: immediate
10 Database role: PRIMARY
11 Management policy: AUTOMATIC
12 Server pools: orcl
13 Database instances: orcl1,orcl2
14 Disk Groups: DATA,ARC
15 Mount point paths: 
16 Services: 
17 Type: RAC
18 Database is enabled
19 Database is administrator managed
复制代码



可以看到,SPFILE的位置指向是+ARCH。解决方法是通过srvctl修改SPFILE的位置。

复制代码
 1 srvctl modify database -d orcl -p '+DATA/spfileorcl.ora'
 2 
 3 [oracle@nhi-oa01 dbs]$ srvctl config database -d orcl -a
 4 Database unique name: orcl
 5 Database name: orcl
 6 Oracle home: /u01/app/oracle/product/11.2.0/db_1
 7 Oracle user: oracle
 8 Spfile: +ARCH/spfileorcl.ora
 9 Domain: 
10 Start options: open
11 Stop options: immediate
12 Database role: PRIMARY
13 Management policy: AUTOMATIC
14 Server pools: orcl
15 Database instances: orcl1,orcl2
16 Disk Groups: DATA,ARC
17 Mount point paths: 
18 Services: 
19 Type: RAC
20 Database is enabled
21 Database is administrator managed
复制代码


7.总结

在RAC环境下修改spfile:
1. 需要修改$ORACLE_HOME/dbs下的相关文件,指向新文件
2. 需要用srvctl修改config信息,指向新文件

 

posted on 2020-06-12 11:12  数据与人文  阅读(179)  评论(0)  编辑  收藏

标签:SPFILE,RAC,Database,spfile,修改,orcl,srvctl,ora
来源: https://blog.51cto.com/u_12208527/2830642

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有