八. RAC 归档
1.归档存放方式
RAC中的archived log存放有几种方式:
在initialization parameter file一般要设置:
sid1.log_archive_dest_1 = (location=/arc_dest_1)
sid2.log_archive_dest_1 = (location=/arc_dest_2)
1.1 分别存放在每个node上
在这种情况下recover就会产生archived log复制的问题,并且在每个node上要创建好相同的目录,因为在node recover时候要能在需要的时候同时访问所有node产生的archived log。当然也可以通过远程访问其他node的archived log来解决(比如NFS等)
登录Oracle用户:
[root@raw1 ~]# su - oracle
[oracle@raw1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Mar 1 12:35:42 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
SQL> select instance_name from gv$instance;
INSTANCE_NAME
----------------
raw1
raw2
查看数据库归档情况:
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> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination /u01/app/oracle/product/10.2.0/db_1/dbs/arch
Oldest online log sequence 33
Current log sequence 34
1.2. 存放在(ASM,CFS等)存储上
这样每个node都可以访问所有的archived log.
1.3. 修改归档路径
注意:RAC数据库由于拥有多个实例,要注意每个实例相关初始化参数:LOG_ARCHIVE_DEST_n的设置,务必需要确保该参数设置的路径合法有效,归档也能顺利进行。
设置RAW1本地归档路径
SQL> alter system set log_archive_dest_1='location=/u01/raw2arch' scope=spfile sid='raw2';
System altered.
查看更改后的归档路径
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination /u01/raw1arch
Oldest online log sequence 33
Current log sequence 34
设置RAW2本地归档路径
SQL> alter system set log_archive_dest_1='location=/u01/raw1arch' scope=spfile sid='raw1';
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
1.4. 归档切换
Oracle 的生产库都是启动在归档模式下,RAC下归档非归档的切换和单实例也是一样的,都是在MOUNT模式下执行ALTER DATABASE ARCHIVELOG/NOARCHIVELOG;命令。
不同的是:RAC环境下所有实例都必须处于非OPEN状态,然后在任意一个处于MOUNT状态的实例执行ALTER DATABASE命令,操作成功后,再正常启动其它实例即可。
1、登录两个实例后,在每个实例上执行:shutdown immediate
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
2、打开归档(在一个实例上执行):
startup mount; alter database archivelog; alter database open;
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 281018368 bytes
Fixed Size 1218968 bytes
Variable Size 130025064 bytes
Database Buffers 146800640 bytes
Redo Buffers 2973696 bytes
Database mounted.
SQL> alter database archivelog;
Database altered.
SQL> alter database open;
Database altered.
3、关闭归档(在一个实例上执行):(同上)
startup mount; alter database noarchivelog; alter database open;
4、在另一个实例上执行:startup
SQL> startup
ORACLE instance started.
Total System Global Area 281018368 bytes
Fixed Size 1218968 bytes
Variable Size 134219368 bytes
Database Buffers 142606336 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.
查看节点归档模式
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/raw2arch
Oldest online log sequence 5
Next log sequence to archive 6
Current log sequence 6