oracle RAC切换归档

(转自leshami)

RAC环境下的归档模式切换与单实例稍有不同,主要是共享存储所产生的差异。在这种情况下,我们可以将RAC数据库切换到非集群状态下,仅仅在一个实例上来实施归档模式切换即可完成RAC数据库的归档模式转换问题。本文主要描述了由非归档模式切换到归档模式,而由非归档切换的归档步骤相同,不再赘述。

1.1、主要步骤:
2. 备份spfile,以防止参数修改失败导致数据库无法启动
3. 修改集群参数cluster_database为false
4. 启动单实例到mount状态
5. 将数据库置于归档模式(alter database archivelog/noarchivelog)
6. 修改集群参数cluster_database为true
7. 关闭单实例
8. 启动集群数据库
9.
10.2、环境
11. oracle@bo2dbp:~> cat /etc/issue
12.
13. Welcome to SUSE Linux Enterprise Server 10 SP3 (x86_64) - Kernel \r (\l).
14.
15. oracle@bo2dbp:~> sqlplus -v
16.
17. SQL*Plus: Release 10.2.0.3.0 - Production
18.
19. 使用asm存储方式存放归档日志
20.
21.3、修改集群数据库到归档模式
22. oracle@bo2dbp:~> export ORACLE_SID=ora10g1
23. oracle@bo2dbp:~> sqlplus / as sysdba
24.
25. SQL*Plus: Release 10.2.0.3.0 - Production on Mon Dec 24 16:53:18 2012
26.
27. Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.
28.
29. Connected to:
30. Oracle Database 10g Release 10.2.0.3.0 - 64bit Production
31. With the Real Application Clusters option
32.
33. SQL> archive log list;    -->查看当前数据库的归档模式
34. Database log mode              No Archive Mode          -->非归档模式
35. Automatic archival             Disabled
36. Archive destination            USE_DB_RECOVERY_FILE_DEST
37. Oldest online log sequence     59
38. Current log sequence           60
39.
40. SQL> select instance_name,host_name,status from gv$instance;
41.
42. INSTANCE_NAME    HOST_NAME            STATUS
43. ---------------- -------------------- ------------
44. ora10g1          bo2dbp               OPEN
45. ora10g2          bo2dbs               OPEN
46.
47. SQL> show parameter cluster      -->查看集群的参数,cluster_database为true表示为集群数据库,否则,非集群数据库
48.
49. NAME                                 TYPE        VALUE
50. ------------------------------------ ----------- ------------------------------
51. cluster_database                     boolean     TRUE
52. cluster_database_instances           integer     2
53. cluster_interconnects                string
54.
55. SQL> create pfile=‘/u01/oracle/db/dbs/ora10g_robin.ora‘ from spfile;  -->先备份spfile
56.
57. File created.
58.
59. SQL> alter system set cluster_database=false scope=spfile sid=‘*‘;  -->修改为非集群数据库,该参数为静态参数,需要使用scope=spfile
60.
61. System altered.
62.
63. oracle@bo2dbp:~> srvctl stop database -d ora10g                        -->关闭数据库
64. oracle@bo2dbp:~> srvctl start instance -d ora10g -i ora10g1 -o mount   -->启动单个实例到mount状态
65. oracle@bo2dbp:~> sqlplus / as sysdba
66. SQL> select instance_name,status from v$instance;
67.
68. INSTANCE_NAME    STATUS
69. ---------------- ------------
70. ora10g1          MOUNTED
71.
72. SQL> alter database archivelog;                                       -->改变数据库到归档模式
73.
74. Database altered.
75.
76. SQL> alter system set cluster_database=true scope=spfile sid=‘*‘;    -->在将数据库改为集群模式
77.
78. System altered.
79.
80. SQL> ho srvctl stop instance -d ora10g -i ora10g1                     -->关闭当前实例
81.
82. SQL> ho srvctl start database -d ora10g                               -->启动集群数据库
83.
84. SQL> archive log list;
85. ORA-03135: connection lost contact
86. SQL> conn / as sysdba
87. Connected.
88. SQL> archive log list;                                                -->查看归档模式
89. Database log mode              Archive Mode                           -->已经处于归档模式
90. Automatic archival             Enabled                                -->自动归档
91. Archive destination            USE_DB_RECOVERY_FILE_DEST              -->归档位置为参数DB_RECOVERY_FILE_DEST的值
92. Oldest online log sequence     60                                     -->下面是sequence相关信息
93. Next log sequence to archive   61
94. Current log sequence           61
95.
96. SQL> show parameter db_recovery_file
97.
98. NAME                                 TYPE        VALUE
99. ------------------------------------ ----------- ------------------------------
100. db_recovery_file_dest                string      +REV
101. db_recovery_file_dest_size           big integer 2G
102.  

下面的方式修改也可以(推荐使用上面的方式,安全简单):

如果Oracle数据库运行在归档模式,当进行数据库维护时,可能需要暂停数据库的归档,在完成维护后,再重新启动归档模式。通过以下步骤可以从归档模式转换为非归档模式:

以下步骤在一台机器上操作。节点二保持down。在所有的操作完成后在打开节点二的数据库。。。

SQLPLUS>connect SYS/PASSWORD

SQLPLUS>ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=SPFILE;

SQLPLUS>shutdown immediate;

SQLPLUS>startup mount exclusive;

SQLPLUS>alter database noarchivelog;

SQLPLUS>ALTER SYSTEM SET CLUSTER_DATABASE=TRUE SCOPE=SPFILE;

SQLPLUS>shutdown immediate;

SQLPLUS>STARTUP

非归档改为归档

SQLPLUS>connect SYS/PASSWORD

SQLPLUS>ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=SPFILE;

SQLPLUS>shutdown immediate;

SQLPLUS>startup mount exclusive;

SQLPLUS>alter database archivelog;

SQLPLUS>ALTER SYSTEM SET CLUSTER_DATABASE=TRUE SCOPE=SPFILE;

SQLPLUS>shutdown immediate;

SQLPLUS>STARTUP

但是我经过测试发现,不需要修改参数database_cluster,直接两节点全部shutdown immediate,然后把一个节点启动到mount模式,直接改变归档alter database archivelog; 再执行shutdown immediate,然后把两个数据库都拉起来就可以!!!

错误:

testdb101@db10a  /home/oracle$ srvctl stop instance -d testdb10 -i testdb101
/u01/crs1020/jdk/jre/bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory

alert日志里面
db_recovery_file_dest_size of 2048 MB is 10.55% used. This is a
user-specified limit on the amount of space that will be used by this
database for recovery-related files, and does not reflect the amount of
space available in the underlying filesystem or ASM diskgroup.

解决:这是10g的一个bug,在srvctl脚本中加入

unset LD_ASSUME_KERNEL

就可以了。

时间: 2024-10-25 11:44:11

oracle RAC切换归档的相关文章

oracle rac 更改归档目录

SQL>alter system set log_archive_dest='+LWK/archivelog'  scope=spfile sid='*'; 然后关闭两个实例,启动实例,更改数据库为归档模式: SQL>shutdown immediate;Database closed. Database dismounted. ORACLE instance shut down. SQL>startup mount; ORACLE instance started. Total Sys

Oracle RAC 归档 与 非归档 切换

Oracle 的生产库都是启动在归档模式下,RAC下归档非归档的切换和单实例也是一样的,都是在MOUNT模式下执行ALTER DATABASE ARCHIVELOG/NOARCHIVELOG;命令. 不同的是:RAC环境下所有实例都必须处于非OPEN状态,然后在任意一个处于MOUNT状态的实例执行ALTER DATABASE命令,操作成功后,再正常启动其它实例即可. 注意:RAC数据库由于拥有多个实例,要注意每个实例相关初始化参数:LOG_ARCHIVE_DEST_n的设置,务必需要确保该参数设

测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程

测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程 最近系统出现问题,由于数据库产生的日志量太大无法开启归档模式,导致offline的数据文件无法online! 数据库在启动的时候不检查offline的数据文件! 下面进行测试 数据库版本 SQL> select * from v$version; BANNER ------------------------------------------------------------

oracle RAC--归档日志的开启方法

oracle RAC--归档日志的开启方法 2011-10-07 15:53:04 分类: Oracle ================================== 10g R1  要修改cluster_database参数  ,10G R2和以后的版本就不需要了  1. 例子(10g R1或之前):  srvctl stop database -d RAC节点1sql>startup mountSQL> alter system set log_archive_dest_1='lo

如何在oracle rac环境中开启归档

oracle rac 归档设置需要不像单实例设置简单,开启过程需要注意一些细节 归档开启思路: 1:查看数据库是否开启归档 2:创建共享目录(归档一定要放在共享存储上) 3:将rac设置成单实例模式 4:分别关闭各个节点实例 5:将其中一个节点启动到mount状态,开启归档,设置归档路径,格式,并打开数据库还原rac模式 6: 打开所有节点数据库 7:查看数据库归档参数设置是否生效 8:切换归档,查看归档是否正常工作 1.查询归档当前信息 SQL> show parameter recovery

Oracle RAC + Data Guard 环境搭建

国庆之前就准备做这个实验了. 后来时间不够,就没搞了. 6天的长假一放,都散漫的不成样子了.懒散了很多. 今天7号. 上班也没啥精神,但是该做的实验还得继续. Oracle 高可用性的三个主要体现是: RAC, Data Guard 和 Stream.  所以熟练掌握这些技术就是评价DBA的标准一个. RAC + Data Guard 主要用在灾备或者报表服务器上. 比如用RAC+ 逻辑standby 做报表,从而减轻RAC 系统的压力. 关于Data Guard 的一些原理知识可以参考: Or

Linux Oracle Rac 10G 搭建& Patch

Oracle Real Application Clusters 简称Oracle Rac 实施应用群集 环境接受 Virtual Machine(虚拟机):VirtualBox 4.2.18 系统平台:Oracle Enterprise Linux 5.7 X86_64 Software Packet:Oracle Database 10 R2 X86_64 for Linux Oracle 10201_clusterware_linux 虚拟机设置 Linux 内存4G 硬盘大小60G(推荐

Oracle RAC环境实时数据迁移

系统要求及安装前的说明 Oracle GoldenGate可以在Oracle不同版本间移动数据,也可以在Oracle和其它类型数据库之间移动数据.Oracle GoldenGate支持数据的过滤.映射和转换.Oracle还能在相似的Oracle数据库之间复制DDL操作.注意下面一句:当DDL支持被激活的时候,Oracle GoldenGate不支持数据的过滤.映射和转换. 支持的Oracle数据库版本,从9.2开始支持DML和DDL.支持几乎所有的主流操作系统,具体的可以从MOS(My Orac

Oracle RAC集群体系结构

一. Oracle集群体系结构 Oracle RAC,全称是Oracle Real Application Cluster,即真正的应用集群,是oracle提供的一个并行集群系统,整个集群系统由Oracle Clusterware (集群就绪软件)和 Real Application Clusters(RAC)两大部分组成. oracle RAC的实质是位于不同操作系统的Oracle实例节点同时访问同一个Oracle数据库,每个节点间通过私有网络进行通信,互相监控节点的运行状态,oracle数据