一、现象描述:
Oracle dbca建库时,默认db_files是200,当RAC 数据库在运行一段时间如需重启db_files,需重启所有节点,然后再逐台重启,而且在逐台重启过程中,需启动完毕后才能重启另一个节点,否则会报错。
以下是在测试环境进行的测试:
二、测试介绍:
1、修改db_files 【在其中一节点操作】
SQL> alter system set db_files=350 scope=spfile sid='*';
2、然后只停节点一
[oracle@bj-node1 ~] srvctl stop instance -d xxxxdb -i xxxdb1
3、然后启动节点一
[oracle@bj-node1 ~] srvctl start instance -d xxxxdb -i xxxdb1
执行过程会中报错,报错内容如下:
三、解决办法
此时遇到上述报错时,应停止实例二,然后再重启节点一,待节点open,再启动节点二实例。
**正确修改db_files操作步骤如下:
**1、在其中一节点修改db_files
SQL> alter system set db_files=1000 scope=spfile sid='*';
2、停监听 【推荐】
srvctl stop listener
srvctl status listener
3、KILL 所有节点 LOCAL=NO进程 【推荐】
ps –ef|grep LOCAL=NO|grep –v grep|awk '{print $2}'|xargs kill -9
4、在其中一节点停数据库
srvctl stop database -d xxxdb
5、在其中一节点启动实例一
srvctl start instance -d xxxdb -i xxxdb1
【等待实例一数据库启动到open】
6、待节点一启动到open,再启动实例二
srvctl start instance -d xxxdb -i xxxdb2