欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

客户端连接Oracle的几种方法

程序员文章站 2022-06-12 18:20:32
...

对于网络结构比较单一,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;
已连接。

客户端连接Oracle的几种方法