有時候我們需要再同一臺機器上建立多個資料庫服務(不是單純的資料庫例項),每一個資料庫可以有單獨的服務執行,只是在一個機器環境而已。可以在不同的埠上監聽,也可以在相同埠監聽
建立多個資料庫步驟
安裝完Oracle資料庫後,會自動安裝很多工具,這裡我們使用Database Configuration Assistant工具來建立資料庫
按照提示一步步確定和填寫資訊即可,注意第三部填寫自己要建立的資料庫名稱:
整個過程和第一次建立資料庫一模一樣,注意按需選擇字符集、連線數等即可。
建立成功後,我們的呢服務列表services.msc中會自動執行剛才建立好的資料庫服務,比如我這裡剛才建立的名字叫looorcl:
連線指定資料庫
- 一般情況下,建立成功後,直接採用sqlplus去連線就行,只不過連線字串改成上面剛新加的就行,比如:
sqlplus sys/nhis@looOrcl as sysdba
我這裡是本地所以沒有制定ip - 如果連線時報錯:ERROR:ORA-12514: TNS: 監聽程式當前無法識別連線描述符中請求的服務
-
此時要檢查,首先是否書寫錯誤。確保你在連線時使用的服務名與 tnsnames.ora 檔案中定義的服務名一致。
-
檢查tnsnames.ora這個檔案的配置,具體路徑在建立資料庫的時候已經有提示,不改動的話預設就是資料庫目錄的
product\11.2.0\dbhome_1\NETWORK\ADMIN
目錄中,比如我的在D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora,檔案內容中會多出一個節點,比如:
-
然後再檢視 相同目錄中的listener.ora檔案,檢查監聽是否已經加入,也就是我們剛建立的資料庫服務名稱,是不是已經加入到檔案,沒有的話,可以手動填寫,比如像我這樣子:
-
重啟監聽
lsnrctl stop
lsnrctl start
啟動成功後重新連線即可,這樣等於是相同的埠,監聽了兩個不同的資料庫。我們開啟Net Manager可以看到,我們監聽了兩個出具庫服務
建立不同監聽埠的資料庫服務
只需在上面的Net Manager中刪除剛新建的資料庫配置,然後新加監聽,重新制定資料庫名和SID,重新指定一個埠即可。