一、安装环境

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.\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.\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 = ))
)
) ADR_BASE_LISTENER = E:\app\Administrator

tnsnames.ora文件

# tnsnames.ora Network Configuration File: E:\app\Administrator\product\11.2.\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 = ))
(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.\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.\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.\dbhome_1)
(SID_NAME = djl)
)
) LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.51)(PORT = ))
)
) ADR_BASE_LISTENER = E:\app\Administrator

tnsnames.ora文件

# tnsnames.ora Network Configuration File: E:\app\Administrator\product\11.2.\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 = ))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = djl)
)
) ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.50)(PORT = ))
(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=
orcl.__java_pool_size=
orcl.__large_pool_size=
orcl.__oracle_base='E:\app\Administrator'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=
orcl.__sga_target=
orcl.__shared_io_pool_size=
orcl.__shared_pool_size=
orcl.__streams_pool_size=
*.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=
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='E:\app\Administrator\flash_recovery_area'
*.db_recovery_file_dest_size=
*.diagnostic_dest='E:\app\Administrator'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.memory_target=
*.open_cursors=
*.processes=
*.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=
orcl.__java_pool_size=
orcl.__large_pool_size=
orcl.__oracle_base='E:\app\Administrator'#ORACLE_BASE set from environment
orcl.__pga_aggregate_target=
orcl.__sga_target=
orcl.__shared_io_pool_size=
orcl.__shared_pool_size=
orcl.__streams_pool_size=
*.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=
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='E:\app\Administrator\flash_recovery_area'
*.db_recovery_file_dest_size=
*.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=
*.open_cursors=
*.processes=
*.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
------------
MOUNTED SQL> shutdown immediate
ORA-: 数据库未打开 已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
SQL> create spfile from pfile; 文件已创建。 SQL> startup
ORACLE 例程已经启动。 Total System Global Area bytes
Fixed Size bytes
Variable Size bytes
Database Buffers bytes
Redo Buffers bytes
数据库装载完毕。
数据库已经打开。
SQL>

备库:

登录sqlplus出现如下错误

C:\Users\Administrator>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1. Production on 星期日 8月  :: 

Copyright (c) , , Oracle.  All rights reserved.

ERROR:
ORA-: TNS: 协议适配器错误 请输入用户名:
ERROR:
ORA-: TNS: 协议适配器错误 请输入用户名:
ERROR:
ORA-: TNS: 协议适配器错误 SP2-: 在 次尝试之后无法连接到 ORACLE, 退出 SQL*Plus C:\Users\Administrator>

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

C:\Users\Administrator>set oracle_sid=djl

C:\Users\Administrator>sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1. Production on 星期日 8月  :: 

Copyright (c) , , 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 bytes
Fixed Size bytes
Variable Size bytes
Database Buffers bytes
Redo Buffers 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 于 -8月 -
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID= 设备类型=DISK
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件: 文件号= 名称=D:\ORACLE_DATA\BRDB_1031.DBF
输入数据文件: 文件号= 名称=D:\ORACLE_DATA\BRDB_JSNK20190716.DBF
输入数据文件: 文件号= 名称=D:\ORACLE_DATA\BRDB_ZJC_0508.DBF
输入数据文件: 文件号= 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
输入数据文件: 文件号= 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
输入数据文件: 文件号= 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
输入数据文件: 文件号= 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF
输入数据文件: 文件号= 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 于 -8月 -
RMAN-: backup 命令 (ORA_DISK_1 通道上, 在 // :: 上) 失败
ORA-: 超出了恢复文件数的限制
ORA-: 无法回收 字节磁盘空间 (从 限制中)
继续执行其他作业步骤, 将不重新运行失败的作业
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括当前控制文件
备份集内包括当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 于 -8月 -
通道 ORA_DISK_1: 已完成段 于 -8月 -
段句柄=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2019_08_11\O1_MF_
NCSNF_TAG20190811T181047_GNZTK5KL_.BKP 标记=TAG20190811T181047 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:::
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括备用控制文件
通道 ORA_DISK_1: 正在启动段 于 -8月 -
通道 ORA_DISK_1: 已完成段 于 -8月 -
段句柄=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2019_08_11\O1_MF_
NCNNF_TAG20190811T181047_GNZTK7NZ_.BKP 标记=TAG20190811T181047 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:::
RMAN-: ===========================================================
RMAN-: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-: =========================================================== RMAN-: backup 命令 (ORA_DISK_1 通道上, 在 // :: 上) 失败
ORA-: 超出了恢复文件数的限制
ORA-: 无法回收 字节磁盘空间 (从 限制中)

需要修改归档日志的路径,默认路径存储大小为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 于 -8月 -
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID= 设备类型=DISK
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
输入数据文件: 文件号= 名称=D:\ORACLE_DATA\BRDB_1031.DBF
输入数据文件: 文件号= 名称=D:\ORACLE_DATA\BRDB_JSNK20190716.DBF
输入数据文件: 文件号= 名称=D:\ORACLE_DATA\BRDB_ZJC_0508.DBF
输入数据文件: 文件号= 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
输入数据文件: 文件号= 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
输入数据文件: 文件号= 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
输入数据文件: 文件号= 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DBF
输入数据文件: 文件号= 名称=D:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
通道 ORA_DISK_1: 正在启动段 于 -8月 -
通道 ORA_DISK_1: 已完成段 于 -8月 -
段句柄=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2019_08_11\O1_MF_
NNNDF_TAG20190811T191415_GNZY482X_.BKP 标记=TAG20190811T191415 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:::
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括当前控制文件
备份集内包括当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 于 -8月 -
通道 ORA_DISK_1: 已完成段 于 -8月 -
段句柄=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2019_08_11\O1_MF_
NCSNF_TAG20190811T191415_GNZYGR2X_.BKP 标记=TAG20190811T191415 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:::
通道 ORA_DISK_1: 正在启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集内的数据文件
备份集内包括备用控制文件
通道 ORA_DISK_1: 正在启动段 于 -8月 -
通道 ORA_DISK_1: 已完成段 于 -8月 -
段句柄=D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2019_08_11\O1_MF_
NCNNF_TAG20190811T191415_GNZYGT5V_.BKP 标记=TAG20190811T191415 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:::
完成 backup 于 -8月 -

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

RMAN> duplicate target database for standby from active database;

RMAN> duplicate target database for standby from active database;

启动 Duplicate Db 于 -8月 -
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_AUX_DISK_1
通道 ORA_AUX_DISK_1: SID= 设备类型=DISK 内存脚本的内容:
{
backup as copy reuse
targetfile '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 于 -8月 -
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID= 设备类型=DISK
完成 backup 于 -8月 - 内存脚本的内容:
{
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 于 -8月 -
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动数据文件副本
复制备用控制文件
输出文件名=E:\APP\ADMINISTRATOR\PRODUCT\11.2.\DBHOME_1\DATABASE\SNCFORCL.ORA 标
记=TAG20190827T092232 RECID= STAMP=
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: ::
完成 backup 于 -8月 - 启动 restore 于 -8月 -
使用通道 ORA_AUX_DISK_1 通道 ORA_AUX_DISK_1: 已复制控制文件副本
完成 restore 于 -8月 - 内存脚本的内容:
{
sql clone 'alter database mount standby database';
}
正在执行内存脚本 sql 语句: alter database mount standby database 内存脚本的内容:
{
set newname for tempfile to
"E:\APP\ADMINISTRATOR\ORADATA\DJL\TEMP01.DBF";
switch clone tempfile all;
set newname for datafile to
"E:\APP\ADMINISTRATOR\ORADATA\DJL\SYSTEM01.DBF";
set newname for datafile to
"E:\APP\ADMINISTRATOR\ORADATA\DJL\SYSAUX01.DBF";
set newname for datafile to
"E:\APP\ADMINISTRATOR\ORADATA\DJL\UNDOTBS01.DBF";
set newname for datafile to
"E:\APP\ADMINISTRATOR\ORADATA\DJL\USERS01.DBF";
backup as copy reuse
datafile auxiliary format
"E:\APP\ADMINISTRATOR\ORADATA\DJL\SYSTEM01.DBF" datafile
auxiliary format
"E:\APP\ADMINISTRATOR\ORADATA\DJL\SYSAUX01.DBF" datafile
auxiliary format
"E:\APP\ADMINISTRATOR\ORADATA\DJL\UNDOTBS01.DBF" datafile
auxiliary format
"E:\APP\ADMINISTRATOR\ORADATA\DJL\USERS01.DBF" ;
sql 'alter system archive log current';
}
正在执行内存脚本 正在执行命令: SET NEWNAME 临时文件 在控制文件中已重命名为 E:\APP\ADMINISTRATOR\ORADATA\DJL\TEMP01.DBF 正在执行命令: SET NEWNAME 正在执行命令: SET NEWNAME 正在执行命令: SET NEWNAME 正在执行命令: SET NEWNAME 启动 backup 于 -8月 -
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号= 名称=E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF
输出文件名=E:\APP\ADMINISTRATOR\ORADATA\DJL\SYSTEM01.DBF 标记=TAG20190827T092241 通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: ::
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号= 名称=E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF
输出文件名=E:\APP\ADMINISTRATOR\ORADATA\DJL\SYSAUX01.DBF 标记=TAG20190827T092241 通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: ::
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号= 名称=E:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF
输出文件名=E:\APP\ADMINISTRATOR\ORADATA\DJL\UNDOTBS01.DBF 标记=TAG20190827T09224 通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: ::
通道 ORA_DISK_1: 启动数据文件副本
输入数据文件: 文件号= 名称=E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF
输出文件名=E:\APP\ADMINISTRATOR\ORADATA\DJL\USERS01.DBF 标记=TAG20190827T092241
通道 ORA_DISK_1: 数据文件复制完毕, 经过时间: ::
完成 backup 于 -8月 - sql 语句: alter system archive log current 内存脚本的内容:
{
switch clone datafile all;
}
正在执行内存脚本 数据文件 已转换成数据文件副本
输入数据文件副本 RECID= STAMP= 文件名=E:\APP\ADMINISTRATOR\ORADATA\DJ
L\SYSTEM01.DBF
数据文件 已转换成数据文件副本
输入数据文件副本 RECID= STAMP= 文件名=E:\APP\ADMINISTRATOR\ORADATA\DJ
L\SYSAUX01.DBF
数据文件 已转换成数据文件副本
输入数据文件副本 RECID= STAMP= 文件名=E:\APP\ADMINISTRATOR\ORADATA\DJ
L\UNDOTBS01.DBF
数据文件 已转换成数据文件副本
输入数据文件副本 RECID= STAMP= 文件名=E:\APP\ADMINISTRATOR\ORADATA\DJ
L\USERS01.DBF
完成 Duplicate Db 于 -8月 - RMAN>exit

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

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

主库:

SQL> select status from v$instance;

STATUS
------------
OPEN SQL>

 备库:

在备库执行以下语句

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

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

SQL> select status from v$instance;

STATUS
------------------------
MOUNTED SQL> 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

最新文章

  1. [ASP.NET MVC] ASP.NET Identity登入技术剖析
  2. OpenLayers工作原理
  3. python的高级特性3:神奇的__call__与返回函数
  4. 完美串(区间dp)
  5. php大力力 [004节]PHP常量MAMP环境下加载网页
  6. MVC中,视图的Layout使用
  7. jQuery中操作Ajax方法小结
  8. VMware 8安装苹果操作系统Mac OS X 10.7 Lion正式版
  9. 亲测可用的国内maven镜像
  10. c#源码的执行过程
  11. AJAX的来龙去脉(由来)-如何被封装出来的--ajax发送异步请求(四步操作)
  12. window版chrome 57.0.2970.0 (64-bit)滚动条的BUG
  13. nginx反向代理实例
  14. WinFrom弹出输入框
  15. Python 3之str类型、string模块学习笔记
  16. js 验证input 输入框
  17. Python 递归删除非空目录(包括子目录以及文件)
  18. JVM: can not create native thread
  19. SaltStack匹配target-第六篇
  20. #ifndef/#define/#endif以及#if defined/#else/#endif使用详解

热门文章

  1. 一个按键搞定日常git操作
  2. Python自带HTTP文件传输服务
  3. IDEA中springboot的热部署
  4. linux 为动态分配的Virtualbox虚拟硬盘扩容
  5. 使用luabind绑定box2d的lua接口
  6. windows系统中如何找到某程序运行的本地文件
  7. Docker(一) 简介
  8. Docker底层架构之控制组
  9. gcd(最大公约数)算法
  10. 一个支持高网络吞吐量、基于机器性能评分的TCP负载均衡器gobalan