客戶端連接ORACLE的幾種方法

客戶端連接ORACLE的幾種方法
一、HOSTNAME方法
    對於網絡結構比較單一,ORACLE服務器比較少的情況下,可以使用HOSTNAME方法。不過這種方法有幾個限制:
1、 必須使用TCP/IP協議
2、 不能使用高級管理工具,比如Oracle Connection Manager
3、 客戶端必須有相應的擴展命名服務,比如DNS或HOSTS文件
4、 LISTENER的監聽端口必須是1521
5、 服務器LISTENER必須設置GLOBAL_NAME
第5點在ORACLE10g SG中明確指定,但經下面測試,也可以不設置GLOBAL_NAME。
下面談談使用HOSTNAME連接ORACLE數據庫的方法:
1、不設置GLOBAL_NAME方式
1)可以使用NET MANAGER工具配置概要文件,選擇HOSTNAME,也可以直接編輯SQLNET.ORA文件,只保留HOSTNAME方法,如下:
# sqlnet.ora Network Configuration File:
G:/oracle/product/10.2.0/db_1/NETWORK/ADMIN/sqlnet.ora
#SQLNET.AUTHENTICATION_SERVICES = (NTS)
NAMES.DIRECTORY_PATH= (HOSTNAME)
2)配置HOSTS文件,位於C:/WINDOWS/system32/drivers/etc
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host
127.0.0.1       localhost
192.168.0.172   ora10g          #ORACLE DATABASE SERVER
此處的ora10g 就是客戶端進行連接時@後面的連接串,即爲ORACLE的SID_NAME。
3)服務器端LISTENER,如下:
SID_LIST_LISTENER =
(SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = G:/oracle/product/10.2.0/db_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
        (SID_NAME = ora10g)
    )
)
LISTENER =
(DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = linyuefe)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
)
4)連接ORACLE
SQL> conn
gddc/gddc@ora10g; --ORACLE服務器的SID_NAME
已連接。
驗證一下是不是通過HOSTNAME方法進行連接的,我們把HOSTS文件中的IP地址修改成192.168.0.173,如下:
192.168.0.173   ora10g          #ORACLE DATABASE SERVER
再進行連接:
SQL> disconn
從 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 斷開
SQL> conn
gddc/gddc@ora10g;
ERROR:
ORA-12170: TNS: 連接超時
2、設置GLOBAL_NAME方式
1)設置HOSTS文件,如下:
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host
127.0.0.1       localhost
192.168.0.172   linyuefe --linyuefe爲目標ORACLE服務器的計算機名
2)服務器端LISTENER,設置GLOBAL_NAME,如下:
SID_LIST_LISTENER =
(SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = G:/oracle/product/10.2.0/db_1)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = linyuefe) –linyuefe爲服務器計算機名
      (SID_NAME = ora10g)
    )
)
LISTENER =
(DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = linyuefe)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
)
3)連接ORACLE
SQL> conn
gddc/gddc@linyuefe;
已連接。
二、使用EZCONNECT方法
EZCONNECT方法ORACLE10G新推出的功能,對於客戶端不需要任何配置,不過有以下幾個限制:
1、客戶端必須安裝Oracle Net Services 10g
2、客戶端和服務器端必須支持TCP/IP協議
下面介紹EZCONNECT的用法:
1) 設置概要文件,如下 :
# sqlnet.ora Network Configuration File: G:/oracle/product/10.2.0/db_1/NETWORK/ADMIN/sqlnet.ora
NAMES.DIRECTORY_PATH= (EZCONNECT)
2) 進行連接
SQL> conn
gddc/gddc@linyuefe:1521/ora10g;
已連接。
其中,linyuefe爲服務器機器名也可以是IP地址,1521爲監聽端口(不指定的話默認爲1521),ora10g爲數據庫Service Name。
--使用默認端口
SQL> disconn
從 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 斷開
SQL> conn
gddc/gddc@linyuefe/ora10g;
已連接。
--使用IP
SQL> disconn
從 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 斷開
SQL> conn
gddc/[email protected]/ora10g;
已連接。
--只使用主機名
SQL> conn
gddc/gddc@linyuefe;
已連接。
三、TNSNAME方法
這種方法是平時使用得最多的方法,在這裏也不做介紹
 
發佈了25 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章