Oracle DB 网络配置
2015/09/21 13:51
瀏覽151
迴響0
推薦0
引用0
網絡環境包括服務器端和客戶端,服務器端提供監聽來處理來自客戶的連接請求,客戶端提出請求並連接到服務器端進行數據庫操作。
1 服務器端網絡監聽配置
Oracle Net listener 是位於DB host上面的一個進程,它監聽客戶的連接請求,並且處理客戶和服務器DB的通信。
缺省的監聽配置文件是 listener.ora, 它位於 Oracle home目錄的子目錄 network/admin 中. 比如,你的home目錄是 /u01/app/oracle/product/11.2.0/dbhome_1, 那麽這個配置文件在默認情況下就位於 /u01/app/oracle/product/11.2.0/dbhome_1/network/admin .
這個文件配置了一個協議地址,而這個地址指示了數據庫。下面是一個例子:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbhost.example.com)(PORT = 1521))
)
)
配置文件是在安裝階段自動配置生成的,同時也可以用EM進行重新配置
DB在啟動時,會花上1分鐘左右時間和listener進行註冊。服務名,代表的DB,轉發請求的目標都可以在 listener.ora 文件中進行配置。這些信息也可以進行動態註冊,listener上面服務和DB的動態註冊被稱為 service registration. 它是由後臺程序監控進程(PMON)執行的,每個instance都有對應的PMON進程。Dynamic service registration 不需要更改listener.ora配置文件。
可以通過以下命令來查看監聽器的狀態
lsnrctl status/start/stop
配置網絡可以使用netca或者EM
2 客戶端連接
客戶端需要提供數據庫的位置和名稱等信息,以便連接到指定主機的指定數據庫,一般來說有三種命名方法
1 簡單連接命名(Easy Connect Naming)
2 連接描述(Connect Descriptors)
3 目錄命名(Directory Naming)
簡單連接命名這種方式相對比較原始,不需要進行任何前期配置工作,僅僅是把目標數據庫的所有信息都羅列在一個字符串中,例如
"host[:port][/service_name][:server][/instance_name]"
其中
host 主機名或者IP
port 監聽器的TCP端口號,默認1521
service_name 數據庫服務名稱
server 服務句柄類型,為dedicated, shared, 或者 pooled
連接命令為
sqlplus user/password@/
連接描述是在上個方法的基礎上又進了一步,它把所有的信息都記錄在一個位於ORACLE_HOME/network/admin的名為tnsnames.ora文件中,通過一個簡單的名稱來指明要連接的DB。它包含了一個協議和DB service name,一個DB可以定義有多個service name。 一般情況下,一個DB只有一個service name,就是global database name。例如
MYDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = my-server)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = myinctance)
)
)
其中的DESCRIPTION部分被稱為connect descriptor,它使得客戶可以連接到一個服務名為mydb.us.example.com的數據庫
連接命令為
sqlplus system@MYDB
1 服務器端網絡監聽配置
Oracle Net listener 是位於DB host上面的一個進程,它監聽客戶的連接請求,並且處理客戶和服務器DB的通信。
缺省的監聽配置文件是 listener.ora, 它位於 Oracle home目錄的子目錄 network/admin 中. 比如,你的home目錄是 /u01/app/oracle/product/11.2.0/dbhome_1, 那麽這個配置文件在默認情況下就位於 /u01/app/oracle/product/11.2.0/dbhome_1/network/admin .
這個文件配置了一個協議地址,而這個地址指示了數據庫。下面是一個例子:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbhost.example.com)(PORT = 1521))
)
)
配置文件是在安裝階段自動配置生成的,同時也可以用EM進行重新配置
DB在啟動時,會花上1分鐘左右時間和listener進行註冊。服務名,代表的DB,轉發請求的目標都可以在 listener.ora 文件中進行配置。這些信息也可以進行動態註冊,listener上面服務和DB的動態註冊被稱為 service registration. 它是由後臺程序監控進程(PMON)執行的,每個instance都有對應的PMON進程。Dynamic service registration 不需要更改listener.ora配置文件。
可以通過以下命令來查看監聽器的狀態
lsnrctl status/start/stop
配置網絡可以使用netca或者EM
2 客戶端連接
客戶端需要提供數據庫的位置和名稱等信息,以便連接到指定主機的指定數據庫,一般來說有三種命名方法
1 簡單連接命名(Easy Connect Naming)
2 連接描述(Connect Descriptors)
3 目錄命名(Directory Naming)
簡單連接命名這種方式相對比較原始,不需要進行任何前期配置工作,僅僅是把目標數據庫的所有信息都羅列在一個字符串中,例如
"host[:port][/service_name][:server][/instance_name]"
其中
host 主機名或者IP
port 監聽器的TCP端口號,默認1521
service_name 數據庫服務名稱
server 服務句柄類型,為dedicated, shared, 或者 pooled
連接命令為
sqlplus user/password@/
連接描述是在上個方法的基礎上又進了一步,它把所有的信息都記錄在一個位於ORACLE_HOME/network/admin的名為tnsnames.ora文件中,通過一個簡單的名稱來指明要連接的DB。它包含了一個協議和DB service name,一個DB可以定義有多個service name。 一般情況下,一個DB只有一個service name,就是global database name。例如
MYDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = my-server)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = myinctance)
)
)
其中的DESCRIPTION部分被稱為connect descriptor,它使得客戶可以連接到一個服務名為mydb.us.example.com的數據庫
連接命令為
sqlplus system@MYDB
限會員,要發表迴響,請先登入


