iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >SQL数据库与oracle数据库的镜像区别有哪些
  • 244
分享到

SQL数据库与oracle数据库的镜像区别有哪些

2024-04-02 19:04:59 244人浏览 泡泡鱼
摘要

这篇文章主要讲解了“sql数据库与oracle数据库的镜像区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL数据库与oracle数据库的镜像区别

这篇文章主要讲解了“sql数据库oracle数据库的镜像区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL数据库与oracle数据库的镜像区别有哪些”吧!

首先,微软SQL数据库中的镜像数据库类似于Oracle数据库中的备用数据库。我说的只是类似,确切的说,我们需要考虑不同数据库在自己体系中的差异。MSSQL作为一个实例来操作,一个实例包含几个数据库,你首先要登录一个实例,然后选择哪个数据库作用于该实例。而在Oracle数据库中,简单模式(忽略RAC)就只有一个数据库与一个实例相联系。因此,可以这么说,在Oracle数据库中,备份数据库(standby database)就完全是主数据库的快照。而在MSSQL中,镜像数据库仅仅是选择的那个数据库的备份,但没有包括代理,登录,任务(这些或者更多的数据库项目需要单独在数据库镜像上创建或者复制)这些外部数据项。

服务器数量上,Oracle的主数据库和备用数据库配置最小需要2台。在MSSQL中,最小数据是2个或3个,根据你所选择的高可用性、高安全性、高性能方式所决定。

高可用性方式:这个操作模式选项允许你在两台服务器上同步事务写入,并支持自动错误恢复。要使用这个选项,你必须还要使用一个证人服务器。

高保护方式:这个选项可以让你在两台服务器上同步事物写入,但是错误恢复是手工的。因为自动的错误恢复不是这个选项的一部分,所以也不会用到证人服务器。

高性能方式:这个选项不关心两台服务器上的写入是否是同步的,因此在性能上有所提高。当使用这个选项的时候,你只能假设镜像服务器上的所有事情都是成功完成。这个选项只允许手工的错误恢复,因此不会用到证人服务器。

为了保证故障自动恢复,就需要有第三台服务器,可以称之为目击者(另外两个就是主数据库和镜像数据库),你可以将这个目击者当作群集中的一个成员。它实现了2比1投票的能力,当我的一个组件不可达,并因此需要进行错误恢复的时候。证人服务器只有在你想实现自动错误恢复的时候才需要用到。

在Oracle数据的一个事务中,日志缓冲器在废数据写入数据文件(忽略write-ahead情况)前被刷新或者写入到redo日志中。这种刷新或者写入到redo日志的行为是有必要的,如像实例失败(使用前滚和回滚恢复过程)这样的事件发生时。MSSQL也承认将日志缓冲器写入到磁盘的重要性。不过这里称之为硬化(hardening)。首先将事务日志缓冲器的信息写入到磁盘或者硬化,接着将日志记录块发送到镜像数据库中。镜像数据库接收到该日志记录块后,将之存入到某个缓冲器中,随后依次硬化该日志记录块。

当数据发生变化时,MSSQL数据库如何保持主数据库和镜像数据库的一致性呢?

Oracle用户非常熟悉SCN,而MSSQL用户通过使用mirroring_failover_lsn机制(粗略来讲就是一个日志序列号)。MSSQL与Oracle不同,MSSQL将事务分离(两个事务在两个机器上),而不是一个分布式事务(在自身提交前需要远程等待提交)。

另外一个相似点,但稍微有些畸变的反射就是redo日志和事务日志。在Oracle中,完成的redo日志将被发送到远程的服务器中,将完成的redo日志应用到备份数据中去。在MSSQL中,事务日志没有被传输,但是就像我以上提到的,日志缓冲器数据发送到网络上。这就导致另外一个镜像反射:备份和恢复模式。

在Oracle中,当你处于归档模式或者非归档模式的时候,这些操作是内定的。如果归档redo日志被传输或者提交到一个远程的服务器,那么主数据库明显就是在归档模式下,那些文件就是这么产生的。运行在这种模式下,允许有少量的数据丢失,因为在发生故障(无论什么样的故障)前,恢复能够在任意一个点上执行。在MSSQL中是类似的,但是有三种状态需要选择。
SQL Server联机丛书》,像许多其它的在线资源一样,讲述了在使用MSSQL时,3种恢复模式的不同点。快速的比较有:MSSQL完整模式对应于Oracle中的归档模式;简单模式对应于非归档模式;bulk模式与使用直接路径插入,添加提示,或者与nologging模式操作类似。

根据以上三种模式(这三种模式很容易转换,不需要关机或者重启)的描述以及日志缓冲器和归档redo日志的讨论中,很容易断定在MSSQL中进行数据库的镜像需要将数据的回复模式设置成完全模式(full model)。简单模式(Simple model)或许也能行,但是这种模式下维持事务日志中的小部分数据,在备份中,如果在日志被删节了,整个镜像过程也就破环了,因为当你在将事务发送到镜像数据库中的时候,如果日志被删节了,这个过程就不能完成。

说到数据库被破坏该怎么办呢?

这正是镜像(或者说备份)的主要目的:当主数据库断开或者说遇到故障时候我们希望系统能回到镜像前或者备份前的状况去。这如何才能实现呢?我们能自动实现或者手动实现。想实现这些,需要一些已经完成的设置。在MSSQL中,自动故障恢复,回到原来状态需要在HA模式,事务安全是full,数据传输是同步,有目击服务器的情况下。这种模式下运行还需要使用企业版的数据库系统。高安全性和高性能在标准版的情况下也能实现。
MSSQL还有其它版本的选择,但是这些并不如Oracle的反射“干净”,这些版本包括:Developer、Workgroup 和 SQL Express。举个例子,目击服务器能够是任何的版本,但是如果你想给镜像服务器做一个快照,那么你就需要企业或者开发版的了。

在设置伙伴(partner,通常有主数据库和镜像数据库组成)过程中,他们的恢复状态开始起作用。通过使用相同的名字,镜像在远程/镜像服务器上建立(使用配置数据库镜像安全向导是最简单的方法)起来,并且镜像数据库被设置成NORECOVERY,通常它是恢复(recovering)状态的。在MSSQL中,恢复数据库是没有的,因此没有进行上述的设置,是不能被其他用户当作只读数据库来使用的。

为了避免这个中缺陷,你可以给镜像做一个快照,使得该“影像”对用户可见。正如我上述所提到的那样,这需要你的数据库版本是企业(或者开发)版。这就意味着用户需要有快照数据库的知识,知道如何进入存储它,如何告诉应用程序使用哪个数据库。惯例上来说,配置文件使用的.net环境,你能建立一个主数据库和一个故障回滚的辅数据库。如果在Oracle中配置过备份数据库,你就会觉得这很类似。

感谢各位的阅读,以上就是“SQL数据库与oracle数据库的镜像区别有哪些”的内容了,经过本文的学习后,相信大家对SQL数据库与oracle数据库的镜像区别有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

您可能感兴趣的文档:

--结束END--

本文标题: SQL数据库与oracle数据库的镜像区别有哪些

本文链接: https://www.lsjlt.com/news/61161.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SQL数据库与oracle数据库的镜像区别有哪些
    这篇文章主要讲解了“SQL数据库与oracle数据库的镜像区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL数据库与oracle数据库的镜像区别...
    99+
    2022-10-18
  • SQL Server与Oracle、DB2数据库的区别有哪些
    这篇文章主要讲解了“SQL Server与Oracle、DB2数据库的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SQL Server与Orac...
    99+
    2022-10-18
  • 数据库镜像和复制有什么区别
    这篇文章主要介绍数据库镜像和复制有什么区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!什么是数据库镜像?数据库镜像是指创建和维护数据库的冗余副本的技术,镜像副本始终与主体数据库同步...
    99+
    2022-10-18
  • 达梦数据库和oracle数据的区别有哪些
    这篇文章主要讲解了“达梦数据库和oracle数据的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“达梦数据库和oracle数据的区别有哪些”吧!1、...
    99+
    2022-10-18
  • 数据仓库和数据库有哪些区别
    这篇文章将为大家详细讲解有关数据仓库和数据库有哪些区别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。数据仓库和数据库的区别:1、数据库存储的是原始数据,没经过任何加工;而...
    99+
    2022-10-18
  • SQL Server与Oracle数据库的区别是什么
    本篇文章为大家展示了SQL Server与Oracle数据库的区别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。  SQL Server与Oracle数据库有...
    99+
    2022-10-18
  • 数据库中ADO与RDO有哪些区别
    这篇文章主要为大家展示了“数据库中ADO与RDO有哪些区别”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“数据库中ADO与RDO有哪些区别”这篇文章吧。ADO:是基于什么封装的,连接时用到哪些.d...
    99+
    2023-06-17
  • SQL Server与Oracle、DB2数据库的区别是什么
    本篇内容介绍了“SQL Server与Oracle、DB2数据库的区别是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读...
    99+
    2022-10-19
  • 云数据库和本地数据库有哪些区别
    云数据库和本地数据库的区别有:1、云数据库计算性能高,本地数据库需要云服务器的云盘规划架构,实现集群版的难度较高;2、云数据库提供白...
    99+
    2023-02-08
    云数据库和本地数据库 云数据库 本地数据库
  • 详解数据库varchar与char有哪些区别
    目录一、CHAR和VARCHAR有哪些区别1、固定长度 & 可变长度2、存储方式3、存储容量 CHAR二、CHAR和VARCHAR在SQL中需要注意的点三、类似的二进制类型:VARBINARYCHAR和VARCH...
    99+
    2023-10-28
    varchar与char区别 数据库varchar与char区别 varchar与char mysql varchar与char区别
  • oracle rac和分布式数据库的区别有哪些
    这篇文章主要介绍oracle rac和分布式数据库的区别有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1.分布式数据库是多个数据库,而rac只是一个库多个实例;2.rac事务上...
    99+
    2022-10-18
  • 云数据库与云服务器的区别有哪些
    云数据库与云服务器的区别如下:1. 功能不同:云数据库是专门用来存储和管理大量数据的服务,提供了数据库管理系统的功能,例如数据存储、...
    99+
    2023-09-22
    云数据库 云服务器
  • C#怎么完成Oracle数据库镜像与还原
    这篇文章主要讲解了“C#怎么完成Oracle数据库镜像与还原”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#怎么完成Oracle数据库镜像与还原”吧!开发工具:Visual Studio ...
    99+
    2023-06-17
  • 数据库中的left join与right join的区别有哪些
    这篇文章主要介绍“数据库中的left join与right join的区别有哪些”,在日常操作中,相信很多人在数据库中的left join与right join的区别有哪些问题上存在疑惑,小编查阅了各式资料...
    99+
    2022-10-18
  • 数据库date和datetime的区别有哪些
    数据库中的date和datetime是两种存储日期和时间的数据类型。它们的主要区别如下:1. 存储范围:date类型只能存储日期,范...
    99+
    2023-10-12
    数据库
  • php和java的数据库有哪些区别
    小编给大家分享一下php和java的数据库有哪些区别,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!区别:1、php对于不同的数据库采用不同的数据库访问接口,而Java通过JDBC来访问数据库,访问数据库的接口比较统一。2、...
    99+
    2023-06-21
  • SQL与NoSQL数据库二者的概念与区别
    这篇文章主要介绍“SQL与NoSQL数据库二者的概念与区别”,在日常操作中,相信很多人在SQL与NoSQL数据库二者的概念与区别问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2022-10-18
  • SQL Server数据库镜像下有效的索引维护
    SQL Server数据库镜像下有效的索引维护 我们在做索引重建的时候,由于索引重建产生太多日志,习惯切换到大容量日志恢复模式。而在生产环境,我们配置了数据库镜像作为高可用,镜像只能运行于完整恢复...
    99+
    2022-10-18
  • 阿里云数据库与数据仓库的区别
    阿里云数据库与数据仓库是两种不同的数据存储方式,它们在功能、应用场景和性能上有所不同。本文将对两者进行详细比较,帮助读者更好地理解两者之间的区别。 一、功能上的区别阿里云数据库是一种关系型数据库,主要用于存储和管理结构化数据。它提供了丰富的...
    99+
    2023-11-18
    阿里 数据仓库 区别
  • Python操作MySQL MongoDB Oracle三大数据库的区别有哪些
    这篇文章主要讲解了“Python操作MySQL MongoDB Oracle三大数据库的区别有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python操作MySQL MongoDB O...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作