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

转载于:http://blog.sina.com.cn/s/blog_6151984a0100m8pu.html

  • 总结:
    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



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值