rac_dataguard 实施
- 格式:docx
- 大小:31.66 KB
- 文档页数:13
Primary Database默认使用ARCN进程,如果使用LGWR进程必须明确指定。
使用LGWR SYNC方式时,可以同时使用NET_TIMEOUT参数,这个参数单位是秒,代表如果多长时间内网络发送没有响应,LGWR进程会抛出错误。
LOG_ARCHIVE_DEST_2=’SERVICE=ST LGWR SYNC NET_TIMEOUT=30’因为LGWR进程不会等待LNSn进程的响应结果,所以配置LGWR ASYNC方式时不需要NET_TIMEOUT参数。
LOG_ARCHIVE_DEST_2=’SERVICE=st LGWR ASYNC’在日志接收中,需要注意的是归档日志会被放在什么位置DATAGUARD定义3种数据保护模式:最大保护最大可用最大性能最大保护:主备库数据是完全同步的,主库上的每个事务的REDO日志必须在本地和备库上都写入日志文件后才能提交。
如果不能写入到备库,主库就会自动关闭以防止数据丢失。
当PRIMARY DATABASE的某些日志没有成功发送到STANDBY DATABASE,这时就发生了归档裂隙,缺失的这些日志就是裂隙。
DATA GUARD能够自动检测,解决归档裂隙,不需要注意:RAC环境,切换时PRIMARY和STANDBY都只能有一个实例活动,其他的实例必须关闭。
在dbp上执行shutdown immediate在dbs上执行alter database commit to switchover to physical standby with session shutdown;在Standby上执行alter database commit to switchover to primary with session shutdown;在dbs上创建Standby Redolog File注意:如果Standby是一个RAC环境,MRP只能在一个实例上执行,这个RAC的恢复操作一样,而其他实例只能运行RFS。
从主库切换到备库1. 将主数据库进行全库备份,已确保在切换到主库过程中失败并且无法切换回来时的恢复。
备份最好使用rman作,或将备库模式更改成只读模式,执行exp脚本,进行全库导出。
2. 停应用;3. 停掉节点2,执行srvctl stop database –d rac24. 确认节点1日志已全部传到备库5. 在节点1,执行select switchover_status from v$database;确认为TO_STANDBY6. 在节点1,执行alter database commit to switchover to physical standby;7. 在节点一重启数据库,执行shutdown immediate;startup nomount;启动数据库的时候,都是指定pfile,这样就不用修改以前的参数文件了,风险也小alter database mount standby database;从备库切换到主库1. 执行select switchover_status from v$database;确认为TO_PRIMARY2. 执行alter database commit to switchover to primary;3. 重启数据库,执行shutdown immediate;startup; 启动数据库的时候,都是指定pfile,这样就不用修改以前的参数文件了,风险也小4. 确认检查Select * from v$database;Select process,status,thread#,sequence# from v$managed_standby;SELECT MESSAGE FROM V$DATAGUARD_STATUS;5,修改中间件服务器上的tnsnames参数。
6,使应用连接到主库(原来的备库),检查数据库的运行情况。
7,验证日志应用情况(在主库和备库上都要执行)SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG;再切换回来。
ORACLE 11Gr2 RAC双节点+单实例DataGuard实施部署方案V1.0数据运维部目录1 参考集群规划 (5)1.1硬件环境 (5)1.2软件环境 (5)1.3IP及存储规则 (5)2RAC主库安装实施 (6)2.1 主机环境准备 (6)2.1.1 操作系统安装 (6)2.1.2 服务器内存要求 (6)2.3 网络配置 (7)2.3.1 配置IP (网络工程师分配IP并配置好) (7)2.3.2 配置主机名 (8)2.3.3 配置/etc/hosts (8)2.4 防火墙、SELinux和NTP禁用 (9)2.4.1关闭服务器防火墙或开放端口: (9)2.4.2禁用SELinux: (9)2.4.3禁用NTP并删除其配置文件: (9)2.5 资源限额配置 (10)2.5.1编辑/etc/sysctl.conf,添加以下内容: (10)2.5.2编辑/etc/security/limits.conf,添加以下内容: (10)2.5.3编辑/etc/pam.d/login,添加以下内容: (11)2.5.4调整tmpfs大小 (11)2.6 用户和组配置 (11)2.6.1新建grid和oracle相关用户和组。
(11)2.6.2新建grid和oracle安装目录 (12)2.6.3配置grid和oracle用户环境变量 (12)2.7 依赖包安装 (13)2.8 SSH互信配置 (15)3RAC主库共享存储配置 (16)3.1 存储建设 (16)3.2 UDEV方式配置 (16)4 RAC主库安装Oracle grid集群件 (17)5.1 安装前检查 (18)5.2 解压及安装 (18)5.3 安装检查 (30)5.4 卸载grid (30)5 RAC主库配置ASM磁盘 (31)6 RAC主库安装Oracle数据库软件 (34)7 RAC主库创建数据库实例 (41)8 RAC数据库管理工作 (52)8.1RAC的启停 (52)8.2 RAC检查运行状况 (52)8.3 测试验证 (53)9备库安装实施 (54)9.1 主机环境准备 (54)9.1.1 操作系统 (54)9.1.2 服务器内存要求 (54)9.2 网络配置 (54)9.2.1 配置IP (54)9.2.2 配置主机名 (55)9.2.3 配置/etc/hosts (55)9.3 安装依赖包 (55)9.4修改内核参数 (57)9.5 修改oracle用户限制 (58)9.6修改/etc/pam.d/login (58)9.7关闭防火墙 (58)9.8更改安装所有者的ulimit设置 (59)9.9添加用户及创建安装目录 (59)9.10 设置oracle用户环境变量 (60)9.11 安装Oracle数据库软件 (60)9.12 配置监听及本地网络服务 (60)10.搭建DG (60)10.主库强制force logging (60)10.2开启主库的归档模式 (61)10.3主库创建standby redo log (61)10.4修改主库RAC参数,并生成pfile与密码文件一起传输到备库 (63)10.5创建备库的监听、修改和创建主备库的tnsname.ora 文件 (64)10.6备库创建目录 (65)10.7备库修改pfile并启动到nomount (65)10.8开始使用RMAN进行DG (67)10.9打开备库并开启apply service (68)11.测试结果 (68)12.其他相关查询和切换使用 (68)12.1 查看DG是否是实时应用 (68)12.2 备库关闭日志延时应用,恢复到日志实时应用 (69)12.3 在备库上面,关闭日志实时应用。
文档标识文件状态:[] 草稿[√] 正式发布[ ] 正在修改Oracle RAC Dataguard实施文档版本:1.0.0编制周光晖2015年6月7日审核批准年月日生效日期:年月日修订历史记录日期版本修订说明作者目录第一章引言 (4)**. 编写目的 (4)**. 定义、首字母缩写词和缩略语 (4)第二章.................................................................................................... 安装主、备库Oracle软件4**. 安装前规划 (4)**. 修改/etc/hosts(主、备) (4)**. 检查并建立相关目录(主、备) (5)**. 数据文件目录 (5)**. 归档日志文件目录 (5)**. 临时备份文件目录 (5)**. 做好数据备份 (6)第三章.................................................................................................................... DataGuard配置6**. sqlplus登录主库,修改为强制归档模式,并修改相关参数 (6)**. 重启主库至open状态并开启归档模式 (7)**. 编辑主库及备库的tnsname.ora文件 (7)**. 在主库上生成备库的参数文件 (8)**. 复制参数文件及密码文件 (8)**. 在主库上生成“造目录”文件 (8)**. 在主库 (8)**. 在备库 (9)**. 在备库上更改参数文件fapdbwb.pfile,修改其中主备库相关参数 (9)**. 在主库进入rman模式 (10)**. oracle 11g (10)**. 监听注册备库监听 (11)**. 将备库启动至nomount状态 (11)**. 主库执行duplicate from active database (11)**. oracle 10g (12)**. 将主库rman生产的备份文件、控制文件拷贝至备库 (12)**. 在备库上将standby控制文件拷到参数文件中所指位置 (12)**. 在备库上使用修改的参数文件启动备库数据库 (12)**. 在备库上用rman恢复备份 (12)**. 在备库上创建spfile文件 (13)**. 在主库和备库上增加standby redologfile文件 (13)**. 变更主库保护模式 (14)**. 在备节点开启DG同步状态 (14)**. 主备库查询比对 (15)第四章............................................................................................................ DataGuard参数说明15引言1.1. 编写目的本文档描述了配置Oracle RAC Dataguard的详细步骤,编写的目的是为了使用者能够快速进行ORACLE RAC到单机的DataGuard的配置,以便实现数据的容灾或其他查询等目的。
构建RAC架构及异地单机Data Guard实施方案目录文档控制................................................................................................................. 错误!未定义书签。
修改记录......................................................................................................... 错误!未定义书签。
文档分发......................................................................................................... 错误!未定义书签。
概述......................................................................................................................... 错误!未定义书签。
实施过程 (3)一、RAC架构Data Guard (3)(一)、配置standby库rac环境。
(4)(二)、配置rac架构data guard (8)二、异地单机Data Guard (16)1、需求概述:某某公司现有4节点RAC架构数据库ERP一套。
现需要与ERP数据库在同一机房内,构建一套RAC架构Data Guard(本方案采用2节点),并采用max aviliable保护模式,用以在CRM主库出现故障时,可及时切换到RAC架构的Data Guard备库上,并且最大限度的保障性能。
同时,需要在异地机房内,构建一台单机Data Guard,用以对CRM数据库进行容灾。
Oracle RAC+ASM+DataGuard配置实验记录+常见问题Oracle RAC+ASM+DataGuard配置实验记录+常见问题1、环境规划:---RAC环境介绍(primary database)rac1 rac2______________________________________________________public ip 192.168.110.11 192.168.110.12______________________________________________________virtual ip 192.168.110.21 192.168.110.22_____________________________________________________instance racdb1 racdb2______________________________________________________db_name racdb_______________________________________________________storage mode ASM__________________________________________________---单机环境介绍(standby database)数据文件可放至本地,也可以放至ASM上,本实验中先放至本地实验_____________________________________________________________________ _____ip 192.168.110.11 192.168.110.12_____________________________________________________________________ ______instance 192.168.110.13(rac3)_____________________________________________________________________ ______storage mode /oradata/racdb_____________________________________________________________________ ______----hosts文件#Public Network - (eth0)192.168.110.11 rac1192.168.110.12 rac2192.168.110.13 rac3#Private Interconnect - (eth1)10.10.10.11 rac1priv10.10.10.12 rac2priv#Public Virtual IP (VIP) addresses - (eth0)192.168.110.21 rac1vip192.168.110.22 rac2vip--检查环境1)、启动archivelog归档模式SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 54Next log sequence to archive 56Current log sequence 56SQL> show parameter RECOVERYNAME TYPE VALUE------------------------------------ -----------------------------------------db_recovery_file_dest string +DG_RECOVERY db_recovery_file_dest_size big integer 2Grecovery_parallelism integer 02)、启动FORCE_LOGGING模式SQL> alter database FORCE LOGGING;Database altered.SQL> select FORCE_LOGGING from v$database;FOR---YES2、首先配置两个数据库的tnsnames.ora和listener.oratnsnames.ora(两台主机相同)racdb_rac1 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.110.21)(PORT = 1521)) (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = racdb_s)(SERVICE_NAME = racdb1)))racdb_rac2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.110.22)(PORT = 1521)) (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = racdb_s)(SERVICE_NAME = racdb2)))racdb_standby =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.110.13)(PORT = 1521)) )(CONNECT_DATA =(SERVICE_NAME = racdb)))standby主机上的listener.oraSID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = racdb)(ORACLE_HOME = /oracle/app/product/10.2.0/db_1)(SID_NAME = racdb))(SID_DESC =(GLOBAL_DBNAME = PLSExtProc)(ORACLE_HOME = /oracle/app/product/10.2.0/db_1)(SID_NAME = PLSExtProc)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.110.13)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))))3、准备参数文件RAC环境下的参数变化增加如下:RAC主库:(注意使用ASM的时候,不要改变db_unique_name参数,否则之后创建的asm文件就会放入至新的db_unique_name目录下面,导致DB_FILE_NAME_CONVERT失效。
Oracle11g11.2.0.4RAC双节点上搭建DataGuardOracle 11g 11.2.0.4 RAC双节点上搭建DataGuard备库安装好grid infrastructure软件备库安装好oracle软件在主库RAC1节点执行RMAN备份:run{allocate channel c1 device type disk;allocate channel c2 device type disk;allocate channel c3 device type disk;allocate channel c4 device type disk;backup database format '/u01/app/oracle/backup/full_%d_%T_%U';release channel c1;release channel c2;release channel c3;release channel c4;}run{sql 'alter system archive log current';backup archivelog all format '/u01/app/oracle/backup/ARC_%U.bak';backup device type disk format '/u01/app/oracle/backup/standby_%U.ctl'current controlfile for standby;}将主库的口令文件复制到备库的$ORACLE_HOME/dbs目录中,改名为orapw+新的实例名注意:一定要是主库复制过来的,否则即使密码相同也不行。
主库创建pfilecreate pfile='/u01/app/oracle/pfile' from spfile;复制到备库并且修改部分参数:*.controlfiles='+DATA/racdg/controlfile/cont.ctl'*.db_file_name_convert='+DATA/racdb/','+DATA/racdg/'*.fal_client='racdg'*.fal_server='racdb1','racdb2'*.log_archive_config='dg_config=(racdb,racdg)'*.log_archive_dest_1='location=USE_DB_RECOVERY_FILE_DE STvalid_for=(all_logfiles,all_roles) db_unique_name=racdg'*.log_archive_dest_2='service=racdb asyc valid_for=(online_logfiles,primary_role) db_unique_name=racdb' *.log_archive_format='ARC_%t_%S_%r.arc'*.log_file_name_convert='+DATA/racdb/','+DATA/racdg/*.service_names='racdg'*.standby_file_management='auto'*.db_unique_name='racdg;修改权限:将$ORACLE_HOME/bin 下oracle文件修改权限:chgrp asmadmin oraclechmod 6751 oracle否则在还原控制文件到ASM磁盘的时候没有权限在ASM磁盘读写在主库2个节点和备库上配置tnsname.ora文件内容如下(要相同)RACDB =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.211.200)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = racdb)))RACDB1 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.211.203)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = racdb)(INSTANCE_NAME = racdb1)))RACDB2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.211.204)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = racdb)(INSTANCE_NAME = racdb2)))RACDG =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.211.188)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = racdg)))在物理备库上,将pfile转成spfile,执行startup nomount;启动到nomount状态:进入RMANrman target /还原控制文件到备库:restore standby controlfile from'/u01/app/oracle/backup/standby_1ppiogeb_1_1.ctl';(根据实际备份的控制文件名字)还原数据文件到备库:run{allocate channel c1 type disk;allocate channel c2 type disk;allocate channel c3 type disk;allocate channel c4 type disk;restore database;release channel c1;release channel c2;release channel c3;release channel c4;}在主库执行:alter system set log_archive_dest_2='service=racdg LGWR asyncvalid_for=(online_logfiles,primary_role)db_unique_name=racdg'sid='*';alter system set log_archive_config='dg_config=(racdb,racdg)'sid='*';备库执行开始应用日志命令:SQL> alter database recover managed standby database using currentlogfile disconnect from session;查看备库日志应用情况:selectdbid,name,switchover_status,db_unique_name,database_role,op en_mode,current_scn from v$database;取消备库应用日志:alter database recover managed standby database cancel;select open_mode,database_role,switchover_status from v$database;查看主库能否成功将日志传送到备库主库进行参数配置可以便将主库和备库角色转换:alter system set log_archive_config='DG_CONFIG(racdb1,racdg)';alter system set fal_client='racdb1' sid='racdb1';alter system set fal_client='racdb2' sid='racdb2';alter system set fal_server='racdg' sid='*';alter database add standby logfile '+FRA' size 50m;alter database add standby logfile '+FRA' size 50m;alter database add standby logfile '+FRA' size 50m;alter database add standby logfile '+FRA' size 50m;alter system set db_file_name_convert='+DATA/racdg/','+DATA/racdb/' sid='*' scope=spfile;alter system set log_file_name_convert='+DATA/racdg/','+DATA/racdb/' sid='*' scope=spfile;selectdbid,name,current_scn,protection_mode,database_role,force_log ging,open_mode,switchover_status from v$database;切换主库为备库:主库执行:alter database commit to switchover to physical standby with session shutdown;备库执行:alter database commit to switchover to primary;将原 RAC 主库 2 个实例都启动到 MOUNT 状态:srvctl start database -d racdb -o mount。
RAC配置dataguard环境:2、Primary准备工作1)启动数据库force loggingSQL> alter database force logging;2)配置primary归档模式配置flash recovery area,用于存放两个实例的归档SQL> alter system set db_recovery_file_dest_size=4G;SQL> alter system set db_recovery_file_dest='+recovery';SQL> show parameter recoveryNAME TYPE VALUE------------------------------------ ----------- ------------------------------db_recovery_file_dest string +recoverydb_recovery_file_dest_size big integer 4Grecovery_parallelism integer 0启动归档,要求两个实例都处于非OPEN状态,在其中一个实例处于mount状态修改后,再打开其他实例即可。
SQL> alter database archivelog;SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination USE_DB_RECOVERY_FILE_DESTOldest online log sequence 18Next log sequence to archive 19Current log sequence 193、Standby准备工作目录规划[oracle@dg ~]$ cd /usr/oracle$ mkdir -p oradata/racdb/archive$ mkdir –p admin/racdb$ cd admin/racdb$ mkdir adump bdump dpdump pfile udump4、生成standby数据库的备份、参数文件、密码文件、控制文件1)primary和standby 参数文件SQL> create pfile='/usr/oracle/initracdb.ora' from spfile;Primary最终参数文件:racdb2.__db_cache_size=83886080racdb1.__db_cache_size=88080384racdb1.__java_pool_size=4194304racdb2.__java_pool_size=4194304racdb1.__large_pool_size=4194304racdb2.__large_pool_size=4194304racdb2.__shared_pool_size=109051904racdb1.__shared_pool_size=104857600racdb1.__streams_pool_size=0racdb2.__streams_pool_size=0*.audit_file_dest='/usr/oracle/admin/racdb/adump'*.background_dump_dest='/usr/oracle/admin/racdb/bdump'*.cluster_database_instances=2*.cluster_database=true*.compatible='10.2.0.1.0'*.control_files='+DATA/racdb/controlfile/current.260.749574973'*.core_dump_dest='/usr/oracle/admin/racdb/cdump'*.db_block_size=8192*.db_create_file_dest='+DATA'*.db_domain=''*.db_file_multiblock_read_count=16*.db_name='racdb'*.db_recovery_file_dest_size=4294967296*.db_recovery_file_dest='+recovery'*.dispatchers='(PROTOCOL=TCP) (SERVICE=racdbXDB)'racdb2.instance_number=2racdb1.instance_number=1*.job_queue_processes=10racdb2.local_listener='LISTENERS_RACDB2'racdb1.local_listener='LISTENERS_RACDB1'*.log_archive_config='dg_config=(racdb,racdb_single)'*.log_archive_dest_2='service=racdb_single db_unique_name=racdb_single lgwr async' *.log_archive_dest_state_2='ENABLE'*.open_cursors=300*.pga_aggregate_target=52428800*.processes=150*.remote_listener='LISTENERS_RACDB'*.remote_login_passwordfile='exclusive'*.sga_target=209715200racdb2.thread=2racdb1.thread=1*.undo_management='AUTO'racdb2.undo_tablespace='UNDOTBS2'racdb1.undo_tablespace='UNDOTBS1'*.user_dump_dest='/usr/oracle/admin/racdb/udump'Standby参数文件为:*.audit_file_dest='/usr/oracle/admin/racdb/adump'*.background_dump_dest='/usr/oracle/admin/racdb/bdump'*.compatible='10.2.0.1.0'*.control_files='/usr/oracle/oradata/racdb/control01.ctl'*.core_dump_dest='/usr/oracle/admin/racdb/cdump'*.db_block_size=8192*.db_domain=''*.db_file_multiblock_read_count=16*.db_name='racdb'*.dispatchers='(PROTOCOL=TCP) (SERVICE=racdbXDB)'*.job_queue_processes=10*.db_unique_name='racdb_single'*.undo_management='AUTO'*.undo_tablespace='UNDOTBS1'*.log_archive_config='dg_config=(racdb,racdb_single)'*.log_archive_dest_1='location=/usr/oracle/oradata/racdb/archive'*.log_archive_format='%t_%s_%r.dbf'*.db_file_name_convert='+DATA/racdb/datafile','/usr/oracle/oradata/racdb' *.log_file_name_convert='+DATA/racdb/onlinelog','/usr/oracle/oradata/racdb' *.standby_file_management=auto*.fal_client='racdb_single'*.fal_server='racdb1','racdb2'*.open_cursors=300*.pga_aggregate_target=52428800*.processes=150*.remote_login_passwordfile='exclusive'*.sga_target=209715200*.standby_file_management='auto'*.user_dump_dest='/usr/oracle/admin/racdb/udump'2)密码文件直接拷贝一个实例上的密码文件即可。
一、在standby方配置好rac环境。
以两节点为例。
1.主机名:std1 / std22.配置/etc/hosts文件,并将此hosts文件拷贝到primary和standby的所有节点上。
# for standlocal192.168.1.151 crm-std1192.168.1.152 crm-std210.1.1.151 crm-std1-priv10.1.1.152 crm-std2-priv# for standremote192.168.10.51 std-remote# Primary db network192.168.9.51 CRM-RAC01192.168.9.53 CRM-RAC02192.168.9.52 CRM-RAC03192.168.9.54 CRM-RAC0410.1.1.51 CRM-RAC01-priv10.1.1.53 CRM-RAC02-priv10.1.1.52 CRM-RAC03-priv10.1.1.54 CRM-RAC04-priv3.修改环境变量ORACLE_SIDORACLE_SID=crmstd1ORACLE_SID=crmstd24.修改tnsnames.ora文件#for db_side_balanceListener_racListener_priListener_stdlocalListener_stdremote1.2.3.4.将primary 库设为force loggingSQL> ALTER DATABASE FORCE LOGGING;2. 设置主库的本地归档地址SQL> ALTER SYSTEM SETLOG_ARCHIVE_DEST_1='LOCATION=/disk1/oracle/oradata/payroll2> MANDATORY' SCOPE=BOTH;5.停止primary库的所有节点,将primary库做一个全库的冷备份。
为一个RAC搭建standby和单节点搭建方法基本一致,我们可以把RAC看成是一个单节点的数据库,只需要保证所有节点的日志能传送到备库即可。
一、在备库服务器安装ORACLE软件只安装软件,不要创建数据库。
ORACLE软件版本和主库保持一致。
二、修改主库参数节点1执行:SQL> show parameter spfileNAME TYPE VALUE------------------------------------ -----------------------------------------spfile string /dev/raw/raw14节点2执行:SQL> show parameter spfileNAME TYPE VALUE------------------------------------ -----------------------------------------spfile string /dev/raw/raw14可见,在本例中,RAC各节点共用一个spfile,所以,我们修改参数时,可以只需在一个节点下修改就可以了。
--强制数据库LOGGINGSQL> ALTER DATABASE FORCE LOGGING;Database altered.--修改DATAGUARD相关参数SQL> ALTER SYSTEM SET DB_UNIQUE_NAME=primary scope=spfile;System altered.SQL> ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(primary,standby)' scope=spfile;System altered.SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=/soft/archivelog/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=primary'scope=spfile;System altered.SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=standby LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby' scope=spfile;System altered.SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1=ENABLE scope=spfile;System altered.SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE scope=spfile;System altered.SQL> ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE scope=spfile; System altered.SQL> ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' scope=spfile; System altered.SQL> ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=4 scope=spfile; System altered.SQL> ALTER SYSTEM SET COMPATIBLE = '10.2.0.3' scope=spfile;System altered.--以下几个参数是为了SWITCH OVER用的,是可选参数。
Oracle RAC+ASM+DataGuard配置实验记录
目录
Oracle RAC+ASM+DataGuard配置实验记录 (1)
1、环境介绍: (1)
1、RAC环境介绍(primary database) (1)
2、单机环境介绍(standby database) (2)
3、hosts文件 (2)
4、检查环境 (2)
1) 启动archivelog归档模式 (2)
2) 启动FORCE_LOGGING模式 (3)
3) 配置主数据库(RAC)tnsnames.ora (3)
4) 配置备份数据库tnsnames.ora (4)
5)standby主机上的listener.ora (5)
6) RAC环境下的参数变化: (6)
7) 单机备库增加以下: (6)
8) 在rac上进行备份 (7)
9) 创建standby控制文件 (8)
10) 利用rman创建standby数据库 (8)
11) 创建standby redo log日志 (11)
1、环境介绍:
1、RAC环境介绍(primary database)
2、单机环境介绍(standby database)
3、hosts文件
4、检查环境
1)启动archivelog归档模式
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 54
Next log sequence to archive 56
Current log sequence 56
SQL> show parameter RECOVERY
NAME TYPE VALUE
------------------------------------ -----------
------------------------------
db_recovery_file_dest string +DG_RECOVERY db_recovery_file_dest_size big integer 2G
recovery_parallelism integer 0
2)启动FORCE_LOGGING模式
SQL> alter database FORCE LOGGING;
Database altered.
SQL> select FORCE_LOGGING from v$database;
FOR
---
YES
3)配置主数据库(RAC)tnsnames.ora
4)配置备份数据库tnsnames.ora
5)standby主机上的listener.ora
6)RAC环境下的参数变化:
7)单机备库增加以下:
8)在rac上进行备份
rman target /
backup database format '/u02/senskyfull%u_%s_%p';
将admin 目录拷贝到相应目录下
将备份的文件拷到另一台备机相同目录下。
9)创建standby控制文件
在rac两个实例上进行几次归档。
alter system archive log current;
创建standby控制文件
alter database create standby controlfile as '/u02/standby.ctl'; 创建spfile并启动standby至nomount状态。
startup nomount;
10)利用rman创建standby数据库
rman target /
allocate channel c1 device type disk format '/u02/%U'
过程如下:
[oracle@rac1 racdb]$ rman target /
恢复脚本如下:
11)创建standby redo log日志
创建原则和单实例一样,大小相等,但日志组数量要比primary数据库多一组。
如之前为6组12个,则现在要创建7组14个。
10、开始同步
启动MRP:
SQL> alter database recover managed standby database disconnect from session;
或
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
---测试看日志是否传送成功。
主库:
Sql>alter system switch logfile;
Sql> select max(SEQUENCE#) from v$archived_log;
备库:
Sql> select max(SEQUENCE#) from v$archived_log;
#或者更详细的:select FIRST_TIME,NEXT_TIME, APPLIED,SEQUENCE# from
v$archived_log order by SEQUENCE#;
SELECT MAX(R.SEQUENCE#) LAST_SEQ_RECD, MAX(L.SEQUENCE#) LAST_SEQ_SENT FROM V$ARCHIVED_LOG R, V$LOG L WHERE R.DEST_ID=2 AND L.ARCHIVED='YES'
SELECT NAME FROM V$ARCHIVED_LOG WHERE THREAD#=1 AND DEST_ID=1 AND SEQUENCE# BETWEEN 85 AND 86;。