每一次退缩之后的努力,都是极大的进步

简介:    每一次退缩之后的努力,都是极大的进步。有句话说的好,努力不一定成功,但不努力一定很轻松。这句话应该是很多人对待事物的态度写真吧。 我就举几个例子来说说我的一些感悟,当然还是不可避免要和Oracle扯上关系,这也算退缩,我以后也要多和其它数据库扯上关系。
   每一次退缩之后的努力,都是极大的进步。有句话说的好,努力不一定成功,但不努力一定很轻松。这句话应该是很多人对待事物的态度写真吧。
我就举几个例子来说说我的一些感悟,当然还是不可避免要和Oracle扯上关系,这也算退缩,我以后也要多和其它数据库扯上关系。
   首先让我印象非常深刻的就是在开始工作的时候还是很喜欢看书的,公司也提供了这样的福利,可以免费借阅一些技术图书,而我那时候逼格也高,就借厚的书,掂起来沉沉的感觉,看起来却是动力不足,当然那个时候也会借Oracle的书,基本就sql语句前几章能够看懂,一到了难一些的内容,刚看了几页就彻底放弃了,现在回想起来,真是在合适的时候选择了不合适的图书,那些书现在看来还是比较简单,但在之前,没有一个完整的知识体系,哪些是工作中常用的,都完全没有概念,不过现在想来也算庆幸,如果当时为了优化sql绞尽脑汁看了大部分的数据库恢复,想必也没有太大的用处,也是在很多年后,从sql优化的简单内容开始入手,产生了兴趣,然后逐步到了数据库管理,整个过程中有很多个转折点,想起来也是真心不易。这个事情带给我两个启示,一个就是量力而行,在合适的时候选择适合自己的东西,第二个就是要做很多时候都要有重点,没有任何章法,跟猴子掰包谷差不了太多。
   在后来的工作中,有一次在客户现场处理了一起数据库故障,当时连数据库如何启动都懵懵懂懂,就这样打了两个小时电话终于把这个数据库问题搞定,也着实感谢丛庆的帮助,其实现在想来场景就类似数据库shutdown abort的情况,处理起来主要就是recover database的操作。当时看来比登天还难。那个时候也是带着未知的恐惧,尝试退缩,但是当时的环境就我一个人,实在没其他人可依靠了,所以我也在那个时候学会了做计划,很多事情还是有轻重缓急,虽然工作时间不长,但是一个培养全栈的节奏。
    后来我发现其实从项目的整体角度,自己的认识也有一些了,但是很多东西都是学而不精,那时候也计划开始好好学习数据库了,于是就抱着一本书在下班之后开始找环境练习ocp里面的内容,而当时的工作运维内容比较杂,可能留给DB的时间也比较少,而且工作之中需要处理的DB问题也不多,工作对我的定位也是做好基础运维工作,于是我又退缩了一些,而且一遍接受这种情况,做好当前工作,另一方面准备系统性学习数据库。当时因为工作的原因,留给我的时间着实不多,而且自己也感觉其实我更偏重于技术一些,对沟通还是没有那么擅长,而且从职业的定位来看,更适合纯做技术专家而不是做技术管理,所以这次退缩使得我认识了自己,我重新投入了另外一家公司,给了我非常专业的指导,虽然技术更新没那么快,但是产品设计方面着实让我受益匪浅,想想他们的设计,他们的产品,再拿到对比一些国内的公司,很多国内公司,互联网公司的产品充其量也就是一个项目而已。
    而对于工作中使用的工具,自己也是存在很多的误区,最开始工作是使用plsqldev,当时感觉就是轻便,这个工具还有个很牛的功能就是可以把excel的数据直接导入数据库中,复杂的操作也不会。在客户现场看到有一个同事竟然会用toad,而且做dml的操作,还有edit这样的命令,我感觉很神奇,看到他同时打开两个工具窗口,当时感觉真是了不得。然后新的公司用的是sqldeveloper,结果也是排斥,其实主要原因就是自己不熟悉。但是直到现在我发现这些工具有很多已经满足不了我了,sqlplus就是最好的工具,是一把瑞士军刀,现在掐指一算,我已经有很久没有使用过图形工具了,工作照样可以正常完成,原来我们其实也可以不需要依赖工具,如果在一个紧急问题处理的关口,你还在那儿琢磨工具为什么不能用,怎么安装工具,配置工具,那就实在是有些让大家郁闷了,所以我选择这种简化,熟练掌握适合自己的工具,定制适合自己的脚本,如此一来,之前的那种退缩也是情有可原,而且退缩之后其实给了我更多的启示。
    而我对于dataguard,其实也有很多的误解,之前老是感觉failover,switchover不太可靠,而且我们也参加了考试,有很多同学都载在了最后的一关,带给我们更多的是未知的恐惧,但是越是恐惧,发现工作中还是必需的东西,在新的工作中,大量使用,而且现在自己已经全然是一个dataguard的行家里手了,也是被逼无奈,而且为了适应新的环境和挑战,自己终于战胜了自己。
   所以在碰到很多事情的时候,如果是因为不熟悉而选择退缩,是不够理性的,在适当的时候给自己一点压力,可能回过头来,你会收到很多意料之外的东西,可能带给你的是学习的成果,或者是新的机会。
目录
相关文章
|
缓存 网络协议 算法
UDP可靠性传输协议kcp
UDP可靠性传输协议kcp
494 1
|
Java 关系型数据库 中间件
分库分表(3)——ShardingJDBC实践
分库分表(3)——ShardingJDBC实践
1048 0
分库分表(3)——ShardingJDBC实践
|
机器学习/深度学习 数据采集 人工智能
智能运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的兴起背景、核心组件及其在现代IT运维中的应用。通过对比传统运维模式,阐述了AIOps如何利用机器学习、大数据分析等技术,实现故障预测、根因分析、自动化修复等功能,从而提升系统稳定性和运维效率。文章还深入分析了实施AIOps面临的挑战与解决方案,并展望了其未来发展趋势。 ####
|
安全 网络协议 NoSQL
对内网服务端口进行扫描
对内网服务端口进行扫描,根据开放的端口服务选择横向的方法。
566 1
|
前端开发
简化 if true...else 条件表达式
简化 if true...else 条件表达式
104 0
YI
|
网络协议 Unix Linux
Linux中lsof命令的使用
本地启动服务器时常常遇到端口被占用的情况。本文介绍一种解决方法。
YI
372 0
|
Java Android开发 网络架构
❤️【Android精进之路-05】怎么创建Activity,如何启动另一个Activity,干货满满,建议收藏❤️
上一篇文章❤️【Android精进之路-04】Android核心组件Activity,必须掌握的知识点(Activity是什么,生命周期是怎样的)❤️ 介绍了Activity的基本概念以及生命周期,但是没有说到如何创建Activity,Activity之间如何传值。SO,本文将重点讲解Activity的创建以及如何Activity之间如何传递参数。
344 0
❤️【Android精进之路-05】怎么创建Activity,如何启动另一个Activity,干货满满,建议收藏❤️
|
算法 C++
每日算法系列【LeetCode 329】矩阵中的最长递增路径
每日算法系列【LeetCode 329】矩阵中的最长递增路径
175 0
简述POST和GET传输的最大容量分别是多少?底层原理是什么?
简述POST和GET传输的最大容量分别是多少?底层原理是什么?
6303 0
|
机器学习/深度学习 Kubernetes 并行计算
如何通过ACK 纳管Nvidia A100 GPU实例,实现资源池化
### 介绍 在GTC 2020(5月14日)大会上英伟达新一代架构“Ampere”(安培)正式亮相。继数据中心Volta GPU推出三年后终于亮剑。Ampere以数据中心GPU A100的形式首次亮相,专为科学计算,云图形和数据分析而构建。 ![image.png](https://ata2-img.oss-cn-zhangjiakou.aliyuncs.com/614630bc
2065 0
如何通过ACK 纳管Nvidia A100 GPU实例,实现资源池化