Linux

如何為 Oracle db 使用者啟用遠端登錄?

  • January 7, 2012

愚蠢的問題:

我已經在我的 Linux 機器上成功安裝了 Oracle 11g。

在預設安裝(+新密碼+解鎖)後,我可以使用以下連接字元串連接到它並通過 C#/mono 檢索國家表,該連接字元串使用 HR 帳戶“原樣”。

string strConnectionString =
 "User Id=HR;Password=myPassword;Data Source=(DESCRIPTION=" +
 "(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))" +
 "(CONNECT_DATA=(SID=orcl)));";

當我使用機器名稱或從路由器獲得的 IP(而不是本地主機)從同一台電腦連接時,它不起作用。防火牆已關閉。

string strConnectionString =
 "User Id=HR;Password=myPassword;Data Source=(DESCRIPTION=" +
 "(ADDRESS=(PROTOCOL=TCP)(HOST=machine-name-or-IP)(PORT=1521))" +
 "(CONNECT_DATA=(SID=orcl)));";

我假設我必須允許遠端連接並允許從任何電腦登錄 HR 帳戶。

但是如何以及在哪裡?

並且可能配置數據庫以偵聽正確的 IP。

我怎樣才能做到這一點 ?在哪裡?

我已經google了它,但到目前為止我沒有發現任何有用的東西……

請注意,“遠端連接”是指192.168.*.*

偵聽器是否在偵聽外部 ip?您可以使用 netstat -an 檢查偵聽器是否僅在 127.0.0.1 的埠 1521 上偵聽,或者它是否也在 192.168 上偵聽…。

遠端登錄預設開啟 afaik。如果您創建一個新使用者,則該使用者需要角色資源並連接才能連接到數據庫並創建表和其他內容。

你不應該檢查路由器。問題是本地機器知道哪些ip或帽子名可以解決。一個簡單的 ping 和 nslookup 應該會為您指明正確的方向。如果可行,請檢查 tnsping。

引用自:https://serverfault.com/questions/346896