您的位置:首页 > 数据库 > Oracle

oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件

2012-08-10 23:33 477 查看



总结:

1 .三个配置文件都是放在$ORACLE_HOME\network\admin目录下。

2 .sqlnet.ora确定解析方式

3 .listener.ora上设SID_NAME,通常用于JDBC访问,对应的错误码为12505

4 .tnsnames.ora上设SERVICE_NAME,通常用于linux sqlplus客户端,对应的错误码为12514

sqlnet.ora

作用类似于linux或者其他unix的 nsswitch.conf文件,通过这个文件来决定怎么样找一个连接中出现的连接字符串(connect descriptor)

 

  假如sqlnet.ora 是下面这个样子

NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)
当客户端输入sqlplus sys/oracle@orcl时, 就会首先在 tnsnames.ora文件中找orcl的记录.如果没有相应的记录则尝试把orcl当作一个主机名

括号中还有其他选项,如LDAP等,但HOSTNAME,LDAP通常并不常用,通常只设TNSNAME即可.
 

tnsnames.ora

1. 提供tnsname到主机名或者ip的对应

ORCL =

 (DESCRIPTION =

  (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) #对应的SOCKET信息

 (CONNECT_DATA =

  (SERVER = DEDICATED) #使用专用服务器模式去连接

 (SERVICE_NAME = orcl) #这里填入对应 service_name,

可以通过"SQLPLUS>show parameter service_name;"查看

  )

  

SALES =

 (DESCRIPTION =

  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.188.219)(PORT = 1521))

   (CONNECT_DATA =

  (SERVER = DEDICATED)

  (SERVICE_NAME = sales)

  )

 )

2. 配tnsname.ora里面的service_name,可以用下面命令查看:

SQL> show parameter service_name;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

service_names string orcl

3. tnsnames.ora是为oracle客户端访问数据库而设的,不是为了远程客户端连接oracle 服务器而设的

删除tnsnames.ora

[oracle@oracle admin]$ rm tnsnames.ora
重启oracle
本地客户端无法访问数据库了

[oracle@oracle ~]$ sqlplus scott/scott@orcl

SQL*Plus: Release 10.2.0.1.0 - Production on Tue Feb 16 17:32:41 2010

Copyright (c) 1982, 2005, Oracle. All rights reserved.

ERROR:

ORA-12154: TNS:could not resolve the connect identifier specified

在远端(另一台机器)

通过sqlplus方式连接oracle数据库,没问题

通过jdbc连接orcle数据库,没问题

listener.ora

listener进程接受远程对数据库的接入请求

Listener.ora

#SID_LIST_LISTENER 定义, 定义LISTENER进程监听SID

  SID_LIST_LISTENER =

  (SID_LIST = #可以监听多个SID,都存在一个SID表中

  (SID_DESC =

   (GLOBAL_DBNAME = boway) # GLOBAL_DBNAME不是必需的除非使用HOSTNAME做数据库连接

  (ORACLE_HOME = E:\oracle\product\10.1.0\Db_2)

  (SID_NAME = orcl)

  )

  )

  

  #监听器定义,一台数据库可以有不止一个监听器

  LISTENER =

  (DESCRIPTION =

  (ADDRESS = (PROTOCOL = TCP)(HOST = boway)(PORT = 1521))

  )

JDBC连接请求的URL 要对应Listener.ora 

jdbc:oracle:thin:@192.168.3.98:1521:orcl

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐