Oracle:浅析监听器安装/配置入门本地服务名(Tnsname)
Oracle客户端与服务器端的连接是通过客户端发出连接请求 由服务器端监听器对客户端连接请求进行合法检查 如果连接请求有效 则进行连接 否则拒绝该连接
本地服务名是Oracle客户端网络配置的一种 另外还有Oracle名字服务器(Oracle Names Server)等 Oracle常用的客户端配置就是采用的本地服务名 本文中介绍的也主要是基于本地服务名的配置
Oracle网络连接配置方法
配 置Oracle服务器端与客户端都可以在其自带的图形化Oracle网络管理器(Oracle Net Manager)里完成(强烈建议在这个图形化的工具下完成Oracle服务端或客户端的配置) 在Windows下 点击 开始/程序/Oracle OraHome /Configuration and Migration Tools/Net Manager 启动Oracle网络管理器工具 在Linux/Unix下 利用netmgr命令来启动图形化Oracle网络管理器 如 $ netmgr
Oracle监听器配置(LISTENER):
选中树形目录中监听程序项 再点击左上侧按钮添加监听程序 点击监听程序目录 默认新加的监听器名称是LISTENER(该名称也可以 由任意合法字符命名) 选中该名称 选中窗口右侧栏下拉选项中的 监听位置 点击添加地址按钮 在出现的网络地址栏的协议下拉选项中选中 TCP/IP 主机文本框中输入主机名称或IP地址(如果主机即用作服务端也作为客户端 输入两项之一均有效;如果主机作为服务端并需要通过网络连 接 建议输入IP地址) 端口文本框中输入数字端口 默认是 也可以自定义任意有效数字端口
选 中窗口右侧栏下拉选项中的 数据库服务 点击添加数据库按钮 在出现的数据库栏中输入全局数据库名 如myoracle 注意这里的全局数据库名与数据 库SID有所区别 全局数据库名实际通过域名来控制在同一网段内数据库全局命名的唯一性 就如Windows下的域名控制器 如这里可以输入 myoracle Oracle主目录可以不填写 输入SID 如myoracle
保存以上配置 默认即可在Oracle安装目录下找到监听配置文件 (Windows下如D:\oracle\ora \neork\admin\listener ora Linux/Unix下$ ORACLE_HOME/neork/admin/listerer ora) 至此 Oracle服务端监听器配置已经完成
本地服务名配置(Tnsnames):
本地服务名是基于Oracle客户端的网络配置 所以 如果客户端需要连接数据库服务器进行操作 则需要配置该客户端 其依附对象可以是任意一台欲连接数据 库服务器进行操作的PC机 也可以是数据库服务器自身 如前面所介绍 可以利用Oracle自带的图形化管理工具Net Manager来完成Oracle客户端的配置
如果数据库服务器端相关服务启动了 可以点击测试按钮进行连接测试 Oracle默认是通过scott/tiger用户进行测试连接 由于scott用户是 Oracle自带的示例用户 对于正式的业务数据库或专业测试数据库可能没有配置这个用户 所以需要更改成有效的用户登录才可能测试成功 如果这里测试连 接不成功 也不要紧 先点完成按钮结束配置
回到Oracle网络管理器(Oracle Net Manager)主窗口 保存配置 默认即可在Oracle安装目录下找到本地服务名配置文件 (Windows下如D:\oracle\ora \neork\admin\tnsnames ora Linux/Unix下$ ORACLE_HOME/neork/admin/ tnsnames ora)
树形目录下的服务命名可以通过编辑菜单里的重命名菜单更改成任意合法字符组成的服务名称 注意服务名称前不能有空格字符 否则可能无法连接数据库服务器
连接数据库服务器:
( )启动服务器端监听器与数据库服务:
Linux/Unix下 启动监听器 $ lsnrctl start
· 关闭监听器 $ lsnrctl stop
· 查看监听状态 $ lsnrctl status
SQLconn sys@myoracle as sysdba 这里的myoracle是前面配置的客户端本地服务名
或
SQLconn / as sysdba
SQLstartup
Windows下 启动监听器 C:\lsnrctl start
启动Oracle实例服务 C:\oradim –startup –sid myoracle
关闭Oracle实例服务 C:\oradim –shutdown –sid myoracle
以上服务必须同时启动 客户端才能连接数据库 由于默认配置的监听器名称是Listener 上述命令可以正常启动监听器 如果监听器名称是其它名称 如aListener 则需要用下列方式才能启动
Linux/Unix下 $ lsnrctl start aListener
Windows下 C:\lsnrctl start aListener
( )测试连接数据库服务器
测试的方法多种多样 可以在上面配置本地服务名时进行测试 也可以是第三方客户端工具 如PL/SQL Developer 最方便的是用Oracle自带的SQLplus工具 以下利用SQLplus进行测试
C:\sqlplus /nolog
SQLconn zgh@myoracle
已连接
客户端连接服务器端常见问题排除方法
要排除客户端与服务器端的连接问题 首先检查客户端配置是否正确(客户端配置必须与数据库服务器端监听配置一致) 再根据错误提示解决 下面列出几种常见的连接问题
ORA : TNS: 没有监听器
显而易见 服务器端的监听器没有启动 另外检查客户端IP地址或端口填写是否正确 启动监听器
$ lsnrctl start或C:\lsnrctl start
ORA : TNS: 监听程序无法启动专用服务器进程
对于Windows而言 没有启动Oracle实例服务 启动实例服务 C:\oradim –startup sid myoracle
ORA : TNS: 操作超时
出现这个问题的原因很多 但主要跟网络有关 解决这个问题 首先检查客户端与服务端的网络是否畅通 如果网络连通 则检查两端的防火墙是否阻挡了连接
ORA : TNS: 无法处理服务名
检 查输入的服务名与配置的服务名是否一致 另外注意生成的本地服务名文件(Windows下如D:\oracle\ora \neork\admin \tnsnames ora Linux/Unix下$ORACLE_HOME/neork/admin/tnsnames ora)里每项服务的首 行服务名称前不能有空格
ORA : TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME打开Net Manager 选中服务名称 检查服务标识栏里的服务名输入是否正确 该服务名必须与服务器端监听器配置的全局数据库名一致
Windows下启动监听服务提示找不到路径
用 命令或在服务窗口中启动监听提示找不到路径 或监听服务启动异常 打开注册表 进入HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/OracleOraHome TNSListener项 查看ImagePath字符串项是否存在 如果没 有 设定值为D:\oracle\ora \BIN\TNSLSNR 不同的安装路径设定值做相应的更改 这种方法同样适用于Oracle实例服务 同上 找到如同HKEY_LOCAL_MACHINE/SYSTEM/Current ControlSet/Services/Oracle ServiceMYORACLE项 查看ImagePath字符串项是否存在 如果没有 则新建 设定值为d:\oracle\ora \ binORACLE EXE MYORACLE
lishixinzhi/Article/program/Oracle/201311/18881
oracle如何配置监听一、监听器(LISTENER)
监听器是Oracle基于服务器端的一种网络服务 , 主要用于监听客户端向数据库服务器端提出的连接请求 。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的 。
二、本地服务名(Tnsname)
Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器端监听器对客户端连接请求进行合法检查,如果连接请求有效,则进行连接 , 否则拒绝该连接 。
本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等 。Oracle常用的客户端配置就是采用的本地服务名,本文中介绍的也主要是基于本地服务名的配置 。
三、Oracle网络连接配置方法
配置Oracle服务器端与客户端都可以在其自带的图形化Oracle网络管理器(Oracle Net Manager)里完成(强烈建议在这个图形化的工具下完成Oracle服务端或客户端的配置) 。在Windows下,点击“开始/程序/Oracle - OraHome92/Configuration and Migration Tools/Net Manager”启动Oracle网络管理器工具,在Linux/Unix下,利用netmgr命令来启动图形化Oracle网络管理器 , 如:
$ netmgr
Windows下启动Net Manager图形窗口如下图示:
1、 Oracle监听器配置(LISTENER)
如上图示,选中树形目录中监听程序项,再点击左上侧“ ”按钮添加监听程序 , 点击监听程序目录,默认新加的监听器名称是LISTENER(该名称也可以 由任意合法字符命名) 。选中该名称,选中窗口右侧栏下拉选项中的“监听位置” , 点击添加地址按钮 。在出现的网络地址栏的协议下拉选项中选中 “TCP/IP”,主机文本框中输入主机名称或IP地址(如果主机即用作服务端也作为客户端,输入两项之一均有效;如果主机作为服务端并需要通过网络连 接 , 建议输入IP地址),端口文本框中输入数字端口,默认是1521 , 也可以自定义任意有效数字端口 。配置好的监听位置如下图示:
选中窗口右侧栏下拉选项中的“数据库服务”,点击添加数据库按钮 。在出现的数据库栏中输入全局数据库名,如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服务端监听器配置已经完成 。
【oracle怎么配监听 oracle如何配置监听】2、 本地服务名配置(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) 。配置完成的本地服务名如下图示:
树形目录下的服务命名可以通过编辑菜单里的重命名菜单更改成任意合法字符组成的服务名称 , 注意服务名称前不能有空格字符,否则可能无法连接数据库服务器 。
3、 连接数据库服务器
(1)启动服务器端监听器与数据库服务
Linux/Unix下,启动监听器:
$ lsnrctl start
关闭监听器:
$ lsnrctl stop
查看监听状态:
$ lsnrctl status
启动数据库:
$ sqlplus /nolog
SQLconn sys@myoracle as sysdba--这里的myoracle是前面配置的客户端本地服务名
或
SQLconn / as sysdba
SQLstartup
Windows下,启动监听器:
C:lsnrctl start
启动Oracle实例服务:
C:oradim ?a href="" class="none" title="cs" rel="external"cstartup –sid myoracle
关闭Oracle实例服务:
C:oradim –shutdown –sid myoracle
以上服务必须同时启动,客户端才能连接数据库 。由于默认配置的监听器名称是Listener,上述命令可以正常启动监听器,如果监听器名称是其它名称,如aListener , 则需要用下列方式才能启动:
Linux/Unix下:
$ lsnrctl start aListener
Windows下:
C:lsnrctl start aListener
(2)测试连接数据库服务器
测试的方法多种多样,可以在上面配置本地服务名时进行测试 , 也可以是第三方客户端工具,如PL/SQL Developer,最方便的是用Oracle自带的sqlplus工具 , 以下利用sqlplus进行测试:
C:sqlplus /nolog
SQLconn zgh@myoracle
已连接 。
如何配置Oracle数据库监听1、打开cmd输入netca 。
2、选择【本地net服务名配置】→下一步 。
3、选择【添加】→下一步 。
4、在【服务名】中输入你想要连接的服务器上的oracle服务的名字→下一步 。
5、选择【tcp】→下一步 。
6、在【主机名】中输入你想要连接的服务器iporacle怎么配监听,端口号不变→下一步 。
7、选择【进行测试】→下一步 。(当然你也可以选择不测试)
※1测试如果不通过oracle怎么配监听,点击【更改登录】输入一个肯定能登入的【用户名】和【口令】→确定,出现【正在连接...测试成功 。】表明测试成功 。
※2测试不通过的话,点【上一步】确认你写的【服务名】和【主机名】,确认无误的情况下,确认你要连接的服务器oracle监听服务已经打开 。
8、在【net服务名中】输入你想要使用的本地的服务名→下一步 。
※就是【sqlplus
user/passwd
@本地服务名】 。
9、选择【否】→下一步 。
10、出现【net服务配置完毕】字样→下一步 。
11、点击【完成】完成服务配置 。
12、在上面服务配置完成以后 , 在cmd中输入如下命令即可远程登录oracle服务器oracle怎么配监听:
sqlplus
user_name/password@本地服务名
一定记住,上面的本地服务名是你第8步写的服务名 。
13、如果sqlplus
能够进入,PLSQL
Developer也就可以了 。
---
以上 , 希望对你有所帮助 。
Oracle怎么创建监听打开Oracle Net Manager创建监听
1
在开始菜单,选择oracle,再选择“配置和移值工具”,打开Oracle Net Manager 。
2
在弹出的窗口上 选择“监听程序” , 点击左边的“ ”图标,创建监听 。
3
在接下来的窗口上选择监听名称,或者自己起一个监听名称,在点击下方“确定”按钮 。
END
添加服务器数据库IP地址配置监听
1
点击“添加地址”按钮,填写好服务器主机ip地址以及端口号并及时保存 。
END
配置服务名称
1
选择“服务名称”,创建一个服务名称,最好跟目标主机数据库服务名称一致 。
2
点击下一步,选择TC/IP选项,再单击下一步 。
3
填写好服务器数据库主机名 , 一般填写IP地址就可以了,再填写好端口:1521。下一步的时候,填写好服务名,跟SID一致就可以了 。
4
测试是否可以连通,点击“测试”按钮 , 更改进入数据库操作的账户跟密码点击测试 。
5
测试连接成功如下图,如果测试未成功,就按上面的步骤仔细检查看看哪里出问题了 。一般查询服务器ip地址、端口、数据库用户名、密码、防火墙等等地方是否有问题 。
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 =https://www.04ip.com/post/
(SERVICE_NAME = wwj)
)
)
1521 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = tcp)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =https://www.04ip.com/post/
(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 =https://www.04ip.com/post/
(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
oracle数据库中有2个实例 , 监听怎么配置环境 centos 5.4oracle 10g r2
已有实例 xxxio 和监听listener 端口1521
现又新建实例 xxxdb监听名称listener02 端口 1522实现 listener02 只加载实例 xxxdb
1.创建数据库 实例名xxxdb
2.netca 创建监听 listener02 端口1522
3.配置listener.ora 如下
# listener.ora Network Configuration File: /u01/app/oracle/product/10g//network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = xxxio)
(ORACLE_HOME = /u01/app/oracle/product/10g/)(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME =ASM)
(ORACLE_HOME = /u01/app/oracle/product/10g/))
(SID_DESC =
(SID_NAME = xxxdb)
(ORACLE_HOME = /u01/app/oracle/product/10g/))
)
SID_LIST_LISTENER02 =
(SID_LIST =
(SID_DESC =
(SID_NAME = xxxdb)
(ORACLE_HOME = /u01/app/oracle/product/10g/))
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)))
)
LISTENER02 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2))(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522)))
)
说明 : 自己在配置过程中也遇到了好多问题 ,最后通过查看资料和实际测试 证明上述的配置是正确的1.首先用netca创建 listener02 后 会在配置文件listener.ora中 生成如下的信息。这说明一个监听创建成功 。
可以启动 、关闭。但是没有加载实例 。
LISTENER02 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2))(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522)))
)
2.在配置文件listener.ora 中加入如下信息 , 才能将实例xxxdb 加载到监听 listener02中 实现 各尽其职SID_LIST_LISTENER02 =--这的命名是SID_LIST_监听名(SID_LIST =
(SID_DESC =
(SID_NAME = xxxdb)
(ORACLE_HOME = /u01/app/oracle/product/10g/))
)
oracle怎么配监听的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle如何配置监听、oracle怎么配监听的信息别忘了在本站进行查找喔 。
推荐阅读
- ios壁纸3d框架,苹果3d壁纸生成器快捷指令
- mysql查看sql版本命令行,查看mysql版本的sql
- java修改js代码,java调整代码格式快捷键
- 手机怎么查看绿点记录,手机上的绿点是开还是关
- c语言函数名称的定义 c语言函数的命名规范
- 开机电脑显卡不转怎么办,电脑开机后显卡不转
- 音乐下载破解,音乐下载破解版软件
- 电脑硬盘怎么导入数据,电脑硬盘文件如何导入另一台电脑
- php自动输出数据库内容 php如何用表格输出数据库