windows环境DataGuard配置
DataGuard配置说明
Oracle Data Guard配置同一操作系统平台的单机普通存储数据库的Data Guard配置操作系统:Windows 2003 Server主数据库名称:dgmain备数据库名称:dgstand1.启动主数据库的强制日志记录功能,避免Nologging子句的影响ALTER DATABASE FORCE LOGGING;2.配置日志传递的安全认证一般情况,设定remote_login_passwordfile=exclusive,并且配置tnsnames.ora即可3.配置主数据库的初始化参数#主库作为主数据库的配置:DB_NAME=dgmain#主备数据库必须相同DB_UNIQUE_NAME=DGMAIN#主备数据库不能相同LOG_ARCHIVE_CONFIG='DG_CONFIG=(DGMAIN,DGSTAND)''#DataGuard专用配置,主备数据库相同control_files='E:\Oracle\oradata\DGMAIN\control01.ctl','E:\Ora cle\oradata\DGMAIN\control02.ctl','E:\Oracle\oradata\DGMAIN\contro l03.ctl'#控制文件LOG_ARCHIVE_DEST_1='LOCATION=E:\Oracle\oradata\DGMAIN\ARCH\ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=DGMAIN'#主数据库归档地址LOG_ARCHIVE_DEST_2='SERVICE=DGSTAND ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DGSTAND'#备用数据库归档地址,由该配置指定向备用数据库写归档日志LOG_ARCHIVE_DEST_STATE_1=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLELOG_ARCHIVE_FORMAT=%t_%s_%r.arc 归档日志文件名格式LOG_ARCHIVE_MAX_PROCESSES=30#默认是4,可以不修改#主库作为备用数据库的配置:FAL_SERVER=DGSTANDFAL_CLIENT=DGMAINDB_FILE_NAME_CONVERT='DGSTAND','DGMAIN'LOG_FILE_NAME_CONVERT='DGSTAND','DGMAIN'STANDBY_FILE_MANAGEMENT=AUTO4.启动数据库归档模式SHUTDOWN IMMEDIATE;STARTUP MOUNT;ALTER DATABASE ARCHIVELOG;ALTER DATABASE OPEN;5.在主库创建备用重做日志。
DataGuard安装配置
DataGuard安装配置1.安装Windows2003标准版DataGuard主数据库服务器:内存3GB,硬盘646GB,IP:172.17.34.7,机器名:gq-db-1,创建e:\ORACLE_DATA\Arch目录DataGuard备数据库服务器:内存3GB,硬盘646GB,IP:172.17.34.8,机器名:gq-db-2,创建e:\ORACLE_DATA\Arch目录注意:关闭防火墙,设置->控制面板->管理工具->本地安全策略->本地策略->用户权利指派->作为批处理作业登录->添加帐号2.在主备服务器安装Oracle10g软件注意:只安装软件,不安装数据库3.创建主备数据库全局数据库名:btvgqdb,SID:btvgqdb,快速恢复区大小:2048MB,启用归档:e:\ORACLE_DATA\Arch,数据库字符集AL32UTF8,国家字符集UTF8,配置监听和net服务名4.配置主备数据库设置数据库为force logging 模式alter database force logging;创建口令文件orapwd file=d:\oracle\product\10.2.0\db_1\database\PWDbtvgqdb.ora password=oracle entries=20创建备重做日志alter database add standby logfile group 5 (‘E:\ORACLE_DATA\Data\btvgqdb\sredo1_51.log’, ‘E:\ORACLE_DATA\Data\btvgqdb\sredo1_52.log’) size 250m;alter database add standby logfile group 6 (‘E:\ORACLE_DATA\Data\btvgqdb\sredo1_61.log’, ‘E:\ORACLE_DATA\Data\btvgqdb\sredo1_62.log’) size 250m;alter database add standby logfile group 7 (‘E:\ORACLE_DATA\Data\btvgqdb\sredo1_71.log’, ‘E:\ORACLE_DATA\Data\btvgqdb\sredo1_72.log’) size 250m;alter database add standby logfile group 8 (‘E:\ORACLE_DATA\Data\btvgqdb\sredo1_81.log’, ‘E:\ORACLE_DATA\Data\btvgqdb\sredo1_82.log’) size 250m;alter database add standby logfile group 9 (‘E:\ORACLE_DATA\Data\btvgqdb\sredo1_91.log’, ‘E:\ORACLE_DATA\Data\btvgqdb\sredo1_92.log’) size 250m;select * from v$logfile;select group#, thread#, sequence#, archived, status from v$standby_log;设置主数据库初始化参数使用spfile创建pfilecreate pfile from spfile;注意:Data Guard中所有数据库DB_NAME相同;log_archive_config的dg_config为db_unique_name;log_archive_dest_2的service为Oracle Net服务名主数据库初始化参数中增加:db_unique_name='btvgqdb'log_archive_config='dg_config=(btvgqdb,btvgqdbs)'log_archive_dest_1='LOCATION=e:\oracle_data\arch valid_for=(all_logfiles,all_roles)db_unique_name=btvgqdb'log_archive_dest_2='service=btvgqdbs lgwr sync affirm valid_for=(online_logfiles,primary_role) db_unique_name= btvgqdbs 'log_archive_dest_state_1='enable'log_archive_dest_state_2='defer'fal_server='btvgqdbs'fal_client='btvgqdb'standby_file_management=’auto’log_file_name_convert='e:\oracle_data\data\btvgqdb', 'e:\oracle_data\data\btvgqdb'在主数据库创建备数据库控制文件alter database create standby controlfile as ‘c:\standby.ctl’;将主数据物理文件拷贝到备数据库shutdown immediate修改备数据库初始化参数文件db_unique_name='btvgqdbs'log_archive_dest_1='LOCATION=e:\oracle_data\arch valid_for=(all_logfiles,all_roles) db_unique_name=btvgqdbs'log_archive_dest_2='service=btvgqdb lgwr sync affirm valid_for=(online_logfiles,primary_role) db_unique_name=btvgqdb'log_archive_dest_state_2='enable'fal_server='btvgqdb'fal_client='btvgqdbs'配置listener.ora和tnsnames.oralistener.oraSID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME = btvgqdb)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(SID_NAME = btvgqdb)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521))(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))))tnsnames.oraBTVGQDB =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.34.7)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = btvgqdb)))BTVGQDBS =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.17.34.8)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = btvgqdb)))EXTPROC_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)))(CONNECT_DATA =(SID = PLSExtProc)(PRESENTATION = RO)))在主数据库创建spfile并启动主数据库create spfile from pfile='D:\oracle\product\10.2.0\db_1\database\initbtvgqdb.ora';startup在备数据库创建spfile并启动备数据库create spfile from pfile='D:\oracle\product\10.2.0\db_1\database\initbtvgqdbs.ora';startup mount将主数据库的重做日志传输给备用数据库alter system set log_archive_dest_state_2='enable' scope=both;在备数据库启动重做应用alter database recover managed standby database disconnect from session;在主数据库检查日志文件是否成功传输select status,error from v$archive_dest where dest_id=2;select sequence#, first_time, next_timefrom v$archived_log order by sequence#;select sequence#,applied from v$archived_logorder by sequence#;设置主库为最大可用模式shutdown immediatestartup mountalter database set standby to maximize availability;alter database open;select protection_mode, protection_level from v$database;5.测试建表create table test(col1 varchar2(20), col2 varchar2(60));insert into test values(1,1);insert into test values(2,2);停止应用日志alert database recover managed standby database cancel;alert database recover managed standby database finish;alert database commit to switchover to primary;shutdown immediate;startup;alter system switch logfile;。
DG搭建步骤
DataGuard物理Standby数据库创建步骤详解(说明:红色是要注意的地方)一、前期准备在做DataGuard 物理standby数据库创建之前这些工作要全部完成并配置正确能正常工作。
1.两台服务器的硬盘分区,内存的大小,型号要完全一样.2.同步两台服务器的机器时间。
3.安装primary数据库,standby数据库服务器操作系统(用的是windows server 2003 64位)安装好并且将中文补丁打好,并且两台服务器操作系统版本等要完全一致,两台服务器网络配置正确,通信正常。
4.对primary数据库和standby数据库进行oracle 10G正确安装完成(两台服务器的oracle安装目录要一致),并且将数据库升级到10.2.0.3.0补丁打好,在安装时不创建数据库(这一点也是要引起注意的),同时还需注意一点的就是在安装ORACLE完成的时候一定要在注册表里面修改oracle的字符集为:NLS_LANG的值设置为SIMPLIFIED CHINESE_CHINA.ZHS16GBK,否则创建后的oracle数据库不识别中文。
主数据库必须运行在归档模式下,推荐主和备用数据库都是force Logging模式,这样方便双向自由切换:ALTER DATABASE FORCE LOGGING。
5.对PRIMARY数据库的创建,可以自己创建,也可以根据提供的模板进行创建(但是要强调的就是在自己进行创建时要选对字符集为简体中文,因为系统要识别中文,否则改进来很麻烦,而且怕改动不到位会引起数据库重建),STANDBY数据库不需要在此时创建,等PRIMARY数据库创建成功后,将其数据文件拷贝到与PRIMARY数据相同的数据文件存放目录下即可。
6.PRIMARY数据库字典升级(在STANDBY数据库创建完成后,也要进行执行)步骤如下。
A.运行数据库预升级检查( Pre-Upgrade Information Tool)CONN / AS SYSDBASQL> SHUTDOWN IMMEDIATE;SQL> STARTUP UPGRADESQL> SPOOL UPGRADE_INFO.LOGSQL> @?\RDBMS\ADMIN\UTLU102I.SQLSQL> SPOOL OFFB.进行数据库字典信息升级(Upgrading a Release 10.2 Database)启动监听器:lsnrctl startSQL> SQLPLUS /NOLOGSQL> CONNECT / AS SYSDBASQL> SHUTDOWN IMMEDIATE;SQL> STARTUP UPGRADESQL> SPOOL PATCH.LOGSQL> @?\RDBMS\ADMIN\CATUPGRD.SQLSQL> SPOOL OFF检查 patch.log 文件,如果有问题,重新运行catupgrd.sql。
dataguard配置文档_分析
Oracle Dataguard一、新建STANDBY数据库1、在开始运行-REGEDIT-打开注册表,定位至新建字符串值(大写)ORACLE_SID(数值数据为主库的名称)2、开始-运行-cmd输入oradim -new -sid (数据库名称)完成实例的建设。
二、配置监听与网络服务分别在主库和备用库上配置监听和网络服务名(可用oracle net configuration assistant配置工具)两个节点的配置相同一个网络服务名指向主库,另一个指向备用库1、监听程序配置(主库与STANDBY库配置一样)完成监听程序的配置2、配置本地NET服务名配置。
服务名输入为数据库名。
主机名输入为主库的IP地址网络服务名为主库名称。
继续配置STANDBY的NET服务名这里改为STANDBY的IP地址网络服务名改为(oraclestandby)这里改变名称时需要到主库更改选项。
完成网络服务名配置和监听配置。
以上步骤需主库与STANDBY库同时设置。
服务名都为实例名。
三、配置主库server1、ALTER DATABASE FORCE LOGGING;使其使用强制记录方式2、改初始化文件(加上以下一行):检查是否为pfile或者spfile文件:select value from v$parameter where name = 'spfile'; *.log_archive_dest_2='SERVICE=ORCLSTANDBY'注:可用以下命令:alter system set log_archive_dest_2='service=STANDBY名' scope=spfile;alter system set log_archive_dest_2='service=STANDBY名' scope=both;(当初始化文件是spfile,用这条参数可以不用重启数据库)图中DEST_4因测试环境不同,做法按默认命令为准。
DATAGUARD配置参数详细解释
DATAGUARD配置参数详细解释DB_NAME只需注意DataGuard的主备各节点instance使用相同的db_name即可。
推荐与service_name一致。
Primary Site Standby Site*.DB_NAME='DB'*.DB_NAME='DB’DB_UNIQUE_NAMEPrimary与Standby端数据库的唯一名字,设定后不可再更改。
注意:配合使用如果主备db_unique_name不一样,需要与LOG_ARCHIVE_CONFIGdb_unique_name并未规定需要与数据库service_name一致,可以自定义任意名称。
Primary Site Standby Site*.db_unique_name='Primary’ *.db_unique_name='StandbLOG_ARCHIVE_CONFIG参数。
默认情况下,定义该参数能确保主备库数据库能够互相识别对方列出主备库上的DB_UNIQUE_NAMEPrimary与Standby端的db_unique_name不一致时Primary Site Standby Site*.db_unique_name=Primary *.db_unique_name=Standby*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(Primary,Standby)' *.LOG_ARCHIVE_CONFIG='DG_CONFIG=(Primary,Standby)'则会出现如下报错如在主备库db_unique_name不一致的情况下未配置LOG_ARCHIVE_CONFIGORA-16057: DGID from server not in Data Guard configuration原因:主库没有设置参数log_archive_config解决方法*.log_archive_config='dg_config=( Primary, Standby)'alter system set log_archive_config='dg_config=( Primary, Standby)' scope=both;Primary与Standby端的db_unique_name一致时Primary Site Standby Site*.db_unique_name=test*.db_unique_name=test*.LOG_ARCHIVE_CONFIG=''*.LOG_ARCHIVE_CONFIG='LOG_ARCHIVE_DEST_1本地归档路径。
19cR3之Data Guard搭建
19cR3之Data Guard搭建环境node1 192.168.8.128 Primary orcl_01node2 192.168.8.129 Standby orcl_02内容——Primary配置——Standby搭建(Duplicate方式)——Standby搭建(物理拷贝方式)——Standby搭建(DBCA命令方式)——善后及模式调整一.Primary配置搭建Data Guard,需要对Primary进行如下配置。
1.开启归档模式Data Guard环境中,必须开启归档模式,以保存完整日志,这是数据同步的基础。
[oracle@node1 ~]$ sqlplus / as sysdbaSQL> start mount; ——启动实例到mount状态SQL> alter database archivelog; ——开启归档模式SQL> alter database open; ——打开实例SQL> archive log list; ——查看验证Database log mode Archive ModeAutomatic archival EnabledArchive destination USE_DB_RECOVERY_FILE_DESTOldest online log sequence 1Next log sequence to archive 2Current log sequence 2可见,已成功开启归档模式,缺省路径为:$ORACLE_HOME/dbs/arch,后面会修改。
2.强制日志模式我们知道,Oracle可使用nologging子句避免写日志,以便提高效率;但Data Guard就是基于日志来实现主备数据同步,这显然是不允许的,因此需要修改为Forced Logging模式,以强制记录任何修改。
SQL> alter database force logging;SQL> select name,log_mode,force_logging from v$database;NAME LOG_MODE FORCE_LOGGING--------- ------------ ---------------------------------------ORCL ARCHIVELOG YES3.调整参数配置Data Guard中,起关键作用的就是远程归档参数,一套简单的Data Guard环境,只需设置一个参数即可成功搭建,但为了以后方便相互切换,最好完善相关配置。
DATAGUARD配置参数详细解释
DATAGUARD配置参数详细解释
一、数据库参数
1.特定于数据库的参数
db_unique_name
功能:定义数据库唯一名称。
含义:该参数定义数据库唯一名称,该参数不应更改,否则可能会导
致一系列问题。
该参数必须在创建数据库时设置,并且不能更改。
2.remote_login_passwordfile
功能:指定远程用户的登录认证文件。
含义:此参数指定远程用户的登录认证文件,在数据库定义期间,远
程用户可以使用该文件登录数据库。
可以使用此参数将一些远程用户的标识指定为NONE,以确保只有本
地用户可以连接,而不允许远程用户连接。
3.log_archive_dest_state_2
功能:指定第二个归档日志目的地状态。
含义:此参数指定第二个归档日志目的地状态,如果设置为enable,则表示活动日志会被归档到该备用目的地,如果设置为disable,则表示
活动日志不会被归档到该备用目的地。
4.fal_server
功能:指定应用程序服务器名称。
含义:此参数指定应用程序服务器名称,例如,Fal_server等。
这些服务器用于远程归档日志,应用服务器可以是一台服务器,也可以是一组服务器。
5.log_archive_dest
功能:指定将归档日志文件发送到哪里。
含义:此参数指定将归档日志文件发送到哪里,可以是一个本地文件路径,也可以是一个远程服务器的文件路径。
WINDOWS下DG搭建顺序
精心整理物理standby 创建及维护一:服务器的环境配置双机DATAGUARD 配置,首先需要满足的基础环境就是两台独立运行且互访通畅的服务器。
参照即将作为主机的服务器配置,包括系统版本,内存配置,硬盘空间等软硬件参数对我们的备库服务器进行准备。
因为实际应用环境中,当主机出现不可挽回的故障后,备机将切换成为主机,承受主机等同的运行负荷。
二: 三:1、将1.11.223、配置oracle 1确保2创建适当的日志组,一般而言,standbyredo 日志文件组数要比primary 数据库的onlineredo 日志文件组数至少多一个。
Standbyredolog 的操作方式与onlineredolog 几乎一模一样,只不过在创建或删除时需要多指定一个standby 关键字,例如添加:SQL>alterdatabaseaddstandbylogfile('e:\lmis\STANDBYREDO01.LOG')size50M;删除也同样简单:SQL>alterdatabasedropstandbylogfilegroup4;验证standbyredolog 文件组是否成功创建SQL>SELECTGROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUSFROMV$STANDBY_LOG;4、创建primary数据库客户端初始化参数文件注:主要此处修改项较多,为了方便,我们首先创建并修改pfile,然后再通过pfile重建spfile,你当然也可以通过altersystemset命令直接修改spfile内容。
SQL>createpfile=’e:\lmis.ora’fromspfile;文件已创建。
下列参数为primary角色需添加的相关初始化参数:DB_UNIQUE_NAME=lmisprmLOG_ARCHIVE_CONFIG='DG_CONFIG=(lmisprm,lmisstd)'LOG_ARCHIVE_DEST_1='LOCATION=E:\lmis\archive以下参数为转为Standby)等数5确定-----selectFILE_NAMEfromdba_data_filesunionallselectTABLESPACE_NAME表空间,FILE_NAME数据文件,BYTES/1024/1024容量fromdba_temp_files)orderby表空间,数据文件表空间数据文件容量1 DATA E:\LMIS\DATAFILE\INF01.DBF 10242 INDX E:\LMIS\DATAFILE\INDX01.DBF 5123 LMIS E:\LMIS\DATAFILE\DATA01.DBF 20484 LMIS E:\LMIS\DATAFILE\DATA02.DBF 10245 LMIS E:\LMIS\DATAFILE\DATA03.DBF 10246 RBSG E:\LMIS\DATAFILE\RGSG01.DBF 20487 SYSAUX E:\LMIS\DATAFILE\SYSAUX01.DBF 10248 SYSTEM E:\LMIS\DATAFILE\SYSTEM01.DBF 10249 TEMP E:\LMIS\DATAFILE\TEMP01.DBF 102410 TOOLS E:\LMIS\DATAFILE\TOOLS01.DBF 1024-----联机重做日志文件SELECTgroup#,status,type,memberFROMV$LOGFILE;GROUP# STATUS TYPE MEMBER1 1 ONLINE E:\LMIS\LOGFILE\REDO01.LOG2 2 ONLINE E:\LMIS\LOGFILE\REDO02.LOG345676如果当前7通过1服2SQL>ALTERDATABASECREATESTANDBYCONTROLFILEAS'E:\LMIS\LOGFILE\CONTROL01.CTL';注意哟,控制文件通常需要有多份,你要么手工将上述文件复制几份,要么用命令多创建几个出来。
DataGuard(Window环境)-BOBO手记
一、环境准备1、操作系统(虚拟机)主库:WINXP Professional SP3ora9i(9.2.0.8.0)192.168.1.101主机名:PRIMARY SID:BOBOORCL从库:WINXP Professional SP3ora9i(9.2.0.8.0)192.168.1.102主机名:STANDBY SID:BOBOORCL2、运行要求主机运行在归档模式下主备数据库的版本必须一样,操作系统必须一样,但版本可以不同。
Standby可以使用与primary不同的目录结构。
主备硬件和操作系统的结构必须一样,例如,两者都要运行在32位或64位的格式下主数据库和备数据库可以是single的,也可以是RAC。
主备硬件(如,CPU的数量,内存大小,存储设置)可以不一样。
每个数据库都必须有自己的控制文件避免nologing的方式,这样会导致standby无法与primary同步,可以强制数据库使用logging“alter database force logging”;二、DataGuard相关介绍1、DG模式1.1按照备用库(Standby Database)应用归档日志的不同方式,Standby Database可以分为:1.1.1物理备用库(Physical Standby):提供了一份跟主数据库在物理级别上完全相同的copy,指在数据库的block级别都是完全相同的,比如数据库表中记录的rowid。
物理备用库是通过不断地恢复Primary Database传入的重作日志数据信息来达到跟主数据库保持同步。
物理备用库在处于自动恢复重作日志信息的状态下,无法提供查询服务。
因为此时的备用数据库并不是处于正常打开的状态,数据库的非sysdba用户无法登录备用库,自然也就无法进行普通的查询业务。
1.1.2逻辑备用库(Logical Standby):指在逻辑上跟主数据库保持一致,但是在物理层面上跟主数据库并不相同。
DataGuard环境搭建详细步骤(老方法)详解
一:实验环境介绍***鉴于生产环境均采用64位系统和数据库软件,本实验也将采用这个标准***采用vmware workstation 10(版本随意,我用的10)虚拟机软件作为安装平台对于真机的要求:CPU:INTEL:CORE I3级别或以上(推荐)AMD :4核心CPU或以上(推荐)内存:建议4G以上系统:WIN7 /8 64位/WINDOWS SERVER 2003/2008 64位硬盘:虚拟机所在分区剩余空间50G以上,固态硬盘最好虚拟机系统:Oracle Enterprise Linux 5 update 5(64位)数据库版本:Oracle 11gR2 11.2.0.3 (64位)基础要求:(1)安装两台虚拟机分别作为主库和备库,硬盘大小随意。
但要保证根分区有20G,别给太小了就行。
物理内存1G,SWAP 2G二:安装数据库软件前的系统配置(主库和备库端都要做下列操作)1.基本配置:一定要用新装的系统(这里以红帽企业版5.5为例),系统要求最低配置1G内存,2Gswap 分区,根分区20G以上,装好系统后先配置好yum,IP地址,/etc/sysconfig/network文件中的主机名,以及/etc/hosts文件中的IP地址和主机名的对应关系。
主库IP:192.168.1.101主库主机名: pri备库IP:192.168.1.102备库主机名: std2.装包yum install compat-libstdc++-33 ksh gcc gcc-c++ libgomp elfutils-libelf-devel glibc-devel glibc-headers libaio-devel libstdc++-devel sysstat unixODBC unixODBC-devel -y3.查看共享内存大小,要求最低为1GB# df -h /dev/shmFilesystem Size Used Avail Use% Mounted ontmpfs 506M 0 506M 0% /dev/shm发现不够,修改# vim /etc/fstab如图,在tmpfs那一行的defaults后面加上,size=1024m保存退出后重新挂载:# mount -o remount /dev/shm再次查看共享内存:# df -h /dev/shmFilesystem Size Used Avail Use% Mounted ontmpfs 1.0G 0 1.0G 0% /dev/shm修改成功4.创建相关的组与用户:groupadd oinstallgroupadd dbagroupadd operuseradd -g oinstall -G dba,oper oraclepasswd oracle5.创建所需的目录并赋予特定的属主和属组mkdir /u01/app/oracle -pvchown oracle.oinstall /u01 -R建议:最好为单独分一个区,然后将u01挂载到该分区上(可不做,看情况)6.编辑limits.conf 文件vim /etc/security/limits.conf添加下面5行内容:oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536oracle soft stack 102407.编辑sysctl.conf文件,设置相关参数vim /etc/sysctl.conf添加/修改下列内容:(注意!下面的参数,若是已经存在,则直接修改数值,不要再添加同样的参数,相同的参数只能有一个!如果需要修改的参数已经大于下面的数字,则不用修改,请仔细核对!)kernel.shmall = 2097152kernel.shmmax = 536870912kernel.shmmni = 4096kernel.sem =250 32000 100 128fs.file-max = 6815744fs.aio-max-nr = 1048576net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 262144net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576保存退出后,别忘了用sysctl -p命令使参数生效!8.编辑vim /home/oracle/.bash_profile文件,配置相关环境变量添加下列几行:export TMP=/tmpexport TMPDIR=/tmpexport ORACLE_BASE=/u01/app/oracleexport ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1export ORACLE_SID=pri (备库端设置为std)export PA TH=$ORACLE_HOME/bin:$PA TH至此,安装环境相关配置结束。
dataguard配置
Oracle dataguard配置文档一、Dataguard简介 (3)二、dataguard原理 (3)三、dataguard配置要求 (4)1. 环境要求 (4)2. 环境规划 (4)3. dataguard配置要求 (4)4. 配置dataguard所需工具 (4)四、操作系统及oracle11g环境配置 (4)1.操作系统磁盘分区 (4)2.oracle11g环境能数配置 (4)1.向/etc/security/limits增加以下记录 (4)2.向/etc/sysctl.conf增加以下记录 (4)3.以oracle用户执行以下命令 (5)4.向/etc/pam.d/login增加以下记录 (5)5.向oracle参数文件bash.profile里增加以下记录 (5)五、安装oralce11g数据库 (5)1.要求在两台服务器上仅安装数据库软件。
(5)2.配置监听程序 (5)3.在主服务器上建库 (5)六、Dataguard配置 (6)1.数据库要处于完全归档状态 (6)2.对主数据库进行rman备份 (6)3.在主库上运行netmgr命令,进行如下配置 (6)4.生成数据库pfile, (7)5.修改主数据库pfile文件 (7)6.备库参数文件置 (8)7.在主库和备库上用netca建立本地服务名 (8)8. 在备库上以oracle用户建立与主库相对应的目录文件 (9)19. 将主库产生的rman备份文件,参数文件,密码文件,日志文件拷贝到备库 (9)10. 在备库上执行以下操作 (9)11. 备用数据库建立完毕。
(9)七、dataguard数据库故障排查 (10)1. 检查备用数据库和主用数据库的状态 (10)2. 测试dataguard日志是否传输 (10)3.测试dml,ddl语句是否传输 (10)八、dataguard主备库切换 (11)1. 将备库转换成主库模式 (11)2. 将主库转换成备库模式 (11)2一、Dataguard简介Dataguard是oracle集成化灾难恢复解决方案,该技术可以维护生产数据库一个或多个同步备份,由一个生产数据库和苦干备用数据库组成,并形成珍上独立的,易于管理的数据保护方案,支持异地远程容灾。
物理DataGuard参数文件配置
物理DG参数文件配置DataGuard物理standby配置 - --参数文件设置在本次配置中:主库 db_unique_name='dev01' # unique(ju:ni:k):唯一的, 独特的备库 db_unique_name='dev01dg'以下只列出在配置DataGuard过程中需要注意和修改的启动参数。
备库可使用主库的pfile,按照以下流程修改即可。
1:db_name,数据库名字,需要保持同一个Data Guard中所有数据库db_name相同。
primary 和standby相同*.db_name='dev01'# 静态参数,8个字符限制,大小写不敏感2:db_unique_name,当db_name,DBID,db_domain都相同时(比如dataguard中的主备库),用来区分数据库的唯一名。
primary:*.db_unique_name='dev01' standby:*.db_unique_name='dev01dg'# 静态参数,30个字符限制,大小写不敏感3:以下参数需在备库端建立目录,并做相应修改*.audit_file_dest='/u01/app/oracle/admin/dev01dg/adump'*.background_dump_dest='/u01/app/oracle/admin/dev01dg/bdump'*.control_files='/u01/oradata/dev01dg/control01.ctl','/u01/oradata/dev01dg/control02.ctl','/u01/ ordata/dev01dg/control03.ctl'*.core_dump_dest='/u01/app/oracle/admin/dev01dg/cdump' *.db_recovery_file_dest='/u01/db _recovery_file'*.user_dump_dest='/u01/app/oracle/admin/dev01dg/udump' # 静态参数4:remote_login_passwordfile,推荐设置参数值为exclusive,注意保证Data Guard中所有数据库的sys密码相同 primary:*.remote_login_passwordfile='exclusive' standby:*.remote_login_passwordfile='exclusive' # 静态参数5:db_file_name_convert,主库和备库的数据文件路径转换。
Data Guard搭建过程
4、Data Guard 保护模式(Data Guard Protection Modes)
Data Guard 提供了三种数据保护模式: 4.1、最大保护(Maximum protection) 这种模式能保证绝无数据丢失。它要求所有的事务在提交前 redo 不仅被写入 本地的 online redo log,还要同时提交到 standby 数据库的 standby redo log, 并确认 redo 数据至少在一个 standby 数据库可用,然后才会在 primary 数据库上 提交。如果出现了什么故障导致 standby 数据库不可用的话,primary 数据库会被 关闭。 4.2、最高性能(Maximum performance) 这种模式提供在不影响 primary 数据库性能的前提下最高级别的数据保护策 略。事务可以随时提交,当前 primary 数据库的 redo 数据也需要写入至少一个 standby 数据库,不过写入可以是不同步的。 4.3、最高可用性(Maximum availability) 这种模式提供在不影响 primary 数据库可用的前提下最高级别的数据保护策 略。实现方式与最大保护模式类似,也是要求所有事务在提交前必须保障 redo 数 据至少在一个 standby 数据库可用, 不过与之不同的是, 如果出现故障导致无法写 入 standby 数据库 redo log 时,primary 数据库并不会被关闭,而是自动转为最 高性能模式,等 standby 数据库恢复正常后,它又会自动转换成最高可用性模式。 最大保护及最高可用性需要至少一个 standby 数据库 redo 数据被同步写入。 三种模式都需要指定 LOG_ARCHIVE_DEST_n 初始化参数。
邮箱:lpf_315@
DataGuard配置说明
DataGuard配置说明Oracle Data Guard配置同一操作系统平台的单机普通存储数据库的Data Guard配置操作系统:Windows 2003 Server主数据库名称:dgmain备数据库名称:dgstand1.启动主数据库的强制日志记录功能,避免Nologging子句的影响ALTER DATABASE FORCE LOGGING;2.配置日志传递的安全认证一般情况,设定remote_login_passwordfile=exclusive,并且配置tnsnames.ora即可3.配置主数据库的初始化参数#主库作为主数据库的配置:DB_NAME=dgmain#主备数据库必须相同DB_UNIQUE_NAME=DGMAIN#主备数据库不能相同LOG_ARCHIVE_CONFIG='DG_CONFIG=(DGMAIN,DGSTAND) ''#DataGuard专用配置,主备数据库相同control_files='E:\Oracle\oradata\DGMAIN\control01.ctl','E:\ Oracle\oradata\DGMAIN\control02.ctl','E:\Oracle\oradata\DGMAIN \contro l03.ctl'#控制文件LOG_ARCHIVE_DEST_1='LOCATION=E:\Oracle\oradata\DG MAIN\ARCH\ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=DGMAIN'#主数据库归档地址LOG_ARCHIVE_DEST_2='SERVICE=DGSTAND ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=DGSTAND'#备用数据库归档地址,由该配置指定向备用数据库写归档日志LOG_ARCHIVE_DEST_STATE_1=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLELOG_ARCHIVE_FORMAT=%t_%s_%r.arc 归档日志文件名格式LOG_ARCHIVE_MAX_PROCESSES=30#默认是4,可以不修改#主库作为备用数据库的配置:FAL_SERVER=DGSTANDFAL_CLIENT=DGMAINDB_FILE_NAME_CONVERT='DGSTAND','DGMAIN'LOG_FILE_NAME_CONVERT='DGSTAND','DGMAIN'STANDBY_FILE_MANAGEMENT=AUTO4.启动数据库归档模式SHUTDOWN IMMEDIATE;STARTUP MOUNT;ALTER DATABASE ARCHIVELOG;ALTER DATABASE OPEN;5.在主库创建备用重做日志。
DATAGUARD配置参数详细解释
DATAGUARD配置参数详细解释在DATAGUARD的配置过程中,有多个参数需要进行设置,以确保数据的一致性和高可用性。
下面是DATAGUARD配置参数的详细解释:1. LOG_ARCHIVE_DEST_n:这个参数用于指定归档日志的传输目标。
n 的取值范围是1-31,可以配置多个目标。
例如:LOG_ARCHIVE_DEST_1='LOCATION=/u01/archive',表示归档日志将被传输到/u01/archive目录。
2. LOG_ARCHIVE_FORMAT:这个参数用于指定归档日志的命名格式。
格式字符串中可以包含日期、时间和通配符。
例如:LOG_ARCHIVE_FORMAT='arch_%t_%s_%r.arc',表示归档日志的命名格式为arch_YYYYMMDD_HHMISS_SSSS.arc。
3.LOG_ARCHIVE_MAX_PROCESSES:这个参数用于指定归档进程的最大数量。
在主数据库上,归档进程将归档日志文件传输到目标数据库。
默认值为1,可以根据需求进行调整。
4.LOG_ARCHIVE_DEST_STATE_n:这个参数用于指定归档目标的状态。
n的取值范围是1-31,可以配置对应的状态,如ENABLE、DEFER、ALTERNATE等。
ENABLE表示启用归档传输,DEFER表示延迟归档传输,ALTERNATE表示备用归档目标。
5. STANDBY_ARCHIVE_DEST:这个参数用于指定备库接收归档日志的传输目标。
例如:STANDBY_ARCHIVE_DEST='/u01/standby_archive',表示归档日志将被传输到/u01/standby_archive目录。
6.STANDBY_FILE_MANAGEMENT:这个参数用于指定备库上的文件管理方式。
有两种取值:AUTO表示自动应用主库上的数据文件改变,MANUAL表示手动管理文件。
DATAGUARD详细安装全过程
DATAGUARD详细安装全过程
一,前期准备
1、硬件准备:需要2台服务器,一台服务器为主服务器,一台服务
器为备服务器,不同服务器上不要安装其他的Oracle数据库,以免和当
前的创建的数据库发生冲突。
2、具备创建Oracle数据库的环境:安装Oracle的软件,具备创建Oracle数据库的环境,Oracle的安装文档《Installation and User’s Guide》。
3、配置网络服务:网络服务主要是实现服务器之间的数据的同步,
就是主服务器的数据库的数据,可以同步到备服务器的数据库,所以网络
服务就要配置的比较好,以保证两台机器之间的连通性以及数据传输的实
时性。
4、配置磁盘空间:主备服务器上比较需要配置Oracle数据库的空间,Oracle数据库文件所需的空间,一般比较大,一般会放在磁盘上,所以
主备服务器上要准备好足够的磁盘空间,用于存放Oracle数据库文件。
5、查看数据库的安装目录:要确定安装的目录,一般可以安装在
/home/oracle/oracle_server,最好是放在Oracle分配的空间里,这样
可以让我们的安装更加规范,这样可以安装多个数据库,以及方便维护。
二,Oracle主备服务器安装
1、主备服务器安装Oracle软件:登录到服务器上,使用root用户,先安装Oracle软件,在Linux系统环境下,安装Oracle软件,看安装文
档《Installation and User’s Guide》,照着文档步骤安装Oracle软件,安装完成后。
windows环境DataGuard配置
1. DataGuard配置主机:192.168.0.7(primary)备机:192.168.0.8(standby)配置条件:分别在primary、standby上安装数据库,并自动创建实例;安装路径、数据库实例名(citizen)和密码都设置成一样特别注意:文件夹权限必须与administartor一致1.1. Primary主机操作1、设置主数据库为force logging 模式SQL>sqlplus "/as sysdba"SQL>alter database force logging;2、设置主数据库为归档模式,并以mount 启动数据库SQL>archive log listSQL>shutdown immediateSQL>startup mountSQL>alter database archivelog;SQL>archive log list3、添加"备用联机日志文件"SQL>select * from v$logfile;再添加:alter database add standby logfile group 4 ('D:\app\oradata\orcl\redo04.log') size 50m;alter database add standby logfile group 5 ('D:\app\oradata\orcl\redo05.log') size 50m;alter database add standby logfile group 6 ('D:\app\oradata\orcl\redo06.log') size 50m;alter database add standby logfile group 7 ('D:\app\oradata\orcl\redo07.log')size 50m;路径与原来的日志路径一样4、创建主库的初始化参数给备库用SQL>Create pfile from spfile;产生的文件名为initcitizen.ora 存放目录默认放在$ORACLE_HOME/database下5、在主库创建监听和配置tnsnams.oralistener.ora配置如下:SID_LIST_LISTENER中添加:红色添加(SID_DESC =(GLOBAL_DBNAME = citizen)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(SID_NAME = citizen))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))(ADDRESS = (PROTOCOL = TCP)(HOST = WIN-RKCE8P1N4VV)(PORT = 1521))))此处HOST 最好使用主机名tnsnames.ora配置如下:添加:primary =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 19.128.249.51)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = citizen)))standby =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 19.128.249.52)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = citizen)))监听配置完后,重启监听后,需要时间久一点primary 的服务才能启动起来。
Windows环境下配置oracle 11gR2 Data Guard详细过程
如果不能连接,请检查防火墙。
3.10 关闭注数据库
3.11 在备用建立文件夹 A. 将 D:\app\Administrator 目录下的 admin、cfgtoollogs、
diag 目录及 E:\oracleDB\下的 flash 目录及密码文件拷贝到备用 库相同的路径下。
B. 将主库的 listener.ora 和 tnsnames.ora 拷贝到备库相同 路径下。
d:\app\Administrator\product\11.2.0\dbhome_1) (PROGRAM = extproc) (ENVS =
"EXTPROC_DLLS=ONLY:d:\app\Administrator\product\11.2.0\dbho
8
me_1\bin\oraclr11.dll") )
5
3.5 启动数据库 Alter database open; 重启数据库将修改的参数加载; Shutdown immediate Startup
3.6 创建 pfile 参数文件; Create pfile from spfile; 默认路径下
D:\app\Administrator\product\11.2.0\dbhome_1\database\INITo rcl.ORA 。
) (CONNECT_DATA =
(SERVICE_NAME = orcl) ) )
红色内容为需要修改成的。
3.9 测试监听
重启监听,用网络名连接测试监听是否正常 C:\>lsnrctl stop C:\>lsnrctl start
重启数据库: shutdown immediate ---> startup 测试监听 C:\>tnsping primary C:\>sqlplus sys/syspwd@primary as sysdba
Oracle 11g平台异构之Linux To Windows DataGuard安装配置
Oracle11g平台异构之Linux To Windows DataGuard安装配置1、环境介绍1.1、主库➢操作系统:RedHat Enterprise Linux 5.4 64bit➢IP地址:172.168.10.231➢数据库版本:oracle 11.2.0.3 64bit➢数据库sid名:demo1➢数据库名:demo1➢数据库db_unique_name demo231➢数据文件路径:/oradata/demo1➢归档路径:/oracle/arch1.2、备库➢操作系统:windows server 2003 64bit➢IP地址:172.168.10.233➢数据库版本:oracle 11.2.0.3➢数据库sid名:demo1➢数据库名:demo1➢数据库db_unique_name:demo233➢数据文件路径:c:\oradata\demo1➢归档路径:c:\oracle\arch2、DG配置准备2.1、主库安装oracle 11.2.0.3数据库软件并创建数据库实例➢安装oracle数据库软件(略)➢创建数据库实例(略)➢创建监听(略)2.2、备库安装oracle 11.2.0.3数据库软件➢安装oracle数据库软件(略)➢创建数据库实例,停止实例后删除数据文件(如果不建实例,不能以sysdba连接),报错如下➢创建监听(略)3、DG配置3.1、将主库设置为归档模式➢略3.2、设置主库为强制归档模式➢SQL>alter database force logging;3.3、主库监听配置➢listener.oraSID_LIST_LISTENER=(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=demo1)(ORACLE_HOME=/oracle/product/11.2.0/db_1)(SID_NAME=demo1))(SID_DESC=(SID_NAME=PLSExtProc)(ORACLE_HOME=/oracle/product/11.2.0/db_1)(PROGRAM=extproc)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = dg231)(PORT = 1521))(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))))➢tnsnames.oraDEMO231 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.168.10.231)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = demo1)))DEMO233 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.168.10.233)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = demo1)))3.4、备库监听配置➢listener.oraSID_LIST_LISTENER=(SID_LIST=(SID_DESC=(GLOBAL_DBNAME=demo1)(ORACLE_HOME=C:\oracle\product\11.2.0.3/db_1)(SID_NAME=demo1))(SID_DESC=(SID_NAME=PLSExtProc)(ORACLE_HOME=C:\oracle\product\11.2.0.3/db_1)(PROGRAM=extproc)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = ygdg)(PORT = 1521))(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))))➢tnsnames.oraDEMO231 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.168.10.231)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = demo1)))DEMO233 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = ygdg)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = demo1)))3.5、主库初始化参数修改➢生成pfile文件(create pfile from spfile)➢修改生成的pfile文件,添加如下红色部分内容demo1.__db_cache_size=205520896demo1.__java_pool_size=4194304demo1.__large_pool_size=4194304demo1.__oracle_base='/oracle'#ORACLE_BASE set from environmentdemo1.__pga_aggregate_target=218103808demo1.__sga_target=327155712demo1.__shared_io_pool_size=0demo1.__shared_pool_size=104857600demo1.__streams_pool_size=0*.audit_file_dest='/oracle/admin/demo1/adump'*.audit_trail='db'*.compatible='11.2.0.0.0'*.control_files='/oradata/demo1/control01.ctl','/oradata/demo1/control02.ctl'*.db_block_size=8192*.db_domain=''*.db_name='demo1'*.diagnostic_dest='/oracle'*.dispatchers='(PROTOCOL=TCP) (SERVICE=demo1XDB)'*.log_archive_dest_1='LOCATION=/oracle/arch'*.log_archive_format='%t_%s_%r.dbf'*.memory_target=545259520*.open_cursors=300*.processes=150*.remote_login_passwordfile='EXCLUSIVE'*.undo_tablespace='UNDOTBS1'*.db_unique_name=demo231*.log_archive_config='dg_config=(demo231,demo233)'*.log_archive_dest_1='location=/oracle/archVALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=demo231'*.log_archive_dest_2='SERVICE=demo233 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILE,PRIMARY_ROLE) DB_UNIQUE_NAME=demo233' *.fal_server=demo233*.fal_client=demo231*.log_archive_dest_state_1=ENABLE*.log_archive_dest_state_2=ENABLE*.log_archive_max_processes=10*.standby_file_management=AUTO*.db_file_name_convert='C:\oradata\demo1','/oradata/demo1'*.log_file_name_convert='C:\oradata\demo1','/oradata/demo1'➢由pfile文件生成spfileSQL>shutdown immediateSQL>create spfile from pfile;SQL>startup3.6、备库初始化参数修改➢将主库生成的pfile文件传到备库,修改如下红色部分内容demo1.__db_cache_size=205520896demo1.__java_pool_size=4194304demo1.__large_pool_size=4194304demo1.__oracle_base='C:\oracle'#ORACLE_BASE set from environmentdemo1.__pga_aggregate_target=218103808demo1.__sga_target=327155712demo1.__shared_io_pool_size=0demo1.__shared_pool_size=104857600demo1.__streams_pool_size=0*.audit_file_dest='C:\oracle\admin\demo1\adump'*.audit_trail='db'*.compatible='11.2.0.0.0'*.control_files='C:\oradata\demo1\control01.ctl','C:\oradata\demo1\control02.ctl'*.db_block_size=8192*.db_domain=''*.db_name='demo1'*.diagnostic_dest='C:\oracle'*.dispatchers='(PROTOCOL=TCP) (SERVICE=demo1XDB)'*.log_archive_dest_1='LOCATION=C:\oracle\arch'*.log_archive_format='%t_%s_%r.dbf'*.memory_target=545259520*.open_cursors=300*.processes=150*.remote_login_passwordfile='EXCLUSIVE'*.undo_tablespace='UNDOTBS1'*.db_unique_name=demo233*.log_archive_config='dg_config=(demo233,demo231)'*.log_archive_dest_1='location=C:\oracle\archVALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=demo233'*.log_archive_dest_2='SERVICE=demo231 LGWR ASYNCVALID_FOR=(ONLINE_LOGFILE,PRIMARY_ROLE) DB_UNIQUE_NAME=demo231'*.fal_server=demo231*.fal_client=demo233*.log_archive_dest_state_1=ENABLE*.log_archive_dest_state_2=ENABLE*.log_archive_max_processes=10*.standby_file_management=AUTO*.db_file_name_convert='/oradata/demo1','C:\oradata\demo1'*.log_file_name_convert='/oradata/demo1','C:\oradata\demo1' ➢生成备库spfile文件SQL>create spfile from pfile=’c:\oracle\initdemo1.ora’;➢将备库启动到nomount状态SQL>startup nomount3.7、添加standby日志组SQL>alter database add standby logfile group 4>(‘/oradata/demo1/redo04.log’) size 50M;SQL>alter database add standby logfile group 5>(‘/oradata/demo1/redo05.log’) size 50M;SQL>alter database add standby logfile group 6>(‘/oradata/demo1/redo06.log’) size 50M;SQL>alter database add standby logfile group 7>(‘/oradata/demo1/redo07.log’) size 50M;3.8、在主库上使用rman进行duplicate操作$ rman target sys/oracle auxiliary sys/oracle@demo233RMAN> DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE NOFILENAMECHECK;RMAN恢复完以后会自动将standby数据库自动切换到mount状态。
Dataguard配置手册
DATAGUARD配置手册一、DATAGUARD体系架构图二、配置步骤1.首先在节点1用dbca创建实例,节点2不安装实例,只装数据库软件即可,如果节点1是现成运行的数据库,则不需要新建;2.把主节点1的TNSNAMES.ORA配置成如下,并把该文件复制到备节点2的相同目录下:ORCL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orcl)))ORCLBAK =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = orclbak)))注:这里要注意红色部分,要根据自己的情况对IP和服务名进行调整;3.配置两个节点的监听:listener.ora设置如下(用现成的监听文件即可,无需修改):主节点1设置:LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = shck70data279)(PORT = 1521))(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))))红色部分位节点1的主机名,确认好配置后把这个监听文件拷贝到节点2相同的目录下,并调整:备节点2设置:LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = shck70data280)(PORT = 1521)))(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))))注:这里将红色的主机名改为节点2的主机名4.主节点设置强制写日志SQL> select FORCE_LOGGING from v$database;NOSQL> alter database force logging;SQL> select FORCE_LOGGING from v$database;YES5.把主节点的密码文件拷到备节点相同的目录下(名字要一样,别改名,本例是pwdorcl.ora文件):6.主节点创建PFILE并增加修改如下:SQL>create pfile from spfle;找到initorcl.ora文件:orcl.__db_cache_size=5251268608orcl.__java_pool_size=16777216orcl.__large_pool_size=16777216orcl.__oracle_base='E:\u01'#ORACLE_BASE set from environmentorcl.__pga_aggregate_target=2147483648orcl.__sga_target=6408896512orcl.__shared_io_pool_size=0orcl.__shared_pool_size=1056964608orcl.__streams_pool_size=16777216*.audit_file_dest='E:\u01\admin\orcl\adump'*.audit_trail='db'* patible='11.2.0.0.0'*.control_files='E:\u01\oradata\orcl\control01.ctl','E:\u01\fast_recovery_area\orcl\control02.ctl'*.db_block_size=8192*.db_domain=''*.db_name='orcl'*.db_recovery_file_dest='E:\u01\fast_recovery_area'*.db_recovery_file_dest_size=52428800000*.diagnostic_dest='E:\u01'*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'*.log_archive_format='ARC%S_%R.%T'*.nls_language='SIMPLIFIED CHINESE'*.nls_territory='CHINA'*.open_cursors=300*.pga_aggregate_target=2131755008*.processes=1500*.remote_login_passwordfile='EXCLUSIVE'*.sessions=1655*.sga_target=6396313600*.undo_tablespace='UNDOTBS1'--下面为增加的内容:DB_UNIQUE_NAME=orclLOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,orclbak)'LOG_ARCHIVE_DEST_1= 'LOCATION=E:\u01\fast_recovery_area\orcl VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl'LOG_ARCHIVE_DEST_2= 'SERVICE=orclbak LGWR ASYNC affirm VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orclbak'LOG_ARCHIVE_DEST_STATE_1=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLELOG_ARCHIVE_FORMAT=%t_%s_%r.arcFAL_SERVER=orclbakFAL_CLIENT=orclSTANDBY_FILE_MANAGEMENT=AUTO7.在备端创建几个跟主端同样的目录:E:\u01\oradata\orcl,E:\u01\fast_recovery_area\orcl,E:\u01\admin\orcl\adump,E:\u01\admin\orcl\bdump,E:\u01\admin\orcl\pfile然后创建STANDBY控制文件并拷贝至备端的相同目录SQL>ALTER DATABASE CREATE STANDBY CONTROLFILE AS 'e:\control01.ctl';然后把E:\control01.ctl复制到备端的E:\u01\oradata\orcl下8.根据6的参数文件内容,拷贝到到备端,并增加修改内容如下(记住pfile文件名要一样,也是叫initorcl.ora,路径是:E:\u01\product\11.2.0\dbhome_1\database\initorcl.ora):备库的参数文件如下:orcl.__db_cache_size=5251268608orcl.__java_pool_size=16777216orcl.__large_pool_size=16777216orcl.__oracle_base='E:\u01'#ORACLE_BASE set from environmentorcl.__pga_aggregate_target=2147483648orcl.__sga_target=6408896512orcl.__shared_io_pool_size=0orcl.__shared_pool_size=1056964608orcl.__streams_pool_size=16777216*.audit_file_dest='E:\u01\admin\orcl\adump'*.audit_trail='db'* patible='11.2.0.0.0'*.control_files='E:\u01\oradata\orcl\control01.ctl'--这里不同于主端,注意只指定一个控制文件即可*.db_block_size=8192*.db_domain=''*.db_name='orcl'*.db_recovery_file_dest='E:\u01\fast_recovery_area'*.db_recovery_file_dest_size=524288000000*.diagnostic_dest='E:\u01'*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'*.log_archive_format='ARC%S_%R.%T'*.nls_language='SIMPLIFIED CHINESE'*.nls_territory='CHINA'*.open_cursors=300*.pga_aggregate_target=2131755008*.processes=1500*.remote_login_passwordfile='EXCLUSIVE'*.sessions=1655*.sga_target=6396313600*.undo_tablespace='UNDOTBS1'--调整以下内容:DB_UNIQUE_NAME=orclbakLOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,orclbak)'LOG_ARCHIVE_DEST_1= 'LOCATION=E:\u01\fast_recovery_area\orcl VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orclbak'LOG_ARCHIVE_DEST_2= 'SERVICE=orcl LGWR ASYNC affirm VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl'LOG_ARCHIVE_DEST_STATE_1=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLELOG_ARCHIVE_FORMAT=%t_%s_%r.arcFAL_SERVER=orclFAL_CLIENT=orclbakSTANDBY_FILE_MANAGEMENT=AUTO9.关闭主端数据库并把数据文件拷贝至备端的相同目录下:SQL>shutdown immediate然后把主端的E:\u01\oradata\orcl目录复制到备端同样的目录下,这里千万要注意,控制文件千万别复制过去,因为步骤7已将standby 控制文件复制过去;10.在主,备端同时建立standby重做日志:主端此时OPEN数据库,然后创建以下日志,SQL>statupSQL>ALTER DATABASE ADD STANDBY LOGFILE group 4('E:\u01\oradata\standby_log\slog1.rdo') SIZE 200M;SQL>ALTER DATABASE ADD STANDBY LOGFILE group 5('E:\u01\oradata\standby_log\slog2.rdo') SIZE 200M;SQL>ALTER DATABASE ADD STANDBY LOGFILE group 6('E:\u01\oradata\standby_log\slog3.rdo') SIZE 200M;SQL>ALTER DATABASE ADD STANDBY LOGFILE group 7('E:\u01\oradata\standby_log\slog4.rdo') SIZE 200M;备端先mount起来再创建:SQL>starup nomountSQL>alter database mount;SQL>ALTER DATABASE ADD STANDBY LOGFILE group 4('E:\u01\oradata\standby_log\slog1.rdo') SIZE 200M;SQL>ALTER DATABASE ADD STANDBY LOGFILE group 5('E:\u01\oradata\standby_log\slog2.rdo') SIZE 200M;SQL>ALTER DATABASE ADD STANDBY LOGFILE group 6('E:\u01\oradata\standby_log\slog3.rdo') SIZE 200M;SQL>ALTER DATABASE ADD STANDBY LOGFILE group 7('E:\u01\oradata\standby_log\slog4.rdo') SIZE 200M;11.备端进行同步操作SQL>shutdown immediate;SQL>startup nomount;SQL>alter database mount standby database;SQL>ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;此时先用步骤12,13查看DG是否同步正常,如正常(这里判断的方法是:用步骤13语句在主端看是否有LNS字样的同步日志出现,如出现ERROR则需要诊断不同步的原因,另外用步骤12在备端查看归档日志是否处于YES的应用状态),可进行下列操作切换到OPEN状态下同步:要切换到OPEN READ ONLY状态下的操作:SQL>alter database recover managed standby database cancel;SQL>alter database open read only;其实在open read only状态下也可以进行日志同步:ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;这样就可以既可以实时查数据,也可以同步数据--到此配置完毕,以下为内容为维护DATAGUARD使用:12.查看备库日志应用状态:SQL>SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME,applied FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;.13.查看主库日志归档情况:SQL>set lines 180SQL>col message format a70SQL>select * from V$DATAGUARD_STATUS;14.查看数据库主备状态:SQL>SELECT SWITCHOVER_STATUS FROM V$DATABASE;15.查看备库standby_log状态:SQL>select thread#,sequence#,used,archived,status from v$standby_log;16.查看归档文件是否连续SQL> select thread#,low_sequence#,high_sequence# from v$archive_gap;。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. DataGuard配置主机:192.168.0.7(primary)备机:192.168.0.8(standby)配置条件:分别在primary、standby上安装数据库,并自动创建实例;安装路径、数据库实例名(citizen)和密码都设置成一样特别注意:文件夹权限必须与administartor一致1.1. Primary主机操作1、设置主数据库为force logging 模式SQL>sqlplus "/as sysdba"SQL>alter database force logging;2、设置主数据库为归档模式,并以mount启动数据库SQL>archive log listSQL>shutdown immediateSQL>startup mountSQL>alter database archivelog;SQL>archive log list3、添加"备用联机日志文件"SQL>select * from v$logfile;再添加:alter database add standby logfile group 4 ('D:\app\oradata\orcl\redo04.log') size 50m; alter database add standby logfile group 5 ('D:\app\oradata\orcl\redo05.log') size 50m; alter database add standby logfile group 6 ('D:\app\oradata\orcl\redo06.log') size 50m; alter database add standby logfile group 7 ('D:\app\oradata\orcl\redo07.log') size 50m;路径与原来的日志路径一样4、创建主库的初始化参数给备库用SQL>Create pfile from spfile;产生的文件名为initcitizen.ora 存放目录默认放在$ORACLE_HOME/database下5、在主库创建监听和配置tnsnams.oralistener.ora配置如下:SID_LIST_LISTENER中添加:红色添加(SID_DESC =(GLOBAL_DBNAME = citizen)(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)(SID_NAME = citizen))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))(ADDRESS = (PROTOCOL = TCP)(HOST = WIN-RKCE8P1N4VV)(PORT = 1521))))此处HOST 最好使用主机名tnsnames.ora配置如下:添加:primary =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 19.128.249.51)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = citizen)))standby =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 19.128.249.52)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = citizen)))监听配置完后,重启监听后,需要时间久一点primary 的服务才能启动起来。
特别注意,需要使用下面pfile 启动,primary的服务才正式启动6、在initcitizen.ora中添加以下内容:*.log_archive_format='%T%S%r.ARC'*.DB_UNIQUE_NAME='primary'*.log_archive_config='DG_CONFIG=(primary,standby)'*.log_archive_dest_1='location=D:\app\flash_recovery_area\orcl\ARCHIVELOGVALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=primary'*.log_archive_dest_2='SERVICE=standby arch ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby'*.STANDBY_FILE_MANAGEMENT=AUTO*.LOG_ARCHIVE_DEST_STATE_1=ENABLE*.LOG_ARCHIVE_DEST_STATE_2=ENABLE*.FAL_SERVER='standby'*.FAL_CLIENT='primary'关闭数据库shutdown immediate ,再用initcitizen.ora重启SQL>startup pfile='D:\oracle\product\10.2.0\db_1\database\initcitizen.ora';7、用Rman备份,不用停机$ rman target /RMAN>backup full format 'D:/db/FULL_%d_%T_%s.bak' database include current controlfile for standby;RMAN>sql 'alter system archive log current';RMAN>Backup ArchiveLog all format='D:/db/arch_%d_%T_%s.bak';备份完后将备份文件拷到standby上同样的目录,强调:同样的目录(D盘),在standby 进行rman 恢复即可8、启动主数据库SQL>startup1.2. Standby备机操作1、以mount启动备库,添加"备用联机日志文件"SQL>sqlplus "/as sysdba"SQL>shutdown immediateSQL>startup mount先查看日志文件位置:SQL>select * from v$logfile;再添加:alter database add standby logfile group 4 ('D:\app\oradata\orcl\citizen\redo04.log') size 50m;alter database add standby logfile group 5 ('D:\ORACLE\PRODUCT\10.2.0\ORADATA\citizen\redo05.log') size 50m;alter database add standby logfile group 6 ('D:\ORACLE\PRODUCT\10.2.0\ORADATA\citizen\redo06.log') size 50m;alter database add standby logfile group 7 ('D:\ORACLE\PRODUCT\10.2.0\ORADATA\citizen\redo07.log') size 50m;2、在备库创建监听和配置tnsnams.ora(同主库)3、测试主备之间网络连通测试非常重要Primary:C:>lsnrctl startC:>tnsping standbyStandby:C:>lsnrctl startC:>tnsping primary再主库中测试Tnsping primary / tnsping 19.130.218.32/primaryTnsping standby / tnsping 19.130.218.30/standby备库Tnsping standby / tnsping 19.130.218.30/standbyTnsping primary / tnsping 19.130.218.32/primary4、复制主库的参数文件到备库中,编辑$ORACLE_HOME/database目录下的initcitizen.ora添加以下内容*.log_archive_format='%T%S%r.ARC'*.DB_UNIQUE_NAME='standby'*.log_archive_config='DG_CONFIG=(primary,standby)'*.log_archive_dest_1='location=D:\oracle\product\10.2.0\oradata\archVALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=standby'*.log_archive_dest_2='SERVICE=primary arch ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=primary'*.STANDBY_FILE_MANAGEMENT=AUTO*.LOG_ARCHIVE_DEST_STATE_1=ENABLE*.LOG_ARCHIVE_DEST_STATE_2=ENABLE*.FAL_SERVER='primary'*.FAL_CLIENT='standby'以及密码文件"D:\app\product\11.2.0\dbhome_1\database\PWDorcl.ora" 备份到相同路径5、启动备用数据库开始把主库复制到备库中SQL>sqlplus "/as sysdba"SQL>startup nomount pfile='D:\oracle\product\10.2.0\db_1\database\initcitizen.ora';重启主、备库监听,用Rman还原数据库$rman target sys/admin@primary auxiliary /RMAN>duplicate target database for standby dorecoverse nofilenamecheck;duplicate target database for standby nofilenamecheck;SQL>alter database mount standby database; --该语句如果报错可忽略SQL>alter database recover managed standby database disconnect from session;这里插入一下:如果服务器或者数据库需要重启,在重启之后主库:SQL>sqlplus "/as sysdba"SQL> startup pfile='D:\app\product\11.2.0\dbhome_1\database\INITorcl.ORA';Startup 后面没有添加任何参数就直接打开到open状态备库:SQL>sqlplus "/as sysdba"SQL>startup nomount pfile='D:\app\product\11.2.0\dbhome_1\database\INITorcl.ORA';SQL>alter database mount standby database;SQL>alter database recover managed standby database cancel;--该语句如果报错,可忽略SQL>alter database recover managed standby database disconnect from session;备库手动应用归档日志ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;备库只能开启到mont (挂载)的状态,如果启动到open状态,备库无法应用归档日志。