数据库读写分离解决方案--DG实施方案_第1页
数据库读写分离解决方案--DG实施方案_第2页
数据库读写分离解决方案--DG实施方案_第3页
数据库读写分离解决方案--DG实施方案_第4页
数据库读写分离解决方案--DG实施方案_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库读写分离解决方案oracle 11G ADG 实施方案Oracle Data Guard 实施方案1. 项目背景介绍1.1目的通过DG实现主库与备库同步,主库作为业务应用库,备库作为查询库,应用根据不同需求配置对应数据库;1.2测试环境在2台RedHat5.4上使用ORACLE的DataGuard组件实现容灾。设备配置(VMWare虚拟机环境)清单如下:主机型号数据实例配置数据库版本RedHat5.4(32 位)ORCLCPU: 1MEM : 2GOracle 11gR2 RedHat5.4(32 位)ORCLCPU: 1MEM : 2GOracle 11gR2 11.2

2、.0.1Oracle Data Guard 实施方案2. Oracle DataGuard 介绍备用数据库(standby databas)是 ORACLE推出的一种高可用性(HIGH AVAILABLE) 数据库方案,在主节点与备用节点间通过日志同步来保证数据的同步,备用节点作为主节点的备份,可以实现快速切换与灾难性恢复。STANDBY DATABASE 的类型:有两种类型的STANDBY :物理STANDBY和逻辑STANDBY两种类型的工作原理可通过如下图来说明:tLQvSeryjt t t forarcf Lg忙刑伽(廂阳法,physical sta ndby提供与主数据库完全一样的拷

3、贝(块到块),数据库 SCHEMA,包 括索引都是一样的。它是可以直接应用REDO实现同步的。l ogical standby 则不是这样,在logical standby中,逻辑信息是相同的,但物理组织和数据结构可以不同,它和主库保持同步的方法是将接收的REDO转换成SQL语句,然后在STANDBY上执行SQL语句。逻辑STANDBY除灾难恢复外还有 其它用途,比如用于用户进行查询和报表,但其数据库用户相关对象均需要有主键。本次实施将选择物理 STANDBY( physical sta ndby方式对主库的保护模式可以有以下三种模式:-Maximum protectio n (最高保护)-M

4、aximum availability (最高可用性) -Maximum performa nee (最高性能) 三种保护模式区别如下:保护模式数据丢失保护重做传输最高保护零数据丢失 双重故障保护LGWR SYNC 将重做冋步传 输至两个站点,网络中断会导致主Database宕机最咼可用性零数据丢失 单重故障保护LGWR SYNC 重做冋步传输最高性能最少的数据丢失LGWR ASYNC 或 ARCH 重做异步传输基于项目应用的特征及需求,本项目比较适合采用Maximum availability (最高可用性)模式实施。Oracle Data Guard 实施方案3. Dataguard实施前

5、提条件和注意事项:灾备环境中的所有节点必须安装相同的操作系统,尽可能令详细补丁也保持相同。灾备环境中的所有节点必须安装完全相同版本的Oracle数据库软件,包括版本号和发布号,比如必须都是Oracle 主库必须处于归档(ARCHIVELOG )模式。灾备环境中所有节点的硬件和操作系统架构必须相同主库可以是单实例,也可以是RAC。主节点和备用节点之间的硬件配置可以不同,比如CPU数量,内存数量,存储的配置等等。配置灾备环境的数据库用户必须具有SYSDBA权限。Oracle Data Guard 实施方案4. Oracle软件安装1. 要实施 DataGurad的前,需要在主机 R

6、edHat-Primary和备机 RedHat-Standby上进行ORACLE软件的基础安装。2. 备机基础软件的安装有两种方式供选择:1) 源始安装介质安装采用ORACLE数据库安装介质进行软件安装。2) “克隆”主站源数据库分别对主站源数据库进行tar压缩并FTP/rcp至备机上,然后展开压缩文件。通常出于便捷的原因,备机的Oracle初始建立可采用上述的第二种方式。测试环境中直接对虚拟机进行了拷贝,因此相当于采用了第二种方式。现场环境 下,如果主节点不是 RAC环境,也可以采用第二种方式。4.1环境配置RedHat5-Primary (primary , IP 192.168.204.

7、131 以下简称主库Sin gle In sta nee Primary说明IP31Oracle单实例In sta neeORCLData,Control File , Redo File$ORACLE BASE/oradataRedHat5-Sta ndby (sta ndby, IP 32以下简称从库。Sin gle In sta nee Sta ndby说明IP32Oracle单实例In sta neeORCLData,Control File , Redo File$ORACLE BASE/oradataOr

8、acle Data Guard 实施方案Oracle Data Guard 实施方案4.2系统硬件环境检查4.2.1检查内存相关项检查服务器的内存,可以通过下列命令:rootlocalhost #grep MemTotal /proc/mem info另外与内存相关的swap交换分区的设置也很重要,通常有下列的规则:实际内存建议swap交换空间大小1G-2G 1.52G-16G 超过16G倍于内存与内存相同 设置为16G即可查看当前服务器swap交换分区大小,可以通过下列命令:rootlocalhost # grep SwapTotal /proc/mem info查看系统当前共享内存,可以通

9、过df命令,例如:rootlocalhost # df -h /dev/shm4.2.2查看系统架构本步用来查看处理器的架构类型,需要确认ORACLE安装包与处理器架构相符,不 然安装时必然报错。查看当前系统的处理器架构可以通过下列命令:rootlocalhost #un ame -mi6864.2.3检查磁盘空闲空间首先/tmp至少要有1g的空闲空间,查看/tmp的磁盘空间,也可以通过df命令查看,例如:rootlocalhost # df -h /tmp在执行安装之前,建议执行df -h命令,查看当前是否有充裕的空闲空间来安装和创建数据库。rootjssnode1 # df -h4.3安装

10、操作系统软件包(32 位 RedHat5.4)binutils-.6 compat-libstdc+-33-3.2.3 elfutils-libelf-0.125 elfutils-libelf-devel-0.125 elfutils-libelf-devel-static-0.125 gcc-4.1.2 gcc-c+-4.1.2 glibc-2.5-24 glibc-common-2.5 glibc-devel-2.5 ksh-20060214 libaio-0.3.106 libaio-devel-0.3.106 libgcc-4.1.2 libgomp-4.1.2 l

11、ibstdc+-4.1.2 libstdc+-devel-4.1.2 make-3.81 sysstat-7.0.2查看软件包是否已经安装:rootlocalhost # rpm -aq binutils compat-libstdc+-33 rootlocalhost # rpm -aq | grep elfutils-libelf rootlocalhost # rpm -aq | grep gcc rootlocalhost # rpm -aq | grep glibc rootlocalhost # rpm -aq | grep ksh rootlocalhost # rpm -aq

12、| grep libaio rootlocalhost # rpm -aq | grep libgcc rootlocalhost # rpm -aq | grep libgomp rootlocalhost # rpm -aq | grep libstdc+ rootlocalhost # rpm -aq | grep make-3 rootlocalhost # rpm -aq | grep sysstat rootlocalhost # rpm -aq | grep unixODBC/rpm 下,因有通过以上命令来查看是否有未安装的软件包,可将未安装的软件包放到些包会相互依赖,最简单的方

13、式是将rpm包下的软件包一起安装:rootlocalhost # cd rpmrootlocalhost rpm# pwd/root/rpmrootlocalhost rpm# lscompat-libstdc+-33-3.2.3-61.i386.rpmelfutils-libelf-devel-0.137-3.el5.i386.rpmelfutils-libelf-devel-static-0.137-3.el5.i386.rpmgcc-4.1.2-46.el5.i386.rpmgcc-c+-4.1.2-46.el5.i386.rpmglibc-devel-2.5-42.i386.rpmgl

14、ibc-headers-2.5-42.i386.rpmkernel-headers-2618-164.el5.i386.rpmlibaio-devel-0.3.106-3.2.i386.rpmlibgomp-4.4.0-6.el5.i386.rpmlibstdc+-devel-4.1.2-46.el5.i386.rpmsysstat-7.0.2-3.el5.i386.rpmunixODBC-2.2.11-7.1.i386.rpmunixODBC-devel-2.2.11-7.1.i386.rpmrootlocalhost rpm# rpm -Uvh *64位需安装的操作系统软件包binutil

15、s-.6 compat-libstdc+-33-3.2.3 compat-libstdc+-33-3.2.3 (32 bit) elfutils-libelf-0.125 elfutils-libelf-devel-0.125 gcc-4.1.2 gcc-c+-4.1.2 glibc-2.5-24 glibc-2.5-24 (32 bit) glibc-common-2.5 glibc-devel-2.5 glibc-devel-2.5 (32 bit) glibc-headers-2.5 ksh-20060214 libaio-0.3.106 libaio-0.3.106

16、(32 bit) libaio-devel-0.3.106 libaio-devel-0.3.106 (32 bit) libgcc-4.1.2 libgcc-4.1.2 (32 bit) libstdc+-4.1.2 libstdc+-4.1.2 (32 bit) libstdc+-devel 4.1.2 make-3.81 sysstat-7.0.2 unixODBC-2.2.11 unixODBC-2.2.11 (32 bit) unixODBC-devel-2.2.11 unixODBC-devel-2.2.11 (32 bit)4.4修改内核参数下列将要进行配置的核心参数均拥有默认值

17、(或者说最小值),需要对其进行配置的原因, 是为了获得更好了性能,因此对于产品服务器来说, 务必根据实际情况进行配置,不适当的值反倒可能适得其反。使用vi命令编辑/etc/sysctl.conf文件,例如:rootlocalhost #vi /etc/sysctl.c onf将下列内容加入该文件:fs.aio-max-nr = 1048576fs.file-max = 6815744kernel.shmall = 2097152kernel.shmmax = 536870912kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.

18、ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048586注意,某些参数可能已经存在于该文件,注意修改参数值即可。这里各参数所指定 的值仅供参考,请根据实际情况进行修改,一般来说只需要对kernel.shmmax这个参数的参数值进行修改即可,该参数建议修改为物理内存的一半(以字节为单位)。编辑完之后存盘退出,然后运行下列命令重新加载并验证参数是否正确:root

19、jss no del #sysctl -p4.5修改系统时间修改主机与备机的系统时间一致创建用户和组:rootlocalhost # rootlocalhost # rootlocalhost # rootlocalhost #4.6创建用户和组及安装目录并配置环境变量groupadd oin stallgroupadd dbauseradd -g oin stall -G dba oracle passwd oracle验证nobody用户:rootlocalhost # id n obody创建Oracle的安装目录:注:(因虚拟机环境安装 Linux时没有手动分区,导致挂载点”/”空间不

20、足,所以将oracle安装 到了 /home/db下现场环境下 Oracle应安装到/opt或单独分区)rootlocalhost # cd /homerootlocalhost home# mkdir db改变文件系统/home/db的所有者为oracle,以便将Oracle安装到此目录rootlocalhost home#chow n oracle: oin stall db切换到oracle用户,修改.bash_profile oraclelocalhost $ vi .bash_profile # .bash_profile # Get the aliases and function

21、s if -f /.bashrc ; the n./.bashrcfi# User specific environment and startup programsORACLE_SID=orclORACLE_BASE=/home/db/oracleORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_SID ORACLE_BASE ORACLE_HOME export LD_ASSUME_KERNEL=2.6.18export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK umask 022PATH=$P

22、ATH:/$ORACLE_HOME/bi n:$HOME/bi n export PATH4.7安装Oracle数据库本节略Oracle Data Guard 实施方案Oracle Data Guard 实施方案5. 配置DataGuard过程5.1备注SQL:表示在sqlplus环境下执行,通常是以sysdba身份登录来执行命令$或”oraclelocalhost $”表示在命令行中执行的命令5.2判断DataGuard是否安装SQLselect * from v$opti on whereparameter = Oracle Data Guard5.3网络配置32

23、(orcldg)31 ( orcl)5.4监听配置主库oraclelocalhost $ cd $ORACLE_HOME/network/admi noraclelocalhost adm in$ vi liste ner.oraLISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 31)(PORT = 1521)SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = orci)(S

24、ID_NAME = orci)(ORACLE_HOME = /home/db/oracle/product/11.2.0/db_1)注意:SID_LIST_LISTENER配置的是静态注册,如果没有该参数,而且DataGuard启动顺序又不正确,那么在主库可能会报PINGARC1: Heartbeat failed to connect to sta ndby orci_st. Error is 12514.成。oraclelocalhost adm in$ vi tnsn ames.oraORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTO

25、COL = TCP)(HOST = 31)(PORT = 1521)(CONNECT_DATA =(SERVICE_NAME = orcl)ORCLDG =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 32)(PORT = 1521)(CONNECT_DATA =(SERVICE_NAME = orcldg)备库oraclelocalhost adm in$ vi liste ner.oraLISTENER =(DESCRIPTION_LIST =(DESCRI

26、PTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 32)(PORT = 1521)SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = orcldg)(SID_NAME = orci)(ORACLE_HOME = /home/db/oracle/product/11.2.0/db_1)oraclelocalhost adm in$ vi tnsn ames.oraORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL

27、= TCP)(HOST = 31)(PORT = 1521)(CONNECT_DATA =(SERVICE_NAME = orcl)ORCLDG =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2O4.132)(PORT = 1521)(CONNECT_DATA =(SERVICE_NAME = orcldg)5.5主库前期准备设置强制写日志SQL select FORCE_LOGGING from v$database;NOSQL alter database forc

28、e logging;SQL select FORCE_LOGGING from v$database;YES5.6创建口令文件并将文件传输到备库在主库上创建密码文件,并将文件传到备库的相关位置oraclelocalhost dbs$ pwd/home/db/oracle/product/11.2.0/db_1/dbsoraclelocalhost bin$ orapwd file=$ORACLE_HOME/dbs/orapworcl password=oracleoraclelocalhost bin$ cd $ORACLE_HOME/dbs/oraclelocalhost dbs$ ls缺省

29、情况下,win下口令文件的格式是pwdsid.ora ,unix 下的格式是orapwSID( 大小写敏感)传送文件:oraclelocalhostdbs$scp-cporapworcloracle32:/home/db/oracle/product/11.2.0/db_1/dbsorapworcl100% 15361.5KB/S00:00oraclelocalhost dbs$5.7创建备份库需要的控制文件并传输到备库创建控制文件SQLshutdow n immediateSQLstartup mount;SQLalter database create stand

30、by controlfile as 7tmp/stdby_control01.ctl;SQLalter database ope n;$scp -rp /tmp/stdby_c on trol01.ctloracle32:/home/db/oracle /oradata/ORCL/co ntrolfile/$scp -rp /tmp/stdby_c on trol01.ctloracle32:/home/db/oracle 用 ash_recovery_area/ORCL/co ntrolfile/手工复制几份(未执行)$ cd /tmp/$

31、 cp sdtby_co ntrol01.ctl stdby_co ntrol02.ctl$ cp sdtby_co ntrol01.ctl stdby_co ntrol03.ctl5.8修改主库初始化参数创建主库pfilesql create pfile from spfile;修改pfileoraclelocalhost dbs$ vi initorcl.ora*db_u ni que_ name=orcl*log_archive_c on fig=dg_c on fig=(orcl,orcldg)*log_archive_dest_1=locatio n=/home/db/oracle/

32、oradata/ORCL/archivevalid_for=(all_logfiles,all_roles) db_u ni que_ name=orc l*.lo g_archive_dest_2=service=orcldg lgwr asyncvalid_for =(on li ne_logfiles,primary_role) db_u ni que_ name=orcldg*.log archive dest state 1=enable*.log archive dest state 2=defer*.log archive format=%t %s %r.arc *.fal_se

33、rver=orcldg*.fal_clie nt=orcl*.sta ndby_file_ma nageme nt=autopfile拷贝到备库上oraclelocalhost dbs$ scp -rp/home/db/oracle/product/11.2.0/db_1/dbs/initorcl.oraoracle32:/home/db/oracle/product/11.2.0/db_1/dbs/创建主库spfileSQLShutdow n immediateSQLstartup pfile=/home/db/oracle/product/11.2.0/db_1/

34、dbs/i ni torcl.oraSQL create spfile from pfile=/home/db/oracle/product/11.2.0/db_1/dbs/i nitorcl.ora:SQL shutdow n immediate;SQL startup5.9修改数据库运行在归档模式下SQL SHUTDOWN IMMEDIATE;SQL STARTUPMOUNT;SQL ALTER DATABASE ARCHIVELOG;SQL ALTER DATABASE OPEN;5.10备份生产数据库$scp -rp /home/db/oracle/oradata/ORCL oracl

35、e32:/home/db/oracle/oradata/$scp -p /home/db/oracle/admi n/orcl oracle32:/home/db/oracle/admi npfileOracle Data Guard 实施方案Oracle Data Guard 实施方案oraclelocalhost dbs$vi in itorcl.ora*.db_u ni que_ name=orcldg*.lo g_archive_con fig=dg_con fig=(orcldg,orcl)*.log_archive_dest_1=

36、locatio n=/home/db/oracle/oradata/ORCL/archive valid_for=(all_logfiles,all_roles) db_u ni que_ name=orcldg*.lo g_archive_dest_2=service=orcl lgwr asyncvalid_for =(on li ne_logfiles,primary_role) db_u ni que_ name=orc l*.log archive dest state 1=enable*.log archive dest state 2=enable*.log archive fo

37、rmat=%t %s %r.arc *.fal_server=orcl*.fal_clie nt=orcldg*.sta ndby_file_ma nageme nt=auto*.c on trol_files=/home/db/oracle/oradata/ORCL/c on trolfile/stdby_c on trol01.c tl,/home/db/oracle/flash_recovery_area/ORCL/c on trolfile/stdby_co ntrol01.c tlspfilesql shutdown immediate sql create spfile from

38、pfile;5.13启动物理备用数据库SQLstartup nomountSQLalter database mount sta ndby database;5.14 配置 Standby Redo Log在两边都配置 standby redo log在主库查看日志组的数量和每个日志文件的大小SQL SELECT GROUP#, BYTES FROM V$LOG;在备库库查看日志组的数量和每个日志文件的大小SQL SELECT GROUP#, BYTES FROM V$STANDBY_LOG;在主备库创建日志组和 redo log 文件SQL ALTER DATABASE ADD STANDB

39、Y LOGFILE group 4(/home/db/oracle/product/11.2.0/db_1/dbs/slog4.rdo) SIZE 50M;SQL ALTER DATABASE ADD STANDBY LOGFILE group 5 (/home/db/oracle/product/11.2.0/db_1/dbs/slog5.rdo) SIZE 50M;SQLALTER DATABASE ADD STANDBY LOGFILE group 6 (/home/db/oracle/product/11.2.0/db_1/dbs/slog6.rdo) SIZE 50M;SQLALTE

40、R DATABASE ADDSTANDBY LOGFILE group7(/home/db/oracle/product/11.2.0/db_1/dbs/slog7.rdo) SIZE 50M;备注:删除日志组redo log文件的方法SQLALTER DATABASE DROP STANDBY LOGFILE GRO代表数字)5.15 Start Redo Apply在主数据库上设置 DataGuard的保护模式.把主数据库启动到 mount状态设置好 DataGuard 的保护模式.SQLalter system set log_archive_dest_state_2=ENABLE sc

41、ope=both;SQLshutdow n immediate;SQLstartup mount;SQLalter database set sta ndby database to maximize availability;SQLalter database ope n;在备用数据库上启动日志传输#实时应用日志SQL:alter database recover man aged sta ndby database using curre nt logfile disc onn ect from sessi on;查看哪些归档日志被 APPLY 了SQL:select seque nce#

42、,applied from v$archived_log order by seque nee#;在主库强制日志切换到当前的on li ne redo log file.SQL:alter system archive log curre nt;在备库查看新的被归档的 redo dataSQLSELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;在备库查看接收到的被应用的redoSQL select seque nce#,applied from v$archived_log order b

43、y seque nee#;查看数据库的角色SQLselect database_role,protect ion _mode,protect ion _level from v$database;在主库查看日志传送情况SQL Select dest_ name,status,error from v$archive_dest;DEST_NAMESTATUS ERRORLOG_ARCHIVE_DEST_1 VALID LOG_ARCHIVE_DEST_2 VALID 31 rows selected.两个节点都正常。验证同步情况在主库切换日志:SQL alter system switch lo

44、gfile;System altered.SQL select seque nee# from v$archived_log;SEQUENCE#1516SQL alter system switch logfile;System altered.SQL select seque nee# from v$archived_log;SEQUENCE#1718在备库进行验证:SQL select seque nce#,applied from v$archived_log;SEQUENCE#APP13 YES4 NO14 YES15 YES16 YES18 NO16 YES17 YES18 YES1

45、9 YES同步成功。至此Oracle的Data Guard环境已经搭建完成。5.16DataGuard 日常维护在日常维护中,请严格按照以下顺序来操作:启动顺序启动的时候,先启动备库,然后启动主库。一、 启从、主库的监听Liste ner从库 orcldg:$ls nrctl start主库orci:$ls nrctl start二、启动备库数据库,执行如下:$sqlplus / as sysdbaSQL startup nomountSQL alter database mount standby database;#让备库处于 standbySQL ALTER DATABASERECOVE

46、RMANAGED STANDBYDATABASEUSING CURRENT LOGFILEdisc onnect;#开始同步三、 启动主库数据库(上述第二步执行完毕后,方可执行如下命令):SQLstartup关闭顺序关闭的时候正好相反,先关闭主库,然后关闭从库。 关闭主库CMDsu -oracleCMDsqlplus “as sysdba”SQLshutdow n immediate;关闭从库telnet 12047.50su -oracleCMDsqlplus “as sysdba”SQLalter database recover man aged sta ndby database ca

47、n cel; # 停止同步SQLshutdow n immediate查看备库的数据SQLalter database recover man aged sta ndby database can cel;SQL alter database ope n read only;Database altered.SQL select coun t(1) from user_tables;SQL操作完成后,需执行以下语句以令从库继续处于接收状态:SQL ALTER DATABASERECOVERMANAGED STANDBYDATABASEUSING CURRENT LOGFILE disc onn

48、 ect;1. 查看主库的状态:确认a是否可以做switch over不能切换的情况SQLSELECT SWITCHOVER_STATUS FROM V$DATABASE; SWITCHOVER_STATUSSESSIONSACTIVE在这种情况下,说明还有活动session ,需要先kill掉,只留下当前sys进程select sid,SERIAL# from v$sessi on where sid10;SID SERIAL#12 1417 3查出当前连接sessionSQL select disti net ss.sid from v$mystat ss;杀掉其他sessionSQL a

49、lter system kill session 12,14:System altered可以切换的情况SQL SELECT SWITCHOVER_STATUS FROM V$DATABASE;SWITCHOVER_STATUSTO STANDBY2. 将主库切换至备用模式SQL alter database commit to switchover to physical sta ndby with sessi on shutdow n;3. 关闭、装载主数据库SQL shutdow n abort;SQL startup mount;4. 查看备库准备向主库模式切换SQL SELECT S

50、WITCHOVER_STATUS FROM V$DATABASE;SWITCHOVER_STATUSTO PRIMARY1 row selected注:如果是TOPRIMAR表示可以正常切换,不过还会遇到 NOTALLOWE和PENDIN(或者LATENT 实际操作下来如果备库的switchover_status 为not allowed 或者to primary 都可以正常切换5. 切换备库至主库模式SQL alter database commit to switchover to primary with sessi on shutdow n;6. 打开新的主数据库SQL ALTER D

51、ATABASE OPEN;7. 在新的备库服务器上启动REDO apply 。SQL alter database recover man aged sta ndby database using curre nt logfile disc onn ect from sessi on;5.18 灾难恢复(failover )Step 1 Flush any unsent redo from the primary database to the target sta ndby databaseSQL ALTER SYSTEM FLUSH REDO TO target_db_name;Step 2 Verify that the sta ndby database has the most recen tly archived redo log file for each primary database redo thread.SQL SELECT UNIQUE THREAD# AS THREAD, MAX(SEQUENCE#)- OVER (PARTITION BY thread#) AS LAST from V$ARCHIVED_

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论