<P></P><P>Oracle 的生产库都是启动在归档模式下,RAC下归档非归档的切换和单实例也是一样的,都是在MOUNT模式下执行ALTER DATABASE ARCHIVELOG/NOARCHIVELOG;命令。 不同的是:RAC环境下所有实例都必须处于非OPEN状态,然后在任意一个处于MOUNT状态的实例执行ALTER DATABASE命令,操作成功后,再正常启动其它实例即可。 注意:RAC数据库由于拥有多个实例,要注意每个实例相关初始化参数:LOG_ARCHIVE_DEST_n的设置,务必需要确保该参数设置的路径合法有效,归档也能顺利进行。 切换示例: [oracle@raw1 dbs]$ export ORACLE_SID=raw1 [oracle@raw1 dbs]$ sqlplus /nolog SQL*Plus: Release 10.2.0.1.0 - Production on Mon Apr 19 16:17:43 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. SQL> conn / as sysdba Connected. SQL> archive log list Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 21 Current log sequence 22 SQL> SQL> select inst_id,instance_name,version,archiver,status from gv$instance; INST_ID INSTANCE_NAME VERSION ARCHIVE STATUS ---------- ---------------- ----------------- -------------- ------------ 1 raw1 10.2.0.1.0 STOPPED OPEN 2 raw2 10.2.0.1.0 STOPPED OPEN 修改归档的默认路径: SQL> alter system set log_archive_dest_1='location=/u01/raw1arch' sid='raw1'; System altered. SQL> alter system set log_archive_dest_1='location=/u01/raw2arch' sid='raw2'; System altered. SQL> show parameter log_archive NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_config string log_archive_dest string log_archive_dest_1 string location=/u01/raw2arch ... .... log_archive_dest_state_1 string enable ... .... NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ log_archive_duplex_dest string log_archive_format string %t_%s_%r.dbf log_archive_local_first boolean TRUE log_archive_max_processes integer 2 log_archive_min_succeed_dest integer 1 log_archive_start boolean FALSE log_archive_trace integer 0 切换归档模式: 注意事项: 所有节点都必须处于mount状态。 在其中一个节点修改模式,然后在其他节点正常启动即可。 SQL> startup mount; ORACLE instance started. Total System Global Area 184549376 bytes Fixed Size 1218412 bytes Variable Size 113248404 bytes Database Buffers 67108864 bytes Redo Buffers 2973696 bytes Database mounted. SQL> alter database archivelog; Database altered. SQL> alter database open; Database altered. SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination /u01/raw2arch Oldest online log sequence 14 Next log sequence to archive 15 Current log sequence 15 启动另一个节点,查看状态: SQL> alter database open; Database altered. SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination /u01/raw1arch Oldest online log sequence 21 Next log sequence to archive 22 Current log sequence 22 SQL> 至此,现在RAC 已经切换到归档模式了。 二. 切换成非归档 在一台主机上执行: SQL>ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=SPFILE; 在两台主机上执行: SQL>shutdown immediate; 在一台主机上执行: SQL>startup mount; SQL>alter database noarchivelog; SQL>ALTER SYSTEM SET CLUSTER_DATABASE=TRUE SCOPE=SPFILE; SQL>shutdown immediate; 在两台主机上执行: SQL>STARTUP</P><P></P>
|