一、前言
昨天中午接到領導指示,有其他組的負責人B在厄瓜多爾演示他們組的產品,然后我們組的負責人就想說也在那邊搭一套環境,(北美那邊的亞馬遜雲環境),讓B幫忙演示下我們的系統。
於是,開始了一個比較曲折的過程。由於北美那邊離咱們實在太遠,網絡相當不穩定,一步一卡,淡入淡出效果相當明顯。
aws環境是windows server,好歹不用自己上傳oracle安裝包,直接官網下載下來。然后安裝后,監聽又出問題,自己沒搞定,最后dba在家里遠程搞了一個多小時才搞定。
最后把應用什么的全部部署完,已經搞到12點多了。哎
記錄下這個曲折的過程,以及正確的listener.ora和tnsnames.ora的配置,備忘。
順便提一句,后邊得好好研究下docker了。每次演示,搞環境,太惱火了。
二、oracle 下載
地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html
下載后,ctrl選中兩個文件,然后用360解壓縮到一個目錄。
三、安裝過程
后邊本地試下oracle安裝,再補上
update:這里給個鏈接
https://blog.csdn.net/m0_38025207/article/details/81010593
值得注意的是,在按照上面執行完后,還要進行以下步驟:
1、net manager配置
然后點擊文件—保存網絡配置。
然后在cmd中執行:
然后執行: lsnrctl start
然后查看上面紅框處,是否包含了”CAD”
最后,利用navicat測試一下。
四、配置文件
1.listener.ora
# listener.ora Network Configuration File: C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = CAD)
(ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.31.21.163)(PORT = 1521))
)
)
ADR_BASE_LISTENER = C:\app\Administrator
值得注意的是,上面的host那,配的是其內網ip,不是外網ip。(就這個都折騰了大半天。。)
2.tnsnames.ora
# tnsnames.ora Network Configuration File: C:\app\Administrator\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
CAD =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.31.21.163)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = CAD)
)
)
五、一些oracle命令
1.lsnrctl status
我注意到,這里的紅框標注的CAD,CLRExtProc和 listener.ora中是一致的
另外,這里的status是unknown。表示:
An UNKNOWN status means that the instance is registered statically in the listener.ora file rather than dynamically
with service registra tion. Therefore, the status is non known.
------這個‘unknown’ 表征實例是靜態注冊到監聽
lsnrctl start : 啟動監聽器
lsnrctl stop : 關閉
lsnrctl service:
列舉監聽器的服務信息,比如這些服務是否有任何專用的預生成服務器進程或與之相關的調度進程,以及每個服務已有多少連接被接受或拒絕。這種方法用來檢查一個監聽器是否在監聽一個指定服務。
列出服務的一個匯總表及為每個協議服務處理程序所建立和拒絕的連接信息個數。
2.登錄
sqlplus “/ as sysdba”
conn cad/cad@CAD
3.netca
進行監聽的配置