最近要做個基於Oracle的作業,下面是安裝伺服器與用戶端版本過程以及常見的問題
- 上了Oracle 官網,找了個11g,為儘快熟悉Oracle 下載了Database 11g 快捷版
安裝完之後程式菜單
看起來這個版本確實是供入門學習,點擊“入門”功能表項目,這裡可通過管理頁面來進行資料庫相關管理操作:如建庫、系統管理使用者等
- 為了熟悉現在Oracle的公司專屬應用程式,找了個10g版本的oracle,包括oracle client端
但對於開發人員來說,這兩版的所謂的用戶端,也就是SQL Plus, 對資料庫的操作都是命令列方式
對用慣SQL Server的人來說,感覺不方便,於是找到相應的PL SQL developer ,這款軟體具有圖形化介面
- 在這安裝與操作過程中,遇到一個問題,oracle client串連時,總是報“ORA-12541:TNS:無監聽程式”錯誤,查了相關資料發現原因如下
1) 監聽服務未成功啟動
2) 監聽的執行個體與用戶端串連執行個體的連接埠不一致,
第一種情況如下解決方案
1) 首先通過命令列即進入CMD命令列視窗,在這之前需要配置好環境變數(具體參考最後Oracle環境變數配置),監聽服務啟動lsnrctl start , 啟動過程中可以看到是否有異常
正常情況如下
否則需要檢查相應的設定檔
查看oracle\product\10.1.0\db_1\NETWORK\ADMIN\listener.ora
# listener.ora Network Configuration File: D:\oracle\product\10.1.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.1.0\db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =機器名)(PORT = 1521))
)
)
)
把(ADDRESS = (PROTOCOL = TCP)(HOST = 機器名)(PORT = 1521))
改為(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
127.0.0.1 :代表實際的server端地址,因當前是在本地測試,所以用了代表原生IP
2) 查看oracle\product\10.1.0\db_1\NETWORK\ADMIN\tnsnames.ora
找到下列語句:
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =機器名)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
將(ADDRESS = (PROTOCOL = TCP)(HOST =機器名)(PORT = 1521))
改為(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
第三步,更改配置後,重新啟動監聽lsnrctl stop (停止) lsnrctl start (啟動)
從這樣的情況看,Host配置為IP地址是穩妥的,實際上這兩種都可以,
發生異常時,可以切換試試;另若server與client不在同一台機子上,需要配置用戶端tnsnames.ora
第二種情況解決方案
1)找到客服與服務端tnsnames.ora檔案,檢查其中每個執行個體對應的監聽連接埠是否一致,若不一致,需要更改
LISTENER_MYDB =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
LISTENER_ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
2)重新啟動監聽服務lsnrctl start (啟動)
Oracle環境變數配置
“我的電腦”屬性視窗中“進階”—》“環境變數”,在“系統變數”欄,選擇Path, 編輯行,加入D:\oracle\product\10.2.0\db_1\bin 即安裝目錄,這也是SQL Plus命令所在目錄
“系統變數”列表框下面的"變數"列中找不到ORACLE_HOME和ORACLE_SID,則需要設定這兩個環境變數。可單擊“建立”按鈕,在“變數名”文字框中輸入"ORACLE_HOME",並在“變數值”文字框中輸入Oracle安裝目錄路徑,如D:\oracle\product\10.2.0\db_1,然後單擊“確定”按鈕。同樣單擊“建立”按鈕,在“變數名”文字框中輸入"ORACLE_SID",然後在“變數值”文字框中輸入"orcl",這就是資料庫的執行個體名(這裡的執行個體名和資料庫名一樣),最後單擊“確定”按鈕