在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 //正常启动数据库
Oracle 9i RAC 归档方式修改方法:
1. change the cluster_server=false in a instance
2.shutdown both instances;
3.change proper parameter about archivelog mode.
4.startup mount the instance from set 1.
5.login db as sysdba and alter database archivelog;
6.shutdown instance and change parameter cluster_server=true
7.start both instance;
一般的修改方法.
关闭数据库,备份已有的数据
改变数据库的运行方式是对数据库的重要改动,所以要对数据库做备份,对可能出现的问题作出保护。
启动Instance ,Mount数据库但不打开数据库,来改变归档方式
sqldba lmode=y(svrmgrl)
sqldba>connect internal
sqldba>startup mount
sqldba>alter database archivelog;
使能自动存档
在初始化文件init*.ora(一般放ORACLE根目录的下层目录dbs下)加参数:
log_archive_start=true
指定存档的重做登录文件名和存放的位置
同样是在初始化文件init*.ora中加入下面的参数:
log_archive_format=%S.arc
log_archive_dest=/arch12/arch (arch12 是日志文件存放的目录)
关闭数据库,重新启动数据库,归档方式转换完成。