今天看啥
热点:

蓝的成长记——追逐DBA(17):是分享,还是消费,在后IOE时代学会成长


【前言】

这是一部个人记录的成长杂记,既然步入到oracle的这片蓝海,免不了一路的奔波与不断的考验。借由此杂记与库友们分享蓝的成长历程。

不知何时起对蓝有了一种说不出来的痴迷,痴迷其广博,痴迷其深邃,痴迷于近在咫尺却又遥不可及。

而又说不清从何时起,注视于oracle的红色耀眼,照亮出眼前的一道光,未知与迷惑在自己的脚下开始初露些许人生的充实与青春的回馈。

在追逐于DBA梦想的道路上步步前行。

 

在一个需要跑的时代里,蓝选择步步为营;

分享前的沉淀,更多的是成长,而不应是消耗。

面对打压和质疑,我们能做的,只需低下头,默默的擦亮自己的枪。

——深蓝

不要总说日子无聊,技术不出众时,沉下心,多学习多分享,等到技术登峰造极时,再想想为行业能做多少贡献,挣钱只是捎带脚的事。

——深蓝

 

我们正身处一个自由、民主、开放、共享的互联网向物联网过度的时代。面对层出的技术创新、技术变革,只有加快我们学习的速度,才不致于被IT浪潮所淹没。

说到IT,相信,“开发”二字应该是不绝于耳。常常这两个字被赋予的一种项目使命,职业生涯中好似带上光环,在伴随着稳定的收入。这就是为什么人们选择开发,而蜂拥而至吧。这段时间无论是生活还是工作,跟开发人员的交流愈来愈多,从中让我学到很多东西,丰富了我的视野。但另一个侧面,有些负面的因素也在左右着我的认知。因为常常在开发人员的语气中,你会感觉到,不只是去IOE浪潮再对DBA的影响力有所削弱,似乎有一部分的开发人员思维已经固化,认为“开发”才是最重要的,进而获得相应的高薪也是顺利成章的。而且很多情况下,技术交流最后都会衍生成可以赚多少钱,未来会变的如何牛,等等吧。我不太想回忆了,也懒得回忆了。只是常常让我有些触动,如今的技术人们都在为了什么从事技术?除了挣钱,我们是不是应该更多的思考下,我们到底是什么趋使我们当初走上了技术这条路,而又是什么趋使我们在这条路上,“坚持”的一直走下去。我想,如果为了钱,你可能是过客,但做不到“坚持”,更谈不上“大牛”了。

话再说回来,再说说“开发”,其实搞开发的辛苦、艰辛这是IT业内达成共识的事,想“做好”开发,不是件容易的事。而对于DBA,似乎并不像“研发人员”这类职位一样被人们所熟知,有一部分甚至在企业中得不到认可。这其实是很尴尬的局面。原本“开发”与“DBA”其实应该是熟络的密友,是难舍难分的搭档才对。因为无论是研发也好,还是DBA也好,思维模式有很多近似的地方,只是针对从事的重难点侧重不同,比如说开发要想办法让软件系统性能更高,而DBA则希望数据库更具健壮性,这前台、后台之间,其实是相辅相成的。而发展成当今的现状,这也是有各种层面的因素导致的。

记得听老前辈DBA说过,在10年前,DBA是个极为稀缺的职业群体,而且只有大公司才有DBA,而且“光环”非常耀眼。伴随着IT业界的发展,对于数据库的安全性愈发受到重视,再加之IT系统管理的精细化发展,对于DBA的需求逐渐增加。由开始的“大公司内研发转型DBA发展之路”,已经转变为“不想成天写代码的人群选择职业”的发展原因。说到前后两者的对比,想必最大的区别就是——开发技能!在之前对于DBA的要求,是只有你掌握了开发技能以后,才有可能成为DBA的,也是当初DBA为何门槛高的原因,因为很多开发人员可能还没过渡到DBA就已经在开发的人群中淹没了。而当今已不是这般,已经可以主动选择DBA,而其中已经可以细化出“开发DBA”还是“管理DBA”,但这在我看来,身为一个DBA的话,不掌握些开发技能,真的是有失DBA之名。如果只是单纯的懂管理,在未来想必终会被淘汰。所以,我们在立足于“数据库管理型”技能之上,应该更多的去了解开发的知识、理论。

如果我这么比喻不知能否被认可:对于开发人员,侧重的是了解业务逻辑,而在经过多年积累后,找寻技术突破遇到瓶颈时,或许可以尝试一下转型DBA,而在DBA磨练打拼数年之后,由于懂业务、懂平台结构,于是成为了企业的“架构师”。

篇章一、过往:经验的积累:简简单单

(1)、条件反射的版本

2014年记于威海

回忆两点细微的所见所感

一知半解的情况下最容易陷入惯性思维的漩涡,可能不是本身有难度,而是习惯了不再做出思考的代价。

培养条件性反射的细节:版本+位数

可曾留意的细节,数据库版本的位数。在最初工作的时候,对于位数的概念不是很清晰,而是伴随着工作中由于版本位数不统一造成的一些列低端问题的出现,才让我意识到,对于位数原来oracle如此明确。

[oracle@hyl ~]$ sqlplus '/as sysdba'

SQL*Plus: Release 10.2.0.1.0 - Production on Wed Aug 6 08:41:02 2014

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production

With the Partitioning, OLAP and Data Mining options

即使在我们登陆sqlplus时就有版本的信息,大家是否留意过这个简单的细节呢~

上面是登陆10G的sqlplus时,如果oracle是64bit的,是会有提示出“64bit”的信息的,而如果是32位则没有位数提示。在oracle11G也同样,如下:

\

还有几个方法,也可以查看到oracle的位数,如下:

法二:

\

法三:

\

这里说明一下,如果是32位的oracle,上面的这个值应该是8位的16进制数。

法四:

在linux系统下,可以用file命令查看版本信息,如下:

\

(2)、还跟位数有关,常用的PL/SQL Developer

在64位的数据库上使用PL/SQL Developer连接。

\

oci.dll是64位的,32位应用程序PLSQL Developer是无法加载的,而且PL/SQL Developer只支持32位,所以如果要连接64位Oracle,我们就必须安装一个32位的oracle客户端才行。

分享后思考

自省于消费式的年少经验,最初的时候,缺乏稳健与沉淀式项目的有力支撑,就有些着急了,想要快些却快不起来。恰当好的时候,被一些不经意的事当头棒喝,惊醒梦中之人,挥别衣袖,走上征程。

曾几何时,对于技术的保守、技术固守的姿态不仅没利于技术提升,反而让圈子更小。当意识在某个时机点发生变化的时候,才让人意识到,分享的力量远高于技术的固守。俞分享俞快乐。俞成长,很多东西反而觉得没必要遮掩,因为简单的东西早晚会被人学会,为何不助推一下呢。

在一个技术高速发展的今天,让一项技术高速发展,离不开分享的魅力。

想想昨天,垄断化的技术领域,虽然让某几个企业挣得锅满盆满,却不知道无形间滞后了技术的发展速度。小到一个领域,大到一个民族的科技水平。生活中的细微处,无数的平凡岗位都在改变着我们这个国家,只是大一点或小一点。

此时怎么意识到,感觉自己扯大啦~~跳过吧~~嘿嘿~~

篇章二、基本维护:工具种类的不断积累

2015年哈尔滨

回望跟oracle打交道的一段时间里,或频繁或偶尔的使用了各种各样的辅助工具,还真是不少呐~~~~这里做个小概括。

说些皮毛,但愿对维护能有点帮助~~或者帮助初级的运维人员一个探索工具类软件的思路,O(∩_∩)O哈~

(1)、使用TOAD遍历表空间

TOAD的功能很强大,比如说图形化查看表空间的使用情况,看看下面这个例子:

\

同样可以用命令来完成:

************************

查询表空间数据文件空间利用率

************************

with t as
(select tablespace_name, sum(bytes)/1024/1024 total
from dba_data_files
group by tablespace_name),
f as
(select tablespace_name, sum(bytes)/1024/1024 free
from dba_free_space
group by tablespace_name)
select t.tablespace_name, t.total, f.free, t.total - f.free used, (t.total - f.free) / t.total * 100 usage
from t, f
where t.tablespace_name = f.tablespace_name;

(2)、使用PL/SQL Developer编辑建表语句

这款软件普及率相当高,想必,不用多说,但凡跟数据库打交道,相信大家一定都会用过的,O(∩_∩)O~

举个例子,例1:导出建表语句:

\

\

例2:查看session信息

\

该软件功能很强大,操作很简单、易用。

(3)、LINUX操作,紧急救火灵活使用,选择putty

\

小巧、易用的远程联机软件,选择它就是因为灵活、易用。

\

 

(4)、甲方的维护人员,常驻的DBA,CRT强大易用

\

这是一个功能强大的远程联机软件,和putty很相似,优势在于本地订制功能性很强,操作更容易上手,功能实现上其实与xmanager、putty、ssh等差别不大。

\

(5)、远程的文件传输-推荐Xmanager

这是我用习惯的文件传输软件,同样使用SecureFX、SSH(Secure File Transfer Client)或FTP、samba等也都可以实现。

\

 

(6)、制作流程图-Microsoft Visio

\

这是微软的一款流程图、框架图设计类软件,其中提供了大量的专业模板、工具。在我们平时工作中,绘制拓扑图、框架图、架构图帮助很大。

(7)、DBA知识记忆工具:微软的XMind思维导图助推记忆

\

这是款不错的思维导图软件,可以帮助我们记忆理论知识、整理体系结构脉络、制作学习进度等等。

\

(8)、关于数据库的设计,学用PowerDesigner

powerdesigner可以用于绘制数据库ER图,里面涵盖了很多PL/SQL Developer软件的功能,对于专业的数据库设计人员,使用这款软件将为数据库设计带来许多便利。

\

(9)、远程的利器选择多多:远程桌面、TeamViewer(互联网)、PCAnywhere、VNC、Xmanager

\

 

(10)、少不了的列编辑---UE编辑器,结合使用Notepad++,效率会更高

UE里的列编辑,是个超好用的功能,如下:

\

还有Notepad++查看脚本或sql文件,显示界面、操作都很强大,适合于UE编辑器结合使用。

\

(11)、无穷尽的工具,善于发现,需求带来思路

很多时候,驻地的DBA人员也许不单单是关注与数据库本身了,随着日常不同业务需求的多样性,去了解、学习并且善于发现工具也成了我们需要的一种能力。

1、dmp文件的版本修改器

2、实验环境的搭建Vbox、VMware

\

\

3、HTTP服务器:Apache HTTP server

\

4、ETL工具:kettle

\

5、FTP服务器:Serv-U

\

 

6、中间件的部署:WAS、tomcat、weblogic

7、网络爬虫工具:火车头采集器

有兴趣可以到网上搜搜看,很多视频、文档资料。

帮你了解互联网时代的数据爬取。

\

8、数据库设计:官方的Oracle Data Modeler

功能已经很强大,完全不逊于powerdesigner、TOAD的数据库设计工具。而且官网提供免费下载,并且有完善的官方手册支撑。

下载地址:http://www.oracle.com/technetwork/developer-tools/datamodeler/downloads/datamodeler-087275.html

9、系统监控工具:nagios,这款软件还没怎么玩过,同事有在用的,正在考虑找时间摸索摸索。

10、代替PL/SQL Developer和TOAD,SQL Developer愈发强大

\

对于DBA平时可能遇到的工具,比如还有服务器热备方面的软件:rose、SLB\NLB,或者F5负载均衡设备的管理软件,或是高可用软件heartbeat,keepalived等。或是监控类的Cacti/Zabbix软件等等。还有如可以管理如mysql、oracle、db2、sqlserver多种类数据库的平台管理软件:DBeaver。还有如oracle公司的GC、OEM管理软件。还有如赛门铁克、迪斯杰的第三方备份软件。亦或如一些论坛、社区数据库爱好者们开发的诸如导出表结构的小工具:OracletoExcel。还有把excel文件导入oracle数据库的一些小工具。突然想起来管理mysql的软件如MySQL-Front。想把这些辅助DBA平时工作时的工具都列举全还真不是件容易的事,在工作中伴随着不同的需求,总会涌现出或者发现某个小工具很好用。这个需要我们留心和实践中不断的积累了。

篇章三、强迫症:规划学习资料库

无规矩不成方圆,数据更是如此,尤其是学习资料,庞杂、重点、精炼演变自己的知识库。

——深蓝

 

对oracle认识每天都在发生着变化,oracle已经不是最初单纯数据库产品,发展到现在,已经可以说是一项全面性的架构性解决方案。如数据库集群(RAC)、容灾(DG、GoldenGate等)、网格技术(grid)等等,已经演变成一套完整的产品框架,这就是为什么说oracle正走在“架构性”产品的道路上。与此对应的便是针对不同的架构性产品,需要我们花更多的精力去了解、去学习。这正是我在追逐oracle全貌这条路上时,此刻的心情。

又由于在学习工作的道路上,用别人的文档的时候,始终觉得怪怪的(你是否也有过这种被牵着鼻子走的感觉,非常之不爽!!!)。所以对于文档,总喜欢独自整理一份,个人的努力目标是:让文档成为每个人的工具,而不是多富有思想的知识结构。我是一个理解力不强,表达能力不高的人。所以,想让自己写的东西,让所有像我一样理解力不强、表达能力不高的人,即使没有太多技术基础的朋友也能看得懂,并且用其实践练习。虽然目前还没做到,但这将是我一直追求的方向。让文字变得通俗易懂,让文档变的“傻瓜化”。大多用文档呈现出来的东西,就已经不太有含金量了。因为你所搭建的环境,照着文档能搭建起来,别人照着文档也能搭建起来,所以看似是没有差别的,但其实不然,自己整理一份自身实践过程的文档,不仅是为日后提供一种排错参考和实践指南,更是对基础、细节的巩固和印象的加深。在这之前,我常常遇到,很多问题理解的不是很清晰,但伴随着文档的编写,慢慢的把知识点就理解了,有种只能意会不能言传的那么点意思,这个过程对于学习来说,我个人很受用。

 

习惯慢慢延伸,资料整齐才自在。

——深蓝

学着规划自己的练习笔记本。对于从事oracle相关的工作,自己的文档资料库是必不可少的。人的记忆有时候是不可靠的,所以我们需要文档的支撑。当有了清晰的oracle思维以后,再结合过往经验的积累,再配上以往使用过的文档资料。我们再面对问题时,相信会增添几份从容。

类似于下面的“知识库”,如果你是一个初学者,我强烈建议从现在开始尽可能的把你的知识库体系结构建立起来,越整齐、分类越明确越好,当你经过一段时期的积累以后,你会发现整理文档是个“很有趣”的事。因为你早已从中受用了。

\

随着时间的演变,资料库慢慢整理成了这个样子,如下:

\

实验环境规划:你要有一块足够大的硬盘。

——深蓝

搭建实验环境、测试库,这是我们跟oracle打交道必不可少的技能,不要轻信网上的一些实验操作,只有当在测试环境下经过测试后,我们才能相信“一点点”,这里我之前就犯过这样的错,所以感受比较深。之前在网上看到的一篇文章,也是个技术大牛的建议,于是照搬过来,于是生产库挂了!经过一番绞尽脑汁的处理后,问题解决了。从那以后,对于网上看到的资料让我变的“谨慎视之”。所以这里推荐给初学者朋友,一定要有测试库,不是讽刺网上的文章质量,而是对于我们从事的IT环境而言,这是个复杂性的平台,差异的平台环境相同的操作过程,可能会带来完全不同的效果,所以唠叨了半天,切记测试库!!!

\

为了培养我们的管理思维,建议一下自己的实验环境信息,可以开始类似于下面做出整理:

 

IP地址

使用主机名

用户名/密码

操作系统

数据库

备注

10.53.105.10

hyldb

root/root oracle/oracle hyl/hyl

CentOS 7

oracle 12.1.0.1

 

10.53.105.20

 

 

CentOS

oracle 11.2

集群节点1

10.53.105.21

 

 

CentOS

oracle 11.2

集群节点2

10.53.105.130

harbin101

root/root oracle/oracle

redhat 6.3 64bit

oracle 11.2.0.3

 

10.53.105.135

orahyl

root/root oracle/oracle

 

oracle 10.2.?

 

10.53.105.136

SHdianli

root/admin@123

CentOS 6.2 64bit

 

 

10.53.105.137

shycbank

root/admin@123

CentOS 6.4 64bit

 

 

10.53.105.138

 

 

CentOS 5.6 64bit

 

 

10.53.105.139

huangyanlong

10

Win7 64bit

 

 

 

当然实际学习中,正在改用excel表格,发现表格信息量更大,才能勉强把虚拟机模拟成服务器的待遇来维护,这就像是刚刚接管一个运维项目组,整个项目组下面需要维护多少主机、多少数据库、有多少高可用的环境,我们都能使用到什么技术,这些我们都要心中有数,而且要手中有枪。

目前在重新规划实验环境,把实际中的统计表格映射到测试环境下,整理出类似于下面的统计样式:

\

\

篇章四、后IOE时代,让oracle思维帮我们成长

坚持深入精通oracle技术,不断吸取数据库领域新技术。

——深蓝

在后IOE时代,相信oracle原厂工程师也同样在见证着oracle在中国市场商业形态的变革。相信“在数据库领域技术变革的今天,oracle的产品形态必然会借着云计算发生变革,DBA面临着转型的危机,但我们可以预见,虽然我们还不能预测未来oracle的商业模式会变成怎样,但是在这场变革中能够成功完成转型的DBA确实是那些oracle DBA领域中技术较好的那部分人。技术总会发展,但ORACLE的DBA思维才是最终决定其是否真的会被技术浪潮所淘汰的根本原因,因此我们不应该感到恐慌,不是摒弃掉一切的过往,完全逃离开某项技术,而是应该去坚持学习新兴的技术,用来丰富自己的技术思维。因为在云端,oracle的野心,依然是称霸数据库领域”。oracle不会消亡,随之伴随的职位需求也依然会存在。而且,这种要求或许会向着更高端的行业所定向。金融、证券、电信、电力等超强企业不会舍弃掉关系型数据库是必然的。任一个行业都足以让oracle存活,而不是某些所谓专家肆意炒作的oracle会被取代种种,oracle会消亡等等理论,看到着实让人可笑。极端性的假设的话,对于oracle DBA最坏最坏的可能性,也许会演变成只有原厂才需要oracle DBA(呵呵,自己说着也难免冒个冷汗~~,哈)。当然这是极端假设,有可能会出现,也有可能这种局面永远不会出现,对于“去IOE”我们不应该盲目的去放大化,没有所谓专家们预见的那般可怕。我们能做的,只要结合自身的学习情况,选择一个数据库领域的发展方向,用尽快的时间把技术学好、学精,这才是正道吧。

说多了沉重的去IOE,话题转而回到oracle上来,说点轻松的事。你对oracle的文艺,了解多少?

先看看下面这张图,有没有发现亮点?

\

上面这张图不太明显,看看下边,你一定就懂了。

\

\

看看库里的眼神,他看的不是哈登,他看的是ORACLE!哈哈O(∩_∩)O哈!

哈哈,很多时候,oracle也是很文艺的,之前知道在帆船界(美国帆船极限运动)、电影界(钢铁侠系列电影)这样文艺十足的地方,都能看到oracle这样高科技公司的身影足显其oracle文化的文艺范,当然其中会有宣传形象和打广告的成分,但这完全掩盖不掉oracle的文艺思维。因为你可以想想,单纯的做广告的话,玩极限运动的、拍电影的哪个能用得起oracle,哪个又知道“甲骨文”是啥,可能我说的有点极端了,也许哪些高端用户平时都比较关注帆船运动或者跟影视界关系往来甚多,oracle用这个方式,证明本身的实力,这种广告效应也未可知,谁知道呢,但我想表达的意思就是这个,不知道你迷糊了没。不过换个角度想,似乎也能证明一下oracle想要普及、证明自己实力的决心,想必未来如果oracle入主更多的体育运动领域,想必影响力又会是上一个台阶了。这次我们在14-15赛季的NBA季后赛上,我们就鉴证了一把oracle的涉足,又一次看到了oracle的身影。当高科技公司贴近我们的生活时,“高大上”似乎没有那么神秘,oracle思维,同样可以指导我们的生活变得更丰富多彩。

说过了oracle的文艺,再转到沉重的“技术”选择上,对于未来选择一个什么技术作为自己的发展方向,常常容易被舆论所迷惑。而能坚持笃定的朝一个方向走,能在一个技术领域做上“十年”,不成专家都难!但还是那句老话,行百里者,半九十。

于是你也曾和我一样在DBA选择上徘徊不定,试试用这样的学习思路走下去:精通ORACLE备份、丰富SQL调优、熟练存储过程开发、精通oracle体系结构。。。。。。一路慢慢走来,

 

因为“金钱”选择“行业”,因为“行业”选择“技术”,小心得不偿失。

——深蓝

后IOE是被夸大的误解,唯我们选择一个“目标”为之奋斗,路才能走的更踏实。

——深蓝

在整个oracle领域,我还是个菜鸟,这不是妄自菲薄,而是纵览了oracle的整个知识体系后,发现需要学的还有太多,还在不断的学习中,希望早日摆脱“菜鸟”的行列。

——深蓝

www.bkjia.comtruehttp://www.bkjia.com/DB2/1016596.htmlTechArticle蓝的成长记——追逐DBA(17):是分享,还是消费,在后IOE时代学会成长 【前言】 这是一部个人记录的成长杂记,既然步入到oracle的这片蓝...

相关文章

相关搜索: 还是 时代

帮客评论

视觉看点