一、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,也可以直接编辑SQ.Net.ORA文件,只保留HOSTNAME方法,如下:

# sq.Net.ora.Network Configuration File:

G:\Oracle\product\10.2.0\db_1.NetWORK\ADMIN\sq.Net.ora

#SQ.Net.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)设置概要文件,如下 :

# sq.Net.ora.Network Configuration File: G:\Oracle\product\10.2.0\db_1.NetWORK\ADMIN\sq.Net.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方法

这种方法是平时使用得最多的方法,在这里也不做介绍


oracle视频教程请关注:http://down.51cto.com/4202939/up