RAC 环境下修改归档模式
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.
- 转:http://blog.csdn.net/leshami/article/details/8446304
RAC 环境下修改归档模式的更多相关文章
- RAC环境下修改字符集
跟单实例多少有点区别ORACLE 11g RAC 两节点第一步 查看字符集PRIMARY-SYS@mydb2>select userenv('language') from dual; USER ...
- Oracle 11g RAC环境下Private IP修改方法及异常处理
Oracle 11g RAC环境下Private IP修改方法及异常处理 Oracle 11g RAC环境下Private IP修改方法及异常处理 一. 修改方法 1. 确认所有节点CRS服务以启动 ...
- 利用XAG在RAC环境下实现GoldenGate自动Failover
概述 在RAC环境下配置OGG,要想实现RAC节点故障时,OGG能自动的failover到正常节点,要保证两点: 1. OGG的checkpoint,trail,BR文件放置在共享的集群文件系统上,R ...
- 【RAC】rac环境下的数据库备份与还原
[RAC]rac环境下的数据库备份与还原 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~ ...
- Oracle RAC 环境下的 v$log v$logfile
通常情况下,在Oracle RAC 环境中,v$视图可查询到你所连接实例的相关信息,而gv$视图则包含所有实例的信息.然而在RAC环境中,当我们查询v$log视图时说按照常理的话,v$log视图应当看 ...
- 【转】Oracle RAC 环境下的连接管理
文章转自:http://www.oracle.com/technetwork/cn/articles/database-performance/oracle-rac-connection-mgmt-1 ...
- RAC 环境下的重要参数
Oracle 数据库启动时会根据参数文件中提供的相关参数启动Oracle实例.这些参数包括数据库名字.sga,pga的分配,控制文件的位置,undo,process等等.Oracle RAC数据库同样 ...
- RAC 环境下参数文件(spfile)管理
RAC环境下,初始化参数文件与但实例下参数文件有些异同,主要表现在初始化参数可以为多个实例公用,也可以单独设置各个实例的初始化参数.对于那些非共用的初始化参数则必须要单独设置,而共用的则可以单独设置, ...
- Oracle RAC 环境下的连接管理(转) --- 防止原文连接失效
崔华老师的文章!!! 这篇文章详细介绍了Oracle RAC环境下的连接管理,分别介绍了什么是 Connect Time Load Balancing.Runtime Connection Load ...
随机推荐
- 解决SecureCRT连接linux超时后断开
出自:http://blog.csdn.net/zljjava/article/details/20285679 1.从客户端入手: 2.从服务器端入手(需要服务器权限) 修改/etc/ssh/ssh ...
- 一起学习redis源码
redis的一些介绍,麻烦阅读前面的几篇文章,想对redis的详细实现有所了解,强力推荐<redis设计与实现>(不仅仅从作者那儿学习到redis的实现,还有项目的管理.思想等,作者可能比 ...
- POJ 1704 Staircase Nim 阶梯博弈
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int ...
- soa思想,就是远程服务调用
dubbo是Java下的一套RPC框架(soa思想)
- uchome 积分体系
一.总体流程 1):管理员在后台修改积分规则2):数据被写入数据表creditrule 中,并将数据写入缓存文件data/data_creditrule.php 中3):用户发表文章或者进行其他操作的 ...
- Axure 注册码
用户名:axureuser 序列号:8wFfIX7a8hHq6yAy6T8zCz5R0NBKeVxo9IKu+kgKh79FL6IyPD6lK7G6+tqEV4LG
- iOS LLDB调试器和断点调试
技巧一:运行时修改变量的值 你以前怎么验证是不是某个变量的值导致整段程序不能正常工作?修改代码中的变量的值,然后cmd+r重新启动app?现在你不需要这么做了,只需要设置一个断点,当程序在这进入调试模 ...
- MyBatis学习总结_16_Mybatis使用的几个建议
1.Mapper层参数为Map,由Service层负责重载. Mapper由于机制的问题,不能重载,参数一般设置成Map,但这样会使参数变得模糊,如果想要使代码变得清晰,可以通过service层来实现 ...
- 利用Apriori算法对交通路况的研究
首先简单描述一下Apriori算法:Apriori算法分为频繁项集的产生和规则的产生. Apriori算法频繁项集的产生: 令ck为候选k-项集的集合,而Fk为频繁k-项集的集合. 1.首先通过单遍扫 ...
- jQuery deferred when用法
一.什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作.其中,既有异步的操作(比如ajax读取服务器数据),也有同步的操作(比如遍历一个大型数组),它们 ...