對於初學者,關於用戶端工具與資料庫伺服器的串連總是會存在如下的疑問:
- 我一定要在本地機器上面安裝Oracle資料庫嗎?
- 如果我在本地安裝了Oracle資料庫,為什麼還要配置一個TNS來串連資料庫呢,它怎麼這麼笨呢?
- 如果本地可以不安裝資料庫,那又怎麼弄呢?
- 還有SQL*Plus,PL/SQL Developer和Oracle資料庫有什麼關係呢?
?
要弄清楚上面的問題和這些名詞之間的關係,我下面就以一個比較笨拙的比喻來說明:
首先需要瞭解兩個進程(Windows平台):Oracle資料庫進程和Oracle資料庫服務監聽進程。如果按照這兩個進程來劃分安裝階段的話,我們可以將安裝階段分為資料庫後台系統安裝和建立資料庫兩個階段,而資料庫進程和資料庫服務監聽進程分別就是兩個安裝階段建立的。
而第一個階段安裝完成後,其實Oracle資料庫並沒有“真正資料庫”的功能,因為它只是具備了管理資料庫能力的一個基礎系統,並不能儲存資料。就像蓋房子,需要先有塊地皮,才能蓋房子,但是光地皮它還不是房子。而如果Oracle資料庫進程成功啟動了,說明養?上面我們可以清楚,如果我需要操作資料庫伺服器,只要如下條件就可以了:
- 知道TNS,即資料庫地址相關的資訊
- 具備Oracle Net軟體層
- 用戶端應用
?
TNS的知識已經足夠了,那怎麼樣才能使自己的系統中擁有Oracle Net軟體層呢?有幾種途徑:
- 專門安裝Oracle Client軟體,可以從Oracle網站下載
- 安裝Oracle開發工具,如Form、Report、Discoverer等等,因為這些軟體也帶了Oracle Net軟體層
- 安裝Oracle資料庫,它也帶了Oracle Net軟體層
?
而我們需要的是一個用戶端應用,以便我們來操作資料庫,SQL*Plus就是Oracle很多產品中內建的一個應用工具,而PL/SQL Developer則是第三方公司開發的一個Oracle用戶端工具。因此要使用SQL*Plus或者PL/SQL Developer操作資料庫之前,我們一般要做的就是進行TNS配置,而要進行TNS配置就需要安裝Oracle Net軟體層。
綜上所述,要操作Oracle資料庫,或者說在Oracle資料庫環境下進行資料庫應用開發,我們最常見的環境組合:
- 開發機器上安裝Oracle Client軟體,讓其具備Oracle Net軟體層,進而配置TNS,標識出要串連的資料庫資訊;並安裝PL/SQL Developer這樣的Oracle用戶端開發工具。而Oracle資料庫伺服器系統安裝在公司的伺服器或者“遙遠的地方”,和開發人員沒有關係,只要TNS配置好就行
- 開發機器上安裝Oracle資料庫,同時也具備了Oracle Net軟體層的功能,配置TNS,標識出串連本機上的資料庫;同時安裝Oracle用戶端開發工具
?
這樣一來沒有條件在自己機器上面安裝一個Oracle資料庫的同學就可以選擇第一個方案,然後找一個有條件同學的資料庫伺服器或者公司的資料庫伺服器來進行學習,當然前提是要保證網路連接!