我們知道,要連接一個資料庫需要知道四個參數: 1. 登陸用戶名:user; 2. 登錄密碼:password; 3. 存放資料庫的伺服器地址(server_ip)和埠(server_port); 4. 資料庫名(db_name); 我們如果要連接db_name這個數據,除了用戶名密碼以外,還需要輸 ...
我們知道,要連接一個資料庫需要知道四個參數:
1. 登陸用戶名:user;
2. 登錄密碼:password;
3. 存放資料庫的伺服器地址(server_ip)和埠(server_port);
4. 資料庫名(db_name);
我們如果要連接db_name這個數據,除了用戶名密碼以外,還需要輸入類似“server_ip:server_port/db_name”這樣一個連接字元串。
如上所述,對於一個資料庫連接,我們常常需要記住server_ip、server_port 和 db_name 這三個要素。一旦管理的資料庫多了,而且有許多資料庫分佈在不同的伺服器、不同的埠上,記憶起來就容易產生混亂。為瞭解決這個問題,Oracle為我們提供了“命名服務”,可以通過打開Oracle Net Manager工具,選擇“服務命名”進行配置。Oracle自己的解釋是“服務命名文件夾用於配置本地命名方法。本地命名方法是命名方法之一,使用這種方法可以將簡單名稱、Net服務名解析為連接到資料庫或服務所需的信息”。初次看到這段官方解釋,往往很難看懂。我的理解是,所謂命名服務,其實就是一個將普通名字映射到某個連接字元串的 key-value 對,其中key就是這個“命名服務”的名稱,可以自己任意選取,例如“abc”,以後在連接資料庫的時候,只需要輸入“abc”進行連接;伺服器在收到“abc”之後,可以自動將其解析為它所對應的value,即連接到某個資料庫的連接字元串,完成連接。
PS:此處的“命名服務”和“服務命名”本質上是一個東西,“命名服務”表示的是一種服務,而“服務命名”表示對這個服務的命名配置,說的是同一個事物的不同方面。
由上我們知道,要配置一個命名服務,就是要配置server_ip、server_port 和 db_name 這三個要素。下麵介紹用圖形界面配置命名服務的過程,在此之前假設已創建了一個資料庫,全局資料庫名為:kane.test。
1. 打開Oracle Net Manager工具,選擇“服務命名”節點,點擊左邊綠色“+”按鈕,彈出“Net 服務命名嚮導”
其中的“網路服務名”即自定義的服務名稱,也即上面所說的key,可以任意選取,主要不和現有的服務命名衝突。假設這裡取my_simple_name,單擊“下一步”。
2. 選擇通信協議:
這裡預設使用 TCP/IP 協議。單擊“下一步”。
3. 配置server_ip、server_port:
“主機名”即存放資料庫的伺服器地址,“埠號”採用預設的1521埠。單擊“下一步”。
4. 配置db_name :
“(Oracle8i或更高版本)服務名”即填之前創建的資料庫的全局資料庫名。至此,一個服務命名的server_ip、server_port 和 db_name 三個要素都已配置完成。單擊“下一步”。
5. 測試或完成:
點擊“完成”退出嚮導。或點擊“測試”按鈕測試以上配置是否正確:
請確認您測試所用的用戶ID未被鎖定。可以點擊“更改登陸”按鈕選擇其他賬戶測試。如果還是測試失敗,請返回檢查以上每步的配置是否輸入正確。
6. 此時回到Oracle Net Manager工具主界面,可以看到已經配置好的各項參數:
7. 此時一定不要忘了選擇菜單“文件”——“保存網路配置”以使所做的更改生效。
8. PL/SQL登陸:
因為已經配置了名為“my_simple_name”的命名服務,所以此時在“Database”項只需要填寫“my_simple_name”字元串即可連接成功。
如果沒有配置命名服務,則需要用戶顯示指定資料庫伺服器地址、埠和資料庫名,以下參數也可成功連接: