Dataguard for windows to linux(云上)异构加阿里云容灾配置

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: windows和linux平台可以实现跨平台的异构Dataguard,配置方法和同平台没有太大区别,注意目录的格式。
windows和linux平台可以实现跨平台的异构Dataguard,配置方法和同平台没有太大区别,注意目录的格式。
1、环境准备
1.1 主库开启归档
-----开启归档
alter system set LOG_ARCHIVE_DEST_1='LOCATION=/archivelog' scope=both;
shutdown immediate
start mount
alter database archivelog;
1.2 配置监听
--备库监听
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
     (GLOBAL_DBNAME = orcl)
     (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db/)
     (SID_NAME = orcl_dr1)
    )
   )
主备库tns
ORCL_DR=
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.x.x)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl_dr)
    )
  )
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.x.x)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )
1.3 密码文件
orapwd file=$ORACLE_HOME/dbs/orapworcl_dr1 password=oracle
2、Dupalicate 方式配置Dataguard
rman target sys/oracle@orcl auxiliary sys/oracle@orcl_dr
rman target sys/oracle@orcl auxiliary sys/oracle@orcl_dr
set newname for datafile 1 to '+DATA/orcl_dr/system01.dbf';
set newname for datafile 2 to '+DATA/orcl_dr/sysaux01.dbf';
set newname for datafile 3 to '+DATA/orcl_dr/undotbs01.dbf';
set newname for datafile 4 to '+DATA/orcl_dr/users01.dbf';
set newname for datafile 5 to '+FLASH/orcl_dr/testtbs01.dbf';
run{
set newname for tempfile 1 to '+DATA/orcl_dr/temp01.dbf';
set newname for datafile 1 to '+DATA/orcl_dr/system01.dbf';
set newname for datafile 2 to '+DATA/orcl_dr/sysaux01.dbf';
set newname for datafile 3 to '+DATA/orcl_dr/undotbs01.dbf';
set newname for datafile 4 to '+DATA/orcl_dr/users01.dbf';
set newname for datafile 5 to '+FLASH/orcl_dr/testtbs01.dbf';
DUPLICATE TARGET DATABASE
FOR STANDBY
FROM ACTIVE DATABASE
nofilenamecheck
dorecover
SPFILE
SET DB_UNIQUE_NAME="orcl_dr"
SET AUDIT_FILE_DEST="/u01/app/oracle/admin/orcl_dr/adump"
SET DIAGNOSTIC_DEST="/u01/app/oracle"
set log_archive_config='dg_config=(orcl,orcl_dr)'
set log_archive_dest_1='location=+FLASH '
SET LOG_ARCHIVE_DEST_2="service=orcl LGWR SYNC REGISTER VALID_FOR=(online_logfile,primary_role) "
SET FAL_SERVER="orcl"
SET FAL_CLIENT="orcl_dr"
SET CONTROL_FILES='+DATA/orcl_dr/control01.ctl','+DATA/orcl_dr/control02.ctl'
SET DB_FILE_NAME_CONVERT='C:\app\Administrator\oradata\orcl\','+DATA'
SET LOG_FILE_NAME_CONVERT='C:\app\Administrator\oradata\orcl\','+DATA'
SET DB_RECOVERY_FILE_DEST='+FLASH'
SET DB_RECOVERY_FILE_DEST_SIZE='1G';
}

部分输出:duplicate会输出它执行的命令和结果

----------
''orcl_dr'' comment=
'''' scope=spfile";
   sql clone "alter system set  CONTROL_FILES =
''+DATA/orcl_dr/control01.ctl'', ''+DATA/orcl_dr/control02.ctl'' comment=
'''' scope=spfile";
   sql clone "alter system set  db_file_name_convert =
''C:\app\Administrator\oradata\orcl\'', ''+DATA'' comment=
'''' scope=spfile";
   sql clone "alter system set  LOG_FILE_NAME_CONVERT =
''C:\app\Administrator\oradata\orcl\'', ''+DATA'' comment=
'''' scope=spfile";
   sql clone "alter system set  db_recovery_file_dest =
''+FLASH'' comment=
'''' scope=spfile";
   sql clone "alter system set  DB_RECOVERY_FILE_DEST_SIZE =
1G comment=
'''' scope=spfile";
   shutdown clone immediate;
   startup clone nomount;
}
正在执行内存脚本
sql 语句: alter system set  db_unique_name =  ''orcl_dr'' comment= '''' scope=sp
file
sql 语句: alter system set  AUDIT_FILE_DEST =  ''/u01/app/oracle/admin/orcl_dr/a
dump'' comment= '''' scope=spfile
…………
归档日志文件名=+FLASH/orcl_dr/archivelog/2017_01_19/thread_1_seq_38.261.93369654
9 线程=1 序列=38
介质恢复完成, 用时: 00:00:05
完成 recover 于 19-1月 -17
来自辅助数据库的 ORACLE 错误: ORA-01511: 重命名日志/数据文件时出错
ORA-01516: 不存在的日志文件, 数据文件或临时文件 "C:\APP\ADMINISTRATOR\ORADATA\OR
CL\REDO01.LOG"
RMAN-05535: 警告: 并非所有重做日志文件均已正确定义。
来自辅助数据库的 ORACLE 错误: ORA-01511: 重命名日志/数据文件时出错
ORA-01516: 不存在的日志文件, 数据文件或临时文件 "C:\APP\ADMINISTRATOR\ORADATA\OR
CL\REDO02.LOG"
RMAN-05535: 警告: 并非所有重做日志文件均已正确定义。
来自辅助数据库的 ORACLE 错误: ORA-01511: 重命名日志/数据文件时出错
ORA-01516: 不存在的日志文件, 数据文件或临时文件 "C:\APP\ADMINISTRATOR\ORADATA\OR
CL\REDO03.LOG"
RMAN-05535: 警告: 并非所有重做日志文件均已正确定义。
完成 Duplicate Db 于 19-1月 -17

复制过程中,可以通过sql命令查看通道进度
--rman进度查询
select sid,context,sofar,totalwork,round(sofar/totalwork*100,2) from v$session_longops where opname like 'RMAN%' and opname not like '%aggregate%' and totalwork<>0 and round(sofar/totalwork*100,2)<>100;

--复制过程中,主库做了添加数据文件的操作,以及复制暂停,只需要把脚本重新跑一下,根据复制的记录会重用已复制的数据文件


总结一下duplicate的过程:
1)连接目标库(主库)、辅助数据库(需要dbname即可)
2)进行参数配置
3)实例重启到mount
4)备份传输控制文件
5)复制数据文件:数据文件和临时数据文件分脚本进行
6)完成copy,编制文件目录
7)设置scn号,使用归档进行恢复
8)完成配置

3、主库参数配置
主库
alter system set standby_file_management=AUTO scope=both;
alter system set fal_server=orcl scope=both;
alter system set fal_client=orcl_dr scope=both;
alter system set LOG_ARCHIVE_DEST_2='SERVICE=orcl_dr LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) NET_TIMEOUT=60 DB_UNIQUE_NAME=orcl_dr' scope=both;
alter system set log_archive_config='dg_config=(orcl,orcl_dr)' scope=both;

4、开启实时同步
--启用归档2
alter system set log_archive_dest_state_2='DEFER' scope=both  sid='*';
alter system set log_archive_dest_state_2='ENABLE' scope=both  sid='*';
alter database recover managed standby database disconnect from session;
--开启实时同步
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE using current logfile disconnect from session;
取消同步
alter database recover managed standby database cancel;
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
11天前
|
安全 网络协议 Linux
telnet在windows和linux上的使用方法
Telnet是一个简单且强大的网络工具,广泛用于远程管理和网络诊断。尽管存在安全风险,但在受控环境中,Telnet仍然是一个非常有用的工具。通过本文的介绍,您应该能够在Windows和Linux系统上安装并使用Telnet进行各种网络操作。
69 18
|
1月前
|
安全 Ubuntu Linux
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
46 9
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
|
12天前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
94 7
|
14天前
|
Ubuntu 网络协议 Linux
快速部署WSL(Windows Subsystem for Linux)
WSL提供了一种轻量级的方法,使开发者能够在Windows上无缝运行Linux环境。通过本文介绍的步骤,可以快速安装、配置和使用WSL,以满足开发和测试的需求。
61 8
|
1月前
|
自然语言处理 安全 Java
Nexpose 7.0.1 for Linux & Windows - 漏洞扫描
Nexpose 7.0.1 for Linux & Windows - 漏洞扫描
42 6
|
1月前
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。
|
2月前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
2月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
81 4
|
2月前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
81 9
|
2月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
69 5