我們做的項目人家點名要用oracle資料庫,在查詢、修改等方面,由于有SqlServer的基礎,這塊沒有什麼問題。但是剛剛接觸,不熟悉還
前言
我們做的項目人家點名要用Oracle資料庫,在查詢、修改等方面,由于有SqlServer的基礎,這塊沒有什麼問題。但是剛剛接觸,不熟悉還是有的,例如建立表空間,建立使用者,還需要給使用者賦予權限。
我用的是PL/SQL,用了這幾天,感覺Oracle的權限賦予這塊,确實挺強大的。依稀記得我在弄FTP伺服器時,為了控制權限而大費周折。還有強大的就是級聯删除這個功能,在用SqlServer時,還需要自己寫觸發器來實作,而Oracle單單隻需要一句話就實作了,讓人感覺其強大。
但是,強大的背後,就是它那繁瑣的使用步驟。
我們合作開發,資料庫裝到了我的電腦上,其他兩個人那隻裝PL/SQL。Oracle的遠端連接配接,不像SqlServer那樣是在登陸界面輸上IP,在往上一搜,就有人教你怎麼用PL/SQL遠端連接配接資料庫。
在這裡,我隻是給大家一個連接配接,推薦别人的部落格也是一種美德,嘻嘻——用PLSQL遠端連接配接資料庫(本機沒有安裝ORACLE資料庫)
問題描述
如果事情到這裡就結束了,那麼這部落格也就不會出了。
問題來了,不論怎樣配置,就是登陸不上去,叫過來了寫這篇部落格的本人弄了結果還是不行,後來用這種方法遠端了一下别人的點,發現是可以的,于是開始把矛頭指向了服務端。
本來認為是自己安裝過程中有遺漏選項,是以找了一個安裝教程看了一下,幾乎都是下一步的事情,就算有設定,也不是設定監聽之類的東西,,是以就沒有重裝(我用的是ORACLE 11G,如果是10G的話,可能不會有我這種問題)。
于是我開始自己做實驗,找到了我的”oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN“下的的tnsnames.ora。将裡面的localhost改成了我自己的IP,發現居然不可以,于是就确定了,這個問題的源頭在我的資料庫。
解題思路
印象中,SqlServer的遠端連接配接如果不能用的話,是可以配置的。第一,檢查防火牆;第二。。。。。,于是,就在網上找了一下,結果真的發現了ORACLE遠端連接配接配置服務端的一篇文章。
解題方法
遠端服務端配置:
1、資料庫配置(我犯的不是這個錯誤)
将資料庫操作模式配置為“共享服務模式”,如果不确定資料庫的操作模式,可以打開
“DatabaseConfiguration Assistant”工具的在資料庫中配置資料庫選項進行配置。
2、資料庫服務
打開資料庫服務(一般不會犯這個錯)。在指令韓剛輸入services.msc看看Oracle的服務是否打開。
3、監聽程式(我的就是在這個環節出了問題)
确定資料庫已經附加到監聽程式中,并且監聽程式已啟用。
我的資料庫監聽打開了,但是資料庫沒有附到監聽程式中,方法是:在net manager裡找到你的監聽,然後
在裡面的資料庫中加入伺服器名和Oracle_home的路徑。
儲存,然後重新開機監聽伺服器就行。
4、網絡狀态
确定監聽程式所使用的端口已被列入防火牆允許的行列。(這點對咱們來說,有點陌生,防火牆,我一般
都關閉。。。。)
感想
現在,伺服器端就設定好了,那麼别人是否可以連接配接你呢?難道非要等到這樣的悲劇發生了之後,才知道自己檢討自己麼?如果能夠早點測試一下,那麼就不會耽誤好些人的時間。
測試的方法很簡單,就是打開指令行,用“tnsping 伺服器IP位址”,如果能夠ping通,那麼就說明你的伺服器别人是可以遠端到的,就可以放心的讓别人去遠端你的資料庫了。
寫在結尾
初步看了Oracle資料庫的教程,目前位置,對Oracle資料庫的了解還屬于小白,還沒有完全遷移到SqlServer上,不過相信隻要學一點,就往已學的上面遷移一點,學習起來鴨梨還不算大
ps:我們系統中的權限部分換人做了,不過權限那部分我依然想實作。是以得空我就會自己敲Demo,最後上傳一個完整的代碼示例的~~
Linux下使用Oracle Instant Client遠端連接配接伺服器
本條技術文章來源于網際網路,如果無意侵犯您的權益請點選此處回報版權投訴
本文系統來源:php中文網