藍的成長記——追逐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 |
|