windows环境DataGuard配置
- 格式:docx
- 大小:24.94 KB
- 文档页数:11
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 的服务才能启动起来。
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配置说明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.在主库创建备用重做日志。
Win2012安装Oracle11g DG物理级连备库马飞2016-11-29~12-4一、系统安装通过Vmware workstation安装两台虚拟机,分别用于做主库和从库。
操作系统:cn_windows_server_2012_r2_x64_dvd_2707961.iso详细安装过程省略。
1.1 主库配置主机名:dg1实例名:dg1数据库名:dgIP:192.168.8.100关闭防火墙内存3G磁盘:30G1.2 从库配置主机名:dg2实例名:dg2数据库名:dgIP:192.168.8.101内存3G磁盘:30G关闭防火墙二、数据库安装通过Vmware workstation安装两台虚拟机,分别用于做主库和从库。
操作系统:cn_windows_server_2012_r2_x64_dvd_2707961.iso详细安装过程省略。
2.1 上传安装包2.2 解压并运行2.3 主库安装步骤1.不要选择“我希望通过…”2. 选择“创建和配置数据库”3. 选择“服务器类”3. 选择“单实例数据库”口令为:jusfoun2.4 备库安装步骤在备库只需要安装数据库软件。
三、主库操作3.1 启用强制日志ALTER DATABASE FORCE LOGGING;3.2 开启归档3.3 配置归档详见3.1(2)节内容中log_archive_dest_1,log_archive_dest_2两个参数的配置。
3.4 备份数据库3.5创建备库控制文件3.6备份文件至共享目录将主库备份文件、备库控制文件、口令文件、参数文件、网络文件、监听文件先拷至至共享目录c:\share中。
变量说明:%ORACLE_BASE%= C:\app\mafei%ORACLE_HOME%= C:\app\mafei\product\11.2.0\db_1提示:此操作需要在“四、主库配置”完成后,将参数文件、网络文件、监听文件一同放到指定目录下。
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;。
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。
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体系架构图二、配置步骤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;。
Windows平台搭建dataguard详细步骤目录简介 (3)一:环境准备 (3)二:主数据库设置(primary) (3)1:检查主机数据库的状态 (3)2:primary数据库运行模式 (4)3:备用联机日志查看: (4)4 :创建主库数据库参数文件 (4)5:在主库中创建备库使用的控制文件以及密码文件 (5)三:文件拷贝到standby数据库服务器中 (5)1:拷贝数据文件 (5)2:拷贝参数文件 (6)四:primary,standby数据库监听文件与tnsnames.ora文件配置 (6)1:primary数据库listener,ora配置 (6)2:primary数据库tnsnames.ora配置 (7)3:standby数据库监听配置 (8)4:standby数据库tnsnames.ora配置 (9)五:standby数据库文件修改 (10)六:重新启动主备库监听进行测试: (10)七:启动备库 (11)八:重启主备库: (11)九:测试归档 (12)简介本文档详细的叙述了在windows平台下如何搭建oracle10g datagurad。
一:环境准备1:环境准备主机:操作系统windows xp sp2备机:虚拟机,windows xp sp2网络环境准备:主机:虚拟机IP为192.168.121.1 数据库实例:orclsid备机:IP:192.168.121.52: 数据库安装由于主机原来安装有oracle 10.1.0.2,所以在虚拟机种安装数据库oracle10.1.0.2,在虚拟机中,只需要安装数据库软件,不需要创建数据库。
二:主数据库设置(primary)1:检查主机数据库的状态由于主库要在force_logging状态下运行,所以进行查看,如果发现no,就需要进行修改数据库。
SQL>conn / as sysdbaSQL> SELECT FORCE_LOGGING FROM V$DATABASE;SQL>alter database force logging;2:primary数据库运行模式Primary数据库要运行在归档模式下,所以需要进行检查SQL> archive log list; 如果不是归档模式,则需要进行更改SQL> shutdown immediateSQL> startup mountSQL> alter database archivelog;SQL> archive log list3:备用联机日志查看:首先查询数据库日志:Select * from v$logfile;再进行日志的添加:SQL> alter database add standby logfile group 4('D:\ORACLE\PRODUCT\10.1.0\ORADATA\orclsid\redo04.log') size 50m;SQL> alter database add standby logfile group 5('D:\ORACLE\PRODUCT\10.1.0\ORADATA\orclsid\redo05.log') size 50m;SQL> alter database add standby logfile group 6('D:\ORACLE\PRODUCT\10.1.0\ORADATA\orclsid\redo06.log') size 50m;SQL> alter database add standby logfile group 7('D:\ORACLE\PRODUCT\10.1.0\ORADATA\orclsid\redo07.log') size 50m;4 :创建主库数据库参数文件创建主库数据库参数文件,后面会给到备库进行使用SQL>Create pfile from spfile;这里产生的文件名为initorclsid.ora,存放的位置在:product\10.1.0\Db_3\database\下在initorclsid.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:\oracle\product\10.1.0\oradata\archVALID_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'再使用initorclsid.ora文件重启数据库SQL>shutdown immediate;SQL>startup pfile=' D:\oracle\product\10.1.0\Db_3\database\initorclsid.ora'启动之后,创建spfile文件:SQL>create spfile from pfile=' D:\oracle\product\10.1.0\Db_3\database\initorclsid.ora '5:在主库中创建备库使用的控制文件以及密码文件SQL>Alter database create standby controlfile as 'D:\oracle\product\10.1.0\oradata\standby01.ctl';D:>orapwd file=D:\PWDorclsid.ora password=xxxxxx(这里是数据库的密码) entries=5; 创建完毕之后,win下口令文件的格式是PWD+SID.ora文件。
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/databa下e 5、在主库创建监听和配置tnsnams.oralistener.ora 配置如下:SID_LIST_LISTENE中添加:红色添力卩(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 = citize n)))监听配置完后,重启监听后,需要时间久一点primary 的服务才能启动起来特别注意,需要使用下面pfile 启动,primary的服务才正式启动6、在in itcitize n.ora 中添加以下容:*log_archive_format='%T%S%r.ARC'*DB_UNIQUE_NAME='primary'*.log_archive_c on fig='DG_CONFIG=(primary,sta ndby)'*log_archive_dest_1='locati on=D:\app\flash_recovery_area\orcl\ARCHIVELOG VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=primary' *log_archive_dest_2='SERVICE=sta ndby archASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=sta ndby'*.STANDBY_FILE_MANAGEMENT=AUTO*LOG_ARCHIVE_DEST_STATE_仁ENABLE*.LOG_ARCHIVE_DEST_STATE_2=ENABLE*.FAL_SERVER='sta ndby'*.FAL_CLIENT='primary'关闭数据库shutdown immediate ,再用initcitizen.ora 重启SQL>startup pfile='D:\oracle\product\10.2.0\db_1\database\initcitizen.ora';7、用Rma备份,不用停机$ 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/databa目e录下的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';重启主、备库监听,用Rma还原数据库$rman target sys/adminprimary 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 DATABASERECOVERMANAGEDSTANDBYDATABASEUSING CURRENT LOGFILE DISCONNECTFROM SESSION;备库只能开启到mo nt (挂载)的状态,如果启动到ope n状态,备库无法应用归档日志。