oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件
2014-06-27 10:03
417 查看
总结:
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 是下面这个样子
tnsnames.ora
1. 提供tnsname到主机名或者ip的对应
2. 配tnsname.ora里面的service_name,可以用下面命令查看:
3. tnsnames.ora是为oracle客户端访问数据库而设的,不是为了远程客户端连接oracle 服务器而设的
listener.ora
listener进程接受远程对数据库的接入请求
Listener.ora
JDBC连接请求的URL 要对应Listener.ora
这样一来总体结构就有了,是
当你输入sqlplus sys/oracle@orcl的时候
1. 查询sqlnet.ora看看名称的解析方式,发现是TNSNAME
2. 则查询tnsnames.ora文件,从里边找orcl的记录,并且找到主机名,端口和service_name
3. 如果listener进程没有问题的话,建立与listener进程的连接。
4. 根据不同的服务器模式如专用服务器模式或者共享服务器模式,listener采取接下去的动作。默认是专用服务器模式,没有问题的话客户端就连接上了数据库的server process。
5. 这时候网络连接已经建立,listener进程的历史使命也就完成了。
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) ) ) |
SQL> show parameter service_name; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ service_names string orcl |
删除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进程接受远程对数据库的接入请求
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:oracle:thin:@192.168.3.98:1521:orcl |
当你输入sqlplus sys/oracle@orcl的时候
1. 查询sqlnet.ora看看名称的解析方式,发现是TNSNAME
2. 则查询tnsnames.ora文件,从里边找orcl的记录,并且找到主机名,端口和service_name
3. 如果listener进程没有问题的话,建立与listener进程的连接。
4. 根据不同的服务器模式如专用服务器模式或者共享服务器模式,listener采取接下去的动作。默认是专用服务器模式,没有问题的话客户端就连接上了数据库的server process。
5. 这时候网络连接已经建立,listener进程的历史使命也就完成了。
相关文章推荐
- oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件
- oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件
- oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件
- oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件
- Oracle sqlnet.ora、tnsnames.ora、listener.ora三个配置文件详细学习
- oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件
- oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件
- oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件
- Oracle sqlnet.ora、tnsnames.ora、listener.ora三个配置文件详细学习
- oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件及关系
- oracle的三个网络连接配置文件(listener.ora、sqlnet.ora、tnsnames.ora)
- 需知:Oracle网络配置(三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora )
- 谈谈Oracle服务器端Admin和客户端Admin文件夹的几个配置文件(tnsnames.ora,sqlnet.ora,listener.ora)
- oracle的【sqlnet.ora】【tnsnames.ora】【listener.ora】三个配置文件
- ORACLE网络连接配置与文件:listener.ora、sqlnet.ora、tnsnames.ora
- PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora原理解释
- Oracle网络配置用到的sqlnet.ora,tnsnames.ora,listener.ora文件
- oracle中的三个配置文件:listener.ora、sqlnet.ora、tnsnames.ora
- Oracle 网络配置用到的sqlnet.ora, tnsnames.ora, listener.ora文件
- Oracle网络配置用到的sqlnet.ora,tnsnames.ora,listener.ora文件