曲折的修炼之道-从代码员到Oracle管理员 (曲折在哪)

教程大全 2025-07-18 03:21:38 浏览

DBA是当下十分流行的职业,而Oracle管理员本身的修炼经验,对于后来人而言则是很有帮助的。下面是foxmile总结的自己的Oracle管理员的学习经验,给大家分享参考一二。

备份重于一切,没有备份,迟早要丢失数据!

三思而后行!

从代码员到Oracle管理员

对于DBA来说,责任心最重要!

我的文笔不好,但是相信大家还是看得懂的。说起来我接触Oracle数据库已经有四年了。从最早的写SQL脚本、发布数据库版本、处理一些简单的问题,到现在管理公司的十几个数据库,经历很曲折,我想对很多朋友来说很有借鉴性。

我是学电子的,导师的项目是国防口的,毕业前那年,导师给的课题是做一个关于自动化测试的软件,我就这样稀里糊涂的进入了软件行业,那个时候会的东西不多。自己学习了计算机软件基础、数据结构、java等技能,但是从来没有做过商业化的代码。当时有个师兄(现在是百度的高级工程师),教我学习了linux,当时还是红帽7。0,觉得这玩意真难,***次装系统,把硬盘格式化好多次,经历了无数个不眠之夜,总算是基本会用了。毕业前我会的东西就是写过java的代码、懂得linux的基本操作。数据库会写sql脚本。当时很迷茫,不知道该干什么。

后来就到一家软件公司实习了,去了之后想写代码,但是人家写代码的人满了,就让我做数据库支持。当时对这个工作很不屑。。。。。。。。。呵呵,大家别笑我。主要是我也不知道这个工作做什么。不过既然有机会干活,顺便赚点小钱。也就认了。工作了四个月,觉得oracle很有意思,很多不可思议的事情(那个时候的想法),都会发生,内部的东西很值得去学习和探究,从那开始,就下定决心,毕业之后,去做Oracle方面的工作,但仅仅是决心。

因为要做毕设的缘故,半年后就从实习的公司离开了。也错过了当时那个岗位。很遗憾,不然我也许现在就是一个开发DBA了。呵呵。扯远了。毕业之后,工作不好找,因为代码不熟悉、Oracle也没那么熟悉,找工作很难,后来还是去了那家公司,不过做的工作是软件实施,做的好了能做到项目经理,不过我兴趣不大。但是为了糊口,还有自己的一些家事,不得不尽快去工作。工作忙起来,自己喜欢的事情就没那么多精力去做了,但是平时不论是自己还是同事碰到数据库的问题,都会想办法去钻研一下,也经常看一些不错的书。但是总感觉,对数据库的理解以及学习的进度始终停滞不前。

因为对数据库感兴趣,部门内部的一些关于数据库、操作系统的安装、配置、维护工作,领导就逐步让我来做,以及做一些方案。但是那个时候的方案都只是实现了目标。很不成熟。还好,当时的公司是应用软件公司,用户的数据量不大。我也勉强能满足用户数据库方面的支持工作。

就这样过了两年多,中间发生了很多事情,工作上的,生活上的。最终07年初,我开始在深圳、河南、宁波、吉林等地做长期项目,主要工作是系统管理和数据库支持。项目上线之后,工作就没那么忙了,开始有时间考虑一下自己的职业发展的问题了。这两年多来,虽然数据库的学习落下了,而且方法也有问题,感觉自己的基础很差。但是一颗执着的心从来没有放弃,因为时间比较充裕,没事就去泡论坛,论坛上有很多数据库的前辈,学识渊博,经验丰富。但是知识是别人的。

首先认识到了自己的不足,就开始找原因,找解决的办法。先后找过几个在数据库行业有名气的前辈,虽然每个人给的意见不同,但是最终得出的结论是,我基础很差,需要恶补基础,万丈高楼平地起。没有扎实的基础,无法学习好的。便开始看OCP的教程、Oracle的在线文档。那是2007年的8月,从那开始,坚持不懈的看文档,即使英文有很多不太明白,也没有放弃,并且在自己的电脑上做各种测试来验证所学知识。同时也坚持在论坛上看技术贴,有精华的,也有别人问的,并尝试回答别人的问题。慢慢地,我感觉我对oracle的理解加深了很多。

学习ORACLE最重要的不是你看过多少书,而是你的基础是否扎实,扎实的基础才是做好数据库工作的关键,ORACLE的文档都是open的,在线文档,OCP的教材,都是很好的书,只要能耐心看完一遍,两遍,甚至更多,在看书过程中,不断的实践,做试验,失败了不要紧,可以去和别人请教,只要你把所有的试验弄明白了,做好DBA的工作并不是难事。

有的时候也很迷惑,感觉学习到了一个阶段之后,出现了瓶颈,就去请教一些前辈,得来的意见是,oracle数据库的学习,不在于你的天赋,而在于坚持,坚持。过了半年,2008年,感觉自己已经基本掌握了一个合格的DBA所具备的技能之后,就开始找这方面的工作了。边工作,边学习,边找工作,那个时候的生活的确很充实。

在2008年5月4日,这个值得纪念的日子,我应聘到了新的公司,岗位是专职DBA,虽然刚来很多工作还在熟悉,但是我坚信,我会做好,因为我一直在坚持,一直向往的工作,不论多苦,多累,我都会努力去做好。哪怕付出必别人多几倍的努力。

回顾这几年,感慨颇深:

1、坚定的信念和坚韧的性格,能让你不畏艰难地走下去,持之以恒的学习数据库。

2、在你学会跑之前,请先学会走。没有基础的学习,永远不会有好的结果。

3、无论你现在做什么工作,只要有机会,就去向数据库方面的工作靠拢,哪怕付出更多的时间、更多的汗水,都是值得的。有一天你会收到回报。

4、Oracle的在线文档、OCP是很好的老师,构造一个简单的数据库环境,是你学习oracle的利器。

5、永不放弃的精神和钻研的劲头,是你深入学习数据库的前提。

6、做为一个DBA,技术是很重要。但最重要的是责任心。我写下这些,不是为了告诉大家,怎么去学习一门技术能力,而是一篇励志的日记。对自己是个鞭策,对后来者,是个借鉴。我还有很长的路要走,也许未来会继续更新这个文章。

希望这篇文章能够对大家的Oracle管理员之路带来一些启发。

【编辑推荐】


数据库文件增长方式有哪几种?

1.按百分比(按数据库文件的总长度的百分之几增长)2.按固定长度(按你设置的固定数量增长,如果你设置的1M,那么就按照1M大小增长)两种在建立数据库的时候,有选择的

网络管理常用的命令有哪些?

ftp 传输文件telnet 登录到远程计算机上r - 使用各种远程命令netstat 查看网络的状况nslookup 查询域名和IP地址的对应finger 查询某个使用者的信息ping 查询某个机器是否在工作使用ftp命令进行远程文件传输ftp命令是标准的文件传输协议的用户接口。 ftp是在TCP/IP网络上的计算机之间传输文件的简单有效的方法。 它允许用户传输ASCII文件和二进制文件。 在ftp会话过程中,用户可以通过使用ftp客户程序连接到另一台计算机上。 从此,用户可以在目录中上下移动、列出目录内容、把文件从远程机拷贝到本地机上、把文件从本地机传输到远程系统中。 需要注意的是,如果用户没有那个文件的存取权限,就不能从远程系统中获得文件或向远程系统传输文件。 为了使用ftp来传输文件,用户必须知道远程计算机上的合法用户名和口令。 这个用户名/口令的组合用来确认ftp 会话,并用来确定用户对要传输的文件可以进行什么样的访问。 另外,用户显然需要知道对其进行ftp 会话的计算机的名字或IP地址。 Ftp命令的功能是在本地机和远程机之间传送文件。 该命令的一般格式如下:$ ftp 主机名/IP其中“主机名/IP”是所要连接的远程机的主机名或IP地址。 在命令行中,主机名属于选项,如果指定主机名,ftp将试图与远程机的ftp服务程序进行连接;如果没有指定主机名,ftp将给出提示符,等待用户输入命令: $ ftp ftp > 此时在ftp>提示符后面输入open命令加主机名或IP地址,将试图连接指定的主机。 不管使用哪一种方法,如果连接成功,需要在远程机上登录。 用户如果在远程机上有帐号,就可以通过ftp使用这一帐号并需要提供口令。 在远程机上的用户帐号的读写权限决定该用户在远程机上能下载什么文件和将上载文件放到哪个目录中。 如果没有远程机的专用登录帐号,许多ftp站点设有可以使用的特殊帐号。 这个帐号的登录名为anonymous(也称为匿名ftp),当使用这一帐号时,要求输入email地址作为口令。 如果远程系统提供匿名ftp服务,用户使用这项服务可以登录到特殊的,供公开使用的目录。 一般专门提供两个目录:pub目录和incoming目录。 pub目录包含该站点供公众使用的所有文件,incoming目录存放上载到该站点的文件。 一旦用户使用ftp在远程站点上登录成功,将得到“ftp>”提示符。 现在可以自由使用ftp提供的命令,可以用 help命令取得可供使用的命令清单,也可以在 help命令后面指定具体的命令名称,获得这条命令的说明。 最常用的命令有:ls 列出远程机的当前目录cd 在远程机上改变工作目录lcd 在本地机上改变工作目录ascii 设置文件传输方式为ASCII模式binary 设置文件传输方式为二进制模式cLose终止当前的ftp会话hash 每次传输完数据缓冲区中的数据后就显示一个#号get(mget) 从远程机传送指定文件到本地机put(mput) 从本地机传送指定文件到远程机open 连接远程ftp站点quit断开与远程机的连接并退出ftp? 显示本地帮助信息! 转到shell

sql server 2005 如何实现对表数据进行定期删除

//1.你创建一个insert触发器,每当数据插入的时候判断一下是不是有你要删除的数据。 //2.你还可以创建一个存储过程,然后再做一个作业任务,让 sql server 每多长时间删除一次。 下面给出的是第一种办法的insert触发器,不过这样每次insert 他都会执行一次,对数据库有点耗资源create TRIGGER Trigger1ON insertASBegindeclare @mintime datetime,@maxtime datetime SELECT @mintime=min(时间),@maxtime=max(时间) from Alarm delete from Alarm where DATEDIFF(d,@mintime ,@maxtime )>=7 End

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐