标签: Oracle

  • Oracle初學者心得

    oracle的體系太龐大了,對於初學者來說,難免會有些無從下手的感覺,什麼都想學,結果什麼都學不好,所以把學習經驗共享一下,希望讓剛剛入門的人對oracle有一個總體的認識,少走一些彎路。
      
    一、定位
    oracle分兩大塊,一塊是開發,一塊是管理。開發主要是寫寫存儲過程、觸發器什麼的,還有就是用Oracle的Develop工具做form。有點類似於程序員,需要有較強的邏輯思維和創造能力,個人覺得會比較辛苦,是青春飯J;管理則需要對oracle數據庫的原理有深刻的認識,有全局操縱的能力和緊密的思維,責任較大,因為一個小的失誤就會down掉整個數據庫,相對前者來說,後者更看重經驗。
      
    因為數據庫管理的責任重大,很少公司願意請一個剛剛接觸oracle的人去管理數據庫。對於剛剛畢業的年輕人來說,可以先選擇做開發,有一定經驗後轉型,去做數據庫的管理。當然,這個還是要看人個的實際情況來定。

    二、學習方法
    我的方法很簡單,就是:看書、思考、寫筆記、做實驗、再思考、再寫筆記
      
         看完理論的東西,自己靜下心來想想,多問自己幾個為什麼,然後把所學和所想的知識點做個筆記;在想不通或有疑問的時候,就做做實驗,想想怎麼會這樣,同樣的,把實驗的結果記下來。思考和做實驗是為了深入的了解這個知識點。而做筆記的過程,也是理清自己思路的過程。
      
         學習的過程是使一個問題由模糊到清晰,再由清晰到模糊的過程。而每次的改變都代表著你又學到了一個新的知識點。
      
         學習的過程也是從點到線,從線到網,從網到面的過程。當點變成線的時候,你會有總豁然開朗的感覺。當網到面的時候,你就是高手了
      
         很多網友,特別是初學的人,一碰到問題就拿到論壇上來問,在問前,你有沒有查過書,自己有沒有研究過,有沒有搜索一下論壇?這就叫思維惰性。由別人來回答你的問題,會讓你在短時間內不費勁地弄懂這個知識點,然而通過自己的努力去研究它,不但會更深入的了解這個知識點,更重要的是在研究的過程會提高你解決問題和分析問題的能力。總的來說,沒有鑽研的學習態度,不管學什麼東西,都不會成功的。
      
         當然,初學的人很多時候是因為遇到問題時,無從下手,也不知道去哪裡找資料,才會到論壇上提問題的。但我認為,在提問的時候,是不是可以問別人是如何分析這個問題?從哪裡可以找到相關的資料?而不是這個問題的答案是什麼?授人以魚不如授人以漁。

       下面我講下我處理問題的過程

       首先要知道oracle的官方網站:www.oracle.com這裡有oracle的各種版本的數據庫、應用工具和權威的官方文檔。其次,還要知道http://metalink.oracle.com/這裡是買了oracle服務或是oracle的合作夥伴才可以進去的,裡面有很多權威的解決方案和補丁。然後就是一些著名網站:asktom.oracle.com www.orafaq.net, www.dbazine.com。這裡有很多經驗之談。

        遇到問題了。如果是概念上的問題,第一時間可以找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 Change Number):系統改變號,一個由系統內部維護的序列號。當系統需要更新的時候自動增加,他是系統中維持數據的一致性和順序恢復的重要標誌。

    四、深入學習
    管理:可以考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這些),學會如何熟練使用這些工具。

    介紹幾本oracle入門的好書

    oracle官方文檔:《concept》上面講了oracle的體系和概念,很適合初學者看。

    OCP的教學用書,也就是STUDY GUIDE(SG)。
    Oracle8i備份恢復手冊
    Oracle8高級管理與優化
    Oracle8i PLSQL程序設計
    Oracle8數據庫管理員手冊
    以上書本都是機械工業出版社出版。
      
    介紹幾個網站
    http://tahiti.oracle.com oracle的官方文檔
    現在http://www.oracle.com.cn/onlinedoc/index.htm也有官方文檔,速度奇快
    http://metalink.oracle.com/ oracle的技術支持網站。需要購買Oracle服務才能有一個帳號,才能登陸,有大量的Knowledge Base,大量問題解決經驗。
    http://www.oracle.com oracle的官方網站,可以在這裡down oracle的軟件、官方文檔和獲得最新的消息
    http://www.dbazine.com/ Oracle的雜誌
    http://asktom.oracle.com
    http://www.orafaq.net/
    http://www.ixora.com.au/
    http://www.oracle-base.com
    http://www.dba-oracle.com/oracle_links.htm

    來源:www.itcert.org
  • 全面解析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結構化查詢語言》,《輕鬆掌握Oracle數據庫開發》,《Oracle開髮指南》,《Oracle初學者指南》,

    《Oracle8 PL/SQL程序設計》。

    高級的;《Oracle服務器技術精粹》,《Oracle8/8i開發使用手冊》,《Oracle8份與恢復手冊》,《Oracle8性能優化與管理手冊》。

    五、獲得OCP認證的好處

    在Oracle的官方同站上,Oracle公司詳細列舉了獲得OCP認證的種種好處,雖然有自賣自誇之嫌,但總的來說還是很有道理的。大家不

    妨跟我們一起看看。

    總的來說,IT業對專家的要求很高,職業競爭壓力很大。無論是新進入這個行業的人,還是此行業中的老手,都需要知道他們的那些技

    術背景能真正吸引到雇主的眼光。同時,雇主們也需要一個標準幫助他們挑選出那些技術上真正過硬的僱員。 OCP認證就能夠幫助IT業界建

    立起面向特定職位的選擇標準。 OCP認證是一個有價值的、業界承認的標準,這個標準可以證明持證者的知識和能力水平。

    Oracle認證對技術專家的好處:OCP認證可以給你一個鮮明的優勢。 OCP認證可以表明你對某一職位及相關的Oracle產品有著深刻的理解

    。成為一個OCP認證專家可以幫助你被更多的雇主注意到,並且增加你獲得IT業最具挑戰性機遇的機會。 OCP認證專家們證實了OCP認證的價

    值:97%的OCP認為他們獲益於OCP認證;89%的OCP認為獲得認證後,他們在Oracle專家的職位上更具信心;96%的OCP認為他們會建議職業學校

    (professional College,普遍存在於美國的一種職業教育方式)開相應的課程。

    Oracle認證對IT雇主的好處:OCP認證同時可以幫助IT業的人事經理在應聘者中挑選出符合挑戰性職位的員工。對於那些每年把員工送

    去培訓的公司,認證可以保證他們在培訓上的錢沒有白花——他們的員工獲得了對於深入理解和必要的知識。公司也可以把認證和員工的職

    業發展聯合起來,這樣可以增強員工的忠誠度及他們在職業崗位上的表現。同時,僱用獲得認證的專家可以直接提高公司的實力,國際數據

    公司(International Data Corporation)的一項研究顯示了這一點。這項研究指出獲得認證的專家比那些沒有通過認證的平均每人每天多處

    理40%的支持電話;僱用認證專家的公司比那些沒有僱用的公司宕機的時間少49%;對大多數公司的調查顯示,在不到9個月內,認證專家為他

    們節約的費用就超過了他們送專家去培訓並獲得認證的費用。

  • Linux認證:為何SAP與Oracle排斥Ubuntu?

    雖然Canonical公司不斷增加Ubuntu的合作夥伴,但至少有兩個重要的軟件供應商仍然不支持Ubuntu Linux 。

    資料:

    Kubuntu與Xubuntu是Ubuntu計劃正式支援的衍生版本,分別將KDE與Xfce桌面環境帶入Ubuntu,Edubuntu是一個針對學校教學環境而設計,試圖讓低齡兒童可以輕鬆學會使用的衍生版本。

    Ubuntu建基於Debian的不穩定分支:不論其軟件格式(deb)還是軟件管理與安裝系統(Debian Apt/Synaptic)。 Ubuntu的開發者會把對軟件的修改及時反饋給Debian社群,而不是在發布新版時才宣布這些修改。事實上,很多Ubuntu的開發者同時也是Debian主要軟件的維護者。不過,Debian與Ubuntu的軟件並不一定完全兼容,也就是說,將Debian的軟件包安裝在Ubuntu上可能會出現兼容性問題,反之亦然。

    Ubuntu的運作主要依靠Canonical有限公司的支持,同時亦有來自Linux社區的熱心人士提供協助。 Ubuntu的開發人員多稱馬克?舍特爾沃斯為SABDFL(是self-appointed benevolent dictator for life的縮寫,即自封的項目決策者)。在2005年7月8日,馬克?舍特爾沃斯與Canonical有限公司宣布成立Ubuntu基金會,並提供1千萬美元作為啟始營運資金。成立基金會的目的是為了確保將來Ubuntu得以持續開發與獲得支持,但直至2006年,此基金會仍未投入運作。馬克?舍特爾沃斯形容此基金會是在Canonical有限公司出現財務危機時的緊急營運資金。

    目前,Ubuntu的最新長期支持版本為‘Hardy Heron’,即在2008年4月24日所推出Ubuntu 8.04 LTS(長期支持版),使用者可以透過船運服務(shipit)來獲得免費的安裝光碟。前一個LTS版本(Ubuntu 6.06)也有提供免費船運服務,然而其後的Ubuntu 6.10版卻沒有提供免費的船運郵寄光碟服務,使用者只可由網站上下載光碟映像檔燒錄並安裝。 Ubuntu 6.06釋出當時曾有消息指出往後不會再對非長期支持版提供船運服務,但在Ubuntu7.04版推出時,船運服務再度啟動,而此版並非長期支持版。

    已於2008年4月發布的Ubuntu 8.04和6.06一樣,都有著Long Term Support (LTS)的標籤,代表著這個版本也將獲得更長時間的技術支援(Desktop版3年,Server版5年)。

    Ubuntu急於爭取Oracle支持

    Linux廠商Canonical正在努力為Ubuntu Linux發行版,獲得更多的軟件和硬件認證。在其最新一輪的合作夥伴關係中,Canonical正在擴大其與IBM,Alfresco, Zimbra,Likewise, Centrify等之間的合作關係。

    然而雖然Canonical展示了努力擴大其聯盟的勢頭,但至少有兩家知名的公司不在Ubuntu的合作夥伴關係中。目前Oracle公司和SAP公司都不支持Ubuntu,並且都沒有想要立即合作的計劃。並且Linux系統上的競爭對手Red Hat公司和Novell公司都得到Oracle和SAP的認證,它們有可能將Ubuntu排除在Linux的部署之外。

    Canonical的ISV合作聯盟經理的Malcolm Yates在internetnews.com上聲稱: “Oracle and SAP是我們繼續致力於爭取的兩個大的軟件合作商。他們都有不一定要轉移到Ubuntu的原因。從ISV舊的案例告訴我們,轉移到另一OS的供應商有可能要重新分配我們已具備資源,我們為什麼要轉移到另一OS的供應商,而且我們必須要重新培訓我們所有的人員。”

    Oracle在1998年對Linux的支持,一直被專家認為是Linux在操作系統市場上成功的最關鍵原因之一。 Ubuntu在過去的四年裡的已獲得了使用者的認可,經常在Linux發行版情報網站distrowatch和其它地方人氣高居榜首。儘管其有這種明顯的人氣,但Oracle還是對Ubuntu不太感興趣。

    “Oracle公司目前尚無支持Ubuntu Linux的計劃, ”一位Oracle發言人在發向internetnews.com的一封電子郵件中寫到。 “Oracle的支持的發行版是Novell的SLES , Red Hat的RHEL ,Asianux和Oracle Enterprise Linux 。這些決定是基於客戶的需求以及Oracle在Linux系統應用開發上的重心” 。 Oracle Enterprise Linux是Oracle發行的自己的Linux版本,它是基於Red Hat Enterprise Linux系統。今年早些時候,Oracle聲稱,它的Linux版本已有超過2000個客戶。因此安裝Oracle Linux的收入至少是5億美元。

    Yates稱:“我們之前已經和他們(Oracle)談過了,我認為Oracle和大多數獨立軟件開發商是不同的,因為他們有自己的Linux ,我認為相比較讓他們開始出售Ubuntu,比出售自己的Linux更困難。”他補充說,他很想取得Oracle公司的支持,但短期內還沒有這個打算。

    SAP堅持他的決定

    SAP公司,雖然並沒有自己的Linux,但目前它也不打算支持Ubuntu。

    “ SAP公司支持Red Hat Enterprise Linux和Novell SUSE Linux Enterprise Server , ” SAP的行業標準副主席Michael Bechauf,告訴internetnews.com 。 “在這個時候,我們是回應客戶在企業空間的需求,將決定我們支持相應的戰略” 。

    雖然目前Oracle和SAP還不支持者Ubuntu, IBM公司,作為企業軟件的支柱,自2005年以來就一直支持Ubuntu。然而IBM公司的支持並不全面,起初只是對DB2數據庫產品的認證。上週, IBM和Canonical的合作夥伴關係擴大到包括IBM Lotus Symphony辦公軟件,IBM Lotus Symphony是“不用微軟”(Microsoft-free)計劃的一部分。然而,IBM與Ubuntu的伙伴關係,並沒有到達IBM與Red Hat以及Novell的合作水平。

    “我們與Ubuntu合作的重點是Ubuntu正在牽引我們發展的領域, ” IBM的Linux主任Inna Kuznetsova,告訴internetnews.com 。 “至於其他地區,我們將不斷探討,因為他們也在逐漸成長。我們與Red Hat和Novell的合作關係是非常穩健的,包括所有IBM服務器線路和支持數量龐大的IBM中間件產品” 。

    從網絡資源內容管理軟件開發商Alfresco的數據來看,越來越多的人在使用Ubuntu系統。從其最近的開放源代碼的統計來看,該公司報告說, 23 %的用戶使用Ubuntu系統, 35 %的用戶使用Red Hat Linux。

    Ubuntu逐漸得到更廣泛的接受, Yates很清楚Canonical公司下一步需要做什麼。 Canonical公司將致力於使製造商安裝使用Ubuntu系統,並繼續建立一個合作夥伴系統。 Canonical為Dell電腦提供預安裝Ubuntu系統,特惠商品的貨架上也開始出售Ubuntu系統。 Yates稱: “它的所有有關的認證和系統建設,正是我們一直在努力方向,合作夥伴和適用的應用軟件是成功的關鍵。作為應用軟件,我們將一直致力於應用軟件的開發” 。

    雖然Oracle和SAP目前不支持Ubuntu的,但還是有很多其他廠商支持。 Yates聲稱: “有越來越多的機會在那裡,我們公司還在不斷的成長” 。

  • Oracle 9iDBA 1Z0-007題庫下載

    Oracle目前提供了4種適於不同人員的認證:Oracle DBA認證、Oracle網絡應用開發人員認證、Oracle Jxdya開發人員認證和Internet數據庫操作人員認證(iDBO)。其中,Oracle DBA認證是最重要也是最為普及的壹種認證類型。在最新公布的Oracle 9i DBA認證考試當中,也由上至下依次地劃分為OCMOCPOCA三層,如下圖所示,以下將把此項認證作為討論的重點。

    killtest提供1z0-007題庫下載:Oracle 9iDBA 1Z0-007題庫下載

    1Z0-007的SQL Exam當中有60道題,現行的計分方式是只看答對的百分率,如果妳答對了45道題,答對的百分率是75%,也就通過了這門考試(見下表)。以前則不然,由於妳得到的是壹個位置分數,那麽每壹期考試的通過與否就不單單是妳個人的能力問題了,它還跟其他與妳同期參與考試的人有關系,有可能妳甚至達到80%的答對率都不能通過——因為有很多的其他人達到了81%的答對率!Oracle公司也壹直在搖擺不定,說不準哪壹天會回到老路,這是那些目前對Oracle考試采取觀望態度的人應該註意的壹點。從表1中可以看出,Fundamentals(1Z0-031)分成兩個部分,Mastery Section要稍微難壹些,考生同時達到Basic Section和Mastery Section兩部分的要求才算是真正地通過了該門考試。

    1Z0-007屬於Oracle 9i DBA的壹項考試編號。全稱:Introduction to Oracle9i: SQL。考試時間:120分鐘,1Z0-007包含52道考試題目,只需要壹個及格分數的71%,考生便可通過1Z0-007的認證考試。1Z0-007題庫包含129真題,1Z0-007考題題庫是由考試內容的更新而隨之更新,更新時間:2008年9月1日。 考試內容涵蓋以下幾個方面:寫作基本的SQL SELECT語句;子查詢;創建意見;制約和排序數據;生產可讀輸出與iSQL *加; 創建其他數據庫對象;單排職能;數據顯示從多個表;操作數據;創建和管理表;包括約束。

  • Oracle 10G認證考試新變化

    根據Oracle官方最新消息,自2008年12月1日起,欲取得Oracle10g OCA認證必須加考一科考試

    (Oracle Database SQL Expert,1Z0-047);

    欲取得進階的OCP認證,必須先通過OCA認證的兩科考試(1Z0-042、1Z0-047),以及至少參加過一門門由Oracle講師教授的課堂訓練課程或OLN線上講師訓練課程,並通過OCP一科考試(1Z0-043)才能擁有OCP認證。
            而在12月1日前參加1Z0-042考試並通過考試拿到OCA證書的學員不必要加考新增加的考試。