DBA和开发同事的一些代沟(四) (r7笔记第36天)

时间:2022-05-04
本文章向大家介绍DBA和开发同事的一些代沟(四) (r7笔记第36天),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

DBA和开发都是两个可爱的团队,如果合作起来,那战斗力可是杠杠的。如果合作不愉快,那就是一件简单至极的事情都能扯皮几天几夜,而且还解决不了。

今天出公司的时候碰见一个开发同事,因为最近和开发同事打交道太多了,我都分不清到底他到底是哪个team的,然后就迷迷糊糊搭上了话,然后简单问了几句话,发现我潜意识里认错人了。不过最近碰到的有些开发同事都还比较配合。值得赞扬,但是还是有一些代沟的。

案例1:

偶尔会接到开发同事的紧急求助

开发同事 [10:46]:

建荣 10月20号xxxx给你下过工单开通数据库访问权限 但是今天我们测试还没有开通

开发同事 [10:51]:

通了 通了

杨建荣 [10:52]:

哈哈。好吧

这从10:46到10:51的时间里,我都在干嘛,都在查历史记录,首先得找到10月20号的工作记录来,等我找到,我发现已经处理了。然后接着就看到开发的同事说已经好了。在估计玩我呢。:)

案例2:

这个故事是我模拟出来的,但是确实碰到过这种类似的事情

开发同事:

帮我执行一个脚本吧,在10.100.10.20:1525 test库上

脚本是delete from xxxx where xxxx

杨建荣:

请下工单,然后我来操作。

开发同事:

好的。

杨建荣:

已执行。

开发同事:

在10.100.10.120:1525 test库上的脚本执行了吗?

杨建荣:

你不是说10.20吗,怎么又是10.120了?

开发同事:

不小心打错了。

杨建荣:

恩,我也没执行,没有工单,我不会先操作的。

所以我基本秉承的理念就是no 工单,no work.不是说开多少工单能给我发多少工资,是能够标注这一个变更,不是拍拍脑袋就完成的,有些关键操作还是要走审批流程的。

案例3:

在地铁上开发同事打电话给我,然后说有一个紧急问题需要修复一下。这种情况,我一般都会出手相救,但是忙完了之后发现问题也没那么紧急啊。因为我让他们发邮件给我,我在那等了一会了,邮件还没过来,最后总算解决了,也是皆大欢喜。

然后过了几天,我刚要带着疲惫的身子下班回家,开发的同事说,今天有一个业务要上线,需要我来配合。我就快要到发飙的临界点了,这种事情怎么不提前告诉 我,其实提前告诉我,我也是一百个不愿意。然后开发同事一通解释,其实我也可以理解,大家都干活都不容易,这是有一种习惯不太好。就是等过了一个钟头,过 了几个饭点了,还是没有发现任何问题,我说我先回家吧,如果有问题,我在路上再临时处理。但是他们似乎认为这个不太好,万一出现了问题处理不及时,恩,我 又不会跑到天涯海角去。

要说问题紧急吧,以前碰到一个问题,开发风风火火打电话给我,就是我不处理他们什么都干不了的节奏。说有一个进程处理很慢,他们希望我帮忙kill掉这个进程。

然后当时我还在挤地铁的节奏中,中途下站连接热点,结果网速又不好,就硬是磨到了家里,一到家就打电话询问,结果他们说没有问题了,不需要kill session了。

案例4:

最近一个开发同事让我帮忙审核一个脚本。

语法类似 delete from test where rdate>date'2015-11-01';

这种用法其实还是蛮少的,自己之前还真没这么用过,所以猛一看就是语法错误,但是自己尝试了一下,果然可用。

SQL> create table test1 as select date'2015-11-01' rdate from dual;
Table created.
SQL> desc test1
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 RDATE                                              DATE
SQL> select * from test1;
RDATE
-------------------
2015-11-01 00:00:00

所以DBA也可以从开发同事那儿学到不少的新东西来,互相补充成长。

案例5:

作为DBA可能要面对开发的各种技术问题。有时候他们一个看似简单的问题,我们就需要严谨的验证一番。

hi

建荣 咨询个问题

oracle 导入ctl文件的时候 如果有一列出现了 双引号 怎么处理啊

开发同事 17:16

类似于这样子

"錵祭xxxx☆╯

这个前面有个双引号

杨建荣 17:20

目前是以逗号分隔的。

玩家名对我们是很大的挑战,又是日语,又是特殊字符的。:)

开发同事 17:22

恩恩 我刚才说的这个不是符号的问题 是我删错了一个关键字

其实这个时候才是完全考验我们脚本的全面性的时候了。可以简单做个测试,快速确认。

创建一个测试表,然后创建一个控制文件a.ctl来。

create table test(name1 varchar2(30),name2 varchar2(30));

控制文件a.ctl如下:

load data
infile *
append into table xxxx.test
fields terminated by ","
trailing nullcols
(name1,name2)
Begindata
"錵祭xxx☆╯,"錵祭xxx☆╯2
sqlldr xxxx/xxxx control=a.ctl

其实这个时候对于DBA来说也是一件好事,但是这个代沟问题就不是我们能够控制的了了,所以一起努力把这个问题解决了,大家好才是真的好。