一、安装环境

1、服务器环境:Windows server 2008 R2 x64 Standard 两台

CPU:8核

内存:8G

硬盘空间:1060G

2、软件:oracle 11g R2

二、安装前配置

1、IP地址配置要求

主库IP:192.168.2.50

备库IP:192.168.2.51

注:两台主机要保证可以ping通

2、oracle安装要求

主库:安装oracle软件,并创建数据库

备库:仅安装oracle软件

3、安装位置

主库:

     oracle 软件E:\app\Administrator\product\11.2.0\dbhome_1
     数据库 orclE:\app\Administrator\oradata\orcl
备库:

oracle 软件:E:\app\Administrator\product\11.2.0\dbhome_1
注:要明了数据库的安装位置以及数据库实例的安装位置,不管是走安装默认位置还是自定义位置

4、数据库实例预设:

主库:数据库实例 orcl(已创建)

备库:数据库实例 djl (未创建)

注意:如果已经安装数据库实例,可以新建一个实例,或者把原来的实例给删除

三、配置dataguard主从库

1、检查数据库,开启归档模式,如下图所示:

连接数据库

C:\Users\Administrator>sqlplus / as sysdba

查看是否是归档模式

SQL> archive log list

关闭数据库

SQL> shutdown immediate

启动到mount状态

SQL> startup mount

开启归档模式

SQL> alter database archivelog;

开启强制日志模式

SQL> alter database force logging;

2、为备库添加日志组(在主库mount状态下执行)

查看当前主库日志组:

SQL> select * from v$logfile order by group#;

在主库为备库添加日志组,结果如下:

SQL> alter database add standby logfile group 4 'E:\app\Administrator\oradata\orcl\redo04.log' size 50m;

SQL> alter database add standby logfile group 5 'E:\app\Administrator\oradata\orcl\redo05.log' size 50m;

SQL> alter database add standby logfile group 6 'E:\app\Administrator\oradata\orcl\redo06.log' size 50m;

SQL> alter database add standby logfile group 7 'E:\app\Administrator\oradata\orcl\redo07.log' size 50m;

SQL> select * from v$logfile order by group#;

3、主备库配置网络监听

修改文件listener.ora, tnsnames.ora它们的位置在E:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN目录下(根据实际安装位置)

主库:

listener.ora文件

注意:空格字符也要对齐,否则报语法错误

# listener.ora Network Configuration File: E:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = CLRExtProc)(ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_1)(PROGRAM = extproc)(ENVS = "EXTPROC_DLLS=ONLY:E:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll"))(SID_DESC =(GLOBAL_DBNAME = ORCL)(ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_1)(SID_NAME = ORCL)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.50)(PORT = 1521))))ADR_BASE_LISTENER = E:\app\Administrator

tnsnames.ora文件

# tnsnames.ora Network Configuration File: E:\app\Administrator\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.ORACLR_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)))(CONNECT_DATA =(SID = CLRExtProc)(PRESENTATION = RO)))ORCL =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.50)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))djl =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.51)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = djl)))

备库:

listener.ora文件

# listener.ora Network Configuration File: E:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = CLRExtProc)(ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_1)(PROGRAM = extproc)(ENVS = "EXTPROC_DLLS=ONLY:E:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll"))(SID_DESC =(GLOBAL_DBNAME = djl)(ORACLE_HOME = E:\app\Administrator\product\11.2.0\dbhome_1)(SID_NAME = djl)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.51)(PORT = 1521))))ADR_BASE_LISTENER = E:\app\Administrator

tnsnames.ora文件

# tnsnames.ora Network Configuration File: E:\app\Administrator\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.ORACLR_CONNECTION_DATA =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)))(CONNECT_DATA =(SID = CLRExtProc)(PRESENTATION = RO)))djl =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.51)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = djl)))ORCL =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.50)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl)))

4、重启监听服务

主库:

C:\Users\Administrator>lsnrctl stop

C:\Users\Administrator>lsnrctl start

备库:

5、使用tnsping检查监听及服务命名

主库

C:\Users\Administrator>tnsping orcl

C:\Users\Administrator>tnsping djl

备库

C:\Users\Administrator>tnsping orcl

C:\Users\Administrator>tnsping djl

6、主备库创建相关目录,详述如下

主库创建目录:

  • F:\oracle_db_arch\arch    --归档日志位置
  • F:\oracle_db_arch\arch_std  --主库转为备库时,归档日志位置

从库创建目录:

  • F:\oracle_db_arch\arch                                                            ----归档日志位置
  • F:\oracle_db_arch\arch_std                                                     --备库转为主库时,归档日志位置
  • E:\app\Administrator\oradata\djl                                               --数据文件位置
  • E:\app\Administrator\admin\djl\adump                                     --审计文件位置
  • E:\app\Administrator\flash_recovery_area\djl\ONLINELOG    --联机重做位置

7、为主备库准备参数文件

主库

select * from v$logfile order by group#;

SQL> create pfile from spfile;

注:执行create语句之后,在E:\app\Administrator\product\11.2.0\dbhome_1\database目录下会出现文件INITorcl.ORA,用笔记本打开进行编辑

主库INITorcl.ORA
orcl.__db_cache_size=1124073472
orcl.__java_pool_size=16777216
orcl.__large_pool_size=16777216
orcl.__oracle_base='E:\app\Administrator'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=1040187392
orcl.__sga_target=1543503872
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=352321536
orcl.__streams_pool_size=0
*.audit_file_dest='E:\app\Administrator\admin\orcl\adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='E:\app\Administrator\oradata\orcl\control01.ctl','E:\app\Administrator\flash_recovery_area\orcl\control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='E:\app\Administrator\flash_recovery_area'
*.db_recovery_file_dest_size=4102029312
*.diagnostic_dest='E:\app\Administrator'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.memory_target=2577399808
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'*.db_unique_name=orcl
*.log_archive_config='dg_config=(orcl,djl)'
*.log_archive_dest_1='LOCATION=F:\oracle_db_arch\arch valid_for=(online_logfiles,primary_role) db_unique_name=orcl'
*.log_archive_dest_2='SERVICE=djl lgwr async affirm valid_for=(online_logfiles,primary_role) db_unique_name=djl'
*.log_archive_dest_3='LOCATION=F:\oracle_db_arch\arch_std valid_for=(standby_logfiles,standby_role) db_unique_name=orcl'
*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'
*.log_archive_dest_state_3='enable'
*.fal_server=djl
*.fal_client=orcl
*.standby_file_management=auto
*.db_file_name_convert=('E:\app\Administrator\oradata\djl','E:\app\Administrator\oradata\orcl')
*.log_file_name_convert=('E:\app\Administrator\oradata\djl','E:\app\Administrator\oradata\orcl')

将主库initorcl.ora复制到备库对应目录下并修改内容如下

备库INITdjl.ORA
orcl.__db_cache_size=1124073472
orcl.__java_pool_size=16777216
orcl.__large_pool_size=16777216
orcl.__oracle_base='E:\app\Administrator'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=1040187392
orcl.__sga_target=1543503872
orcl.__shared_io_pool_size=0
orcl.__shared_pool_size=352321536
orcl.__streams_pool_size=0
*.audit_file_dest='E:\app\Administrator\admin\djl\adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='E:\app\Administrator\oradata\djl\control01.ctl','E:\app\Administrator\flash_recovery_area\djl\control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='E:\app\Administrator\flash_recovery_area'
*.db_recovery_file_dest_size=4102029312
*.diagnostic_dest='E:\app\Administrator'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)','(address=(protocol=tcp)(host=192.168.2.51))(dispatchers=4)','(address=(protocol=ipc)(host=192.168.2.51))(dispatchers=2)'
*.memory_target=2577399808
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'*.db_unique_name=djl
*.log_archive_config='dg_config=(djl,orcl)'
*.log_archive_dest_1='LOCATION=F:\oracle_db_arch\arch valid_for=(online_logfiles,primary_role) db_unique_name=djl'
*.log_archive_dest_2='SERVICE=orcl lgwr async affirm valid_for=(online_logfiles,primary_role) db_unique_name=orcl'
*.log_archive_dest_3='LOCATION=F:\oracle_db_arch\arch_std valid_for=(standby_logfiles,standby_role) db_unique_name=djl'
*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'
*.log_archive_dest_state_3='enable'
*.fal_server=orcl
*.fal_client=djl
*.standby_file_management=auto
*.db_file_name_convert=('E:\app\Administrator\oradata\orcl','E:\app\Administrator\oradata\djl')
*.log_file_name_convert=('E:\app\Administrator\oradata\orcl','E:\app\Administrator\oradata\djl')

8、密码文件配置

将主库的参数文件PWDorcl.ora复制到备库对应目录下,并重命名为PWDdjl.ora

路径位置:E:\app\Administrator\product\11.2.0\dbhome_1\database

9、控制文件配置

将主库的参数文件control01.ctl和control02.ctl复制到备库参数文件中指定位置下

10、创建备库实例djl

C:\Users\Administrator>oradim -new -sid djl

11、主备库的启动

主库:登录sqlplus在showdown状态下创建参数文件

查看oracle 启动状态

SQL> select status from v$instance;

关闭数据库

SQL> shutdown immediate

创建参数文件

SQL> create spfile from pfile;

启动数据库

SQL> startup

SQL> select status from v$instance;STATUS
------------
MOUNTEDSQL> shutdown immediate
ORA-01109: 数据库未打开已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
SQL> create spfile from pfile;文件已创建。SQL> startup
ORACLE 例程已经启动。Total System Global Area 2572144640 bytes
Fixed Size                  2178496 bytes
Variable Size            1426063936 bytes
Database Buffers         1124073472 bytes
Redo Buffers               19828736 bytes
数据库装载完毕。
数据库已经打开。
SQL>

备库:

登录sqlplus出现如下错误

C:\Users\Administrator>sqlplus / as sysdbaSQL*Plus: Release 11.2.0.1.0 Production on 星期日 8月 11 17:43:35 2019Copyright (c) 1982, 2010, Oracle.  All rights reserved.ERROR:
ORA-12560: TNS: 协议适配器错误请输入用户名:
ERROR:
ORA-12560: TNS: 协议适配器错误请输入用户名:
ERROR:
ORA-12560: TNS: 协议适配器错误SP2-0157: 在 3 次尝试之后无法连接到 ORACLE, 退出 SQL*PlusC:\Users\Administrator>

解决办法参考:https://www.jianshu.com/p/1c3dbe96af03

C:\Users\Administrator>set oracle_sid=djlC:\Users\Administrator>sqlplus / as sysdbaSQL*Plus: Release 11.2.0.1.0 Production on 星期日 8月 11 17:57:13 2019Copyright (c) 1982, 2010, Oracle.  All rights reserved.已连接到空闲例程。SQL>

创建参数文件

SQL> create spfile from pfile;

将数据库启动到nomount(必须是nomount状态)

SQL> startup nomount

SQL> create spfile from pfile;文件已创建。SQL> startup nomount
ORACLE 例程已经启动。Total System Global Area 3423965184 bytes
Fixed Size                  2180544 bytes
Variable Size            1862273600 bytes
Database Buffers         1543503872 bytes
Redo Buffers               16007168 bytes
SQL>

12、使用rman连接主备库

在主库执行:

C:\Users\Administrator>rman target sys/111111@orcl auxiliary sys/111111@djl

注意:连接前使用rman登录主备库做测试

13、为备库备份参数文件

RMAN> backup current controlfile for standby database;

报错情况:

RMAN> backup current controlfile for standby database;启动 backup 于 11-8月 -19
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=67 设备类型=DISK
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00007 名称=D:\ORACLE_DATA\BRDB_1031.DBF
输入数据文件: 文件号=00006 名称=D:\ORACLE_DATA\BRDB_JSNK20190716.DBF
输入数据文件: 文件号=00008 名称=D:\ORACLE_DATA\BRDB_ZJC_0508.DBF
输入数据文件: 文件号=00001 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
输入数据文件: 文件号=00002 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
输入数据文件: 文件号=00003 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
输入数据文件: 文件号=00005 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF
输入数据文件: 文件号=00004 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 11-8月 -19
RMAN-03009: backup 命令 (ORA_DISK_1 通道上, 在 08/11/2019 18:12:52 上) 失败
ORA-19809: 超出了恢复文件数的限制
ORA-19804: 无法回收 52428800 字节磁盘空间 (从 4102029312 限制中)
继续执行其他作业步骤, 将不重新运行失败的作业
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括当前控制文件
备份集内包括当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 11-8月 -19
通道 ORA_DISK_1: 已完成段 1 于 11-8月 -19
段句柄=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2019_08_11\O1_MF_
NCSNF_TAG20190811T181047_GNZTK5KL_.BKP 标记=TAG20190811T181047 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括备用控制文件
通道 ORA_DISK_1: 正在启动段 1 于 11-8月 -19
通道 ORA_DISK_1: 已完成段 1 于 11-8月 -19
段句柄=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2019_08_11\O1_MF_
NCNNF_TAG20190811T181047_GNZTK7NZ_.BKP 标记=TAG20190811T181047 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================RMAN-03009: backup 命令 (ORA_DISK_1 通道上, 在 08/11/2019 18:12:52 上) 失败
ORA-19809: 超出了恢复文件数的限制
ORA-19804: 无法回收 52428800 字节磁盘空间 (从 4102029312 限制中)

需要修改归档日志的路径,默认路径存储大小为2G

或者修改默认路径存储大小为500G

SQL> alter system set db_recovery_file_dest_size=500G;系统已更改。

参考:

https://blog.csdn.net/mengxiang209/article/details/6936096

https://www.cnblogs.com/andy6/p/5997410.html

https://blog.csdn.net/weixin_34384557/article/details/89774544

https://blog.csdn.net/weixin_34384557/article/details/89774544

RMAN> backup current controlfile for standby database;启动 backup 于 11-8月 -19
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=131 设备类型=DISK
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件: 文件号=00007 名称=D:\ORACLE_DATA\BRDB_1031.DBF
输入数据文件: 文件号=00006 名称=D:\ORACLE_DATA\BRDB_JSNK20190716.DBF
输入数据文件: 文件号=00008 名称=D:\ORACLE_DATA\BRDB_ZJC_0508.DBF
输入数据文件: 文件号=00001 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
输入数据文件: 文件号=00002 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
输入数据文件: 文件号=00003 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
输入数据文件: 文件号=00005 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF
输入数据文件: 文件号=00004 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 11-8月 -19
通道 ORA_DISK_1: 已完成段 1 于 11-8月 -19
段句柄=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2019_08_11\O1_MF_
NNNDF_TAG20190811T191415_GNZY482X_.BKP 标记=TAG20190811T191415 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:05:36
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括当前控制文件
备份集内包括当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 11-8月 -19
通道 ORA_DISK_1: 已完成段 1 于 11-8月 -19
段句柄=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2019_08_11\O1_MF_
NCSNF_TAG20190811T191415_GNZYGR2X_.BKP 标记=TAG20190811T191415 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括备用控制文件
通道 ORA_DISK_1: 正在启动段 1 于 11-8月 -19
通道 ORA_DISK_1: 已完成段 1 于 11-8月 -19
段句柄=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2019_08_11\O1_MF_
NCNNF_TAG20190811T191415_GNZYGT5V_.BKP 标记=TAG20190811T191415 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:01
完成 backup 于 11-8月 -19

14、将主库数据库复制到备库

RMAN> duplicate target database for standby from active database;

RMAN> duplicate target database for standby from active database;启动 Duplicate Db 于 27-8月 -19
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: SID=10 设备类型=DISK内存脚本的内容:
{backup as copy reusetargetfile  'E:\app\Administrator\product\11.2.0\dbhome_1\DATABASE\PWDorcl.OR
A' auxiliary format'E:\app\Administrator\product\11.2.0\dbhome_1\DATABASE\PWDdjl.ORA'   ;
}
正在执行内存脚本启动 backup 于 27-8月 -19
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=147 设备类型=DISK
完成 backup 于 27-8月 -19内存脚本的内容:
{backup as copy current controlfile for standby auxiliary format  'E:\APP\ADMI
NISTRATOR\ORADATA\DJL\CONTROL01.CTL';restore clone controlfile to  'E:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\DJL\C
ONTROL02.CTL' from'E:\APP\ADMINISTRATOR\ORADATA\DJL\CONTROL01.CTL';
}
正在执行内存脚本启动 backup 于 27-8月 -19
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动数据文件副本
复制备用控制文件
输出文件名=E:\APP\ADMINISTRATOR\PRODUCT\11.2.0\DBHOME_1\DATABASE\SNCFORCL.ORA 标
记=TAG20190827T092232 RECID=4 STAMP=1017393753
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:01
完成 backup 于 27-8月 -19启动 restore 于 27-8月 -19
使用通道 ORA_AUX_DISK_1通道 ORA_AUX_DISK_1: 已复制控制文件副本
完成 restore 于 27-8月 -19内存脚本的内容:
{sql clone 'alter database mount standby database';
}
正在执行内存脚本sql 语句: alter database mount standby database内存脚本的内容:
{set newname for tempfile  1 to"E:\APP\ADMINISTRATOR\ORADATA\DJL\TEMP01.DBF";switch clone tempfile all;set newname for datafile  1 to"E:\APP\ADMINISTRATOR\ORADATA\DJL\SYSTEM01.DBF";set newname for datafile  2 to"E:\APP\ADMINISTRATOR\ORADATA\DJL\SYSAUX01.DBF";set newname for datafile  3 to"E:\APP\ADMINISTRATOR\ORADATA\DJL\UNDOTBS01.DBF";set newname for datafile  4 to"E:\APP\ADMINISTRATOR\ORADATA\DJL\USERS01.DBF";backup as copy reusedatafile  1 auxiliary format"E:\APP\ADMINISTRATOR\ORADATA\DJL\SYSTEM01.DBF"   datafile2 auxiliary format"E:\APP\ADMINISTRATOR\ORADATA\DJL\SYSAUX01.DBF"   datafile3 auxiliary format"E:\APP\ADMINISTRATOR\ORADATA\DJL\UNDOTBS01.DBF"   datafile4 auxiliary format"E:\APP\ADMINISTRATOR\ORADATA\DJL\USERS01.DBF"   ;sql 'alter system archive log current';
}
正在执行内存脚本正在执行命令: SET NEWNAME临时文件 1 在控制文件中已重命名为 E:\APP\ADMINISTRATOR\ORADATA\DJL\TEMP01.DBF正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME正在执行命令: SET NEWNAME启动 backup 于 27-8月 -19
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号=00001 名称=E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
输出文件名=E:\APP\ADMINISTRATOR\ORADATA\DJL\SYSTEM01.DBF 标记=TAG20190827T092241通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:25
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号=00002 名称=E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
输出文件名=E:\APP\ADMINISTRATOR\ORADATA\DJL\SYSAUX01.DBF 标记=TAG20190827T092241通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:15
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号=00003 名称=E:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
输出文件名=E:\APP\ADMINISTRATOR\ORADATA\DJL\UNDOTBS01.DBF 标记=TAG20190827T09224
1
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:07
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号=00004 名称=E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
输出文件名=E:\APP\ADMINISTRATOR\ORADATA\DJL\USERS01.DBF 标记=TAG20190827T092241
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: 00:00:01
完成 backup 于 27-8月 -19sql 语句: alter system archive log current内存脚本的内容:
{switch clone datafile all;
}
正在执行内存脚本数据文件 1 已转换成数据文件副本
输入数据文件副本 RECID=4 STAMP=1017393812 文件名=E:\APP\ADMINISTRATOR\ORADATA\DJ
L\SYSTEM01.DBF
数据文件 2 已转换成数据文件副本
输入数据文件副本 RECID=5 STAMP=1017393812 文件名=E:\APP\ADMINISTRATOR\ORADATA\DJ
L\SYSAUX01.DBF
数据文件 3 已转换成数据文件副本
输入数据文件副本 RECID=6 STAMP=1017393812 文件名=E:\APP\ADMINISTRATOR\ORADATA\DJ
L\UNDOTBS01.DBF
数据文件 4 已转换成数据文件副本
输入数据文件副本 RECID=7 STAMP=1017393812 文件名=E:\APP\ADMINISTRATOR\ORADATA\DJ
L\USERS01.DBF
完成 Duplicate Db 于 27-8月 -19RMAN>exit

15、将备库设置为接受日志模式

说明:此时,主库为open状态,备库为mounted

主库:

SQL> select status from v$instance;STATUS
------------
OPENSQL>

 备库:

在备库执行以下语句

将备库修改为接收应用主库归档的模式

SQL> alter database recover managed standby database disconnect from session;

SQL> select status from v$instance;STATUS
------------------------
MOUNTEDSQL> alter database recover managed standby database disconnect from session;数据库已更改。SQL>

16、日志验证dataguard:

主库:

E:\app\Administrator\diag\rdbms\orcl\orcl\trace

备库:

在主库切换日志,再次查看日志如下

主库:

SQL> alter system switch logfile;

备库:

日志验证dataguard完毕,且验证成功。

17、备库后期配置

设置备库

SQL> alter database mount standby database;

SQL> select sequence#,applied from V$archived_log where applied='YES';
SQL> alter database recover managed standby database cancel;

设置备库只读
SQL> alter database open read only;
SQL> alter database recover managed standby database using current logfile disconnect from session;
说明:重启数据库后必须执行,这样数据才能同步。

查看日志应用情况
SQL> select sequence#,applied from V$archived_log where applied='IN-MEMORY';

如果看到IN-MEMORY说明当前正在进行实时同步,如果最后一个是YES,也是正常的,说明当前操作为0

SQL> select sequence#,applied from V$archived_log;

查询当前的保护模式
SQL> select open_mode,database_role,db_unique_name,PROTECTION_MODE from v$database;

到此,oracle 11g dataguard 配置完毕。

四、启动从库,同步因停机未同步的归档日志

SQL> shutdown immediate;
SQL> startup nomount;
SQL> alter database mount standby database;
SQL> alter database recover managed standby database disconnect from session;
SQL> select sequence#,applied from V$archived_log where applied='YES';

以只读方式启动从库

SQL> alter database open read only;
SQL> alter database recover managed standby database using current logfile disconnect from session;

更改数据库恢复托管备用数据库取消

SQL> alter database recover managed standby database cancel;

参考博客:

Windows server 2008 R2 安装 Oracle 11g R2 dataguard

https://blog.csdn.net/u013986802/article/details/70207566

物理standby database的日常维护

https://blog.csdn.net/robbie1314520/article/details/8267283

转载于:https://www.cnblogs.com/djlsunshine/p/11329028.html

Windows-server-2008-R2安装Oracle-11g-R2-dataguard相关推荐

  1. ibm x3850装oracle,IBM X3850 Windows Server 2008 X64安装Oracle 10g x64问题锦集

    最近在IBM X3850机柜服务器上,Windows Server 2008 X64操作系统的环境下安装Oracle10g X64的数据库.搞了差不多有8个工作小时,感叹比在RedHat上安装都坑爹( ...

  2. 32位系统安装oracle11g,windows系统下 32位 安装Oracle 11g R2(11.2.0.1.0)图文安装教程

    安装Oracle 11g R2 For Windows 1.下载Oracle 11g R2 for Windows版本,下载地址如下 官方网站: http://www.doczj.com/doc/73 ...

  3. oracle11系统安装,Windows系统下安装Oracle 11g R2教程,oracle11g

    Windows系统下安装Oracle 11g R2教程,oracle11g Windows系统下安装Oracle 11g R2教程 Oracle 11g 共有两个大的版本,一个R1(Release 1 ...

  4. rad linux下安装mysql_Rad Hat Enterprise Linux 5.5上安装Oracle 11g R2

    学习的进度有点慢,终于在虚拟机上Red Hat Enterprise Linux 5.5系统下安装Oracle 11g R2版本数据库成功了,在这里把安装的经验和大家分享一下!当然,水平有限,请各路大 ...

  5. CentOS 安装Oracle 11g R2

    最近配置项目的测试系统需要安装oracle,网上找了几个比较好的教程分享一下 参考地址:http://www.osyunwei.com/archives/5445.html Oracle数据库版本:l ...

  6. rhel6安装oracle,在RHEL6中安装Oracle 11g R2数据库

    在RHEL6中安装Oracle 11g R2数据库 2011-10-10  TsengYia#126.com http://tsengyia.blog.chinaunix.net/ ######### ...

  7. centos5.5上安装oracle 11g R2[转发-参考用]

    centos5.5上安装oracle 11g R2[转发-参考用] + ------------------ CentOS 5.5上安装配置oracle 11g R2  --------------- ...

  8. Oracle Linux 6 3下安装Oracle 11g R2 11 2 0 3

    分享一下我老师大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow 本文主要描述了在O ...

  9. Deploying Exchange 2010(三):在Windows Server 2008上安装Mailbox

    要在Windows Server 2008上安装Mailbox,必须执行下面的操作: 1.安装Active Directory remote management tools,也可以通过PowerSh ...

  10. Windows Server 2008 升级安装

    1.放入Windows Server 2008的安装光盘,打开光盘,双击"setup",弹出的窗口,选择"现在安装": 2.选择"不获取最新安装更新& ...

最新文章

  1. jQuery带动画的弹出对话框
  2. VTK:PolyData之FitSplineToCutterOutput
  3. 架构师成长之路:如何提升技术掌控力?
  4. 【最全资料下载】Kubernetes and Cloud Native Meetup (北京站)
  5. 【英语学习】【Level 07】U02 Live Work L3 The best of Shanghai
  6. 如何使用txt文件实现JMeter参数化
  7. 函数节流你应该知道的那点事
  8. Flutter进阶—实现动画效果(六)
  9. 【NOIP初赛】【Luogu1787】普及组2013(洛谷初赛题提交水AC方法了解一下)
  10. mysql之主从复制
  11. POJ 1182 食物链
  12. 手把手教你做短视频去水印微信小程序(4-解析结果页)
  13. oracle数据库导出rtf,Delphi中对Oracle存取RTF文档
  14. java ligerui_[Java教程]ligerUI
  15. 灰度、rgb之间的概念
  16. LabVIEW串口仪器控制
  17. [转载]关于火星坐标系统
  18. WEB编程开发常用的代码 选择自 AppleBBS 的 Blog
  19. 打开idea后不显示界面
  20. [单片机][FUSB302][PD1.0][PD2.0] PD协议 Demo 例子 代码

热门文章

  1. leetcode add Two Numbers
  2. Sharepoint学习笔记—ECM系列--根据位置设置的默认元数据值(Location-Based Metadata Defaults)...
  3. 在MacOSX上重新安装Python (10.8) python 自然语言处理的前戏
  4. 同步数据库仅在Worker内,目前只有Chrome6支持
  5. 基于java的数据结构学习——数组实现的栈以及简单应用
  6. 数据结构之顺序队列和链式队列常用的一些操作
  7. 不可重入锁和可重入锁
  8. Google 正式开源 Jib ,帮助 Java 应用快速容器化
  9. Java Map 怎样实现Key 的唯一性?
  10. 《3ds Max疯狂设计学院》——1.6节3ds Max 2016新增的主要功能