数据库需要打开哪些监听,oracle数据库需要启动哪些服务
来源:整理 编辑:黑码技术 2023-10-06 06:04:58
本文目录一览
1,oracle数据库需要启动哪些服务
必须要开的是两个,一个是service,是oracle的服务另一个是tnslistener,是oracle的监听程序两个服务即可,监听服务,实例服务。其它的没必要启动。
2,如何启动oracle监听
windows中: 系统服务中有一个服务叫:【OracleService[SID]】SID是你安装oracle时候的实例名,如果你没有改默认的是【orcl】,所以找到【OracleServiceORCL】这个服务,启动它就ok了。※不过一般装完oracle后它都是启动的,而且是开机自动启动。linux下面:oracle用户登入linux → sqlplus / as sysdba → startup你把listener.ora文件中的host改成你的主机名如:host = ht-03(主机名),同时把tnsnames.ora文件中的所有host也改成主机名。这样应该就没问题了。 会与ip产生关联是因为如果网络开启时,oracle安装默认的host是ip地址,如果安装时你把网络断开它就会是主机名或是localhost了。
3,怎样监听到数据库的数据变化
在android中经常会用到改变数据库内容后再去使用数据库更新的内容,很多人会重新去query一遍,但是这样的问题就是程序会特别占内存,而且有可能会搂关cursor而导致程序内存未释放等等。其实android内部提供了一种ContentObserver的东西来监听数据库内容的变化。ContentObserver的构造函数需要一个参数Hanlder,因为ContentObserver内部使用了一个实现Runnable接口的内部类NotificationRunnable,来实现数据库内容的变化。需要使用hanlder去post消息。注册ContentObserver的方法是:getContentResolver().registerContentObserver(uri, notifyForDescendents, observer).上面3个参数为:uri----Uri类型,是需要监听的数据库的uri.notifyForDescendents---boolean true的话就会监听所有与此uri相关的uri。false的话则是直接特殊的uri才会监听。一般都设置为true.observer-----ContentObserver 就是需要的contentobserver.初始化一个ContentObserver对象,重载onChange(boolean ),在这个方法里去操作数据库的使用,针对变化后的使用。可以使用contentobserver对象监听,如下:public final void registercontentobserver(uri uri, boolean notifyfordescendents, contentobserver observer)功能:为指定的uri注册一个contentobserver派生类实例,当给定的uri发生改变时,回调该实例对象去处理。参数:uri 需要观察的uri(需要在urimatcher里注册,否则该uri也没有意义了) notifyfordescendents 为false 表示精确匹配,即只匹配该uri为true 表示可以同时匹配其派生的uri,举例如下:假设urimatcher 里注册的uri共有一下类型: 1 、content://com.qin.cb/student (学生) 2 、content://com.qin.cb/student/# 3、 content://com.qin.cb/student/schoolchild(小学生,派生的uri) 假设我们当前需要观察的uri为content://com.qin.cb/student,如果发生数据变化的 uri 为 content://com.qin.cb/student/schoolchild ,当notifyfordescendents为 false,那么该contentobserver会监听不到, 但是当notifyfordescendents 为ture,能捕捉该uri的数据库变化。
4,oracle怎么配置监听
何为一个instance配置多个监听,并且实现Client Load Balancing和Client Load Balancing。
打开NETCA,配置两个监听器。
LISENTER,默认监听器,一路next,就配置完毕, 监听端口1521。
配置LISENTER2,注意监听端口改为1522,其它和LISENTER一致。
这个时候,LISENTER已经可以使用了。
但是LISENTER2还是不行,因为Oracle只会为第一个默认的监听注册服务。
在$ORACLE_HOME/NETWORK/ADMIN,编辑lisenter.ora文件,如下:
红色字体为需要增加的内容
SID_LIST_LISTENER2 =
(SID_LIST =
(SID_DESC =
(SID_NAME = WWJ)
(ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
(GLOBAL_DBNAME = WWJ)
)
)
LISTENER2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = tcp)(HOST = valen)(PORT = 1522))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = tcp)(HOST = valen)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
需要解释的是,SID_LIST_<lisenter name> 这里的<lisenter name>要和LISTENER名称一致。
SID_DESC则注册要提供服务的数据库实例名。这样LISTENER2 才能够提供服务。
否则会报TNS-错误。
测试过程,配置local tns name如下:
1522 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME = wwj)
)
)
1521 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = wwj)
)
)
local =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1521))
(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1522))
)
(CONNECT_DATA =
(SERVICE_NAME = wwj)
)
)
1522和1521分别对应两个监听器,local稍后再解释:
测试:
sql> conn [url=mailto:wwj/wwj@1521]wwj/wwj@1521
已连接。
sql> conn [url=mailto:wwj/wwj@1522]wwj/wwj@1522
已连接。
OK,再看local,
(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1521))
(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1522))
这里的意思是,该命名对应了两个监听端口,如果一个Crash,会立刻切换到另外一个。
并且如果多个连接,会随机的分配监听。
测试
sql> conn [url=mailto:wwj/wwj@local]wwj/wwj@local
已连接。
STOP LISENTER,再次连接,这个时候,连接比第一次慢了1秒钟左右
sql> conn [url=mailto:wwj/wwj@local]wwj/wwj@local
已连接。
成功,这时连接上了LISTENER2
5,数据库默认监听接口
数据库默认地监听接口, 个人认为就是端口号,是服务器监听客户端用的,相当于“地址”,是服务器与客户端间的纽带。和你访问网站默认80断口一样。服务器有很多端口的,所以当你访问不同端口的时候响应的数据不一样。譬如你访问数据库1521 oracle,服务器就知道有人要来访问我的数据库了;反之,如果你访问的是mysql,mysql就傻了,就不会相应你本服务器上的数据库服务。mysql和oracal是一样的吗?MYSQL:3306ORACLE: 1521方法/步骤1oracle监听器配置(listener)如 图(一)示,选中树形目录中监听程序项,再点击左上侧“+”按钮添加监听程序,点击监听程序目录,默认新加的监听器名称是listener(该名称也可以 由任意合法字符命名)。选中该名称,选中窗口右侧栏下拉选项中的“监听位置”,点击添加地址按钮。在出现的网络地址栏的协议下拉选项中选中 “tcp/ip”,主机文本框中输入主机名称或ip地址(如果主机即用作服务端也作为客户端,输入两项之一均有效;如果主机作为服务端并需要通过网络连 接,建议输入ip地址),端口文本框中输入数字端口,默认是1521,也可以自定义任意有效数字端口。配置好的监听位置如下图示:2选 中窗口右侧栏下拉选项中的“数据库服务”,点击添加数据库按钮。在出现的数据库栏中输入全局数据库名,如myoracle。注意这里的全局数据库名与数据 库sid有所区别,全局数据库名实际通过域名来控制在同一网段内数据库全局命名的唯一性,就如windows下的域名控制器,如这里可以输入 myoracle.192.168.1.5。oracle主目录可以不填写,输入sid,如myoracle。完整的数据库服务配置如下图示:保 存以上配置,默认即可在oracle安装目录下找到监听配置文件 (windows下如d:oracleora92networkadminlistener.ora,linux/unix下$ oracle_home/network/admin/listerer.ora)。至此,oracle服务端监听器配置已经完成。本地服务名配置(tnsnames)本 地服务名是基于oracle客户端的网络配置,所以,如果客户端需要连接数据库服务器进行操作,则需要配置该客户端,其依附对象可以是任意一台欲连接数据 库服务器进行操作的pc机,也可以是数据库服务器自身。如前面所介绍,可以利用oracle自带的图形化管理工具net manager来完成oracle客户端的配置。选中如图(一)中的服务命名,再点击左上侧“+”按钮,弹出如下图示对话框:输入net服务名,如myoracle,点击下一步,进入下图示对话框:选中tcp/ip(internet协议),点击下一步,如下图示:输入主机名与端口号。注意这里的主机名与端口号必须与数据库服务器端监听器配置的主机名和端口号相同。点击下一步,如下图示:选 中(oracle8i或更高版本)服务名,输入服务名。这里的服务名实际上就是数据库服务器端监听器配置中的全局数据库名,前者与后者必须相同。连接类型 通常选专用服务器,这要视数据库服务器的配置而定,如果配置的共享数据库服务器,这里的连接类型就要选共享服务器,否则建议选专用服务器(关于专用服务器 的介绍请参阅相关文档)。配置好后点击下一步,如下图示:如 果数据库服务器端相关服务启动了,可以点击测试按钮进行连接测试。oracle默认是通过scott/tiger用户进行测试连接,由于scott用户是 oracle自带的示例用户,对于正式的业务数据库或专业测试数据库可能没有配置这个用户,所以需要更改成有效的用户登录才可能测试成功。如果这里测试连 接不成功,也不要紧,先点完成按钮结束配置。回 到oracle网络管理器(oracle net manager)主窗口,保存配置,默认即可在oracle安装目录下找到本地服务名配置文件 (windows下如d:oracleora92networkadmintnsnames.ora,linux/unix下$ oracle_home/network/admin/ tnsnames.ora)。配置完成的本地服务名如下图示:树形目录下的服务命名可以通过编辑菜单里的重命名菜单更改成任意合法字符组成的服务名称,注意服务名称前不能有空格字符,否则可能无法连接数据库服务器。连接数据库服务器(1) 启动服务器端监听器与数据库服务linux/unix下,启动监听器:$ lsnrctl start 关闭监听器:$ lsnrctl stop查看监听状态:$ lsnrctl status启动数据库:$ sqlplus /nologsql>conn sys@myoracle as sysdba --这里的myoracle是前面配置的客户端本地服务名或sql>conn / as sysdbasql>startupwindows下,启动监听器:c:lsnrctl start启动oracle实例服务:c:oradim ?a href="http://game.pchome.net/pcgame" class="none" title="cs" rel="external">cstartup –sid myoracle 关闭oracle实例服务:c:oradim –shutdown –sid myoracle以上服务必须同时启动,客户端才能连接数据库。由于默认配置的监听器名称是listener,上述命令可以正常启动监听器,如果监听器名称是其它名称,如alistener,则需要用下列方式才能启动:linux/unix下:$ lsnrctl start alistenerwindows下:c:lsnrctl start alistener(2) 测试连接数据库服务器测试的方法多种多样,可以在上面配置本地服务名时进行测试,也可以是第三方客户端工具,如pl/sql developer,最方便的是用oracle自带的sqlplus工具,以下利用sqlplus进行测试:c:sqlplus /nologsql>conn zgh@myoracle已连接。客户端连接服务器端常见问题排除方法要排除客户端与服务器端的连接问题,首先检查客户端配置是否正确(客户端配置必须与数据库服务器端监听配置一致),再根据错误提示解决。下面列出几种常见的连接问题:1、 ora-12541: tns: 没有监听器显而易见,服务器端的监听器没有启动,另外检查客户端ip地址或端口填写是否正确。启动监听器:$ lsnrctl start或c:lsnrctl start2、 ora-12500: tns: 监听程序无法启动专用服务器进程对于windows而言,没有启动oracle实例服务。启动实例服务:c:oradim –startup -sid myoracle3、 ora-12535: tns: 操作超时出现这个问题的原因很多,但主要跟网络有关。解决这个问题,首先检查客户端与服务端的网络是否畅通,如果网络连通,则检查两端的防火墙是否阻挡了连接。4、 ora-12154: tns: 无法处理服务名检 查输入的服务名与配置的服务名是否一致。另外注意生成的本地服务名文件(windows下如d:oracleora92networkadmin tnsnames.ora,linux/unix下/network/admin/tnsnames.ora)里每项服务的首 行服务名称前不能有空格。5、 ora-12514: tns: 监听进程不能解析在连接描述符中给出的 service_name打开net manager,选中服务名称,检查服务标识栏里的服务名输入是否正确。该服务名必须与服务器端监听器配置的全局数据库名一致。6、 windows下启动监听服务提示找不到路径用 命令或在服务窗口中启动监听提示找不到路径,或监听服务启动异常。打开注册表,进入hkey_local_machine/system/current controlset/services/oracleorahome92tnslistener项,查看imagepath字符串项是否存在,如果没 有,设定值为d:oracleora92bintnslsnr,不同的安装路径设定值做相应的更改。这种方法同样适用于oracle实例服务,同 上,找到如同hkey_local_machine/system/current controlset/services/oracle servicemyoracle项,查看imagepath字符串项是否存在,如果没有,则新建,设定值为d:oracleora92 binoracle.exe myoracle。以上是oracle客户端连接服务器端常见的一些问题,当然不能囊括所有的连接异常。解决问题的关键在于方法与思路,而不是每种问题都有固定的答案。数据库默认地监听接口, 个人认为就是端口号,是服务器监听客户端用的,相当于“地址”,是服务器与客户端间的纽带。和你访问网站默认80断口一样。服务器有很多端口的,所以当你访问不同端口的时候响应的数据不一样。譬如你访问数据库1521 oracle,服务器就知道有人要来访问我的数据库了;反之,如果你访问的是mysql,mysql就傻了,就不会相应你本服务器上的数据库服务。mysql和oracal是一样的吗?MYSQL:3306ORACLE: 1521
文章TAG:
数据 数据库 需要 打开 数据库需要打开哪些监听
大家都在看
-
谷歌浏览器json插件,浏览器json格式化插件
2023-09-10
-
读写数据库 用哪个语言,如何在JavaScript中读取数据库
2023-10-02
-
哪个平台学数据库最好,急谁知道哪个网站的数据库教程好啊
2023-10-05
-
消音插件手机,studio one消音插件
2023-10-05
-
dos命令解压zip程序,windows解压zip文件dos命令
2024-03-25
-
更新win10后插件打不开,Win10更新助手打不开
2023-11-17
-
ps 光线 插件,丁达尔光线插件
2024-01-29
-
哪个网站可以电影数据库,IMDb 是什么网站有什么用
2024-02-27
-
max插件学习,MAX转SU插件
2024-02-11
-
google拦截广告的插件,safari拦截广告插件
2024-03-31
-
教育部考试中心 插件
2023-08-26
-
童程童美单位电话,珠海市的童程童美公司招聘是真的吗我看了好多地方都有啊
2023-10-11
-
xbmc安卓插件安装,kodi xbmc安装什么插件
2024-02-04
-
cad快捷插件,快捷cad软件怎么制图
2024-03-25
-
cf flash插件下载,FLASH播放器插件下载
2024-04-13