数据库分布式oracle
❶ 它用分布式数据库替代Oracle、SAS,让银行告别西方软件“霸凌”
WPS成功上市代表了信息化企业软件国产化的趋势。在雷涛看来,WPS不是简单复制后替代Windows office,而是找到了下一代产品需求。
以往无论是运营商还是银行核心系统,大架构都垄断在西方的 IOE(IBM、Oracle、EMC)这三座大山里。直到2008年阿里提出去“IOE”运动,开始助推信息化软件国产化浪潮。
天云数据就是其中最早一批入场者。2010年为了建立中国完整的云计算产业链,中国宽带之父田溯宁投资建设云基地昌燃,天云数据便由此孵化,初备雏形。
2015年,雷涛带领创始团队们正式成立天云数据,率先切入金融领域。天云提供了国内领先的国产HTAP数据库Hubble,完成了“去IOE”中最困难的部分,替代金融A类核心系统惯用的西方IOE架构,在银行的联机事务中解决A类核心系统减负问题。此外,为了降低AI使用门槛,天云数据还推出AI PaaS平台MaximAI,逐步将数据价值逐渐扩展到能源、医药、军事等其它行业。
目前天云数据有70多家行业内大企业客户,单笔合同200-500万,纯软件年营收过亿。
融资方面,天云数据2018年曾获得曦域资本、华映资本B轮1亿人民币投资。
作为行业老兵,雷涛在北美跨国公司有20多年的技术管理经验, 2005年便入席SNIA存储游槐工业协会中国区技术委员会联合主席,CCF中国计算机学会大数据专委会委员。
2011年在云基地时期,雷涛和创始团队通过BDP大数据平台负责了众多运营商业务,如联通的数据魔方、移动总部、南方基地等,2015年天云数据正式独立后,雷涛为了避免同业竞争,选择先聚焦在金融领域。
“天云数据的目标是替代 Oracle 和 SAS ”。云基地时期的积累让天云数据一开始就有高起点,首单就接下了光大银行的核心系统——OLTP线交易系统。比如银行能在全国所有营业厅实时实现OOTD交易,实时查询存钱取钱数额,整个环节涉及的技术都是天云数据早期对Oracle的一些替代。
但之后在多次的项目操作过程中雷涛发现,在几百万条交易规格的强一致性下,数据的移动性、计算框架的变化、联机事务同时要做大规模并行计算,这对计算场景的神迅友通用性、即时性和全量数据要求极高,传统 Oracle架构根本无法适应。
“在Oracle架构之上,还需要升级满足新需求”。
于是天云数据自主研发HTAP国产分布式数据库Hubble。与传统 IT 架构处理失误需要联机分析和分开处理不同,HTAP 数据库能够在一份数据上同时支撑业务系统运行并做 OLAP 场景,避免在线与离线数据库之间大量的数据交互,为系统减负。
HTAP国产分布式数据库Hubble替代了Oracle一体机,核心表2000余张80T左右、400亿条交易数据、提供56只服务应用交易、满足500个用户并发、500ms交易服务响应、每天在线交易量超200万、占整个银行核心交易量的10%,让银行面向柜面系统可提供7*8小时A类实时核心交易,面向手机网银系统可提供7*24小时A类实时核心交易。
从集中式Oracle切换到分布式HTAP,也解决了数据库扩展性的问题。比如天云数据让光大银行解决了 历史 数据查询问题,以往 历史 查询只能查到2年前,但在分布式技术上线后,可以查询15年前所有交易数据,同时让银行柜面系统以及手机APP可以无数人同时查询。
而在BI逐步转向AI的过程中,复杂的商业流程经算法重构。过去要把数据拿到SAS平台先分析,一层一层地把数据提出来搭建。但现在通过分布式技术,流程趋于扁平化,可以实现毫秒级的服务响应。
天云数据一开始就撬动的是行业头部资源。目前天云数据有光大银行、兴业银行、中信银行、中泰证券、中国石油、国家统计局等70余家行业内大企业客户,分布在金融、能源、医药、政府军事等领域,单笔合同级别超百万
针对每个垂直行业,天云数据都会成立一个子公司来专注赛道。目前天云数据有160人,技术人员超六成。
在雷涛看来,如果一年600个项目,全是5万、15万等碎片化的订单,公司总是重复满足初级客户的简单需求,技术很难沉淀和深入。“在当下成长阶段,打造产品需要在用户想要什么和你想做什么中找到平衡”。
对于雷涛而言,专注头部大B发展有两大发展潜力。一方面,大B拥有机器学习的普遍能力和实验室,更容易接受新产品。另一方面,天云数据交付产品和交付服务的同时也在转移大B客户的数据价值。
“AI本身是一个知识生产过程,它能把大型企业规则、流程的经验价值快速地抽样出来进行复制,赋能行业内其它客户甚至类似的其它行业。”
但在头部客户更定制化、个性化的情况下,天云数据是否失去了很强的复制能力?
雷涛解释到,虽然每个企业要求不尽相同,但都在不大的池子里找数据库。企业从海量数据中对数据进行迁徙、清洗、去重,可以去找合适的AI方法让它产生业务的价值,此过程具有通用性。
谈到核心壁垒,雷涛认为天云数据壁垒就是数据的复制价值。
壁垒的构建可分为两个阶段。第一个阶段是前沿 科技 本身的壁垒,比的是效率和产品核心价值,谁能够扎得深和更好的交付,谁就能拔得头筹。而作为国内最早研发大数据和人工智能的团队,天云数据有一定的技术先发优势。
第二个阶段是推理端的服务。数据资源的价值需要通过机器学习进行提炼,形成知识,进而封装成推理服务服务于行业。比如某保险公司20年长周期发生的重疾赔付定价上学习出来的特征和内容能够快速地移植到保险行业,而头部大企业客户给天云数据带来很优质的训练数据库。
未来AI将引爆万亿级大市场,但目前渗透率不到1%,这给各企业留有众多机会和想象空间。但无论哪种圈地方式,最终比的是速度、服务的稳定性以及产品化的能力。
❷ Oracle数据库有哪些应用结构
Oracle数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了Oracle知识,便能在各种类型的机器上使用它。
随着网络技术的发展,Oracle数据库在各个领域得到了广泛应用。基于Oracle数据库的应用系统结构主要分为客户/服务器结构、终端/服务器结构、浏览器/服务器结构和分布式数据库系统结构等。
1.客户/服务器结构
客户/服务器(Client/Server,C/S)结构是两层结构,在C/S结构中,需要在前端客户机上安装应用程序,通过网络连接访问后台数据库服务器。用户信息的输入、逻辑的处理和结果的返回都在客户端完成,后台数据库服务器接收客户端对数据库的操作请求并执行。
C/S结构的优点是客户机与服务器可采用不同软、硬件系统,这样做的好处是应用与服务分离,安全性高,执行速度快;缺点是维护、升级不方便。
2.终端/服务器结构
终端/服务器结构类似于客户/服务器结构。与客户/服务器结构不同之处在于,其所有的软件安装、配置、运行、通信、数据存储等都在服务器端完成,终端只作为输入和输出的设备,直接运行服务器上的应用程序,而没有处理能力。终端把鼠标和键盘输入传递到服务器上集中处理,服务器把信息处理结果传回终端。
终端/服务器结构的优点是便于实现集中管理,系统安全性高,网络负荷低,对终端设备的要求低;缺点是对服务器性能的要求较高。
3.浏览器/服务器结构
浏览器/服务器(Browser/Server,B/S)结构是3层结构,在B/S结构中,客户端只需要安装浏览器就可以了,不需要安装具体的应用程序;中间的Web服务器层是连接前端客户机与后台数据库服务器的桥梁,所有的数据计算和应用逻辑处理都在此层实现。用户通过浏览器输入请求,传到Web服务器进行处理。如果需要,Web服务器与数据库服务器进行交互,再将处理结果返回给用户。
B/S结构的优点是通过Web服务器处理应用程序逻辑,这样方便了应用程序的维护和升级。通过增加Web服务器的数量可以增加支持客户机的数量。其缺点是增加了网络连接环节,降低了执行效率,同时也降低了系统的安全性。
4. 分布式数据库的系统结构
数据库系统按数据分布方式的不同可以分为集中式数据库和分布式数据库。集中式数据库是将数据库集中在一台数据库服务器中,而分布式数据库是由分布于计算机网络上的多个逻辑相关的数据库所组成的集合,每个数据库都具有独立的处理能力,可以执行局部应用,也可以通过网络执行全局应用
❸ Oracle数据库基本知识
Oracle数据库基本知识
Oracle Database,又名OracleRDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。本文为大家分享的是Oracle数据库的基本知识,希望对大家有所帮助!
它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的适应高吞吐量的数据库解决方案。
介绍
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的一种中间件。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。
Oracle数据库最新版本为OracleDatabase 12c。Oracle数据库12c引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。
就业前景
从就业与择业的角度来讲,计算机相关专业的大学生从事oracle方面的技术是职业发展中的最佳选择。
其一、就业面广:ORACLE帮助拓展技术人员择业的广度,全球前100强企业99家都在使用ORACLE相关技术,中国政府机构,大中型企事业单位都能有ORACLE技术的工程师岗位,大学生在校期间兴趣广泛,每个人兴趣特长各异,不论你想进入金融行业还是电信行业或者政府机构,ORACLE都能够在你的职业发展中给你最强有力的支撑,成为你最贴身的金饭碗。
其二、技术层次深:如果期望进入IT服务或者产品公司,Oracle技术能够帮助提高就业的深度。Oracle技术已经成为全球每个IT公司必选的软件技术之一,熟练掌握Oracle技术能够为从业人员带来技术应用上的优势,同时为IT技术的深入应用起到非常关键的作用。掌握 Oracle技术,是IT从业人员了解全面信息化整体解决方案的基础。
其三、职业方向多:Oracle数据库管理方向、Oracle开发及系统架构方向、Oracle数据建模数据仓库等方向。
Oracle数据库漏洞分析:无需用户名和密码进入你的数据库
一般性的数据库漏洞,都是在成功连接或登录数据库后实现入侵;本文介绍两个在2012年暴露的Oracle漏洞,通过这两种漏洞的结合,可以在不掌握用户名/密码的情况下入侵Oracle,从而完成对数据的窃取或者破坏。这两个漏洞就是CVE-2012-1675和CVE-2012-3137。
引言
国内外很多重要的系统都采用Oracle作为数据存储的数据库;在Oracle中存储着企业或政府大量敏感的信息,在金钱或政治的诱导下,内外部黑客会想法利用管理、网络、主机或数据库的自身漏洞尝试入侵到数据库中,以达到自身的目的。
本文的作者通过对Oracle俩种漏洞的组合研究,设计了一套在不掌握用户名/密码的方式入侵到Oracle中;这种方法,比传统的需要登录到数据库中的入侵方法,具有更大的安全隐患和破坏性。
本文希望通过对这两个漏洞和攻击方法的介绍,能够引起相关人员的重视,完善对数据库安全的措施。
1、概要介绍
本文提供的方法是基于漏洞CVE-2012-1675和CVE-2012-3137对oracle数据库的攻击测试的方法。
CVE-2012-1675漏洞是Oracle允许攻击者在不提供用户名/密码的'情况下,向远程“TNS Listener”组件处理的数据投毒的漏洞。攻击者可利用此漏洞将数据库服务器的合法“TNS Listener”组件中的数据转向到攻击者控制的系统,导致控制远程组件的数据库实例,造成组件和合法数据库之间的中间人攻击、会话劫持或拒绝服务攻击。
CVE-2012-3137漏洞是Oracle Database 10g/11g身份验证协议实现中存在一个设计缺陷,攻击者无需认证即可远程获取数据库用户密码哈希相关数据,从而可以离线暴力破解用户密码,进一步控制数据库系统。
我们通过如下的步骤和过程可以实现对Oracle的入侵:
(1)利用CVE-2012-1675进行TNS劫持,在监听下利用远程注册,注册同名数据库实例;
(2)新登陆的用户,在TNS的负载均衡策略下,有可能流量登录到伪造的监听服务上;
(3)该监听服务对用户的登陆过程进行监控,并将相关数据流量转发到真实的数据库上;
(4)利用CVE-2012-3137获得通讯过程中的认证相关信息;
(5)对认证相关信息进行离线的暴力破解,获得登陆的密码;
(6)试用破解的用户名/密码登陆Oracle,完成对Oracle中数据的访问;
2、通过CVE-2012-1675进行TNS劫持
该漏洞存在于Oracle的所有版本,并且Oracle至今仅是发布了警告性通知,并未提供解决方案。
要想利用CVE-2012-1675漏洞做TNS劫持,首先需要了解TNS机制。如下图所示oracle 通过在本地解析网络服务名到目标主机IP地址,服务端口号,目标数据库名,把这些信息发送到oracle服务器端监听程序,最后再由监听程序递送DBMS。
其中关键点在于监听会按照目标数据库名递送到名称正确的数据库。那么如果一个监听下有2个同名数据库。监听将自动按照负载均衡把这次访问发送到负载低的数据库上,进行连接访问。数据库注册到监听的方法就决定了,能否同时注册同名数据库在同一个监听下。注册方式分为本地注册和远程注册,通过修改参数可以调整为远程注册。
下面是一段可用的TNS劫持的过程:
1.在劫持机上创建一个和目标数据库实例同名的数据库实例。
2.在劫持机上修改 tnsnames.ora 文件
添加
listener_name=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=目标机器IP)(PORT=目标机器端口)))
3.在劫持机上用sql*Plus 顺序执行下面步骤。
1.$ sqlplus / as sysdba
2. SQL> ALTER SYSTEM SETREMOTE_LISTENER='LISTENER_NAME';
3. SQL> ALTER SYSTEM REGISTER;
4.多个客户端,向数据库发起登录。会劫持到一部分客户端的登录信息。
最终达到效果如下图所示:
按照猜想同一个监听下有2个同名实例。客户端访问监听,监听按照客户端中的数据库名信息分配数据库,由于监听下有2个同名数据库,客户端链接很可能会被分配到劫持者的数据库实例下,再通过配置劫持者的本地监听把客户端请求指回原数据库。结构图如下:
测试客户端链接196次。目标数据库实例获得113次,劫持数据库实例获得83次基本满足负载均衡的假设。(注上面实例是local server 下面实例是 remote server)
通过以上方式我们可以截获约一半左右客户端发送到服务器的合法链接。其中获得了服务器IP、端口号、数据库位置、实例名、登录用户名等一系列明文信息和4组密文信息(AUTH_SESSKEY,AUTH_SESSKEY_CLIENT,AUTH_PASSWORD,AUTH_VFR_DATA)。
3、通过CVE-2012-3137进行密码破解
CVE-2012-3137受影响的数据库版本有11.2.0.3,11.2.0.2,11.1.0.7,有使用了SHA-1加密算法的10.2.0.5和10.2.0.4,还有使用了SHA-1的10.2.0.3(运行在z/OS下)版本。
虽然这个漏洞在11.2.0.3中已经解决,但是仅仅数据库客户端和服务器都升级到11.2.0.3并且sqlnet.ora文件中增加SQLNET.ALLOWED_LOGON_VERSION=12才有效。
正如CVE-2012-3137所描述Oracle为了防止第三方通过网络获取登录信息包。而对密码进行了加密处理。本部分只以oracle11.1密码如何破解为例进行说明。
在发起连接之后(oracle牵手完成),客户端和服务器经过协商确定要使用的验证协议。要完成这个任务,客户端首先向数据库发送一个包。包中包含客户端主要信息和所请求的加密方式。数据库确认加密方式有效后,发送一个确认服务包如下图所示:
在通过安全网络服务完成任何所要求的协议之后,数据库用户被O3logon(oracle验证方式) 进行验证,这个协议执行一个序列来向数据库证明客户端拥有密码。为了避免网络第三方截获到密码。首先客户端发送用户名到数据库来表明用户身份。数据库端根据加密协议,其中96位的作为数据库端密钥,20位的作为偏移量,它对每个连接都是不同的。一个典型的数据库端发给客户端的密钥如下:
AUTH_SESSKEY.....COCDD89FIGODKWASDF……………………
客户端根据加密算法向服务器端发送96位的客户端密钥和64位的密码密钥。服务器端计算客户端传入的密码密钥。如果计算后密码密文和数据库中存储的16位密码密文一致则验证通过。
根据这个过程可知上面TNS劫持包中取得的加密信息:AUTH_SESSKEY,AUTH_SESSKEY_CLIENT,AUTH_PASSWORD,AUTH_VFR_DATA这四个值是解密的关键。我们把他们按照SHA1,MD5,AES192进行一系列处理。最终通过数据字典碰撞得到密码明文。
下面这段网上公布的一段示例代码,这段代码与笔者的思路不完全相同,但也能大概地说明这个漏洞的攻击过程:
import hashlib
from Crypto.Cipher import AES
def decrypt(session,salt,password):
pass_hash= hashlib.sha1(password+salt)
key =pass_hash.digest() + 'x00x00x00x00'
decryptor= AES.new(key,AES.MODE_CBC)
plain =decryptor.decrypt(session)
returnplain
session_hex ='6EAAB5422553A7598143E78767'
salt_hex = 'A7193E546377EC56639E'
passwords = ['test','password',''oracle','demo']
for password in passwords:
session_id= decrypt(session_hex.decode('hex'),salt_hex.decode('hex'),password)
print'Decrypted session_id for password "%s" is %s' %(password,session_id.encode('hex'))
ifsession_id[40:] == 'x08x08x08x08x08x08x08x08':
print'PASSWORD IS "%s"' % password
break
4、建议的预防措施
根据以上两段分析,我们可以有如下的预防措施:
(1)在条件许可的情况下,对Oracle进行补丁升级,对Oracle打cpuoct2012-1515893补丁;注意对于cpuoct2012-1515893补丁要求服务器端和应用服务器端同时升级,否则应用系统将无法访问Oracle;
(2)若无法对Oracle升级,要购买或安装具备虚拟补丁功能的数据库安全产品,防止对CVE-2012-3137和CVE-2012-1675的利用;
(3)建立足够强健的口令,不要使用8位以下密码,或者字典库中的口令。
;❹ Oracle里有没有分布式数据库的概念
因为看了Kamus, yangtingkun, eygle大人写的高级复制文档有这样一段话:
Replicated Database 和Distributed Database 并不一样,在分布式数据库系统中数据在
多个站点同时有效,但是一个表只会存在于一个站点中,而对于Replication 来说相同
的数据将同时存在于多个站点中。
而且我们头总问Oracle里有没有分布式数据库,所以才问的。
❺ Oracle数据库概述及特点
Oracle数据库概述及特点
Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。到目前仍在数据库市场上占有主要份额。劳伦斯·埃里森和他的朋友,之前的同事Bob Miner和Ed Oates在1977年建立了软件开发实验室咨询公司(SDL,Software Development Laboratories)。
ORACLE数据库概论
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。比如SilverStream就是基于数据库的`一种中间件。
ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。
Oracle数据库最新版本为Oracle Database 12c。Oracle数据库12c 引入了一个新的多承租方架构,使用该架构可轻松部署和管理数据库云。此外,一些创新特性可最大限度地提高资源使用率和灵活性,如Oracle Multitenant可快速整合多个数据库,而Automatic Data Optimization和Heat Map能以更高的密度压缩数据和对数据分层。这些独一无二的技术进步再加上在可用性、安全性和大数据支持方面的主要增强,使得Oracle数据库12c 成为私有云和公有云部署的理想平台。
ORACLE数据库特点
1、完整的数据管理功能:
1)数据的大量性
2)数据的保存的持久性
3)数据的共享性
4)数据的可靠性
2、完备关系的产品:
1)信息准则---关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;
2)保证访问的准则
3)视图更新准则---只要形成视图的表中的数据变化了,相应的视图中的数据同时变化
4)数据物理性和逻辑性独立准则
3、分布式处理功能:
ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的关系型产品构成。
4、用ORACLE能轻松的实现数据仓库的操作。
这是一个技术发展的趋势,不在这里讨论。
优点
■ 可用性强
■ 可扩展性强
■ 数据安全性强
■ 稳定性强
;❻ oracle数据库的分布式和tomcat的集群式有什么区别
分布式是架构部署模式的一种。分布式多用于描述架构设计上,当然现在有各种新用法。
集群是硬件部署模式的一种,是集中部署在一个机房里的计算机群体的集中称谓。
分布式网站集群系统是一种多网站架构模式,支持生成独立网站、多个网站,完成各个网站横向一体化和纵向一体化网站群的构建,主站、子站、网站间的信息可共享和信息互联。
简单的说:就是一个企业/个人可以像申请博客那样自助建站,维护,更新,而分布式,就是把问题分开解决的意思,即系统分布在几个不同服务器上。