使用Oracle資料庫進行企業開發(一)

來源:互聯網
上載者:User
    開發人員與DBA是兩個不同的角色,在實際工作中,兩個角色可以互相協助,互連有無,共同做好項目。但是實際上,開發人員需要一定的Oracle基礎知識,這樣才可以做出更好更專業的應用程式。
    對於Oracle系統架構等和開發關係不太大的知識,並不在本文討論範圍之內,本文僅針對部分開發人員需要瞭解的方面展開討論,並且在某種程度上更偏向於dotnet程式員。
    一、網路設定
使    用Oracle做後台資料庫,前端的應用程式必須通過網路設定才能與伺服器相連,即便資料庫與應用程式在同一台機器上,也需要做一定的配置,如果用戶端與伺服器不在同一台機器,那麼用戶端必須安裝Oracle用戶端軟體才可以,用戶端的版本與伺服器的版本不一定嚴格一致,比如伺服器是Oracle10g,用戶端只要裝一個Oracle9i以上版本就可以了。下面分別做一下說明:
    1.應用程式與資料庫在同一台機器
    這種模式相對簡單,因為裝了完整版的Oracle後,已經包括了Oracle用戶端組件,在預設的情況,串連資料庫只要提供資料庫的使用者名稱和密碼即可,網路相關的東西可以不用理會。這種情況適合於本機只裝了一個Oracle的執行個體,如果有多個執行個體的話,會需要配置的更複雜一些,與下面的第二點相同,請參考後面介紹。
    2.資料庫伺服器與應用程式脫離
    所謂脫離,指的是兩個機器在物理上是隔離的,這種串連,必須靠OCI來實現。OCI指的是專門用於用戶端與伺服器串連的一種方式,實現它有多種方式,最簡單的辦法就是拿Oracle安裝盤,在用戶端機器上裝一個Oracle的用戶端版本即可。但是這種方式部署比較困難,因為Oracle的用戶端也比較大,最少在100M以上,安裝的時候需要指定目錄等操作,比較複雜。如果做大面積CS結構部署,會很麻煩。
    替代辦法是目前可以找到一個“精簡版Oracle用戶端”,此版本並非Oracle官方發布,只有9M左右,安裝完成後,可以實現用戶端與伺服器的串連通道,但是不包括任何的用戶端工具。
    能否在自己的應用程式中直接把Oracle用戶端打包進去一起發布呢,我想肯定能,但是我不會。
    OCI是如何?這個橋樑作用的呢?在伺服器端有一個監聽器,一直負責監聽外面的請求,這個請求正是用戶端的OCI發過來的,監聽器收到請求後,然後真正向資料庫伺服器提出申請,實現整個的串連過程。
    一般伺服器端預設情況需要1521連接埠,因此需要在伺服器及中間的firewall上開啟1521連接埠,對於UNIX系列伺服器,這樣做完就可以了,但是對於Windows系列伺服器,你會發現,雖然firewall已經允許存取1521連接埠,用戶端依然是無法連通,但是把firewall全部開啟又太過危險。這是Windows的Socket機製造成的一個特有的現象,原理不再解釋,僅說明一下處理方式:
    需要在資料庫伺服器註冊表的如下路徑:
    我的電腦\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0中添加一個鍵:USE_SHARED_SOCKET,並賦值為TRUE,然後就可以了。記得一點,如果還不行,就把資料庫伺服器重新啟動一下。
    針對用戶端,有一個主要的檔案就是tnsnames.ora,安裝過Oracle用戶端後,在安裝目錄可以找到這個檔案,在這裡面記錄著如何串連伺服器,一般安裝用戶端後,系統會自動建立幾個串連,如果需要建立,直接模仿就可以,這是個文字檔,可以直接編輯,存檔後即生效,不需要重新啟動機器或Oracle服務。

未完

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.