因为Oracle在互联网快速发展的大环境下越来越强,越做越好。Oracle目前最大的战略计划就是Cloud-云,同时Oracle会持续升级,向精细化,智能化,自动化等方法发展。关注12c,18c,19c的发展路径就可以看到……
举个例子说一下Oracle 19c的一个新特性(Oracle 19c还未发布,从某ACED处获取的消息)。对于传统的集群,如果某个节点挂掉,放在传统的集群中,该节点正在处理的操作会失败,从而可能导致事务会处理失败被回滚。但是19c的新特性就特别牛,有守护进程会全程监控你的事务的每一个操作,如果节点挂掉了,后台会将所有操作切换到健康的节点重做,事务成功执行,用户无感知。
特别的,将Oracle与DB2相对比,Oracle和DB2相同之处就是不开源,最大的不同之处是Oracle绝对开放,DB2相对封闭。比如Oracle在使用时报了一个错误,我们看错误信息大概能知道是什么问题,还有trace日志可查。但是DB2报了个错误,那就是一串错误码,让人不明所以。
也正是Oracle的开放,造就了Oracle在全球数据库市场占用率最高的局面,同时也造就了Oracle相对完善的生态圈。从安全性、稳定性、可维护性等角度考虑,从公司发展的角度来看,大部分的数据库系统仍然要用oracle。
oracle DBA需要掌握哪些技巧?
要想成为一名优秀的DBA,除了数据库本身的技术能力要熟练之外,还要掌握一些其他的技术,比如操作系统、网络、虚拟化、存储...因为IT的多个领域之间都是有关系的,密不可分!
数据库技术:你要了解以下几方面内容
第一:sql语句及plsql语句
第二:体系架构(数据库的安装、卸载及升级;数据库的启动及关闭;监听器及tns的概念;文件、内存、进程的概念,及它们之间是如何协调工作的;表空间、段、区段、数据块的概念及关系;scn及检查点;表及高水位线;锁;用户及权限;审计等)
第三:备份恢复(冷备份、热备份及RMAN备份)
第四:性能优化(执行计划、跟踪、10046事件、hang分析、索引、分区、sql优化、awr报表等性能分析工具、等待事件等)
第五:高可用性(dataguard、rac、goldengate)
希望我的回答对你有帮助!
为什么传统行业几乎都用Oracle,而互联网行业几乎都不用Oracle呢?
银行等传统行业很多都是直接买的Oracle,还有weblogic等等这一类,付费不开源的软件。而新兴互联网行业几乎都是用MySQL tomcat springboot这些。对于开源软件不可控的问题,互联网公司同样也要面临,对于使用spring tomcat MySQL这些似乎也没出过什么问题。难道是传统行业人傻钱多,就是懒得招人来搭框架直接买个现成的能用就行?但是招个普通程序猿来装MySQL,似乎才是性价比更高的方案啊?Oracle weblogic就算有技术上领先的地方,觉得传统行业那些人多半也不懂。求解求解。
首先银行要求绝对稳定性,使用付费不开源产品可以完全责任委托,而且数据库厂商还会有专门维护,省心,省力,安全。
mysql呢,开源产品,稳定性没有o高,如果要深度开发倒是很省事,不过使用mysql就完全要看自己了,银行不会为了一个随时都有可能出现意外的定时炸弹找专门团队维护,而且银行交易量很大,但并非像互联网应用一样超级并发,大部分都是内部接口使用,而且分地区都是不同的服务器,每个地区只存储自己相关的数据,比如你从广东给山东异地转账,原始山东账户里并不存你的记录,转了之后山东数据库才有记录,在依赖oracle商业委托的基础下,银行还会有对账,来保证数据一致性。
但是反观互联网企业就不一样了,超级并发,小型机已经不满足这种并发条件了,哪怕oracle足够优秀,所以要使用应对更高并发特制的mysql,需要有专业的团队进行维护,稳定性不如oracle,不过分布式集群可以避免这种情况。而且mysql因为开源还可以针对自己的需求特制功能。不过大部分企业用不上[捂脸],小公司用啥都一样。阿里重新开发mysql除了自己用外还可以卖服务。
再说一句,阿里其实弃o选m其实除了并发问题,还因为oracle太贵,因为企业要考虑收支,就算阿里利润率也比不上银行[灵光一闪]