1. 程式人生 > 其它 >DBA和開發同事的一些代溝(四) (r7筆記第36天)

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來說也是一件好事,但是這個代溝問題就不是我們能夠控制的了了,所以一起努力把這個問題解決了,大家好才是真的好。