oracle数据库连接配置

本示例以win 7作为数据库测试服务器,主要介绍oracle数据库三大配置文件sqlnet.ora 、tnsnames.ora 、listener.ora。

sqlnet.ora 用在oracle client端,用于配置连接服务端oracle的相关参数
tnsnames.ora 用在oracle client端,用户配置连接数据库的别名参数,就像系统中的hosts文件一样
listener.ora 用在oracle server端,配置oracle服务端程序的监听办法,比如限制某些ip等参数

1、sqlnet.ora

sqlnet.ora可以删除,这样在oracle客户端连接数据库的时候,默认采用tnsnames.ora中的配置。该配置文件中默认设置了两个参数

SQLNET.AUTHENTICATION_SERVICES= (NTS)

 定义登录数据库的认证方式。NONE表示Oracle数据库身份验证,NTS表示操作系统身份验证,两种方式可以并用。可以设置成

SQLNET.AUTHENTICATION_SERVICES=(NONE,NTS)

先后顺序表明验证的优先方式。

2、tnsnames.ora

提供了客户端连接某个数据库的详细信息,主机地址,端口,数据库实例名等。

LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.1.17)(PORT = 1521))

#LOCAL
ORCL_LOCAL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.1.17)(PORT = 1521))
    )
    (CONNECT_DATA =
      #(SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

#10.10.1.107
ORCL_107 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.1.107)(PORT = 1521))
    (CONNECT_DATA =
      #(SERVER = DEDICATED)
      (SERVICE_NAME = orcl.10.1.107)
    )
  )

 ADDRESS_LIST   表示该客户机要经由多种协议与一台或多台服务器连接。在该样式文件中就表示该客户机要用TCP/IP协议来和服务器相连。

PROTOCOL  指明要连接使用的协议,参数一般是TCP,可以根据服务器情况选择一种配置方式。

HOST 一般是ip地址,也可以是主机名,这个主机名字只要能用ping hostname通就行,一般在客户端系统的host文件上配好主机名和ip地址的映射关系。

PORT 标准是1521,根据服务器端的监听端口而定。

SERVICE_NAME 就是数据库的服务名(Global Database Name),用system用户登陆查看service_name

-- 以system账户登录
sqlplus /nolog
conn system/orcl
--命令查看service_name
show parameter service_name

SID    指定要连接的服务器上ORACLE数据库的ORACLE_SID。

SERVER=DEDICATED 表示用专用服务器连接ORACLE数据库。

ORCL_LOCAL/ORCL_107是连接描述符,用于在远程登录时指定。比如连接到ORCL_107可以通过sqlplus登录访问

sqlplus dev/dev@orcl_107

 注意:sqlplus远程访问需要先设置TNS_ADMIN环境变量

环境变量名称:TNS_ADMIN
环境变量值:D:\orcl\product\11.2.0\dbhome_1\NETWORK\ADMIN

 具体配置地址以本机安装地址为准。

3、listener.ora

tnslsnr进程是监听、并接受远程连接数据库请求的监听进程,listener.ora是tnslsnr进程的配置文件,监听的参数都是从该配置文件中读取。

该文件位于服务端,如果只安装oracle客户端,一般不存在这个文件。如果你只需要在本地连接数据库,不接受远程连接,那么也不需要启动tnslsnr进程,也不需要去维护listener.ora文件。监听配置示例:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = d:\orcl\product\11.2.0\dbhome_1)
      (SID_NAME = orcl)
    )
  )
  
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.1.17)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = d:\orcl

 监听服务配置后需要重启数据库服务实例,命令如下:

#通过sqlplus登录
sqlplus /nolog
conn dev/dev
#停止数据库实例
shutdown immediate
#启动实例服务
startup 

启动监听进程的命令,在命令模式下,执行lsnrctl start命令就启动了监听进程tnslsnr。

#查看监听服务状态
lsnrctl status
#开启监听服务
lsnrctl start
#关闭监听服务
lsnrctl stop

猜你喜欢

转载自hbxflihua.iteye.com/blog/2369032