我是一名大四的DBA实习生。

前几天时候,公司里带我做业务的导师让我到其他部门给一位开发人员解决一个DB问题,当时我是既激动又紧张,到了开发同学那,发现是一个存储过程执行有问题:

看到这个报错信息我第一个反应就是,原来是个很简单的问题,接着我人也就放松下来了,毕竟第一次让我去给别人解决问题,我要是连问题都看不懂,那可就丢人丢大了。

然后我便开始着手解决。表空间不足嘛,不外乎两个原因:要么没有开自动扩展;要么是开了自动扩展,数据文件到了最大的上限。

OK,自动扩展是开着的,那么只能是数据文件到了最大的上限,我也不太清除数据文件最大可以到多少,既然满了,那我再给表空间添加一个就是了:

然而当回车敲下去的时候,却报错了:bigfile类型表空间无法添加数据文件。

bigfile是什么鬼?从来没听说过啊,当时我就蒙逼了。

上百度查询,发现这是表空间的一种类型,只支持一个数据文件,那看来数据文件是加不上了,怎么办呢,只好给导师打电话求教,说明情况后导师接着就道出了问题的关键:bigfile类型的数据文件最大可以到T级,为什么才60多G就空间不足了?尝试resize一下增大数据文件的最大空间。

针对这个问题其实我考虑过是不是磁盘的空间不足了,想要登到OS层查看一下磁盘的使用情况,但是开发同学说他没有权限,所以我只好把这个可能暂时抛到了脑后,决定先resize一下。

几分钟的漫长等待,终于迎来了...又一次报错。

文件I/O错误?!这一下可把我吓得不轻,我不会把里面的数据给搞坏了吧???然后又一想,感觉应该不会,毕竟是扩空间。然而问题还要解决,开发同学提醒是否可以设小一点如70G试试,但是我想的是100G明明并没有超出最大范围却报错,可能是本身有一些问题,设小一点又有什么意义,却是已经把磁盘空间不足的这个可能不知道抛到了哪里。

再次问过导师后,我决定新建一个常规的表空间,将用户的默认改到新的表空间上,这样以后不够了可以直接加数据文件,当当当一阵操作后,成功将用户的默认都转到了新的空间,开发同学执行存储过程测试,结果...

当时我的内心是极其崩溃的,它居然还是提示原来的表空间不足!!!

然后开发的同学告诉我,有一部分数据成功插入了新的表空间,此时我已经完全不知道该怎么办了,只好让导师下来解决。

导师下来后又执行了一次resize,依旧报错,然后告诉开发:可能是磁盘的空间不足了吧,然后又详细的解释了一下,问能否登上OS查看一下,结果这次开发居然说:哦对,我好像应该能登上。

...尼玛。

登上OS查看,发现确实是因为磁盘空间不足导致的,100G的硬盘,太老了,建议申请添上一块500G的盘,然后目前还剩下几个G,resize增大了几个G先凑合用。

问题到此就算是解决完了,然而有几个问题却值得我思考:

  • 为什么我早就想到了磁盘空间不足的可能,却一直不抓住它?

开发的同学说没有权限的时候,我就暂时抛开了这个可能,结果后来彻底忘记了这个可能。

这儿我起码犯了两个错误:

  1. 当我开始怀疑磁盘空间不足的可能时,我没有向开发的同学很清楚的解释这个可能,也没有说明我要登录OS的目的,而是直接就问是否能登录OS,假如当时我解释清楚这个可能,并说明要求登录OS的原因,那么开发的同学即使真的没有权限,也会针对这个要求想办法,尽量满足我的需要;

  2. 当我暂时抛开这个可能去尝试其他方法时,最后都纠结于其他的各种问题中,最后导致完全遗忘了它。我没有把握住问题的本质与重点,反而陷入不太相关的一些问题中不能自拔;也没有发觉各个问题之间的联系,而是纠结于单个的独立问题。比如扩容时的文件I/O错误,其实就是因为磁盘空间不足导致的。

这两个错误,一个是因为我没有意识到交流的重要性;一个是因为我缺乏冷静的分析。

我一直是一个比较话少的人,我的职业更偏向技术,也不需要太多的话,然而我却并不知道,在职场中,有效的交流是极其重要的,所幸的是,现在我知道了。

至于第二个错误,还要说到下面的第二个问题。

  • 为什么我没有完全发挥出自己分析并解决问题的能力?

我可以打包票的说,如果这个问题发生在我自己的电脑上,那么我解决它是没有任何问题的。

那么问题出在哪了?

我记得当初在学习数据库时,老师曾经告诉我们:以后做为一个DBA,一定要有自信,以及很强的抗压能力,因为以后出去了可能经常会出现你一个人解决问题而身边围了一圈人看着你这种场景,通常这一圈人里还大都是领导。所以DBA一定要能扛得住这种压力,并且自信、冷静地分析问题。

当然老师说的是那种传统行业或第三方公司的情况,我所在的互联网行业像这种围一圈领导的事情还是不太可能发生的,然而这足以说明DBA必须要具备的素质,不只是专业技能。

因此导致我无法冷静分析问题的因素不外乎这么几个:

第一次被指派去独立解决问题的紧张;开发同学一直盯着我的压力;第一次在生产库上直接操作的胆怯;还有,心态从一开始就没有摆正:我给自己打上了理所当然的实习生的标签,本应该是同事我却以实习生对前辈的方式去交谈与对待。

这些都导致了我不够自信,并无法静下心来分析问题。

当然初入职场,第一次难免会这样,而我需要做的,就是摆正心态,保持自信,不断磨砺,默默成长。

我吸取了教训,并继续努力。

◆  ◆  ◆  ◆  ◆

在给开发同学解决完那个问题几天之后,我收到了导师的一封邮件,让我再下去一趟。因为那个开发的同学已经申请了500G的硬盘,现在需要将原来的100G中的数据迁到新的硬盘中。让我去做。

其实导师是提前给我发的邮件,但是当时我没有打开邮箱,直到需要我下去做了我才知道这件事,因此当我看到邮件中的内容是让我去做迁移我又懵了。

迁移可是大动作, 需要一系列的流程,具体我就不细说了,在我们6个实习生中也不是所有人都做过迁移,我下去之后开始的一段时间真的是完全不知道该怎么做,后来只好叫了另一个做过迁移的实习生下来帮忙。她虽然做过迁移,但是也是心里没底,所以下去的时候还抱着迁移的文档。

我一直挺纳闷,为啥迁移这样的大动作会让我这个从没做过的实习生自己来做,后来又问了开发同学具体的需求,才明白,原来不是迁库的迁移,而是本地数据文件迁移。这个就简单多了,说白了就是把数据文件换个地方。

想明白后就简单多了,我们两个讨论着开始做:

总的流程就是这样,cp时耗费了一段时间,然后第三步rename时报错:

明明已经完全对照数据文件修改了目录的权限,可还是报错权限问题。

查看了总目录的权限:完全正确;数据文件的权限:完全正确。针对某些可能网上搜索,也没找出答案。

因为在迁移的过程中tablespace是offline的,所以肯定会影响业务,并且当时已经到了吃饭的点开发同学要去吃饭,所以只能再将原表空间online,导师说等回来他看一下。

是因为什么原因呢?当然是权限不对,但不是数据文件和总目录的权限,而是子目录的权限。我当时和另一个实习同学都确信已经按照原目录修改了权限,但是还是权限出了问题。因为当时我们是按照datafile的权限640修改,但目录的权限却应该是755。

我又犯了哪些错误呢?

1) 粗心

虽然如果再给我多点时间我一定能解决这个问题,但是通常职场上不会给你时间让你解决自己犯下的错误,生产上更是如此,因此最好的办法就是不犯错误。不过人毕竟不是机器,总难免不会犯错,那么退而求其次,最起码犯了错要能及时发现并改正。

然而我最大的问题就是开始不但没能发现自己改错了权限,还坚信自己改对了并且没有去检查。为什么我坚信不疑的记忆会欺骗我呢?

我曾经在网易TED演讲上看到过相关的演讲,大意就是讲人们所坚信的记忆有时也会欺骗自己。我搞不懂具体的科学原理,但是我告诉自己:当所有的可能性都排除后,请试着再怀疑一次自己深信不疑的东西。

当然这只是在解决问题的过程中犯下的错误,接下来的几个才是真正潜在的,我没有立刻意识到但却至关重要的错误:

2) 迁移操作之前也看过别人做过,另一个实习生同学也将迁移的文档分享了,但是为什么我没有及时整理,以至于需要我来做的时候我毫无准备?

我给自己找了一堆的借口,但幸好现在我意识到,这些都只是借口。

3) 没有养成一直开着邮件,或上班就打开邮件的习惯

这个看起来似乎无所谓,但实际上这是非常重要的一个习惯,就这件事而言,如果我一直开着邮件,那么我会提前收到导师的通知,可以提前准备。而且一些重要的事情或需求也都是通过邮件来传达,因为我是实习生还没怎么接触到业务,因此很难意识到这些,如果等到成为真正的员工还没有这个习惯,或许会后悔的。

不过幸好,这件事让我意识到了这一点,为时不晚。

◆  ◆  ◆  ◆  ◆

我不知道这两件事有没有给我的导师和开发的同学留下不好的印象,总之事情已经这样了,后悔也没用,我能做的就是总结下经验教训,尽量避免,下不为例。同时努力学习,有了足以应对一切的知识与技能,做事才会有底气。

分享给大家,希望能给初入职场的同学一点启示,与大家共勉。

DBA菜鸟的进化简史:不忘初心,记工作中踩过的三个坑相关推荐

  1. 【Python进阶】Python进阶专栏栏主自述:不忘初心,砥砺前行

    转眼间加入有三AI快半年了,今天给大家来个自我介绍,分享下这一路来的历程与未来的规划. 作者 | 汤兴旺 编辑 | 汤兴旺 不忘初心 不知道为啥,从小自己对IT有着莫名的兴趣,但由于自己的近视度数太高 ...

  2. java程序员面试经历(不忘初心,永不放弃,放得始终)。

    其实一直想静下心好好写一点博客,记录下青春,但一直忙于学习,写bug.....转眼间2017只剩下最后几天,岁月无情划过,不留痕迹,唯有稀疏地中海.哈哈,本篇文章主要是想分享下刚毕业入门找工作的一点小 ...

  3. 自下而上:万物进化简史,罗辑思维强烈推荐,优生学在欧美造的孽令人震惊...

    4星|<自下而上>:万物进化简史,罗辑思维强烈推荐,优生学在欧美造的孽令人震惊 旁征博引型著作.引用多个领域的事实和专家的观点,论证作者的观点:不仅仅是有基因的生物,以下这些事务也是自下而 ...

  4. 计算机编程软文,做一名程序员我不忘初心

    这是一篇软文.但是绝对不是鸡汤:为啥不是呢?因为我文笔太差....偶尔矫情发发牢骚(勿喷) 一.说说程序猿行业 现在社会上给IT行业贴上了几个标签:高薪.高危.高大上.秃顶(哈哈).这些标签我相比大家 ...

  5. 以梦为马,以汗为泉,不忘初心,不负韶华。

     近几年总会莫名的感叹时光过得太快.有时候思考人生,会被发散得一发不可收拾,会想到父母的老去,配偶的老去,子女的长大,朋友的分离.身边的部分亲人已经和我们永远离别,某些曾经掏心掏肺的朋友不再明面上的关 ...

  6. 十月工作总结:勿忘初心,继续前行

    好久没有更新博客了,偶然间翻开自己的博客列表,最近一篇还是在八月初时候写的.而且最近也没有硬文章或者是干货来放送.再不更新啊,估计博客就真的荒废了. 不经意间,十月份又过去了,现在来为十月份做一份总结 ...

  7. 不忘初心,砥砺前行——写在数据院成立四周年之际

    [编者按] 在一个寒冬的下午,我来到位于清华紫荆门附近的双清大厦,数据科学研究院就坐落在此.那是我加入数据院的第一天,印象尤为深刻.深刻的并非是某件事情,而是一个令我有些措手不及的小任务:在数据院成立 ...

  8. 互联网大脑进化简史,华为云EI智能体加入-2018年7月新版

    要:华为云EI智能体是2018年以来产生的第八个类脑智能巨系统,在中国,目前除了小米.联想.今日头条,几乎所有的互联网巨头都提出了自己的"大脑"系统建设计划. 1969年互联网诞生 ...

  9. 不忘初心,努力做最好的自己

    又是一个平静的夏日夜晚,收拾好家务,贴上一贴面膜,准时的坐在电脑前,来到51CTO,其实这样的生活,已经成为了每天的必然,为了曾经的梦想,为了成为更好的自己,不负时光. 十年前的那个夏天,我毕业于一座 ...

最新文章

  1. OpenCV(二十)模板匹配
  2. R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(单色填充、分组颜色填充)实战
  3. 避免DateTimePicker闪烁的解决方案
  4. apache php mysql 开发_Wndows下Apache+php+Mysql环境的搭建及其涉及的知识(转)
  5. hp-ux锁定用户密码_我们如何简化925移动应用程序的用户入门— UX案例研究
  6. 公有云 私有云 混合云_您需要了解的有关混合云的知识
  7. 开源作者痛斥京东重量级项目抄袭
  8. 南阳oj-----n-1位数(多解法汇总)
  9. 第一代程序员王小波,最会编程的作家
  10. jQuery阻止提交表单的实现方法
  11. 学生综合素质评价系统c语言,学生综合素质评价表自我评价范文(2)
  12. tensorflow graphics详解
  13. 新年的开始——关于过去现在和未来
  14. 即时通讯系统的消息到达率如何保障
  15. iOS GameCenter 挑战,排名
  16. React Native加载动画,lottie-web 将json解析成动画
  17. These are the first 50 documents matching your search, refine your search to see others
  18. 线性代数---魏福义版 第二章习题答案
  19. ADV-201 我们的征途是星辰大海
  20. Excel如何避免输入重复值

热门文章

  1. 记住这些技术名词就够了
  2. 仿京东放大镜效果的实现
  3. php项目开发经验-2个月学习php经历
  4. Can’t import the named export ‘bypassFilter’ from non EcmaScript module (only default export is avai
  5. 解决android:layout_marginBottom在RelativeLayout中无效的问题
  6. 学习笔记——margin-top,margin-bottom之间的合并问题
  7. 初中生学计算机学编程,初中生学编程杂谈(1)
  8. ElasticSearch聚合查询返回结果buckets取值
  9. 项目实战:51单片机控制的小型PM2.5环境检测系统,附技术文件和源码
  10. Unity实现APK覆盖安装