1、Oracle公司推薦的官方準備途徑
一般來講,Oracle的考試內容比較多,並且考題也很細,對動手能力要求很強。因此,為了有足夠的把握,一定要提前充分準備,而且一定要注重動手實踐。在Oracle官方網站上推薦的通過認證的途徑如下,可以進行參考。
Oracle大學:Oracle大學提供的教師引導及基於技術的訓練(Instructor-led training and technology- based training)是準備OCP認證的最好方式,這些課程將為你打下需要通過OCP認證的知識基礎。你可以查閱一下課程表來選擇理想的準備方式,你當地的Oracle大學可以在這方面給你一些最好的建議。你可以訪問Oracle的網站http://education.oracle.com/,獲得更多的資訊。
自己準備:實戰經驗是加深你對Oracle考試內容理解的最好方式。Oracle建議你將理論學習拓展,在實際工作或是練習中使用新學到的技巧和知識來自學。
考試內容檢查表:使用考試內容檢查表(Test Content Checklist)來確定你必須準備的所有題目。Oracle會不斷地更新考試內容檢查表,所以請訪問Oracle網站 httP://www.oracle.com/education/certification,下載最新的考試指南。
其它考試工具:類比考試題及自我測試軟體可以協助你更好地準備OCP認證考試。Oracle和自我測試軟體公司(Self Test Software)聯合出品了一些高品質的考試軟體以協助考生更好地準備OCP認證考試,這些軟體可以通過 Oracle 網站 http://www.oracle.com/education/certification定購。
事實上,絕大部分的大陸同學都是通過參加培訓班來準備考試的,它們不僅輔導通過考試的知識,而且其他資訊包括如何報名,考場上如何應考,都可以得到輔導。以上Oracle官方的介紹只是一般地對你進行一下有關備考的初級教育,事實上,正像我們前面說過的,作為一個龐大的資料庫系統,要想掌握好Oracle(更不要說完全掌握了——我甚至懷疑是否有人真正完全掌握過Oracle),從任何角度而言都不是一件易事。除非你有足夠的決心和耐心,準備將Oracle當作你的職業之路並致力於資料庫技術的研究,你才有可能真正瞭解這個龐雜系統的精髓。以下的一些論述將有助於你對Oracle有一個初步的瞭解。
2、Oracle資料庫技術基本知識
(1)Oracle資料庫涵蓋了資料庫技術的方方面面。
儘管關係型資料庫從原理上來講並不是很難,有一些資料庫知識的人掌握這些原理並不會花很大的氣力,而且,一般的關係型資料庫軟體,譬如 SQL Server,用起來並不複雜,但Oracle絕對與眾不同。作為有史以來最成功的關係型資料庫軟體,Oracle的實現方式和管理維護手段非常豐富,它涉及到很多方面的細節技術。單從任何一個側面來理解它,是難觀其全貌的。要想真的精通它,沒有兩三年功夫是不行的。單是Oracle的技術文檔,就足夠淹沒你的! 具體說來,Oracle技術包括以下幾個主要方面:Oracle系統結構和原理、Oracle資料庫的安裝和配置、Oracle資料庫的管理、Oracle的資料備份與恢複技術、Oracle的效能調整、Oracle的新產品特性(Java支援、應用伺服器、時間空間系列、文本服務等)、Oracle的並行伺服器技術、Oracle的資料倉儲技術、Oracle的物件類型和對象一關聯式模式等技術……
毫不誇張地說,以上任何一個部分單獨拿出來都是很大的題目!
(2)Oracle技術發展快,技術的關聯性大。
儘管Oracle只是一個資料庫系統,但在實際應用中,你不可能只面對資料庫本身。譬如,你在做Oracle資料庫的網路管理,你將不可避免地遇到如何與網路通訊、防火牆的技術相容的問題。同理,你在做其它方面的工作,也肯定有方方面面的技術關聯問題需要解決。而且更要命的是,這些技術(包括Oracle本身)發展速度都非常快,這就使得跟上它們的發展成為一件十分費勁的事情。
不過幸運的是,我們並不需要同時瞭解Oracle的所有方面,Oracle提供了很多應用方向,我們可以按照偏好,選擇其中的一個方向,集中時間和精力,努力在這個方向做到有所成就還不是一件很難的事情。由於Oracle目前已是世界上最主要的資料庫供應商和第二大軟體公司,Oracle的資料庫技術已經被廣泛應用於各個領域,因而市場上對Oracle人才的需求量是相當之大,獲得OCP認證不愁找不到工作。而以後我們可以在工作中學以致用,再努力地鑽研Oracle資料庫及相關技術。
3、入門者如何起步?
說了這麼多,想必您可能已經有些心動,那麼,面對Oracle這樣一個龐然大物,你也許會覺得無從下手。為此,我們有一些建議:
(1)找一本有關資料庫原理的書,掌握關聯式資料庫的基本原理——如果你沒有學過這樣的課程的話。
(2)閱讀參考書並結合上機操作,掌握SQL的一般原理及基本用法。
(3)至少買一本Oracle入門級的參考書,並找到一台安裝了Oracle的某個版本(Oracle7.3以上,最好是 Oracle 8)電腦,建立起上機學習環境。
其中第三點尤其重要,因為沒有實踐經驗,想通過Oracle認證只是癡人說夢。或者如果你的預算比較充分,你可以選擇參加培訓。在選擇培訓班的時候一定要選擇Oracle授權的培訓班,這樣培訓的品質才有保證,同時,在報名考試的時候還可以享受一定的折扣。
與其他很多考試不同,OCP並沒有真正意義上的參考書,你要做的就是在上機中不斷熟悉Oracle的各種應用,書只是用來查閱和參考的。因為從根本上來講,Oracle資料庫是一門實踐性很強的技術,而Oracle認證主要考的是動手能力。因此,沒有實踐經驗,而只靠背學習資料是根本無法通過Oracle認證考試的。以下是市面上常見的一些書,在此列出,希望能對大家有一些協助。
初級的:《輕鬆掌握SQL結構化查詢語言 (SQL)》,《輕鬆掌握Oracle資料庫開發》,《Oracle開發指南》,《Oracle初學者指南》,《Oracle8 PL/SQL程式設計》。
進階的;《Oracle伺服器技術精粹》,《Oracle8/8i開發使用手冊》,《Oracle8份與恢複手冊》,《Oracle8效能最佳化與管理手冊》。
很多IT專業人士都不相信Oracle DBA在除技術之外還有更高的含金量。通常情況下,Oracle DBA可以負責資料庫設計、運行、備份以及恢複,同時還要密切關注整個項目開發的全過程。因此,一名成功的Oracle DBA既要具有過硬的技術水平,又要有出色的協調能力,同時,對於作業系統以及電腦理論的深入瞭解也是必須的。因此,DBA必須要具有電腦專業、通訊專業、商務管理專業的學士或碩士學位。
而OCP認證考試在Oracle管理領域內是衡量一個人專業技術水平掌握程度的一個很好的標準,但有了OCP認證並不等於你就學會了Oracle專業技術。很多獲得OCP認證,接觸IT行業只有數周的人並不能夠完全理解Oracle管理的所有概念。
其實Oracle認證認證只是讓僱主瞭解到來應聘的人通過了Oracle資料庫方面的技術考試。而實際上,Oracle認證也只是衡量一個應聘者的一個標準之一,其他的標準還有:
1.出色的交際能力。Oracle DBA通常都要和IT行業的技術專家打交道,因此,他或她就必須能夠為所有訪問Oracle資料庫的開發人員或程式員清晰明了的解釋Oracle概念。有些時候,Oracle DBA也是一名管理員,因此,也同樣要求他在參與戰略發展計劃以及資料庫設計上要有出色的交際能力。
2.同類的專業學位。大多數成功的Oracle專業人士都要求由電腦或資訊系統專業學士學位。對於更高的職位,比如Oracle DBA,很多僱主都要求由電腦專業碩士學位或MBA。
3.一定的實踐經驗。這是有了OCP認證的新人們最擔心的一件事情。很多有了OCP認證又沒有工作經驗的人都在抱怨沒有OCP認證就不會有工作經驗,沒有工作經驗就不會有工作。這是現在人才市場上一個很棘手的問題。
4.豐富的資料庫理論知識。除了要掌握OCP所要求的技術知識外,一名成功的Oracle專業人士還要有與資料庫以及資料庫設計相關的軟體知識,包括資料庫標準化理論以及採用整合模組化語言(UML)的物件導向模型,當然還有其他的資料庫設計方法相關知識,比如CORBA和J2EE。
歸根結底,OCP並不能完全衡量一個人的實際水平,而只是為非IT行業人士進入Oracle領域提供一個方法。
一、定位
Oracle分兩大塊,一塊是開發,一塊是管理。開發主要是寫寫預存程序、觸發器什麼的,還有就是用Oracle的Develop工具做form.有點類似於程式員,需要有較強的邏輯思維和創造能力,個人覺得會比較辛苦,是青春飯;管理則需要對Oracle資料庫的原理有深刻的認識,有全域操縱的能力和緊密的思維,責任較大,因為一個小的失誤就會down掉整個資料庫,相對前者來說,後者更看重經驗。
因為資料庫管理的責任重大,很少公司願意請一個剛剛接觸Oracle的人去管理資料庫。對於剛剛畢業的年輕人來說,可以先選擇做開發,有一定經驗後轉型,去做資料庫的管理。當然,這個還是要看人個的實際情況來定。
二、學習方法
我的方法很簡單,就是:看書、思考、寫筆記、做實驗、再思考、再寫筆記。
看完理論的東西,自己靜下心來想想,多問自己幾個為什麼,然後把所學和所想的知識點做個筆記;在想不通或有疑問的時候,就做做實驗,想想怎麼會這樣,同樣的,把實驗的結果記下來。思考和做實驗是為了深入的瞭解這個知識點。而做筆記的過程,也是理清自己思路的過程。
學習的過程是使一個問題由模糊到清晰,再由清晰到模糊的過程。而每次的改變都代表著你又學到了一個新的知識點。
學習的過程也是從點到線,從線到網,從網到面的過程。當點變成線的時候,你會有總豁然開朗的感覺。當網到面的時候,你就是高手了。
很多網友,特別是初學的人,一碰到問題就拿到論壇上來問,在問前,你有沒有查過書,自己有沒有研究過,有沒有搜尋一下論壇?這就叫思維惰性。由別人來回答你的問題,會讓你在短時間內不費勁地弄懂這個知識點,然而通過自己的努力去研究它,不但會更深入的瞭解這個知識點,更重要的是在研究的過程會提高你解決問題和分析問題的能力。總的來說,沒有鑽研的學習態度,不管學什麼東西,都不會成功的。
當然,初學的人很多時候是因為遇到問題時,無從下手,也不知道去哪裡找資料,才會到論壇上提問題的。但我認為,在提問的時候,是不是可以問別人是如何分析這個問題?從哪裡可以找到相關的資料?而不是這個問題的答案是什嗎?授人以魚不如授人以漁。
遇到問題了。如果是概念上的問題,第一時間可以找tahiti.oracle.com,這裡會給你最詳細的解釋。如果在啟動並執行過程中出了什麼錯誤。可以去metalink看看。如果是想知道事務的處理的經驗之談。可以去asktom.當然。這裡只是相對而言。
三、Oracle的體系
Oracle的體系很龐大,要學習它,首先要瞭解Oracle的架構。在這裡,簡要的講一下Oracle的架構,讓初學者對Oracle有一個整體的認識。
1、物理結構(由控制檔案、資料檔案、重做記錄檔、參數檔案、歸檔檔案、密碼檔案組成)
控制檔案:包含維護和驗證資料庫完整性的必要資訊、例如,控制檔案用於識別資料檔案和重做記錄檔,一個資料庫至少需要一個控制檔案。
資料檔案:儲存資料的檔案。
重做記錄檔:含對資料庫所做的更改記錄,這樣萬一出現故障可以啟用資料恢複。一個資料庫至少需要兩個重做記錄檔。
參數檔案:定義Oracle常式的特性,例如它包含調整SGA中一些記憶體結構大小的參數。
歸檔檔案:是重做記錄檔的離線副本,這些副本可能對於從介質失敗中進行恢複很必要。
密碼檔案:認證哪些使用者有許可權啟動和關閉Oracle常式。
2、邏輯結構(資料表空間、段、區、塊)
資料表空間:是資料庫中的基本邏輯結構,一系列資料檔案的集合。
段:是對象在資料庫中佔用的空間。
區:是為資料一次性預留的一個較大的儲存空間。
塊:ORACLE最基本的儲存單位,在建立資料庫的時候指定。
3、記憶體配置(SGA和PGA)
SGA:是用於儲存資料庫資訊的記憶體區,該資訊為資料庫進程所共用。它包含Oracle 伺服器的資料和控制資訊,它是在Oracle伺服器所駐留的電腦的實際記憶體中得以分配,如果實際記憶體不夠再往虛擬記憶體中寫。
PGA:包含單個伺服器處理序或單個後台進程的資料和控制資訊,與幾個進程共用的SGA 正相反PGA 是只被一個進程使用的地區,PGA 在建立進程時分配在終止進程時回收。
4、後台進程(資料寫進程、日誌寫進程、系統監控、進程監控、檢查點進程、歸檔進程、服務進程、使用者進程)
資料寫進程:負責將更改的資料從資料庫緩衝區快取寫入資料檔案
日誌寫進程:將重做日誌緩衝區中的更改寫入線上重做記錄檔
系統監控:檢查資料庫的一致性如有必要還會在資料庫開啟時啟動資料庫的恢複
進程監控:負責在一個Oracle 進程失敗時清理資源
檢查點進程:負責在每當緩衝區快取中的更改永久地記錄在資料庫中時,更新控制檔案和資料檔案中的資料庫狀態資訊。
歸檔進程:在每次日誌切換時把已滿的日誌組進行備份或歸檔
服務進程:使用者進程服務。
使用者進程:在用戶端,負責將使用者的SQL語句傳遞給服務進程,並從伺服器段拿回查詢資料。
5、Oracle常式:Oracle常式由SGA記憶體結構和用於管理資料庫的後台進程組成。常式一次只能開啟和使用一個資料庫。
6、SCN(System ChangeNumber):系統改變號,一個由系統內部維護的序號。當系統需要更新的時候自動增加,他是系統中鑑效組資料的一致性和順序恢複的重要標誌。
四、深入學習
管理:可以考OCP認證,對Oracle先有一個系統的學習,然後看Oracle Concepts、Oracle online document,對oracle的原理會有更深入的瞭解,同時可以開始進行一些專題的研究如:RMAN、RAS、STATSPACT、 DATAGUARD、TUNING、BACKUP&RECOVER等等。
開發:對於想做Oracle開發的,在瞭解完Oracle基本的體繫結構之後,可以重點關注PL/SQL及Oracle的開發工具這一部分。 PL/SQL主要是包括怎麼寫SQL語句,怎麼使用Oracle本身的函數,怎麼寫預存程序、儲存函數、觸發器等。 Oracle的開發工具主要就是Oracle自己的Developer Suite(Oracle Forms Developer and Reports Developer這些),學會如何熟練使用這些工具。
http://oracle.chinaitlab.com/Special/Oracle_OCP/index.htm