Oracle_dataguard__11G_配置与维护手册

合集下载

ORACLEG搭建DATAGUARD步骤

ORACLEG搭建DATAGUARD步骤

ORACLEG搭建DATAGUARD步骤搭建Oracle11g Data Guard需要以下步骤:1. 确保主/备数据库的版本和配置要求:首先,主数据库和备数据库的Oracle版本必须匹配,且需要安装和配置相同的操作系统。

同时,还需要确保主/备数据库的参数设置和硬件要求是一致的。

2. 创建主数据库:使用Oracle Database ConfigurationAssistant(DBCA)创建主数据库。

在创建数据库过程中,确保将主数据库配置为运行在归档日志模式下,以便能够启用数据保护模式并实现归档日志传送到备库。

3. 备份主数据库:在搭建Data Guard之前,需要对主数据库进行备份。

这样可以确保在搭建过程中出现任何问题时,能够快速还原主数据库。

4. 安装备数据库:在备数据库所在的服务器上安装Oracle软件,并确保配置与主数据库相同的操作系统和Oracle版本。

5. 配置备数据库参数:在备数据库上修改参数文件,以确保与主数据库保持一致。

将数据库配置为运行在归档日志模式下,并启用自动归档和数据保护模式。

还需要配置Log Archive Destination(LAD)和Fast Recovery Area(FRA)。

6. 启动备库模式:在备库上启动数据库,并将数据库模式设置为mount。

执行以下命令启动数据库:```startup mount;```7.创建备数据库控制文件:在备库上创建控制文件的物理副本,以便能够使用这些文件启动和恢复备库。

执行以下命令创建备数据库控制文件副本:```ALTER DATABASE CREATE STANDBY CONTROLFILE AS'path_to_control_file_copy';```8.将备库注册到主数据库:在主数据库上执行以下命令,将备库注册到主数据库:```ALTER SYSTEM SETLOG_ARCHIVE_CONFIG='DG_CONFIG=(primary_database,standby_datbase)';ALTER SYSTEM SETLOG_ARCHIVE_DEST_2='SERVICE=standby_database LGWR ASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=standby_database';```9.复制主数据库备份到备数据库服务器上:将主数据库备份传输到备数据库所在的服务器。

Oracle-11g日常维护手册

Oracle-11g日常维护手册

Oracle 11g 日常维护手册目录第1章文档说明 (4)第2章 CRS的管理 (4)2.1 RAC状态检查 (4)2.1.1 检查守护进程状态 (4)2.1.2 检查资源状态 (4)2.2 手工启动与关闭RAC (5)2.3 OCR的管理 (5)2.4 VOTING DISK的管理 (7)2.5 CSS管理 (8)2.6 管理工具SRVCTL (8)2.6.1 管理实例 (8)2.6.2 管理监听程序 (9)2.6.3 管理ASM (9)2.6.4 管理service (10)2.7 修改RAC的IP及VIP (10)2.7.1 修改外网IP及心跳IP (10)2.7.2 修改VIP (11)2.7.3 查看与删除IP (11)第3章 ASM的管理 (12)3.1 管理DG (12)3.1.1 建立与扩充disk group (12)3.1.2 mount与unmount的命令 (13)3.1.3 删除disk group (13)3.1.4 增加DISK的total_mb (13)3.1.5 DG的属性-AU大小 (13)3.1.6 DG的属性-离线删除时间 (14)3.1.7 DG的属性-兼容版本 (14)3.1.8 向ASM中添加disk的完整步骤 (15)3.2 ASMCMD (16)3.2.1 ASMCMD常用命令 (16)3.2.2 复制ASM文件 (17)3.2.3 命令lsdg (17)3.2.4 元数据备份与恢复 (18)3.3 ASM磁盘头信息备份与恢复 (18)3.4 ASM常用视图 (19)3.4.1 视图V$ASM_DISKGROUP (19)3.4.2 视图V$ASM_DISK (20)3.5 常用方法 (21)3.5.1 如何确定ASM实例的编号 (21)3.5.2 查询DG-RAW-磁盘的对应关系 (21)第4章数据库管理 (23)4.1 参数文件管理 (23)4.2 表空间管理 (24)4.2.1 表空间自动扩张 (25)4.2.2 表空间更名 (25)4.2.3 表空间的数据文件更名 (25)4.2.4 缺省表空间 (25)4.2.5 表空间删除 (26)4.2.6 UNDO表空间 (26)4.2.7 TEMP表空间 (26)4.3 重做日志文件管理 (27)4.3.1 增加REDO日志组 (27)4.3.2 删除日志组 (27)4.3.3 日志切换 (27)4.3.4 日志清理 (27)4.3.5 重做日志切换次数查询 (28)4.4 归档模式 (28)4.4.1 单实例数据库修改为归档模式的方法 (28)4.4.2 RAC数据库修改为归档模式的方法 (29)4.4.3 归档路径 (29)4.5 重建控制文件 (30)4.6 内存参数管理 (31)4.6.1 Oracle内存管理发展阶段 (31)4.6.2 自动内存管理AMM (32)4.6.3 自动共享内存管理ASMM (32)4.6.4 自动PGA管理 (32)4.7 其他管理内容 (33)4.7.1 数据库版本查看 (33)4.7.2 字符集 (33)4.7.3 创建密码文件 (33)4.7.4 关闭审计功能 (34)4.7.5 帐号管理 (34)4.7.6 profile管理 (34)第1章文档说明本文档描述了Oracle11g中常见的维护和管理方法,包括CRS、ASM、数据库等。

Oracle 11g Data Guard 物理备库快速配置指南

Oracle 11g Data Guard 物理备库快速配置指南

Oracle 11g Data Guard 物理备库快速配置指南(上)June 26, 2012缘起最近做了10g和11g的物理备库配置实验,发现Data Guard 其实很容易,但是缺少好文档。

我是参考官方文档做的实验,觉得它写的不是很清楚的。

Google 出来两个pdf文档,读了觉得比官方文档强很多。

翻译下,也许会对某些朋友有用。

翻译的同时我也好更熟悉下这两个文档。

好久没翻译过英文了,可以顺便练练手。

原文档下载地址(墙外):Data Guard 是Oracle 数据库的一个功能,能够提供数据库的冗余。

冗余是通过创建一个备用(物理复制)数据库实现,备库最好是在不同的地理位置或者在不同的磁盘上。

备库通过应用主库上的变化来保持数据同步。

备库可以使用重做日志应用(物理备库)或SQL应用同步(逻辑备库)。

本文旨在说明Data Guard 的配置并不复杂,不需要特殊的技能或者培训才能学会搭建。

它将快速展示给读者搭建一个物理备库的过程。

我的目标是,即使你第一次接触Data Guard,刚考虑要使用它或担心它会不会很难配置,本文将帮助你快速搭建起一个正常运行起来的物理备库。

每种Oracle 高可用性工具都有其目的。

使用Data Guard 的理由有:∙整个数据库的冗余∙故障时的快速恢复∙故障后客户端能自动重连∙在备库运行备份∙较好的故障平均修复时间∙并不复杂有一些任何生产库都应该有的基本的设置。

其中一个就是归档模式。

对于生产库,这应该是一个明显的必须配置。

如果你的生产库没有适用归档模式,你要么需要马上开始读点书,要么你得有一个非常非常好的理由。

我不大确定谁真能找出一个理由,但任何准则都有例外。

如何修改你的数据库为归档模式:SQL> shutdown immediateSQL> startup mountSQL> alter database archivelog;SQL> alter database open;SQL> archive log list;))主库的TNS 名字文件配置:JED2 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = dev-db2)(PORT = 1521)) (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = JED2)))备库的TNS 名字文件配置:JED =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = dev-db1)(PORT = 1521)) (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = JED)))然后在备库服务器上创建所需目录结构和修改相关文件。

最新Oracle 11g DataGuard 配置详细说明

最新Oracle 11g DataGuard  配置详细说明

Oracle 11g DataGuard 配置详细说明121.判断DataGuard是否安装3select * from v$option where parameter = 'Oracle Data Guard';42. 数据库环境说明5主库配置:IP:192.168.228.133(Oracle11g1),数据库名:db1,监听服6务名:db1pri,网络服务名:pri从库配置:IP:192.168.229.134(Oracle11g2),数据库名:db1,监听服78务名:db1dg ,网络服务名:dg9数据库程序安装路径:/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/dbs1011数据库存放路径:/oracledata/db1123.监听配置13在做oracle dataguard主从库配置时候,一定要配置静态监听,否则可14能出现监听服务解析错误,不能连接的问题,监听配置如下:15主库配置如下:16[oracle@Oracle11g1 admin]$ pwd17/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/network/admin 18[oracle@Oracle11g1 admin]$ cat listener.ora19# listener.ora Network Configuration File:/oracleapp/oinstall/oracle/product/1.2.0/dbhome_1/network/admin/list2021ener.ora# Generated by Oracle configuration tools.2223WU =24(DESCRIPTION_LIST =25(DESCRIPTION =26(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle11g2)(PORT = 271521))28)29)30SID_LIST_WU =31(SID_LIST =32(SID_DESC =33(GLOBAL_DBNAME =db1pri)34(ORACLE_HOME =35/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1)36(SID_NAME = db1)37)38)39ADR_BASE_WU = /oracleapp/oinstall/oracle40#注意这里的global_dbname=db1pri,SID_NAME=db1,这个SID_NAME 应与41你对外提供服务的 $ORACLE_SID 一致,即数据库:db142[oracle@Oracle11g1 admin]$ cat tnsnames.ora43# tnsnames.ora Network Configuration File:44/oracleapp/oinstall/oracle/product/11.2.0/dbhome_1/network/admin/tns 45names.ora46# Generated by Oracle configuration tools.47pri =48(DESCRIPTION =49(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle11g1)(PORT = 1521)) (CONNECT_DATA =5051(SERVER = DEDICATED)52(SERVICE_NAME = db1pri))5354)55dg =56(DESCRIPTION =57(ADDRESS = (PROTOCOL = TCP)(HOST = Oracle11g2)(PORT = 1521)) 58(CONNECT_DATA =59(SERVER = DEDICATED)60(SERVICE_NAME = db1dg)61)62)63#tnsname pri 中的 SERVICE_NAME=db1pri ,这里的服务名为db1pri而64不是通常的 db1,因为在 listener.ora 中已经注册了db1pri,lsnrctl 启动65时会监听db1pri ,并对应到SID_NAME=db1上。

配置Oracle 11g Active Dataguard

配置Oracle 11g Active Dataguard

配置Oracle 11g Active Dataguard一直以来都没有正儿八经的记录oracle 11g dataguard物理备库的创建步骤,11g 的logical standby还没有去测试,不过个人认为随着11g adg特性的推出,logical standby其实已经没有什么吸引力了!本文介绍了11g active dataguard的详细配置步骤和数据保护模式的修改!一:环境介绍主库IP地址:192.168.1.61/24操作系统版本:rhel5.4 64bit数据库版本:11.2.0.3 64bit数据库sid名:dg数据库名:dg数据库db_unique_name:dg1备库1 物理备库(只安装oracle数据库软件,无需建库)IP地址:192.168.1.62/24操作系统版本:rhel5.4 64bit数据库版本:11.2.0.3 64bit数据库sid名:dg数据库名:dg数据库db_unique_name:dg2二:修改主备库listener.ora,tnsnames.ora文件如下,备库根据自身情况修改1.[oracle@dg1 ~]$ cat $TNS_ADMIN/listener.ora2.SID_LIST_LISTENER =3. (SID_LIST =4. (SID_DESC =5. (GLOBAL_DBNAME = )6. (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db1)7. (SID_NAME = dg)8. )9. )10.11.LISTENER =12. (DESCRIPTION_LIST =13. (DESCRIPTION =14. (ADDRESS_LIST =15. (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521))16. )17. )18. )19.20.[oracle@dg1 ~]$ cat $TNS_ADMIN/tnsnames.ora21.dg1 =22. (DESCRIPTION =23. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.61)(PORT = 1521))24. (CONNECT_DATA =25. (SERVER = DEDICATED)26. (SERVICE_NAME = )27. )28. )29.30.dg2 =31. (DESCRIPTION =32. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.62)(PORT = 1521))33. (CONNECT_DATA =34. (SERVER = DEDICATED)35. (SERVICE_NAME = )36. )37. )38.39.for_db =40. (DESCRIPTION =41. (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.61)(PORT = 1521))42. )三:在主库上修改dataguard配置相关的各个参数,各参数的具体含义可以参考oracle 在线文档1.SQL> alter database force logging;2.Database altered.3.4.SQL> alter system set db_unique_name='dg1'scope=spfile;5.System altered.6.7.SQL> alter system set log_archive_config='DG_CONFIG=(dg1,dg2)';8.System altered.9.10.SQL> alter system set log_archive_dest_1='LOCATION=/u01/app/oracle/archivelog valid_for=11.12.(all_logfiles,primary_role) db_unique_name=dg1' scope=spfile;13.System altered.14.15.SQL> alter system set log_archive_dest_2='SERVICE=dg2 lgwr sync valid_for=(online_logfile,primary_role)16.17.db_unique_name=dg2';18.System altered.19.20.SQL> alter system set log_archive_dest_3='LOCATION=/u01/app/oracle/standbylog valid_for=21.22.(standby_logfile,standby_role) db_unique_name=dg1' scope=spfile;23.System altered.24.25.SQL> alter system set fal_client='dg1';26.System altered.27.28.SQL> alter system set fal_server='dg2';29.System altered.30.31.SQL> alter system set standby_file_management=auto;32.System altered.33.34.SQL> alter database add standby logfile group 4 '/u01/app/oracle/oradata/dg/standby04.log' size 50M;35.Database altered.36.37.SQL> alter database add standby logfile group 5 '/u01/app/oracle/oradata/dg/standby05.log' size 50M;38.Database altered.39.40.SQL> alter database add standby logfile group 6 '/u01/app/oracle/oradata/dg/standby06.log' size 50M;41.Database altered.42.43.SQL> alter database add standby logfile group 7 '/u01/app/oracle/oradata/dg/standby07.log' size 50M;44.Database altered.45.46.SQL> shutdown immediate47.Database closed.48.Database dismounted.49.ORACLE instance shut down.50.51.SQL> startup52.ORACLE instance started.53.54.Total System Global Area 417546240 bytes55.Fixed Size 2228944 bytes56.Variable Size 285216048 bytes57.Database Buffers 121634816 bytes58.Redo Buffers 8466432 bytes59.Database mounted.60.Database opened.61.62.SQL> alter system set local_listener='for_db';63.System altered.64.65.SQL> create pfile='/home/oracle/initdg.ora' from spfile;66.File created.三:将生成的pfile文件修改后传递到备库,注意红色字体部分[oracle@dg1 ~]$ cat /home/oracle/initdg.oradg.__db_cache_size=121634816dg.__java_pool_size=4194304dg.__large_pool_size=4194304dg.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environmentdg.__pga_aggregate_target=167772160dg.__sga_target=251658240dg.__shared_io_pool_size=0dg.__shared_pool_size=109051904dg.__streams_pool_size=0*.audit_file_dest='/u01/app/oracle/admin/dg/adump'*.audit_trail='db'*.compatible='11.2.0.0.0'*.control_files='/u01/app/oracle/oradata/dg/control01.ctl','/u01/app/oracle/fast_recovery_area/dg/control02.ctl' *.db_block_size=8192*.db_domain=''*.db_name='dg'*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'*.db_recovery_file_dest_size=4322230272*.db_unique_name='dg2'*.diagnostic_dest='/u01/app/oracle'*.dispatchers='(PROTOCOL=TCP) (SERVICE=dgXDB)'*.fal_client='dg2'*.fal_server='dg1'*.local_listener='for_db'*.log_archive_config='DG_CONFIG=(dg1,dg2)'*.log_archive_dest_1='LOCATION=/u01/app/oracle/archivelogvalid_for=(all_logfiles,primary_role)db_unique_name=dg2'*.log_archive_dest_2='SERVICE=dg1 lgwr sync valid_for=(online_logfile,primary_role)db_unique_name=dg1'*.log_archive_dest_3='LOCATION=/u01/app/oracle/standbylogvalid_for=(standby_logfile,standby_role)db_unique_name=dg2'*.log_archive_format='%t_%s_%r.dbf'*.memory_target=419430400*.open_cursors=300*.processes=150*.remote_login_passwordfile='EXCLUSIVE'*.standby_file_management='AUTO'*.undo_tablespace='UNDOTBS1'[oracle@dg1 ~]$ scp initdg.ora 192.168.1.62:/home/oracle/四:将备库启动到nomount状态,然后连接主库进行duplicate操作1.[oracle@dg2 ~]$ lsnrctl start2.[oracle@dg2 ~]$ orapwd file=$ORACLE_HOME/dbs/orapwdg password=123456entries=53.[oracle@dg2 ~]$ sqlplus /nolog4.SQL*Plus: Release 11.2.0.3.0 Production on Sun Apr 22 13:36:53 20125.Copyright (c) 1982, 2011, Oracle. All rights reserved.6.7.SQL> conn /as sysdba8.Connected to an idle instance.9.SQL> create spfile from pfile='/home/oracle/initdg.ora';10.File created.11.12.SQL> startup nomount13.ORACLE instance started.14.15.Total System Global Area 417546240 bytes16.Fixed Size 2228944 bytes17.Variable Size 285216048 bytes18.Database Buffers 121634816 bytes19.Redo Buffers 8466432 bytes[oracle@dg2 ~]$ rman target sys/123456@dg1 auxiliary sys/123456@dg2Recovery Manager: Release 11.2.0.3.0 - Production on Sun Apr 22 13:38:33 2012Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.connected to target database: DG (DBID=1694605607)connected to auxiliary database: DG (not mounted)RMAN> duplicate target database for standby nofilenamecheck from active database;Starting Duplicate Db at 2012-04-22-13:39:25using target database control file instead of recovery catalogallocated channel: ORA_AUX_DISK_1channel ORA_AUX_DISK_1: SID=134 device type=DISKcontents of Memory Script:{backup as copy reusetargetfile '/u01/app/oracle/product/11.2.0/db1/dbs/orapwdg' auxiliary format'/u01/app/oracle/product/11.2.0/db1/dbs/orapwdg' ;}executing Memory ScriptStarting backup at 2012-04-22-13:39:26allocated channel: ORA_DISK_1channel ORA_DISK_1: SID=19 device type=DISKFinished backup at 2012-04-22-13:39:28contents of Memory Script:{backup as copy current controlfile for standby auxiliary format'/u01/app/oracle/oradata/dg/control01.ctl';restore clone controlfile to '/u01/app/oracle/fast_recovery_area/dg/control02.ctl' from'/u01/app/oracle/oradata/dg/control01.ctl';}executing Memory ScriptStarting backup at 2012-04-22-13:39:29using channel ORA_DISK_1channel ORA_DISK_1: starting datafile copycopying standby control fileoutput file name=/u01/app/oracle/product/11.2.0/db1/dbs/snapcf_dg.f tag=TAG20120422T133929 RECID=1STAMP=781277970channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03Finished backup at 2012-04-22-13:39:32Starting restore at 2012-04-22-13:39:32using channel ORA_AUX_DISK_1channel ORA_AUX_DISK_1: copied control file copyFinished restore at 2012-04-22-13:39:34contents of Memory Script:{sql clone 'alter database mount standby database';}executing Memory Scriptsql statement: alter database mount standby databasecontents of Memory Script:{set newname for tempfile 1 to"/u01/app/oracle/oradata/dg/temp01.dbf";switch clone tempfile all;set newname for datafile 1 to"/u01/app/oracle/oradata/dg/system01.dbf";set newname for datafile 2 to"/u01/app/oracle/oradata/dg/sysaux01.dbf";set newname for datafile 3 to"/u01/app/oracle/oradata/dg/undotbs01.dbf";set newname for datafile 4 to"/u01/app/oracle/oradata/dg/users01.dbf";backup as copy reusedatafile 1 auxiliary format"/u01/app/oracle/oradata/dg/system01.dbf" datafile2 auxiliary format"/u01/app/oracle/oradata/dg/sysaux01.dbf" datafile3 auxiliary format"/u01/app/oracle/oradata/dg/undotbs01.dbf" datafile4 auxiliary format"/u01/app/oracle/oradata/dg/users01.dbf" ;sql 'alter system archive log current';}executing Memory Scriptexecuting command: SET NEWNAMErenamed tempfile 1 to /u01/app/oracle/oradata/dg/temp01.dbf in control fileexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEStarting backup at 2012-04-22-13:39:42using channel ORA_DISK_1channel ORA_DISK_1: starting datafile copyinput datafile file number=00001 name=/u01/app/oracle/oradata/dg/system01.dbf output file name=/u01/app/oracle/oradata/dg/system01.dbf tag=TAG20120422T133943 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:03:06channel ORA_DISK_1: starting datafile copyinput datafile file number=00002 name=/u01/app/oracle/oradata/dg/sysaux01.dbf output file name=/u01/app/oracle/oradata/dg/sysaux01.dbf tag=TAG20120422T133943 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:01:55channel ORA_DISK_1: starting datafile copyinput datafile file number=00003 name=/u01/app/oracle/oradata/dg/undotbs01.dbf output file name=/u01/app/oracle/oradata/dg/undotbs01.dbf tag=TAG20120422T133943 channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15channel ORA_DISK_1: starting datafile copyinput datafile file number=00004 name=/u01/app/oracle/oradata/dg/users01.dbfoutput file name=/u01/app/oracle/oradata/dg/users01.dbf tag=TAG20120422T133943channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03Finished backup at 2012-04-22-13:45:05sql statement: alter system archive log currentcontents of Memory Script:{switch clone datafile all;}executing Memory Scriptdatafile 1 switched to datafile copyinput datafile copy RECID=1 STAMP=781278308 file name=/u01/app/oracle/oradata/dg/system01.dbf datafile 2 switched to datafile copyinput datafile copy RECID=2 STAMP=781278308 file name=/u01/app/oracle/oradata/dg/sysaux01.dbf datafile 3 switched to datafile copyinput datafile copy RECID=3 STAMP=781278308 file name=/u01/app/oracle/oradata/dg/undotbs01.dbf datafile 4 switched to datafile copyinput datafile copy RECID=4 STAMP=781278308 file name=/u01/app/oracle/oradata/dg/users01.dbf Finished Duplicate Db at 2012-04-22-13:45:29RMAN> exitRecovery Manager complete.五:将备库置于active dataguard模式下1.[oracle@dg2 ~]$ sqlplus /nolog2.SQL*Plus: Release 11.2.0.3.0 Production on Sun Apr 22 13:47:17 20123.Copyright (c) 1982, 2011, Oracle. All rights reserved.4.5.SQL> conn /as sysdba6.Connected.7.SQL> select open_mode,database_role,db_unique_name from v$database; 8.9.OPEN_MODE DATABASE_ROLE DB_UNIQUE_NAME10.-------------------- ---------------- ------------------------------11.MOUNTED PHYSICAL STANDBY dg212.13.SQL> alter database open;14.Database altered.15.16.SQL> alter database recover managed standby database using current logfile disconnect from session;17.Database altered.18.19.SQL> select open_mode,database_role,db_unique_name from v$database;20.21.OPEN_MODE DATABASE_ROLE DB_UNIQUE_NAME22.-------------------- ---------------- ------------------------------23.READ ONLY WITH APPLY PHYSICAL STANDBY dg224.25.SQL> select status from v$standby_log;26.27.STATUS28.----------29.ACTIVE30.UNASSIGNED31.UNASSIGNED32.UNASSIGNED33.34.SQL> select member from v$logfile;35.36.MEMBER37.--------------------------------------------------------------------------------38./u01/app/oracle/fast_recovery_area/DG2/onlinelog/o1_mf_3_7s76qbhq_.log39./u01/app/oracle/fast_recovery_area/DG2/onlinelog/o1_mf_2_7s76q94s_.log40./u01/app/oracle/fast_recovery_area/DG2/onlinelog/o1_mf_1_7s76q5w1_.log41./u01/app/oracle/fast_recovery_area/DG2/onlinelog/o1_mf_4_7s76qdpk_.log42./u01/app/oracle/fast_recovery_area/DG2/onlinelog/o1_mf_5_7s76qhmy_.log43./u01/app/oracle/fast_recovery_area/DG2/onlinelog/o1_mf_6_7s76qlhz_.log44./u01/app/oracle/fast_recovery_area/DG2/onlinelog/o1_mf_7_7s76qp99_.log45.7 rows selected.六:修改dataguard的数据保护模式为最高可用性模式,根据oracle文档的解释,最高可用性数据保护模式需要先满足以下几个条件1.SQL> select db_unique_name,protection_mode,protection_level from v$database;2.3.DB_UNIQUE_NAME PROTECTION_MODE PROTECTION_LEVEL4.------------------------------ -------------------- --------------------5.dg2 MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE6.7.8.9.SQL> select db_unique_name,protection_mode,protection_level from v$database;10.11.DB_UNIQUE_NAME PROTECTION_MODE PROTECTION_LEVEL12.------------------------------ -------------------- --------------------13.dg1 MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE14.15.16.SQL> alter database set standby database to maximize availability;17.Database altered.18.19.SQL> select db_unique_name,protection_mode,protection_level from v$database;20.21.DB_UNIQUE_NAME PROTECTION_MODE PROTECTION_LEVEL22.------------------------------ -------------------- --------------------23.dg1 MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY24.25.26.SQL> select db_unique_name,protection_mode,protection_level from v$database;27.28.DB_UNIQUE_NAME PROTECTION_MODE PROTECTION_LEVEL29.------------------------------ -------------------- --------------------30.dg2 MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY31.32.33.将备库shutdown后,主库的PROTECTION_LEVEL将变为RESYNCHRONIZATION34.SQL> select db_unique_name,protection_mode,protection_level from v$database;35.36.DB_UNIQUE_NAME PROTECTION_MODE PROTECTION_LEVEL37.------------------------------ -------------------- --------------------38.dg2 MAXIMUM AVAILABILITY MAXIMUM AVAILABILITY39.40.SQL> alter database recover managed standby database cancel;41.Database altered.42.43.SQL> shutdown immediate44.Database closed.45.Database dismounted.46.ORACLE instance shut down.47.48.SQL> select db_unique_name,protection_mode,protection_level from v$database;49.50.DB_UNIQUE_NAME PROTECTION_MODE PROTECTION_LEVEL51.------------------------------ -------------------- --------------------52.dg1 MAXIMUM AVAILABILITY RESYNCHRONIZATION。

(完整word版)OracleDataguard操作手册20160912

(完整word版)OracleDataguard操作手册20160912

Oracale dataguard操作手册第一。

dataguard的好处:它是在主节点与备用节点间通过日志同步来保证数据的同步,可以实现数据库的快速切换与灾难性恢复,提供了灾难保护并防止数据丢失.Data Guard只是在软件上对数据库进行设置,并不需要额外购买任何组件。

用户能够在对主数据库影响很小的情况下,实现主备数据库的同第二。

选用什么DG模式?DG有三种模式,最大保护(Maximum protection),最大性能(Maximum performance),最大可用性(Maximum availability),默认的就是最大性能模式。

再实际的应用种使用最大性能模式比较多。

三种保护模式:可以在V$DATABASE中查看到DataGuard的保护模式SELECT PROTECTION_MODE, PROTECTION_LEVEL FROM V$DATABASE;第三.物理standby还是逻辑standby?1,物理stand by直接从primary接受archived log,然后直接做恢复,效率较高,因为是使用最底层的块级别上的复制。

逻辑stand by是把primary接收过来的archived log解析为sql语句,然后做同步,效率较低,因为是执行SQL语句.2,Physical standby的APPLY节点为MOUNT状态,Logical standby节点为OPEN状态,可分担primary上部分的查询和报表服务。

3,Physical standby可以实现与Primary来回switchover;logical standby切为Primary ,不能再切回来。

4,Physical standby可以切换为Logical standby ,但是logical 不能转换为Physical。

综合以上采取:物理standby模式,效率高,数据完整性好。

第四。

如何创建物理standby?见附件一:ORACLE 11G 搭建DATAGUARD步骤大概步骤如下:首先:配置主库1.1设置数据库强制归档1.2添加STANDBY日志文件1.3修改参数文件1.4修改监听配置文件1.5修改TNS配置文件1.6重启监听服务1.7启动数据库,配置DG模式:最大可用性模式或者最大性能模式1.8备份数据库其次:配置备库。

Oracle11gDataGuard配置EM

Oracle11gDataGuard配置EM
主库执行如下操作
1、在数据库主机hosts文件添加主机地址映射,解决EM监听程序状态显示为关闭的问题。

2、配置系统环境变量如下
ORACLE_HOSTNAME=PC-NAME
ORACLE_SID=orcl
ORACLE_UNQNAME=orcl
CMD窗口执行
set ORACLE_HOSTNAME=PC-NAME
set ORACLE_SID=orcl
set ORACLE_UNQNAME=orcl
3、连接数据库,使用如下命令解锁sysman用户。

4、alter user sysman account unlock;
5、使用emca -deconfig dbcontrol db命令删除配置
6、使用emca -repos drop删除repository
7、使用emca -config dbcontrol db -repos create 创建Database Control。

8、根据提示,输入数据库信息,待创建完毕,稍等片刻,等待EM启动完毕,根据提示的路径访问EM。

访问地址参考:https://主库IP:5500/em
注:①如果需要访问备库的EM,需要将备库切换成主库,再进行配置,配置后即可进行访问。

②进行主备切换后,需要对EM重新配置。

常用命令参考
重新配置语句emca -config dbcontrol db
重新配置端口命令
emca -reconfig ports -dbcontrol_http_port 1159
emca -reconfig ports -agent_port 3939。

Oracle11G日常维护手册

日常维护手册目录1.登陆到数据库1.1.服务器端配置=( =( =( = ( = )( 1))( = ( = )( = 192.168.137.10)( = 1521)) ))= 01(((1)(1)(0111.2.01)(20)((()(2)(1)))))1名称,在客户端一定配置和他相同1实例名称,这个要和相同可以不等于客户端根据中的和地址( = ( = )( 1)( = 1521)),到这个地址去访问监听器。

然后监听器根据文件文件中的来判断是否有一个 和 相等。

如果相等,则建立客户端到标识的服务端实例的连接,在客户端上我们可以使用 命令来测试1.2. 客户端1 =( =说明( =( = ( = )( = 192.168.137.10)( = 1521)))( =( 1)()))这里的 1 就是在服务器端的1[1 ~]$ 1: 11.2.0.1.0 - 212015 14:51:49(c) 1997, 2009, . .03502: . : <> [<>][1 ~]$ 1: 11.2.0.1.0 - 212015 14:51:55(c) 1997, 2009, . .:( = ( = ( = ( = )( = 1)( = 1521))) ( = (= 1)()))(0 )1.3. 检查说明1.4.登陆数据库的方式修改登陆 认证模式默认情况下我们 安装好后是使用操作系统用户的验证,所以这里如果我们使用用户不用密码就可以登录,如果我们想使用 密码文件验证的话我们就要进入下列文件夹0111.2.01修改增加下列命令=配置了登录数据库方式[1 ~]$ 1111111使用登陆到指定数据库11111111 ;察看登陆到了哪个数据库实例v$使用用户登陆说明说明用登陆使用用户登录;/ 连接数据库111111 使用进行连接1.5.数据库的启动数据库启动方式启动实例、装载数据库、打开数据库1启动数据库实例, 该步骤只是启动了一个数据库实例. 在此状态下我们可以访问下列结构文件* v$;* v$;* v$;利用以前读取的参数文件查找控制文件,这些控制文件包含数据文件名和重做日志名,然后将数据库装载.一旦这一步完成我们就可以看到下列状态* v$;* v$;* v$;实例验证数据文件及日志文件并启动数据库;打开数据库启动过程中限制访问数据库上述命令是只有用户拥有权限才可以连接启动数据库后起的进程, v$ <>'00';1.6.关闭数据库等待用户完成工作然后关闭等待用户完成工作但是强制关闭连接立即关闭 ,当前所有做工作回滚到一致状态,断开其连接强制关闭,非干净关闭,下次重起后要回滚日志2.用户管理2.1.检察用户2.2.查看用户参数3.检查数据库基本状况3.1.检查数据库创建日期3.2.检查数据库版本信息3.3.检查实例状态其中“”表示当前的实例状态,必须为“”;“”表示当前数据库的状态,必须为“”。

oracle11g_dataguard配置案例

配置Oracle 11g Active Dataguard一.环境介绍主库为生产库,备库只安装数据库软件,不创建数据库。

主库和备库的DB_NAME必须一致,DB_UNIQUE_NAME必须不同。

二.主数据库操作步骤1.检查数据库是否有DATAGUARD功能SQL>select * from v$option where parameter = 'Oracle Data Guard';如果结果是true表示已经安装可以配置,否则需要安装相应组件。

2.检查主库是否开启了归档SQL>select LOG_MODE from v$database;如果没有开启需要切换数据库到归档模式SQL>shutdown immediate;SQL>startup mount;SQL>alter database archivelog;SQL>alter database open;3.检查主库是否开始强制日志SQL>select FORCE_LOGGING from v$database;如果没有开启需要执行命令SQL>alter database force logging;4.检查主库db_name,db_unique_name参数注意在DG中主库和备库的db_name是需要一致的,db_unique_name是不能一致的,需要区分开。

SQL>show parameter db_name;这里主库db_name是dg,备库db_name也是dg,保持一致SQL>show parameter db_unique_name;这里主库db_unique_name是dg,备库db_unique_name是dg1,需要区分开。

5.修改主库tnsnames.ora,listener.ora文件(1).找到主库的tns文件和监听文件并修改tns文件和监听文件默认路径都在$ORACLE_HOME/network/admin/[oracle@h2 ~]$ cd $ORACLE_HOME/network/admin/tnsnames.ora添加备库网络名dg1 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.33)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = dg1)))dg =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = dg)))listener.ora增加以下静态监听配置SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = /u01/oracle)(PROGRAM = extproc))(SID_DESC =(GLOBAL DBNAME = dg)(ORACLE_HOME = /u01/oracle)(SID_NAME = dg)))(2).复制主库tnsnames.ora,listener.ora到备库相应目录下[oracle@h2 admin]$ scptnsnames.oraoracle@192.168.1.33:/u01/oracle/network/admin[oracle@h2 admin]$ scplistener.oraoracle@192.168.1.33:/u01/oracle/network/admin重启监听6. 修改主库参数文件(1).备份参数文件SQL>create pfile='/home/oracle/pfile0923.ora' from spfile;如果出现错误可以使用备份的参数重新配置数据库(2).修改数据库DB_UNIQUE_NAME(主库可不修改)SQL>alter system set db_unique_name='dg' scope=spfile;这里的DB_UNIQUE_NAME要与tnsnames.ora中的名一致。

oracle11gr2dataguard日常维护及故障处理

Oracle 11G R2 DataGuard日常维护及故障处理1.关于Forced Logging模式有一些DDL语句可以通过指定NOLOGGING子句的方式避免写redo log(目的是提高速度,某些时候确实有效),指定数据库为FORCE LOGGING模式后,数据库将会记录除临时表空间或临时回滚段外所有的操作而忽略类似NOLOGGING之类的指定参数。

如果在执行force loggi ng时有nologging之类的语句在执行,则force logging会等待直到这类语句全部执行。

F ORCE LOGGING是做为固定参数保存在控制文件中,因此其不受重启之类操作的影响(只执行一次即可)打开force loggingSQL > alter database force logging;关闭force loggingSQL > alter database no force logging;查看force logging的状态:SQL > select FORCE_LOGGING from v$database;2.关于主备库的密码密码文件位置$Oracle_HOME/dbs/orapwSID,主备库的密码必须要一致,否则可能出现日志无法传输故障,最好是使用scp传过去较为方便3.关于listener.ora和tnsnames.oralistener.ora为数据库的监听配置文件,tnsnames.ora为网络服务名配置文件修改listener.ora是需要重启监听程序,而tnsnames.ora是不需要重启的,我们可以使用默认的listener.oraLISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521)) ))ADR_BASE_LISTENER = /opt/oracle以上是动态注册,如果是静态注册的话,则是SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = /opt/oracle/product/11.2.0/db_1)(PROGRAM = extproc))(SID_DESC =(GLOBAL_DBNAME =db1)(ORACLE_HOME = /opt/oracle/product/11.2.0/db_1)(SID_NAME = db1)))tnsnames.ora则只需要添加服务名db1 =(DEST_NAME(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = db1)(PORT = 1521)) )(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = db1)))db2=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = db2)(PORT = 1521)) )(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = db2)))以上按照自己的实际情况进行修改以上配置好了,就可以相互的tnsping db1或tnsping db2进行测试4.参数文件说明参数文件说明:增加以下参数,如果在初始化参数已经有配置,则看需要做相应的修改。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.判断DataGuard是否安装select * from v$option where parameter = 'Oracle Data Guard';2.网络配置192.168.1.10(orcl)------------------------------------192.168.1.20(dg)3.监听配置主库[oracle@node1 ~]$cd/u01/app/product/11.2.0/db_1/network/admin [oracle@node1 admin]$cat listener.oraLISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521)) ))[oracle@node1 admin]$cat tnsnames.oraORCL=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521)) )(CONNECT_DATA =(SERVICE_NAME = orcl)))DG =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = node2)(PORT = 1521)) )(CONNECT_DATA =(SERVICE_NAME = dg)))备库[oracle@node1 admin]$cat listener.oraLISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = node2)(PORT = 1521)) ))[oracle@node1 admin]$cat tnsnames.oraORCL=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = node1)(PORT = 1521)) )(CONNECT_DATA =(SERVICE_NAME = orcl)))DG =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = node2)(PORT = 1521)) )(CONNECT_DATA =(SERVICE_NAME = dg)))4.主库前期准备设置强制写日志SQL> select FORCE_LOGGING fromv$database;NOSQL>alter databaseforce logging;SQL>select FORCE_LOGGING from v$database;YES5.创建口令文件orapwdfile=$ORACLE_HOME/dbs/orapwdb1 password=oracle entries=56.修改主库初始化参数创建主库pfilesql> create pfile from spfile;修改pfileDB_UNIQUE_NAME=orclLOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,dg)'LOG_ARCHIVE_DEST_1= 'LOCATION=/u01/app/archiveVALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl'LOG_ARCHIVE_DEST_2= 'SERVICE=dg LGWRASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=dg'LOG_ARCHIVE_DEST_STATE_1=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLELOG_ARCHIVE_FORMAT=%t_%s_%r.arcFAL_SERVER=dgFAL_CLIENT=orclSTANDBY_FILE_MANAGEMENT=AUTOPfile 拷贝到备库上scp–rp/u01/app/product/11.2.0/db_1/dbs/initorcl.oranode2:/u01/app/product/11.2 .0/db_1/dbs/7.修改数据库运行在归档模式下SHUTDOWN IMMEDIATE;STARTUP MOUNT;ALTER DATABASE ARCHIVELOG;ALTER DATABASE OPEN;8.创建备份库需要的控制文件创建控制文件Shutdown immediateSTARTUP MOUNT;ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/orcl.ctl';ALTER DATABASE OPEN;创建主库pfileShutdown immediatestartuppfile='//u01/app/oracle/product/11.2.0/dbhome_1/dbs/20011.ora'sql> create spfile from pfile='//u01/app/oracle/product/11.2.0/dbhome_1/dbs/20011.ora';(先把原来的干掉)shutdown immediate;startup9.备份生产数据库scp -rp /u01/oradata/ORCLnode2:/u01/oradata/scp–rp /u01/app/admin/orcl node2:/u01/app/admin(记得在备库创建admin)10.修改备库pfileDB_UNIQUE_NAME=orclLOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,dg)'LOG_ARCHIVE_FORMAT=log%t_%s_%r.arcLOG_ARCHIVE_DEST_1='LOCATION=/u01/app/archiveVALID_FOR=(ALL_LOGFILES,ALL_ROLES)DB_UNIQUE_NAME=dg'LOG_ARCHIVE_DEST_2='SERVICE=orclASYNCVALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=orcl'LOG_ARCHIVE_DEST_STATE_1=ENABLELOG_ARCHIVE_DEST_STATE_2=ENABLEFAL_SERVER=orclFAL_CLIENT=dgSTANDBY_FILE_MANAGEMENT=AUTO11.将控制文件scp-rp/tmp/dg.ctl node2:/u01/oradata/ORCL/controlfile/scp-rp/tmp/dg.ctl node2:/u01/flash_recovery_area/orcl/controlfile/12.在备库上创建口令文件orapwdfile=$ORACLE_HOME/dbs/orapwdb1 password=oracle entries=513.在备库上创建spfileShutdown immediatestartuppfile='//u01/app/oracle/product/11.2.0/dbhome_1/dbs/20011.ora'CREATE SPFILE FROM PFILE;14.启动物理备用数据库STARTUP MOUNT;15.配置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 STANDBY LOGFILEgroup 4('/oracle/dbs/slog1.rdo') SIZE 50M; SQL> ALTER DATABASE ADD STANDBY LOGFILE group 5 ('/oracle/dbs/slog2.rdo') SIZE 50M; SQL>ALTER DATABASE ADD STANDBY LOGFILE group6 ('/oracle/dbs/slog3.rdo') SIZE 50M; SQL> ALTER DATABASE ADD STANDBY LOGFILE group7('/oracle/dbs/slog4.rdo') SIZE 50M;16. Start Redo Apply---备机启动实时同步重启备机机器后,oracle 在备机执行实时同步:startupALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;在备机执行取消实时同步:alter database recover managed standby database cancel;查看哪些归档日志被APPLY了,在主、备库都可以查,判断主、备库是否数据同步的一致性:SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;SELECTmax(SEQUENCE#) FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;查看是否使用Real-Time apply:Select recovery_mode from v$archive_dest_status;主库:SQL> Select recovery_mode from v$archive_dest_status;RECOVERY_MODE-----------------------IDLEMANAGED REAL TIME APPLYIDLE备库:SQL> Select recovery_mode from v$archive_dest_status;RECOVERY_MODE-----------------------MANAGED REAL TIME APPLYIDLE在主库强制日志切换到当前的online redo log file.ALTER SYSTEMARCHIVE LOG CURRENT;在备库查看新的被归档的redo dataSELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;在备库查看接收到的被应用的redoSQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;查看数据库的角色selectdatabase_role,protection_mode,protection_level from v$database;主备库切换,先把所有应用都关掉,所有连接数据库的都关掉。

相关文档
最新文档