之一
學(xué)習(xí)Oracle是一個(gè)漫長(zhǎng)艱辛的過程利耍。如果沒有興趣,只是被迫學(xué)習(xí)盔粹,那么是很難學(xué)好的隘梨。學(xué)習(xí)到一定程度的時(shí)候,要想進(jìn)一步提高舷嗡,就不得不接觸很多Oracle之外的東西轴猎,如Unix,如網(wǎng)絡(luò)进萄、存儲(chǔ)等捻脖。因此,要真的決心學(xué)好Oracle中鼠,就一定要有興趣郎仆。有了興趣,就會(huì)一切變得簡(jiǎn)單快樂起來兜蠕。
簡(jiǎn)單總結(jié)一下,那就是:興趣抛寝、學(xué)習(xí)熊杨、實(shí)踐。
如何入門是許多初學(xué)者最頭疼的事情盗舰。Oracle是一個(gè)龐大的系統(tǒng)晶府,涉及的方面很多:SQL、管理钻趋、優(yōu)化川陆、備份恢復(fù)……
那么從哪開始學(xué)好呢?如果在大學(xué)期間學(xué)過數(shù)據(jù)庫理論蛮位,或有一定的數(shù)據(jù)庫基礎(chǔ)自然很好较沪;如果沒有的話鳞绕,真的是個(gè)大問題。
我個(gè)人認(rèn)為還是應(yīng)該從SQL語句學(xué)起尸曼。比較好的教材是Oracle OCP認(rèn)證的《SQL and PL/SQL》们何。學(xué)習(xí)SQL的時(shí)候,盡可能堅(jiān)持使用Oracle自帶的工具:SQL*PLUS控轿。
有了一定的SQL基礎(chǔ)后冤竹,就要盡可能的了解Oracle的體系結(jié)構(gòu),這就涉及到了Oracle管理的內(nèi)容了茬射。
我學(xué)習(xí)的時(shí)候鹦蠕,機(jī)械工業(yè)出版社的《Oracle9i DBA手冊(cè)》這本書對(duì)我的幫助挺大≡谂祝或許現(xiàn)在都出11g版本的了吧钟病。
Oracle公司的《Oracle Concepts》是非常棒的書,對(duì)了解Oracle體系結(jié)構(gòu)很有好處霜定。每個(gè)Oracle版本都有對(duì)應(yīng)的版本档悠,可以認(rèn)真多讀幾次,每次都會(huì)有新的收獲望浩。
做數(shù)據(jù)庫維護(hù)的時(shí)候辖所,備份與恢復(fù)是不得不接觸的內(nèi)容。于是學(xué)習(xí)Oracle備份與恢復(fù)技術(shù)也是必然的事情。
數(shù)據(jù)量少的杨蛋,比如20起便、30多個(gè)G,還可以考慮用exp/imp來備份與恢復(fù)酥宴,但數(shù)據(jù)量大了,這種方法就根本不適合了您觉。
大數(shù)據(jù)量情況下拙寡,Oracle 建議用RMAN來進(jìn)行數(shù)據(jù)的備份與恢復(fù)。目前市場(chǎng)上有很多數(shù)據(jù)庫備份恢復(fù)軟件琳水,其實(shí)好多也是后臺(tái)調(diào)用RMAN肆糕。清華大學(xué)出版社出版的《Oracle9i RMAN 備份與恢復(fù)技術(shù)》是一本非常不錯(cuò)的介紹RMAN的書。
有了以上的基礎(chǔ)在孝,可以說已經(jīng)入門了诚啃,對(duì)遇到的一些初級(jí)Oracle問題將不再束手無策。然而我們的學(xué)習(xí)之路仍然還很漫長(zhǎng)私沮。我們的用戶可能經(jīng)常抱怨數(shù)據(jù)庫運(yùn)行緩慢始赎。這時(shí),如果有一定的優(yōu)化知識(shí),那就好辦了造垛。有時(shí)你會(huì)看到優(yōu)化前需要運(yùn)行幾個(gè)小時(shí)的作業(yè)魔招,優(yōu)化后也許幾秒鐘就能完成!
Oracle9i的性能診斷工具包statspack、Oracle10g/11g的自動(dòng)工作符合存儲(chǔ)庫AWR都是調(diào)優(yōu)的好幫手筋搏。機(jī)械工業(yè)出版社出版的《Oracle9i STATSPACK高性能調(diào)整》是學(xué)習(xí)statspack不錯(cuò)的書仆百。
在數(shù)據(jù)庫體系結(jié)構(gòu)、編程優(yōu)化方面奔脐,有一本書非常棒俄周,這就是世界頂級(jí)的Oracle專家Thomas Kyte編寫的《Oracle9i&10g編程藝術(shù)》(英文名為“Expert Oracle Database Architecture”)。Tom以前還寫了一本叫做《Expert One-on-One Oracle》的書髓迎,也非常的經(jīng)典峦朗。這兩本書被很多Oracle學(xué)習(xí)者視為寶典,如果想在Oracle上深入學(xué)習(xí)的話排龄,強(qiáng)烈建議認(rèn)真研讀波势。
掌握了以上內(nèi)容,或者基本掌握以上內(nèi)容橄维,那么你在很多人的眼里也是Oracle的高手了尺铣,解決公司產(chǎn)品中的數(shù)據(jù)庫問題應(yīng)該不成問題。不過Oracle還有很多高級(jí)內(nèi)容可以進(jìn)一步學(xué)習(xí)争舞。這里列舉一些凛忿,僅供感興趣的同學(xué)參考。
- 高級(jí)復(fù)制技術(shù)
- Oracle Real Application Cluster (RAC)
- Data Guard(DG)
- Oracle Stream
- 數(shù)據(jù)倉庫
- Proc竞川、OCI編程
以上列舉的這些高級(jí)內(nèi)容店溢,參考資料主要是Oracle公司的電子文檔。在學(xué)習(xí)Oracle過程中委乌,充分利用網(wǎng)絡(luò)資源可以起到事半功倍的作用床牧。
之二
Oracle學(xué)習(xí)模塊及方法
1、sql遭贸、pl/sql
網(wǎng)上有很多的視頻戈咳,可以做一個(gè)簡(jiǎn)單的入手,然后看幾本書壕吹,多做實(shí)驗(yàn)著蛙。
作為oracle的基本功,需要大家對(duì)sql和pl/sql非常的熟悉算利。特別是sql里面的多表連接、子查詢泳姐、各種新版本的函數(shù)效拭,以及plsql里面的所有語法。
建議大家拿出足夠的時(shí)間來研究這兩塊。
不要認(rèn)為這是開發(fā)人員的工作缎患,他也是DBA的重要工作慕的,而且對(duì)DBA的要求更高,你不但能看懂挤渔,還要能夠找出問題肮街。
學(xué)些這方面知識(shí)的要點(diǎn)就是:多練、多思考判导,多測(cè)試嫉父。
2、Oracle管理(體系結(jié)構(gòu))
這一塊一定要聽課眼刃,而且是要聽“大師”的課绕辖、多討論。
這是Oracle的難點(diǎn)擂红,Orcle技術(shù)博大精深仪际,主要的難點(diǎn)就集中在這里面。包括Oracle的存儲(chǔ)管理昵骤、對(duì)象管理树碱、內(nèi)存和進(jìn)程、undo管理变秦、初始化參數(shù)成榜、數(shù)據(jù)字典視圖、安全伴栓、latch和lock伦连、權(quán)限和角色、資源調(diào)度钳垮、閃回惑淳、日志原理等。
學(xué)習(xí)這一塊知識(shí)的時(shí)候饺窿,一個(gè)重點(diǎn)是:要知道原理和“根”歧焦,知道表面的東西沒有任何意義。知道原理以后肚医,通過實(shí)驗(yàn)去證明绢馍,將原理總結(jié)出來。
這一塊學(xué)習(xí)的好還是不好肠套,直接影響以后對(duì)備份恢復(fù)舰涌、優(yōu)化、排錯(cuò)的理解和學(xué)習(xí)你稚。
這一塊雖然是研究管理瓷耙,但是更加注重原理和體系結(jié)構(gòu)的分析和解剖朱躺。應(yīng)該叫做“深入剖析Oracle體系結(jié)構(gòu)”,多深都需要搁痛。
在這一部分的學(xué)習(xí)中长搀,已經(jīng)學(xué)習(xí)了很多優(yōu)化的內(nèi)容,在學(xué)習(xí)任何一個(gè)知識(shí)點(diǎn)的時(shí)候鸡典,我們都離不開對(duì)性能的分析源请。
3、備份恢復(fù)
聽聽課彻况、看幾本書谁尸,多做做實(shí)驗(yàn)、多討論疗垛。
有了第二部分的鋪墊症汹,這一章的學(xué)習(xí)相對(duì)有意思,前提是我們對(duì)Oracle的日志原理研究得較深贷腕,對(duì)oracle的內(nèi)存和進(jìn)程研究得較深背镇。
策劃一個(gè)完美和正確的備份計(jì)劃和實(shí)施方案(具體要分析出原理),實(shí)施備份泽裳;對(duì)各種損壞進(jìn)行恢復(fù)(還是要能夠夠分析出原理)瞒斩;另外可以做一些高難度的恢復(fù)實(shí)驗(yàn)(還是老話、要能夠分析出原理)涮总。
4胸囱、優(yōu)化(單實(shí)例優(yōu)化)
還是要聽課,最好聽一些專題性的瀑梗,深入講解的專家課烹笔,還是要看一些經(jīng)典的書籍,特別是英文書抛丽。
這一塊完全是第一部分和第二部分的一個(gè)結(jié)合谤职。這一塊的學(xué)習(xí)沒有最深,只有更深亿鲜,學(xué)習(xí)方法和第二部分類似允蜈。
首先需要大家掌握一些Oracle的優(yōu)化方面的基礎(chǔ)知識(shí),例如深入分析索引原理蒿柳、分區(qū)饶套、等待事件、時(shí)間統(tǒng)計(jì)模型垒探、動(dòng)態(tài)性能視圖妓蛮、操作系統(tǒng)的一些性能優(yōu)化和查看命令,例如:top圾叼、iostat蛤克、vmstat扔仓、sar、pmap咖耘、prstat、filemon撬码、nmon儿倒、svmon等。
最關(guān)鍵的還是要做三件事情:Oracle的動(dòng)態(tài)性能視圖呜笑、Oracle的報(bào)告(trace夫否、statspack、awr叫胁、addm凰慈、ash)、執(zhí)行計(jì)劃驼鹅;對(duì)這三塊要熟悉和分析出來微谓。這個(gè)部分的分析和動(dòng)手實(shí)驗(yàn)很重要。
5输钩、RAC
可以聽聽課豺型,有了前面的基礎(chǔ)以后,基本上自己就能看懂書了买乃,因此姻氨,可以看書,也可以聽一些專題課剪验。
現(xiàn)在RAC的使用越來越多肴焊,學(xué)習(xí)RAC的重點(diǎn)還是:基礎(chǔ)原理+RAC優(yōu)化。
RAC系統(tǒng)的優(yōu)化分為兩個(gè)步驟:RAC系統(tǒng)優(yōu)化和單實(shí)例優(yōu)化功戚;根據(jù)RAC的基礎(chǔ)原理娶眷,能夠設(shè)計(jì)高性能的RAC系統(tǒng),能夠分析RAC性能問題疫铜。對(duì)RAC的動(dòng)態(tài)性能視圖茂浮、等待事件、報(bào)告壳咕,能夠看懂和分析席揽。
6、GC谓厘、DG幌羞、Stream、Gold Gate等
對(duì)于這些工具和組件竟稳,我們熟悉其體系結(jié)構(gòu)属桦,原理熊痴,一些監(jiān)控性能的工具等。
學(xué)習(xí)這些部分的幾個(gè)點(diǎn):熟悉體系結(jié)構(gòu)聂宾、原理果善;搭建;監(jiān)控(包括故障和性能)系谐;排錯(cuò)和優(yōu)化巾陕。
7、SQL優(yōu)化
看一本經(jīng)典的英文書籍纪他、多做實(shí)驗(yàn)鄙煤、多實(shí)踐、多分析茶袒。
為什么單獨(dú)的拿出來呢梯刚?因?yàn)檫@部分需要持之以恒的進(jìn)行研究和實(shí)驗(yàn),而且工作中幾乎是每天都要做的事情薪寓。
目前這方面亡资,有一些比較經(jīng)典的中文書,值得大家去看看向叉。
8沟于、PL/SQL深度學(xué)習(xí)
在這部分學(xué)習(xí)的時(shí)候,就要時(shí)時(shí)刻刻注意性能植康,主要是注意測(cè)試旷太。
9、綜合性項(xiàng)目實(shí)戰(zhàn):
模擬環(huán)境:規(guī)劃销睁、搭建供璧、測(cè)試、管理冻记、排錯(cuò)睡毒、優(yōu)化、分析
實(shí)戰(zhàn)環(huán)境:同上