一、安装环境
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、安装位置
主库:
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,用笔记本打开进行编辑
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复制到备库对应目录下并修改内容如下
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