使 Oracle XE 實例網路廣泛可用
我對 Oracle 還很陌生,所以請多多包涵。
我想在伺服器上安裝 Oracle 18c XE DBMS 並通過 DBeaver 遠端訪問它的數據庫。首先,對於使用哪個客戶端存在一些混淆。
到目前為止,我已經閱讀了文件,這是我在尋找客戶時發現的:
Oracle 客戶端軟體
遠端電腦必須安裝 Oracle 客戶端軟體。Oracle 命令行實用程序(和您的應用程序)通過 Oracle 客戶端軟體連接到數據庫。Oracle Database XE >接受來自以下所有類型的 Oracle 客戶端軟體的連接:
- Oracle 數據庫快捷版客戶端(Oracle 數據庫快捷版)
安裝 Oracle Database XE 時,Oracle Database Express Edition Client 也安裝在同一台電腦上。您可以在遠端電腦上單獨安裝 Oracle Database XE。可在
http://www.oracle.com/technetwork/database/express-edition/打開一個新視窗
- 即時客戶端
即時客戶端可在
http://www.oracle.com/technetwork/database/features/instant-client/index-100365.htmlOpens a new window Oracle 數據庫企業版或標準版的 Oracle 客戶端軟體(所有受支持的 > 版本的 Oracle 數據庫)
- 所有 Oracle 客戶端軟體都包括 Oracle Net,它是一種 Oracle 網路軟體,它使一台電腦上的 >client > 應用程序能夠通過網路連接到另一台電腦上的數據庫。
問題 1: 由於我不打算以程式方式訪問數據庫並且實際上想要使用 GUI 或 SQLPLUS,這是否意味著我必須在所有客戶端上完全安裝 Oracle 18c XE?
出於測試目的,我設置了兩個設備:
- Device1 - 私有安裝 Oracle 19c (IP: 192.168.178.201)
- Device2 - 安裝了 Oracle 18c XE 的未來伺服器(IP:192.168.178.54)
Device1 通過 vpn 與網路 192.168.178.0 連接,兩台設備可以互相 ping 通。
現在根據我的理解,我應該只需要像這樣配置我的 DBeaver 客戶端連接:
但是連接超時…
問題2: 我的tsnames.ora和listener.ora的配置有錯嗎?
tsnames.ora:
# tnsnames.ora Network Configuration File: C:\app\install\product\18.0.0\dbhomeXE\NETWORK\ADMIN\tnsnames.ora # Generated by Oracle configuration tools. XE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.178.54)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE) ) ) XEPDB1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.178.54)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = xepdb1) ) ) LISTENER_XE = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.178.54)(PORT = 1521)) ORACLR_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (CONNECT_DATA = (SID = CLRExtProc) (PRESENTATION = RO) ) )
監聽器.ora
# listener.ora Network Configuration File: C:\app\install\product\18.0.0\dbhomeXE\NETWORK\ADMIN\listener.ora # Generated by Oracle configuration tools. DEFAULT_SERVICE_LISTENER = XE SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = C:\app\install\product\18.0.0\dbhomeXE) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:C:\app\install\product\18.0.0\dbhomeXE\bin\oraclr18.dll") ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.178.54)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) )
您應該只在伺服器上安裝伺服器軟體(即 Oracle 18c XE)。您應該在其他任何地方安裝客戶端軟體(即即時客戶端或完整的 OCI 客戶端)。雖然伺服器軟體包括客戶端,但它旨在用於本地訪問,或允許伺服器相互通信。沒有必要(確實有理由不)在每個客戶端主機上安裝完整的 XE 伺服器。
對於您的伺服器網路配置文件,與 XE 設置關聯的預設值應該沒問題。您唯一需要仔細檢查的是您沒有防火牆阻止遠端客戶端訪問伺服器埠(預設為 1521)。