1、在oracle数据库中控制文件一般需要多个,避免其中一个损坏后导致数据库无法恢复,如下图可以看到当前数据库只使用了一个控制文件
2、停止所有节点的数据库实例,只停止数据库实例不停止asm实例,如下图
3、然后启动数据库实例到nomount状态,如果是RAC的话只启动一个节点到nomount,如下图
4、然后使用rman来复制一个控制文件,源文件是在+DATA/orcl/controlfile/current.260.998753157,需要复制到flash磁盘中,复制语法为:restore controlfile to '+FLASH' from '+DATA/orcl/controlfile/current.260.998753157';
5、进入到asm磁盘组管理器找到新创建的控制文件,如下图
6、然后通过oracle用户连接到数据库实例,进行修改,如下图alter system set control_files='敫苻匈酃+DATA/orcl/controlfile/current.260.998753157','+FLASH/orcl/controlfile/current.261.998843811' scope=spfile sid='*';
7、修改完成后重启数据库实例,再查看控制文件可以看到已经更改成功
8、然后再分别启动其它节点的数据库实例可以看到都已经修改成功,如下图