我一點點研究更要考慮到你的答案,這是我們應該考慮的:
1.配置Windows Server防火牆: 轉到Control Panel
- >System and Security
- >Windows Firewall
- >Advanced settings
。然後創建與後續的功能一個新的入站規則:
規則類型:Port
協議:TCP
端口號:1521
(除非您已指定在一個不同的你Oracle數據庫)
操作:Allow the connection
簡介:Domain + Private + Public
(或適用於您的情況之一)
名稱:Oracle DB
(或任何你想要的名稱)
一旦你完成了,創建出站規則爲入站規則指定的相同功能。
2.配置谷歌Compute Engine的網絡防火牆:在谷歌計算引擎(GCE)控制檯去Networking
- >Firewall rules
。然後點擊New firewall rule
,並對其進行配置:
名稱:oracle-db
(或任何你想要的名稱)
網:default
(或您已經部署虛擬機的一個驗證它形成VM實例的儀表板)
源過濾:Allow from any source (0.0.0.0/0)
(警告:你應該選擇IP範圍,如果你只是想使一臺主機或一組主機然後指定你的域名或IP地址)
0123。個
允許協議和端口: (或適用於您的情況之一 - 同樣的,你已經爲你的Windows防火牆規則定義)
最後,點擊創建。
3.配置Oracle網絡監聽:默認情況下,Oracle數據庫不接受遠程連接。它只接受本地主機請求。因此,在您的Oracle數據庫服務器上以管理員身份打開CMD。在執行我們將停止數據庫淨聽衆:
lsnrctl STOP
現在,轉到Oracle安裝路徑ORACLE_PATH(通常爲:ORACLE_PATH
= C:\app\<user_name>
)。然後導航至:ORACLE_PATH\product\11.2.0\dbhome_1\NETWORK\ADMIN
。在那裏你會發現兩個重要的文件:listener.ora
和tnsnames.ora
。打開listener.ora
並通過您的服務器主機名(WARN:不是IP地址,而是服務器HOSTNAME)更改所有LOCALHOST選項。
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = <server_hostname>)(PORT = 1521))
)
)
保存更改。然後,打開tnsnames.ora
文件。併爲您的服務做同樣的事情:
YOUR_SERVICE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = <server_hostname>)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = your_service_name)
)
)
LISTENER_YOUR_SERVICE =
(ADDRESS = (PROTOCOL = TCP)(HOST = <server_hostname>)(PORT = 1521))
保存您的更改。最後,我們應該重新啓動網絡監聽器。所以去CMD作爲管理員執行以下命令:
lsnrctl START
打開瀏覽器,輸入:http://localhost:1158/em。您的數據庫和偵聽器應該正在運行。現在您可以從遠程主機連接。
欲瞭解更多信息,請參考:http://docs.oracle.com/cd/B28359_01/network.111/b28316/listenercfg.htm
好的研究。我只想補充一點,建議在GCE防火牆上使用'Target tags',否則防火牆規則適用於所有VM實例。 – Kamran