oracle数据库比较
‘壹’ sql数据库和oracle数据库哪个好(oracle数据库和mysql数据库的区别)
肯定学习oracle。宽羡原因:
1、oracle是商用的最广泛的关系型数据库管理系统,广泛应用于银行、电信、电力、社保等各个领域。特别是对于unix和linux平台,sqlserver怎么用啊?我想你学习,肯定为了将来应用,或者工作,你的简历里面写oracle和sqlserver完全是不一样的概念。我帮助公司的人力资源参加过很多招聘,在我的角度,如果你的里面有oracle的经历,当然要更有竞争力。
2、从学习的角度来讲,oracle并不比sqlserver难学,对于初学者慎闭拍而言,主要就是sql语言的学习,这方面任何一个数据库系统都是一态枣样的(通用的),不存在谁难谁简单的问题。既然是这样,为什么要去学sqlserver。只不过oracle比较博大精深,如果想要深入学习其管理,是要花费时间和精力的,不过对于开发者而言,是不需要掌握这方面的知识的。
3、从方便性而言,自己的pc机搭建sqlserver和oracle的环境,都差不多,都是图形化安装界面。
而且完全可以从windows环境学起,如果你精力不够,也根本不用考虑unix或linux。以后工作时,遇到了这些系统,再简单适应一下,也就ok。
总之,建议你,从oracle起步,一步到位。
辛苦手码了这么多字,希望帮到你。
‘贰’ mysql数据库和oracle数据库的区别
1、体积不同。
Oracle它体积比较庞大,一般是用来开发大型应用(例如分布式)的。而MySQL的体积相对来说比较小,较之Oracle更容易安装、维护以及管理,操作也简单,最重要的是它是三个中唯一一个开源数据库,但目前也属于Oracle公司的产品了。
2、容量不同。
Oracle容量无限,根据配置决定;而MySQL使用MyISAM存储引擎,最大表尺寸为65536TB。 MySQL数据库的最大有效表尺寸通常是由操作系统对文件大小的限制决定的,而不是由MySQL内部限制决定。
3、平台支持及速度的区别。
Oracle支持大多数平台;而MySQL支持各种平台,适合Linux。至于速度,Oracle在Linux下的性能,在少量数据时速度低于MySQL,在千万级时速度快于MySQL。
4、数据库崩溃造成的影响不同。
Oracle数据库崩溃后恢复很麻烦,因为他把很多东西放在内存里;数据库连接要慢些,最好用连接池;而MySQL使用缺省的IP端口,但是有时候这些IP也会被一些黑客闯入,使用MyISAM配置,不慎损坏数据库,结果可能会导致所有的数据丢失。
5、性能的区别。
Oracle全面,完整,稳定,但一般数据量大,对硬件要求较高 ;而MySQL使用CPU和内存极少,性能很高,但扩展性较差。
6、授权价格区别。
Oracle价格较贵,例如Oracle 10G/11G 标准版 [10用户]¥25600 ,Oracle 10G/11G 标准版 [1CPU无限用户] ¥157600。而MySQL采用双重授权,他们是GPL和MySQLAB制定的商业许可协议。如果你在一个遵循GPL的自由项目中使用 MySQL,那么你可以遵循GPL协议免费使用MySQL。否则,你需要购买MySQLAB制定的那个商业许可协议。
‘叁’ oracle怎么比较两个数据库
方法一、用PL/SQL DEVELOPER 来比较
1.登陆数据库A.
2.打开TOOLS菜单下的Compare User Objects
3.点Target Session,登陆数据库B
4.执行Compare
5.返回的是所有不同的对象以及更新语句[@more@]方法二、
1、对需要比较的表进行分析(可全表可抽样,自选),否则统计信息不准;
2、通过dba_tab_col_statistics表的column_name字段进行比较
select tz.table_name ,tz.column_name from dba_tab_col_statistics tz
WHERE tz.owner = 'BSS' AND TZ.TABLE_NAME LIKE 'BSS_%'
and (TZ.TABLE_NAME ,TZ.COLUMN_NAME) not in(
select TZT.TABLE_NAME ,TZT.COLUMN_NAME
from dba_tab_col_statistics@tz_bsstzt tzt
WHERE tzt.owner = 'BSS' AND TZT.TABLE_NAME LIKE 'BSS_%')
‘肆’ sqlserver数据库与oracle数据库有什么区别
着信息技术的飞速发展,数据处理不仅在数量上要求越来越大,而且在质量上也要求越来越高。Oracle数据库在大多数企业中受到广泛使用,而茄碧SQL Server数据库也因为和Windows的联系,在企业中的使用也是非常广泛。 x0dx0ax0dx0a操作系统的稳定对数据库来说是十分紧要的,在数据库可操作平台上,Oracle可在所有主流平台上运行,Oracle数据库采用开放的策略目标,它使得客户可以选择一种最适合他们特定需要的解决方案。客户可以利用很多种第三方应用程序、工具。对开发商来说是很大的支持。而SQL Server却只能在Windows上运行了,这个就显得比较单调了,但SQL Sever在Window平台上的表现,和Windows操作系统的整体结合程度,使用方便性,和Microsoft开发平台的整合性都比Oracle强的很多。但Windows操作系统的稳定性及可靠性大家是有目共睹的,再说Microsoft公司的策略目标是将客户都锁定到Windows平台的环境当中,只有随着Windows性能的改善,SQL Server才能进一步提高。从操作平台这点上Oracle是完全优胜于SQL Server的了。 x0dx0ax0dx0a从资料上可以看到,Oracle的安全认证获得最高认证级别的ISO标准认证,而SQL Server并没有获得什么安全认证。这方面证明了Oracle的安全性是高于SQL Server的。 x0dx0ax0dx0a购买一个产品,首先考虑的当然是产品的性能了,当考虑性能的同时当然少不了究竟要花多少钱在这产品也是个很关键的问题。要建立并运行一个数据库系统。不仅仅链纳判包含最初购置软件、硬件的费用,还包含了培训及以后维护的费用。Orcale数据库的价格是远比SQL Server数据库要高,为什么Oracle数据库比SQL Server数据库价格上要高出那么多,一方面Oracle的初始棚改花费相对较高,特别是在考虑工具软件的时候,Oracle很多工具软件需要另外购买,与Microsoft提供免费的SQL Server工具软件相比,Oracle更显价格的不菲。但由于SQL Server只能在Windows下运行的原因,普遍认为SQL Server数据库的可靠性是比较差的。Oracle的性能优势体现在他的多用户上,而SQL Server的性能优势在多用户上就显得力不从心了。 x0dx0ax0dx0a操作上SQL Server明显要比Orcale简单,如果你用过Java和DOTNET的开发平台,区别的基本就是Oracle和SQL Server不同,Oracle的界面基本是基于Java的,大部分的工具是Dos界面的,甚至SQLPlus也是, SQL Server是跟VB一样,全图形界面,很少见到DOS窗口。SQL Server中的企业管理器给用户提供一个全图形界面的集成管理控制台来集中管理多个服务器。Oracle也有自己的企业管理器,而且它的性能在某些方面甚至超过了SQL Server的企业管理器,但它安装较为困难。 x0dx0ax0dx0aOrcale数据库和SQL Server数据库那个更快?其实是一个很难答的问题,因为存在许多不定因素,包括处理类型、数据分布以及硬件基础设施等。 x0dx0ax0dx0aSQL Server 2000是一个具备完全Web支持的数据库产品,提供了可扩展标记语言核心支持以及Internet上和防火墙外进行查询的能力,具有可伸缩性、灵活性、扩充性好,而且价格便宜等特点,而Oracle则有着可靠安全性,速度比SQL Server快上百倍,但其价格在实施中却比SQL Server它高出了几百倍。 x0dx0ax0dx0a其实各行业考虑选择那种数据库,是由数据库的特点以及根据自己的业务需求和基础设施综合考虑来决定的。 x0dx0ax0dx0aoracle中有复合数据类型 sql server中没有 x0dx0a声明方式:变量名 对象名%type x0dx0a这里的变量类型可以是所有以存在的数据类型,具有依赖性 ,存储过程中用这种变量比较灵活,但效率应该会低些 x0dx0ax0dx0aoracle存储过程中借助cursor类型变量返回并访问记录集 sql server中我没用过类似功能 x0dx0ax0dx0aoracle里这么用:存储过程中边查询边给变量赋值 x0dx0aselect 某一列名 into 变量名 from table where ..; x0dx0a相当于oracle中的select 变量名=列....
‘伍’ oracle如何比较两个表数据的差异
est表:
union
select t2.* from
(select * from test1
minus
select * from test) t2;
select t1.* from
(select * from test
minus
select * from test1) t1
union
select t2.* from
(select * from test1
minus
select * from test) t2;
红框部分的燃山游数据就是有差异的内容。
‘陆’ Oracle数据库与SQL Server数据库镜像对比
数据库镜像是将数据库事务处理从一个数据库移动到不同环境中的另一个数据库中 镜像的拷贝是一个备用的拷贝 不能直接访问 它只用在错误恢复的情况下 Oracle数据库与MSSQL数据操作上有很大的不同 但是 在镜像操作方面有类比的地方 这篇文章关于MSSQL数据库镜像在Oracle数据库中是如何实现的 它们之间存在哪些差异呢 首先 微软SQL数据库中的镜像数据库类似于Oracle数据库中的备用数据库 我说的只是类似 确切的说 我们需要考虑不同数据库在自己体系中的差异 MSSQL作为一个实例来操作 一个实例包含几个数据库 你首先要登录一个实例 然后选择哪个数据库作用于该实例 而在Oracle数据库中 简单模式(忽略RAC)就只有一个数据库与一个实例相联系 因此 可以这么说 在Oracle数据库中 备份数据库(standby database)就完全是主数据库的快照 而在MSSQL中 镜像数据库仅仅是选择的那个数据库的备份 但没有包括代理 登录 任务(这些或者更多的数据库项目需要单独在数据库镜像上创建或者复制)这些外部数据项 在服务器数量上 Oracle的主数据库和备用数据库配置最小需要 台 在MSSQL中 最小数据是 个或 个 根据你所选择的高可用性 高安全性 高性能方式所决定 高可用性方式 这个操作模式选项允许你在两台服务器上同步事务写入蔽凯 并支持自动错误恢复 要使用这个选项 你必须还要使用一个证人服务器 高保护方式 这个选项可以让你在两台服务器上同步事物写入 但是错误恢复是手工的 因为自动的错误恢复不是这个选项的一部分 所以也不会用到证人服务器 高性能方式 这个选项不关心两台服务器上的写入是否是同步的 因此在性能上有所提高 当使用这个选项的时候 你只能假设镜像服务器上的所有事情都是成功完成 这个选项只允许手工的错误恢复 因此不会用到证人服务器 为了保证故障自动恢复 就需要有第三台服务器 可以称之为目击者(另外两个就是主数据库和镜像数据库) 你可以将这个目击者当作群集中的一个成员 它实现了 比 投票的能力 当我的一个组件不可达 并因此需要进行错误恢复的时候 证人服务器只有在你想实现自动错误恢复的时候才需要用到 在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时 种恢复模式的不同点 快速的比较有 MSSQL完整模式对应于 Oracle中的归档模式;简单模式扰中对应于非归档模式;bulk模式与使用直接路径插入 添加提示 或者与nologging模式操作类似 根据以上三种模式(这三种模式很容易转换 不需要关机或者重启)的描述以及日志缓冲器和归档redo日志的讨论中 很容易断定在MSSQL中进行数据库的镜像需要将数据的回复模式设置成完全模式(full model) 简单模式(Simple model)或许也能行 但是这种模式下维持事务日志中的小部分数据 在备份中 如果在日志被删节了 整个镜像过程也就破环了 因为当你在将事务发送到镜像数据库中的时候 如果日志被删节了 这个过程就不能完成 说到数据库被破坏该怎么办呢?这正是镜像(或者说备份)的主要目的 当主数据库断开或者说遇到故障时候我们希望系统能回到镜像前或者备份前的状况去 这如何才能实现呢?我们能自动实现或者手动实现 想实现这些 需要一些已经完成的设置 在MSSQL中 自动故障恢复 回到原来状态需要在HA模式 事务安全是full 数据传输是同步 有目击服务器的情况下 这种模式下运行还需要使用企业版的数据库系统 高安全性和高性能在标准版的情况下也能实现 MSSQL还有其它版本的选择 但是这些并不如Oracle的反射 干净 这些版本包括 Developer Workgroup 和 SQL Express 举个例子 目击服务器能够是任何的版本 但是如果你想给镜像服务器做一个快照 那么你就需要企业或者开发版的了 ( lian )在设置伙伴(partner 通常有主数据库和镜像数据库组成)过程中 他们的恢复状态开始起作用 通过使用相同的名字 镜像在远程/镜像服务器上建立(使用配置数据库镜像安全向导是最简单的方法)起来 并且镜像数据库被设置成NORECOVERY 通常它是恢复(recovering)状态的 在 MSSQL中 恢复数据库是没有的 因此没有进行上述的设置 是不能被其他用户当作只读数据库来使用的 为了避免这个中缺陷 你可以给镜像做一个快照 使得该 影像 对用户可见 正如我上述所提到的那样 这需要你的数据库版本是企业(或者开发)版 这就意味着用户需要有快照数据库的知识 知道如何进入存储它 如何告诉应用程序使用哪个数据库 惯例上来说 配置文件使用的 NET环境 你能建立一个主数据库和一个故障回滚的辅数据库 如果在Oracle中配置过备份数据库 你就会觉得这很类似 lishixin/Article/program/SQLServer/201311/22292
‘柒’ 在oracle中 怎样对比两个数据库中相同表的数据
如果两个数据库可以建立dblink,那么通过dblink就可以像在一个数据库一样去对比。
如果不能建立dblink,那么就只能导出两行表,通过spool导出就可以。然后通过系统级别的命令去比对。我记得linux是有比较两个文件不同行的功能的。
如果认为两个都导出比较麻烦,那就导出一个,在导入另外一个库(注意变换名字,否则表明重复就麻烦了),然后再对比。
‘捌’ Oracle一般有哪些版本各个版本有什么区别
1.1979年,RSI首次向客户发布了产品,第2版。该版本的RDBMS可以在装有RSX-11操作系统的PDP-11机器上运行。
2.1983年,发布的第3个版本中加入了SQL语言。与前几个版本不同的是,这个版本是完全用C语言编写的。
3.1984年,Oracle的第4版发布。该版本既支持VAX系统,也支持IBMVM操作系统。而且性能困启也有所提升,其他功能也得到增强。
4.1985年,Oracle的第5版发布。该版本可称作是Oracle发展史上的里程碑。该版本可称作是Oracle发展史上的里程碑,因为它通过SQL*Net引入了客户端/服务器的计算机模式。
5.1988年,Oracle的第6版发布。该版本除了改进性数搏能、增强序汪毕如列生成与延迟写入(DeferredWrites)功能以外,还引入了底层锁。
‘玖’ Oracle数据库是怎么比较字符串类型的日期的
时间日期字段在数据库底层都是以时间戳的形式存储的,日期比较其实就简单的转换成了时间戳的比较, 也就是数字的比较
时间戳就是 格林威治时间1970年01月01日00时00分00秒到指定日期时间之间的秒数
2012-01-11 00:00:00的时间戳就是1326211200比较时间字段,底层实际比较的就是这个数字的时间戳
‘拾’ Oracle数据库各版本的区别
Oracle数据库软件分个人版、标准版1、标准版、企业版。x0dx0a各自的区别如下:x0dx0a1、数埋标准版1(Standard Edition One)适用于1-2CPU的服务器,价格有相当的优势,但仅限单机环境,适用于中小型用户入门薯咐蚂级应用;x0dx0a2、标准版(Standard Edition)适用于1-4CPU的服务器,包括4CPU单服务器或2台双CPU服务器等配置,可以做双机热备或RAC,价简岁格适中,适用于对数据库性能及安全性有进一步要求的大中型用户工作组级及部门级应用;x0dx0a3、企业版(Enterprise Edition)适用于单机、双机、多CPU多节点集群等各种环境,功能齐全,但费用也比较高,适用于对数据库性能及可靠性有相当高要求的大型、超大型用户企业级、高端企业级应用。x0dx0a4、个人版,除了不支持RAC之外包含企业版的所有功能,但是,只有Windows平台上才提供个人版。