客户端连接Oracle的几种方法
对于网络结构比较单一,ORACLE服务器比较少的情况下,可以使用HOSTNAME方法。不过这种方法有几个限制:1、 必须使用TCP/IP协议2、
一、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;
已连接。
上一篇: 个人博客网站调试有关问题