RAC环境下的归档模式切换与单实例稍有不同,主要是共享存储所产生的差异。在这种情况下,我们可以将RAC数据库切换到非集群状态下,仅仅在一个实例上来实施归档模式切换即可完成RAC数据库的归档模式转换问题。本文主要描述了由非归档模式切换到归档模式,而由非归档切换的归档步骤相同,不再赘述。
- 1、主要步骤:
- 备份spfile,以防止参数修改失败导致数据库无法启动
- 修改集群参数cluster_database为false
- 启动单实例到mount状态
- 将数据库置于归档模式(alter database archivelog/noarchivelog)
- 修改集群参数cluster_database为true
- 关闭单实例
- 启动集群数据库
- 2、环境
- oracle@bo2dbp:~> cat /etc/issue
- Welcome to SUSE Linux Enterprise Server 10 SP3 (x86_64) - Kernel \r (\l).
- oracle@bo2dbp:~> sqlplus -v
- SQL*Plus: Release 10.2.0.3.0 - Production
- 使用asm存储方式存放归档日志
- 3、修改集群数据库到归档模式
- oracle@bo2dbp:~> export ORACLE_SID=ora10g1
- oracle@bo2dbp:~> sqlplus / as sysdba
- SQL*Plus: Release 10.2.0.3.0 - Production on Mon Dec 24 16:53:18 2012
- Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
- Connected to:
- Oracle Database 10g Release 10.2.0.3.0 - 64bit Production
- With the Real Application Clusters option
- SQL> archive log list; -->查看当前数据库的归档模式
- Database log mode No Archive Mode -->非归档模式
- Automatic archival Disabled
- Archive destination USE_DB_RECOVERY_FILE_DEST
- Oldest online log sequence 59
- Current log sequence 60
- SQL> select instance_name,host_name,status from gv$instance;
- INSTANCE_NAME HOST_NAME STATUS
- ---------------- -------------------- ------------
- ora10g1 bo2dbp OPEN
- ora10g2 bo2dbs OPEN
- SQL> show parameter cluster -->查看集群的参数,cluster_database为true表示为集群数据库,否则,非集群数据库
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- cluster_database boolean TRUE
- cluster_database_instances integer 2
- cluster_interconnects string
- SQL> create pfile='/u01/oracle/db/dbs/ora10g_robin.ora' from spfile; -->先备份spfile
- File created.
- SQL> alter system set cluster_database=false scope=spfile sid='*'; -->修改为非集群数据库,该参数为静态参数,需要使用scope=spfile
- System altered.
- oracle@bo2dbp:~> srvctl stop database -d ora10g -->关闭数据库
- oracle@bo2dbp:~> srvctl start instance -d ora10g -i ora10g1 -o mount -->启动单个实例到mount状态
- oracle@bo2dbp:~> sqlplus / as sysdba
- SQL> select instance_name,status from v$instance;
- INSTANCE_NAME STATUS
- ---------------- ------------
- ora10g1 MOUNTED
- SQL> alter database archivelog; -->改变数据库到归档模式
- Database altered.
- SQL> alter system set cluster_database=true scope=spfile sid='*'; -->在将数据库改为集群模式
- System altered.
- SQL> ho srvctl stop instance -d ora10g -i ora10g1 -->关闭当前实例
- SQL> ho srvctl start database -d ora10g -->启动集群数据库
- SQL> archive log list;
- ORA-03135: connection lost contact
- SQL> conn / as sysdba
- Connected.
- SQL> archive log list; -->查看归档模式
- Database log mode Archive Mode -->已经处于归档模式
- Automatic archival Enabled -->自动归档
- Archive destination USE_DB_RECOVERY_FILE_DEST -->归档位置为参数DB_RECOVERY_FILE_DEST的值
- Oldest online log sequence 60 -->下面是sequence相关信息
- Next log sequence to archive 61
- Current log sequence 61
- SQL> show parameter db_recovery_file
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- db_recovery_file_dest string +REV
- db_recovery_file_dest_size big integer 2G
- 4、归档验证
- SQL> select inst_id,name,thread#,sequence#,status from gv$archived_log; -->当前无任何归档日志
- no rows selected
- SQL> alter system switch logfile; -->在实例1上进行归档
- System altered.
- SQL> col name format a65
- SQL> select inst_id,name,thread#,sequence#,status from gv$archived_log; -->查看到sequence为61的日志已经归档
- INST_ID NAME THREAD# SEQUENCE# S
- ---------- ----------------------------------------------------------------- ---------- ---------- -
- 1 +REV/ora10g/archivelog/2012_12_24/thread_1_seq_61.459.802892953 1 61
- SQL> select name,thread#,sequence#,status from v$archived_log; -->下面是从实例级别的视图来查看
- NAME THREAD# SEQUENCE# S
- ----------------------------------------------------------------- ---------- ---------- -
- +REV/ora10g/archivelog/2012_12_24/thread_1_seq_61.459.802892953 1 61 A
- SQL> conn system/oracle@ora10g2 -->连接到实例2
- Connected.
- SQL> show parameter instance_name;
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- instance_name string ora10g2
- SQL> alter system switch logfile; -->在实例2上进行归档
- System altered.
- SQL> select inst_id,name,thread#,sequence#,status from gv$archived_log;
- -->可以看到sequence为43的日志已经归档
- -->注意这个视图查询时同一个归档日志除了出现在自身实例中外,对另外的实例也是可见的
- INST_ID NAME THREAD# SEQUENCE# S
- ---------- ----------------------------------------------------------------- ---------- ---------- -
- 1 +REV/ora10g/archivelog/2012_12_24/thread_1_seq_61.459.802892953 1 61 A
- 1 +REV/ora10g/archivelog/2012_12_24/thread_2_seq_43.458.802893283 2 43 A
- 2 +REV/ora10g/archivelog/2012_12_24/thread_1_seq_61.459.802892953 1 61 A
- 2 +REV/ora10g/archivelog/2012_12_24/thread_2_seq_43.458.802893283 2 43 A
- -->查看日志的状态
- -->注意这个v$log视图将两个实例上的组及状态都显示出来了
- -->在这里用thread#来区分,thread#为1表示实例1上的日志组有1,2,且1处于current状态.thread#2类似.
- SQL> select * from v$log;
- GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
- 1 1 62 52428800 2 NO CURRENT 4314741 24-DEC-12
- 2 1 61 52428800 2 YES ACTIVE 4312116 24-DEC-12
- 3 2 43 52428800 2 YES ACTIVE 4312300 24-DEC-12
- 4 2 44 52428800 2 NO CURRENT 4315097 24-DEC-12
- -->Author: Robinson
- -->Blog : http://blog.csdn.net/robinson_0612
- -->归档当前日志,注意该命令在单实例下等同于alter system switch logfile
- -->在rac环境下则不同,那就是所有实例上的current日志都将会被归档
- SQL> alter system archive log current;
- System altered.
- -->下面的查询正好验证了上面的描述
- -->日志62与44正是刚刚上面的命令同时产生的归档日志
- SQL> select inst_id,name,thread#,sequence#,status from gv$archived_log;
- INST_ID NAME THREAD# SEQUENCE# S
- ---------- ----------------------------------------------------------------- ---------- ---------- -
- 2 +REV/ora10g/archivelog/2012_12_24/thread_1_seq_61.459.802892953 1 61 A
- 2 +REV/ora10g/archivelog/2012_12_24/thread_2_seq_43.458.802893283 2 43 A
- 2 +REV/ora10g/archivelog/2012_12_24/thread_2_seq_44.456.802894343 2 44 A
- 2 +REV/ora10g/archivelog/2012_12_24/thread_1_seq_62.457.802894341 1 62 A
- 1 +REV/ora10g/archivelog/2012_12_24/thread_1_seq_61.459.802892953 1 61 A
- 1 +REV/ora10g/archivelog/2012_12_24/thread_2_seq_43.458.802893283 2 43 A
- 1 +REV/ora10g/archivelog/2012_12_24/thread_2_seq_44.456.802894343 2 44 A
- 1 +REV/ora10g/archivelog/2012_12_24/thread_1_seq_62.457.802894341 1 62 A
- 8 rows selected.
相关推荐
### ORACLE 11g RAC 开启与修改归档模式方法详解 #### 一、概述 在Oracle 11g RAC(Real Application Clusters)环境中,正确配置归档模式对于实现高可用性和灾难恢复至关重要。归档模式允许数据库记录所有事务...
开启 Oracle RAC 集群中的归档日志功能需要经过多个步骤,包括查看归档状态、备份参数文件、修改参数文件、重启数据库、查询实例状态、修改数据库成归档模式等。只有通过正确的步骤,才能成功开启归档日志功能,以...
在Oracle数据库环境中,特别是在Real Application Clusters (RAC)架构下,管理归档模式是一项复杂的任务,因为涉及多个节点的同步和数据一致性。RAC是一种高可用性解决方案,允许多个实例同时访问同一个数据库,因此...
在非归档模式下,数据库的日志文件(redo logs)一旦被写满并切换到新的日志文件时,旧的日志文件会被覆盖,这意味着如果在此过程中发生故障,可能会导致部分未提交的事务丢失。而在归档模式下,redo log文件在被写...
在Oracle Real Application Clusters (RAC)环境中,当面临只有历史全备(热备)且无增量备份和归档备份的情况下,若需要将数据恢复到单机环境,会面临一定的挑战。本文将详细介绍具体的恢复步骤及可能遇到的问题与...
在本案例中,我们将探讨如何利用Oracle GoldenGate (OGG) 12c 实现从Oracle Real Application Clusters (RAC) 环境到单实例环境的数据同步,并将归档日志存储于本地。此过程涉及多个步骤,包括但不限于环境准备、...
在Veritas环境下的Oracle RAC配置,结合Veritas Cluster Server(VCS)进一步增强了系统的可靠性。然而,当硬件出现问题,如描述中的主板损坏时,我们需要了解如何进行单节点启动来恢复服务。 当面临双机集群中的...
在新环境中配置数据库,可能需要修改一系列参数,创建表空间,建立profile,设置归档模式,这些都是确保数据库正常运行所必需的步骤。此外,验证RMAN备份和逻辑备份的完整性也很重要,确保在需要时可以恢复数据。 ...
根据题目提供的信息,本次迁移针对的是Oracle 10g RAC双节点环境,并且采用裸设备存储方式与归档模式。 ### 方案一:使用RMAN进行数据迁移 #### 数据文件迁移 1. **准备工作**:首先将数据库启动到MOUNT状态,这...
归档日志是数据库运行在归档模式下时,记录事务数据的一种方式,用于实现灾难恢复和保证事务一致性。 1. 创建ASM目录: 首先,以`grid`用户登录并进入SQL*Plus以sysasm角色连接: ``` # su – grid [grid@...
Oracle RAC允许多个服务器实例共同访问同一个数据库,提供容错功能,并且允许在不影响应用可用性的情况下进行系统升级和维护。自编Oracle RAC安装涉及到在虚拟环境中详细记录安装步骤、升级过程以及应用关键补丁的...
在Oracle 9i RAC环境下更改归档模式相对复杂,因为涉及`cluster_database`参数。具体步骤如下: 1. **关闭数据库**: - 首先使用`shutdown immediate`命令关闭数据库。 2. **导出spfile文件**: - 如果没有...
客户端测试部分则涵盖了配置客户端、体验故障切换(Failover)和负载均衡(LoadBalance),以及修改归档模式等内容。 #### 第2章 集群、RAC和MAA 本章定义了集群的概念,并探讨了其关键特性和核心能力,如可扩展性...
本文档旨在详细介绍如何在Oracle RAC环境下安装、配置并使用Symantec Backup Exec 12来实现数据库的备份与恢复功能。Oracle Real Application Clusters (RAC)是一种高可用性解决方案,它允许多个实例同时访问同一组...
在生产环境中我们应该使用归档模式,它会产生归档日志,可以使用多种备份和还原方案,对与Oracle管理员来说应该更改模式是必然的选择。 首先查看数据库现有模式可使用以下语句 select name,log_mode from v$...
在RAC环境中,归档模式的切换需要确保所有实例都处于非OPEN状态,一般在mount模式下使用ALTER DATABASE命令进行切换。对于每个实例,需要检查LOG_ARCHIVE_DEST_n参数的设置,确保归档日志路径是有效且可访问的。这个...
1. 修改`spfile`中的参数`log_archive_dest`和`log_archive_format`以启用归档模式。 2. 使用`ALTER SYSTEM`命令使更改生效。 3. 确保有足够的磁盘空间存放归档日志文件。 ##### 监听配置 1. 在每个节点上配置监听...