1 修改监听器配置文件
Linux下Oracle监听器配置文件在:$ ORACLE_HOME/network/admin/listererora, 如:
/bank/oracle/oracle10g/product/1020/network/admin/listenerora
修改并配置要监听SID的相关信息,如:
#listenerora Network Configuration File: /bank/oracle/oracle10g/product/1020/network/admin/listenerora
# Generated by Oracle configuration tools
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /bank/oracle/oracle10g/product/1020)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL DBNAME = bkserver)
(SID_NAME = bkserver)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10713242)(PORT = 1521))
)
)
2 启动监听器
(1) 切换至oracle安装用户(一般为oracle)
su - oracle
(2) 启动监听器
lsnrctl start
另:停止监听器
lsnrctl stop
3 测试监听器是否运行正常
在客户端修改tnsnamesora配置文件就访问Oracle数据库,如:
BKSERVER =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10713242)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = BKSERVER)
)
)
通过命令tnsping测试是否能访问到监听器,如:
M:\>tnsping bkserver
TNS Ping Utility for 32-bit Windows: Version 102010 - Production on 12-8月 -
2010 17:11:04
Copyright (c) 1997, 2005, Oracle All rights reserved
已使用的参数文件:
D:\oracle\product\1020\client_1\network\admin\sqlnetora
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 10713242)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVIC
E_NAME = BKSERVER)))
OK (20 毫秒)
注意: 监听器是否能被tnsping通跟数据库的开启/关闭无关,所以就算可以tnsping通监听器但未必能连接到数据库,这时请检查listenerora文件配置信息是否正确,还有数据库是否已经被开启。
1、监听是数据库建立的,数据库建立在哪台机器上,监听在哪台机器上建立。数据库一定要建立监听,否则就没法服务
2、服务命名,是oracle客户端要求的,用来链接客户端和服务器,建立一个和服务器的链接,就要起个名字,是客户端命名用来对应服务器和服务器上的实例名
3、odbc是微软的东西,一个通用链接数据库的接口
所以
问题一:不是一个概念
问题二:也不是概念,一个是给数据库用的,一个是客户端用的
说的直白些,监听就是公布数据库的门牌号码,服务器地址就是所在的城市小区名,serviceid就是具体的哪个屋子,端口就是有几个门可以进你家。监听服务就是你的管家,他会实时呆在门口,如果有人到你家的话,会先按门铃,然后你的管家就会问些问题,主要是访问者住哪(访问者的ip),然后管家会根据监听配置信息看看访问者是不是上了黑名单,如果上了黑名单,管家就不会开门,如果没有,管家开门放访问者进来,接着就是保安的活了,保安会问访问者的用户、密码,如果错误,乱棒打出,正确了,你就可以参观屋子了,当然这是由权限的,哪间屋子让参观,哪间屋子里的东西可以拿走是由权限控制的,这个已经和监听无关了。
总之一句话,如果没有监听,别人就不会找到你。
数据库监听?数据库有这功能吗?应该是你在Activity中触发了什么事件,事件中的代码去修改数据库中的数据吧?
还是你想问的是别的应用怎么监听数据库的数据变化?如果多个应用需要用同一个数据库的最新数据,那在修改数据的时候发送一个广播,让所有的应用都接收到,在查一次。
监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。
Oracle监听器配置(LISTENER)
如 图(一)示,选中树形目录中监听程序项,再点击左上侧“+”按钮添加监听程序,点击监听程序目录,默认新加的监听器名称是LISTENER(该名称也可以 由任意合法字符命名)。选中该名称,选中窗口右侧栏下拉选项中的“监听位置”,点击添加地址按钮。在出现的网络地址栏的协议下拉选项中选中 “TCP/IP”,主机文本框中输入主机名称或IP地址(如果主机即用作服务端也作为客户端,输入两项之一均有效;如果主机作为服务端并需要通过网络连 接,建议输入IP地址),端口文本框中输入数字端口,默认是1521,也可以自定义任意有效数字端口。配置好的监听位置如下图示:
选 中窗口右侧栏下拉选项中的“数据库服务”,点击添加数据库按钮。在出现的数据库栏中输入全局数据库名,如myoracle。注意这里的全局数据库名与数据 库SID有所区别,全局数据库名实际通过域名来控制在同一网段内数据库全局命名的唯一性,就如Windows下的域名控制器,如这里可以输入 myoracle19216815。Oracle主目录可以不填写,输入SID,如myoracle。完整的数据库服务配置如下图示:
保 存以上配置,默认即可在Oracle安装目录下找到监听配置文件 (Windows下如D:oracleora92networkadminlistenerora,Linux/Unix下$ ORACLE_HOME/network/admin/listererora)。至此,Oracle服务端监听器配置已经完成。
请问下 你的database是rac集群的 还是单机的? 删除的方法不大一样啊
单机的话 如果netca无法启动 你就手动删除监听文件就好了:$ORACLE_HOME/network/admin/ 下listenerora 这个文件 就好
重建监听的话 你就在刚才那个目录下 手动创建一个刚才 被删了的那个文件 vi listenerora
进入到vi中后 写入
# listenerora Network Configuration File: $ORACLE_HOME\network\admin\listenerora
# Generated by Oracle configuration tools
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = 你oracle_home的路径)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:$ORACLE_HOME\bin\oraclr11dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 你本机的ip)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
祝你好运~ 配置监听其实简单 但又挺烦人的
我的思路是:在数据库A中创建一个触发器,再创建一张和a表结构一样的监视表,只要a表发生变化,就自动的往监视表中插入一条记录,这样你写的程序只要定时的去查询下监视表就可以知道a表有没有发生什么变化了
以上就是关于linux *** 作系统下oracle数据库如何配置监听全部的内容,包括:linux *** 作系统下oracle数据库如何配置监听、用数据源(ODBC)和用oracle建立的监听有什么区别,详细点。另外服务命名和监听程序什么区别、oracle数据库为什么需要监听等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)