oracle中的listener.ora和tnsnames.ora
一、oracle的客户端与服务器端
oracle在安装完成后服务器和客户端都需要进行网络配置才能实现网络连接。
服务器端配置监听器,客户端配置网络服务名。
服务器端可配置一个或多个监听程序 。
二、oracle至少启动的服务
如果通过网络访问数据库服务器,至少要启动OracleOraDb11g_home1TNSListener和OracleServiceORCL服务。
如果本地访问数据库服务器,至少要启动OracleServiceORCL服务。
网络访问:例: sqlplus scott/scott@orcl
本地访问:例: sqlplus scott/scott
三、详细介绍
① 服务器端的监听器的配置信息有:监听协议(如:TCP/IP)、地址(端口号)、其他相关信息,并将上述配置信息保存在listener.ora文件中,在安装服务器软件时自动配置了一个监听器。
②客户端的网络服务名的配置信息有:服务器地址、监听端口号、数据库SID,与服务器的监听器建立连接,保存于tnsnames.ora中。
- oracle中用于配置监听器和服务名的可视化工具为:
Net Configuration Assistant (NETCA)
Net Manager
四、监听的启动于暂停
①在windows操作系统中,可以使用服务管理器(services.msc)中手动启动与禁用
②在linux操作系统中(或者在dos中)
- 查看监听当前状态:lsnrctl status
- 启动监听 :lsnrctl starts
- 停用监听 : lsnrctl stop
五、三个重要的文件(进行网络配置)
oracle11g中进行网络配置的主要文件有三个,位于$ORACLE_HOME\NETWORK\ADMIN下的sqlnet.ora、listener.ora、tnsnames.ora文件。(前面已介绍过后两个的作用)
sqlnet.ora的作用
当用户登录到操作系统后,如果进而允许此用户登录数据库系统,则需要在sqlnet.ora中设置SQLNET.AUTHENTICATION_SERVICES= (NTS);
如果设置为SQLNET.AUTHENTICATION_SERVICES= (NONE),则不允许登录到数据库系统中。
六、客户端的两种连接方式
1,简单连接:类似conn scott/scott@计算机名:1521/orcl的连接方式,不需要客户端进行任何配置。
2,本地命名:类似conn scott/scott@orcl的连接方式,需要客户端配置一个本地命名解析文件,为$ORACLE_HOME\NETWORK\ADMIN\tnsnames.ora文件,可以使用netca配置。
在sqlnet.ora文件中进行规定。
七、Oracle11g的服务名的含义
服务名: 服务名就是连接字符串,可以通过它访问远程数据库,可以通过NETCA配置,配置时要指明远程数据库的主机名,网络协议用TCP/IP,配置完成后可以用如 下方式登陆:(以服务名为test) username/password@test , 也就是:是对数据库的一个标识,通过服务名可访问数据库 。
测试服务能否连接上:tnsping <服务名>
八、注册*(静态注册和动态注册)
注册就是将数据库作为一个服务注册到监听程序,在数据库服务器启动过程中,数据库服务器会向监听程序注册相应的服务 。
静态注册
在listener.ora中,如果有类似
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = Orcl)
(ORACLE_HOME = D:\app\Administrator\product\11.1.0\db_1)
(SID_NAME = ORCL)
)
)
就是静态注册。
动态注册
在listener.ora中,如果有类似
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = a84p1l1x02meo8p)(PORT = 1521))
)
),就是动态注册。
动态注册的一个特点就是不需要LISTENER.ORA文件。默
认情况PMON 向LSNRCTL 注册TCP/IP协议,PORT 为1521。
使用lsnrctl status查看某个服务是静态注册、还是动态注册;如果是UNKNOWN,表示静态注册;如果是READY,表示动态注册。
READY的服务是由PMON进程动态的注册到监听器,因此PMON进程所在的数据库一定处于打开状态,所以说这些服务名所对应的实例已经准备好(READY)接受用户的连接请求。
UNKNOWN的服务是通过编辑listener.ora而静态注册的服务名,监听器并不知道该服务名对应的实例是否打开了,所以用UNKNOWN表示。
原文:https://blog.csdn.net/bibibrave/article/details/82355466
九、举例如下
tnsnames.ora
ORCL11G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.130)(PORT = ))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
service_names是对外的服务名,是服务器端使用的,一个库可以设置多个对外服务名,以实现不同的目的,这里是orcl
主机字符串,数据库服务名,数据库别名区别: service_names是对外的服务名,是服务器端使用的,一个库可以设置多个对外服务名,以实现不同的目的 “主机字符串”的叫法主要在SQL*Plus中使用,是在客户端使用, “数据库别名”主要用在一些开发工具连接Oracle服务器时使用,是通俗叫法,还有像配置ODBC时的Data Source的Service Name,
它们都是一个道理,指向的都是客户端tnsnames.ora文件中的一小段文本
1、在SQL/PLUS中的登陆中,用USER/PWD@***,那么,这个***是主机字符串。
2、在设置ODBC时的用户和密码一定要是ORACLE中的合法用户和密码,但不输也行,引用ODBC名时再给出也可以。
3、若要向ORACLE代理商购买ORACLE,是以用户数来算钱的。那么,这个“用户”跟我们在ORACLE中通过
CREATE USER USERNAME IDENTIFIED BY PASSWORD创建的用户是不同概念,“用户数”指的是并发访问用户数,
(我理解是同时间访问同一个内存地址的进程数)。要是我买了8个用户的,可以建几十、上百个用户也没问题,只要峰值达不到并发数就可以了。
打个比方,你的名字叫小明,但是你有很多外号。你父母叫你小明,但是朋友都叫你的外号。
这里你的父母就是oracle实例,小明就是sid,service name就是你的外号。
sid用于实例区分各个数据库,service name用于外部链接。
对于初接触Oracle 数据库的人来讲,很容易混淆的两个概念即是Oracle 实例和Oracle 数据库。这两
概念不同于SQL sever下的实例与数据库,当然也有些相似之处。只是在SQL server我们根本不需要花费太
多的精力去搞清SQL实例和数据库,因为它简单易于理解。下面简要说明一下SQL实例、数据库,更多的是讲
述Oracle下的实例及数据库。
转自:oracle 数据库、实例、服务名、SID
listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
(GLOBAL_DBNAME= orcl)
)
) LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = redhat7)(PORT = 1521))
)
)
查询oracle数据库进程 ps -ef | grep ora_ | grep -v grep 查询实例名 SQL>select instance from v$thread;
SQL> select instance_name from V$instance; 查看数据库名 SQL> select name from v$database; 查看实例名
SQL> select instance_name from v$instance; 查看存在的database link SQL> select * from dba_db_links; 删除db link SQL> drop database link 连接名称;
修改system,sys用户密码: su - oracle sqlplus / as sysdba SQL>alter user system identified by password;
oracle中的listener.ora和tnsnames.ora的更多相关文章
- [oracle] listener.ora 、sqlnet.ora 、tnsnames.ora
路径 $ORACLE_HOME/network/admin sqlnet.ora(客户及服务器端) 作用类似于linux或者其他unix的nsswitch.conf文件,通过这个文件来决定怎么样找一个 ...
- 记录一份Oracle 正确的监听配置文件listener.ora与tnsnames.ora
一.前言 昨天中午接到领导指示,有其他组的负责人B在厄瓜多尔演示他们组的产品,然后我们组的负责人就想说也在那边搭一套环境,(北美那边的亚马逊云环境),让B帮忙演示下我们的系统. 于是,开始了一个比较曲 ...
- PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora原理解释
PLSQL连接ORACLE配置字符串简介 oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora原理解释 oracle网络配置三个配置文件 lis ...
- oracle: listener.ora 、sqlnet.ora 、tnsnames.ora的配置及例子
1.解决问题:TNS或者数据库不能登录. 最简单有效方法:使用oracle系统提供的工具 netca 配置(把原来的删除掉重新配置) $netca 2.然而,仍有疑问:如何指定'l ...
- oracle三个连接配置文件 listener.ora、sqlnet.ora、tnsnames.ora
关于PLSQL连接ORACLE配置字符串 首先要讲一下下面的一些知识 1.ORACLE_SID:(ORACLE SYSTEM IDENTIFIER) Oracle实例是由SGA和一组后台进程组成的,实 ...
- oracle手动修改listener.ora和tnsnames.ora之后竟然无效
oracle手动修改listener.ora和tnsnames.ora之后竟然无效 花式重启都没有生效,需要使用Net Configuration Assistant来进行刷一下,重新生成的监听还是一 ...
- listener.ora和tnsnames.ora格式解析
listener.ora是oracle数据库服务端的监听配置文件,包括协议.IP地址和端口等内容:tnsnames.ora是oracle数据库客户端的连接配置文件,也是对应的协议.IP地址和端口等内容 ...
- oracle instant client,tnsping,tnsnames.ora和ORACLE_HOME
前段时间要远程连接oracle数据库,可是又不想在自己电脑上完整安装oracleclient,于是到oracle官网下载了轻量级clientinstant client. 这玩意没有图形界面,全靠sq ...
- 真心崩溃了,oracle安装完成后居然没有tnsnames.ora和listener.ora文件
problem: oracle 11 r2 64位安装完成后NETWORK/ADMIN目录下居然没有tnsnames.ora和listener.ora文件 solution: 问题是之前安装了另 ...
随机推荐
- java(10)类的无参方法
一.变量的作用域(有效的使用范围) 1.变量有2种 1.1成员变量(属性) 声明在类的里面,方法的外面 1.2 局部变量 声明在方法里面或for循环结构中 2.调用时的注意事项(初始值不同.作用域不同 ...
- Concurrent下的线程安全集合
1.ArrayBlockingQueue ArrayBlockingQueue是由数组支持的线程安全的有界阻塞队列,此队列按 FIFO(先进先出)原则对元素进行排序.这是一个典型的“有界缓存区”,固定 ...
- LOJ #2116 Luogu P3241「HNOI2015」开店
好久没写数据结构了 来补一发 果然写的时候思路极其混乱.... LOJ #2116 Luogu P3241 题意 $ Q$次询问,求树上点的颜色在$ [L,R]$中的所有点到询问点的距离 强制在线 询 ...
- win10免安装版本的MySQL的下载安装和配置
下载mysql-xxx.zip(免安装版) 解压到自己想要的目录下(我的是D:\mysql\),打开mysql-5.7.21-winx64文件夹,新建my.ini文件,输入: [mysql] # 设置 ...
- python3 字典常见用法总结
python3 字典常见用法总结 Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表 ...
- 【batch】命令对比两个文件夹下的文件(增删改的对比)
1.分别打印两个目录的结构 TREE D:\SOURCE /A /F >D:\SOURCE.TXT TREE D:\DEST /A /F >D:\DEST.TXT 2.然后使用工具/命令进 ...
- 七.HTTP协议原理介绍
01. 当用户访问一个网站时,都发生了事情? ①. 利用DNS服务,将输入的域名解析为相应的IP地址 a --本地主机输入域名后,会查询本地缓存信息和本地hosts文件 如果有就进行解析,如果没有 ...
- SpringBoot 自定义监听器(Listener)
1. 使用场景:在一些业务场景中,当容器初始化完成之后,需要处理一些操作,比如一些数据的加载.初始化缓存.特定任务的注册.开启线程或程序来干某些事情等等. 2. 使用步骤: A. 监听类实现Appli ...
- iOS开发多线程之NSOperation
NSInvocationOperation The NSInvocationOperationclass is a concrete subclass of NSOperationthat you u ...
- [原创]FPGA JTAG工具设计(一)
先来看不同JTAG方案,下载配置QSPI Flash所耗时间 基于FTDI方案,JTAG下载时间为494sec JTAG chain configuration ------------------- ...