前言:在rac下,更改归档模式不像单机或主/备模式下那么容易更改,主要是因为cluster_database参数的缘故。通过将cluster_database参数从true改为false,可以顺利用更改单机归档模式的方式来更改归档设置。更改完毕后,再将cluster_database参数改回true即可。至于归档日志,可以通过nfs共享来保存两边共有的归档日志,当然也可以用rman直接各自备各个节点的归档日志,当需要恢复时,再将归档日志合并即可。
1、关闭运行中的数据库
# su - oracle
$sqlplus /nolog
sql>connect /as sysdba
sql>shutdown immediate
2、导出现有数据库的spfile文件
如果没有spfile,可以先创建spfile
sql>create spfile from pfile;
然后导出spfile
sql>create pfile='/oracle/pfile.ora' from spfile; //将pfile创建到/oracle目录下
3、修改/oracle/pfile.ora文件
更改cluster_database参数为false。同时可以添加自动归档参数log_archive_start=true,如下:
*.log_archive_start=true
*.cluster_database=false
*.log_archive_dest='LOCATION=/oracle/archivelog' //将归档日志存放到/oracle/archivelog文件系统下,便于管理
*.log_archive_format=%t_%s.dbf
4、导入已修改的spfile
在数据库关闭状态下:
sql>create spfile from pfile='/oracle/pfile.ora';
5、启动数据库到加载状态(mount)
$sqlplus /nolog
sql>connect /as sysdba
sql>startup mount
6、更改数据库运行模式为归档模式
$sqlplus /nolog
sql>connect /as sysdba
sql>startup mount
sql>alter database archivelog; //更改为归档模式
sql>alter database open; //将数据库打开
sql>archive log list; //检查数据库归档参数是否已经正确更改
7、将cluster_database参数更改回true
首先关闭数据库
$sqlplus /nolog
sql>connect /as sysdba
sql>shutdown immediate
sql>create spfile from pfile='/oracle/pfile01.ora'; //将现有spfile导出
修改/oracle/pfile01.ora,将cluster_database参数更改为true;
8、导入新修改的pfile01.ora文件
$sqlplus /nolog
sql>connect /as sysdba
sql>create spfile from pfile='/oracle/pfile01.ora';
sql>startup //正常启动数据库