1. 程式人生 > >藍的成長記——追逐DBA(20):何故緣起,建庫護航

藍的成長記——追逐DBA(20):何故緣起,建庫護航

原創作品,出自 “深藍的blog” 部落格,歡迎轉載,轉載時請務必註明出處,否則追究版權法律責任。

【前言】

        自接觸oracle至今,愈是深入瞭解oracle愈是察覺到個人的渺小,時常感受到技術知識可以助推思維方式,一路走來,在汗水中收穫著成長的充實,不僅侷限於oracle技術,藉由此係列文章,分享個人在追逐DBA道路上收穫的些許感悟與成長的點滴記錄。在浩瀚星空裡,鑑證自己人生中那一道弧線。

凌亂中找回生活的節奏,在加班的日子裡,沒有了多餘的雜念。

                                                           ——深藍

    很久沒有更新文章了,在這段日子裡,兼顧著原本的工作的基礎上,開始逐步學習專案建設、專案管理的知識,學習著如何推進專案,如何建設團隊,零零總總的知識,一時間感覺到24小時還真是如此短暫。

    在緊張的工作之餘,意料之外的找到了一些生活的氣息。還是比較心懷感恩的在一步一步前行著。曾幾何時,有老大哥跟我說生活不只是工作而已,需要有夢想,同樣需要有情感的支援,生活是個永恆的旋律,不能單方向前行,要不然索然無味,生活乏味會讓人身心疲憊。想畢,當時是不以為然,而現如今的轉變,很多事,已經可以放下,這才發現,原來不經意的一次嘗試,可能真有什麼命裡註定,當不再駐足過往的風景時,人生中的岔路口上,會自然而然的鋪開一條路,而順路前行,心靈如同是敞開了一扇開闊而且光亮的窗。

    開始學著經營起一份感情,不刻意,不強求,隨遇而安,歲月安好。

篇章一:迴歸生活

    當機緣讓兩個人相遇,將不再是悔恨往昔,冥冥中,不期而遇的某一天,對未來有了更美好的憧憬。

                                                                                          ——深藍

    鐘擺嘀嗒嘀嗒,1:00,2:00,3:00,今夜有些莫名的孤單,不太想說話,注視著夜色的光亮順著窗簾對映進酒店的房間內,眼望天色在天邊處已漸漸探出一絲光亮。一種說不出的情緒,在靜謐的夜空下卻感覺出下雨的情緒。

    不經意間,已經轉眼過了22天,彷彿只是過了兩天的光景,意識中有些分不出是哪個週末發生的事,在某一個清晨開始了這段旅程,卻在心裡貯藏了一個有些朦朧的面龐。

                                                                                       ——於鄭州,9月12日,早。

    感情,是需要時間去了解彼此內心的,一個圓,左半部分和右半部分,有一點偏離了,那就不再是圓了。

                                                          ——深藍 於鄭州2015年9月20日星期日 2:00 早安。

    當遇見,有些慌張來的不適時宜,又卻恰當好處,不刻意,不掩飾,對於未來既然已堅定,對當前就應義無反顧。且行且珍惜的態度。

    夜幕下,突然醒了過來,睜著眼睛發呆,看著天花板,眼前開始閃現出不同的畫面,一幕幕幻燈片的情節,彷彿就像是昨天發生的一樣,一剎那感覺時間這東西,原來過得好快。回望在一個人的日子裡,自由、無拘、無束、沒什麼不用管、沒什麼牽絆、享受著孤獨、想走就走的日子裡,讓人反而覺得自在。這樣的日子是不是需要改變一下了呢?靜謐下,腦子裡突然亂亂的。

    想好了嘛?自己在質疑。

    自己靠譜嘛?優容寡斷的那種感覺?還要太認真嘛?一時間突然又彷彿陷入到曾經的過往裡面。

    朦朦朧朧的有些飄離。

                                                              ——深藍 於鄭州2015年9月21日星期一 05:00。

未來安好

有些小幼稚,卻心裡很溫暖。

    記不清上次收到類似禮物這樣子的東西是什麼時候了,有些意料之內,卻被一些小幼稚觸動著心底,狠狠的暖了一把。

                                                              ——深藍 於鄭州2015年9月21日星期一 00:00。

中秋,平靜中度過

    中午好像空調開的過猛,嗓子變得沙啞,不想說話,腦袋有些迷糊,爬在床上不想動堪。

    但,迷糊的,還是有些莫名的高興。當看到蹦蹦噠的訊息時心情就會好好的。哈,有些幼稚吧。出差在外的日子裡,不聯絡與距離感有時候可能是一道屏障,但有時候似乎也是一種體驗,也許在經歷過了這樣的日子裡,才懂得身邊的人,需要珍惜。一路花香,回望風景,人在其中,卻未聞花香,而遠了,才感受到,花香其實早在不經意間環繞在身旁。

    願,安好。健康。豁達。

                                                                    ——深藍於鄭州2015年9月28日星期一 02:32

篇章二:資料遷移

    靡不有初,鮮克有終。做好該做的責任,為建庫護航,不會丟棄的oracle。

                                                                     ——深藍

    本次完成一次資料遷移的任務,資料庫字符集的調整:ZHS16GBK—>AL32UTF8

下面是實驗環境:

源庫:

目標庫:

可以看到,源庫建庫時使用的字符集是ZHS16GBK,目標庫的資料庫字符集是AL32UTF8

本次遷移,新庫與老庫的區別上,簡單分為如下情況:

第一部分:新庫與老庫,表級結構不變化,資料量小(5G);

第二部分:新庫與老庫,表級結構不變化,資料量大(1T);

第三部分:新庫與老庫,表級結構變化,資料量小(15G);

有資料量不大的表,計劃採用dmp的方式進行。但是遇到一個問題就是關於中文字元的處理。在ZHS16GBK下,一箇中文需要兩個位元組,而在AL32UTF8下,一箇中文需要三個位元組。這也就意味著相同的表結構下,源庫下的資料有可能在插入到新庫時出現字元超長的可能。

對於該部分,先在新庫中建立相同的表空間、使用者、賦予相應許可權。

由於資料量不大,遷移前,做一次全庫級匯入測試,保留imp日誌,會在日誌中篩選出由於中文引起的長度問題;

然後將業務中欄位長度不受影響的表以dmp的方式匯入目標庫中,檢視dmp日誌;

1)、檢視日誌,如果出現“EXP-00003:未找到段 (0,0)的儲存定義”錯誤,需手工補充建表;

2)、檢視日誌,如果出現“ORA-01461:僅能繫結要插入 LONG列的 LONG值”錯誤,由於字元長度超過4000引起,需要把資料型別由varchar2改為clob

3)、通過dmp日誌,檢視到需要擴充欄位長度的表資訊,例如:

表名

列名

源資料最大長度

源資料最大長度*1.5

計劃擴充長度

CAS_VISITINFO

IS_SUSPICIOUS_INTER

3

4.5

10

CAS_VISITINFO

IS_SUSPICIOUS

3

4.5

10

CAS_VISITINFO

INTER_GENDER

3

4.5

10

CAS_VISITINFO

INTER_VIDEO

3

4.5

10

CAS_VISITINFO

CAR_IS_BROKEN

3

4.5

10

CAS_VISITINFO

CAR_IS_OTHERS

3

4.5

10

CAS_VISITINFO

DRIVER_ISTALK

3

4.5

10

CAS_VISITINFO

INTERVIEWEE

12

18

50

CAS_VISITINFO

VICTIM_GENDY

3

4.5

10

CAS_VISITINFO

VICTIM_NAME

12

18

50

CODE_AREA

NAME

102

153

200

CODE_AREA

SHORTNAME

70

105

200

CODE_CASE_MEANS

SHORTNAME

39

58.5

100

CODE_LAAB

SHORTNAME

39

58.5

100

COO_APPLY_INFO

APPLY_USER_NAME

15

22.5

50

COO_APPLY_INFO

ASSISTANT_NAME

12

18

50

COO_INTRODUTION

INTR_NO

21

31.5

50

DAT_META

TJJG

24

36

50

DAT_META

BSC

12

18

50

DAT_META

DXLC

30

45

50

DAT_META

SM

132

198

200

DAT_META

ZY

110

165

200

DAT_META

GX

122

183

200

DAT_META

SJLX

12

18

50

FOCUS_RMCXX

YWXXLY

15

22.5

50

FOCUS_RYDJFCXX

YW_XXLY

15

22.5

50

HOM_PERSON

JOB_DESC

30

45

50