Oracle监听注册和sqlnet,Oracle监听的动态注册与静态注册

Oracle监听

介于Oracle的数据库和客户端之间的通道。因为数据库本身不对外提供服务,所以需要通过监听器来实现。

几个相关的参数:

local_listener

db_domain

remote_listener

service_names

相关命令:

监听命令:lsnrctl

参数:

1、start/stop 启动/关闭服务

2、service 查看当前已注册的服务

3、status  查看注册服务的状态

登录数据库命令:sqlplus

为了使用监听器,首先就要启动监听:

lsnrctl start

监听注册过程

一、数据库根据service_names/db_domain两个参数,创建服务名:

service_name1.db_domain ... service_nameN.db_domain

默认为数据库的实例名。

二、将服务名注册到监听器,如果监听器没有启动,则以:lsnrctl start启动;注册内容有服务名、端口(默认1521)等

三、监听器对外提供已注册的服务

四、外部客户端通过该服务器的1521端口连接到数据库

监听需要注册服务,有两种方式:

一种是静态注册。在启动监听的时候,根据监听文件($ORACLE_HOME/network/admin/listener.ora)直接注册

这种方式不管数据库是否启动,都会注册一个监听服务。因此,通过这个服务去连接数据库,有可能连接不上,也有可能

连接上。

其状态显示的是unknown,也就是说它此时是不知道数据库是否可以连接的。

Service "PLSExtProc" has 1 instance(s).

Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...

一种是动态注册。数据库启动后,自动会将服务名注册到监听器上。因此,通过这类服务去连接,是可以确保连接成功的。

动态注册除了数据库启动时会自动注册,也可以通过以下命令手工注册:

alter system register;

如果不执行手工命令进行动态注册,数据库也会间隔1分钟自动发起注册。

其状态显示的是ready,也就是说此时已经准备好连接了。

Service "orcl" has 1 instance(s).

Instance "orcl", status READY, has 1 handler(s) for this service...

如果此时数据库是关闭的,将不会有动态注册的信息显示,而静态注册却依然存在。

对于监听文件

如果不存在,数据库会按照当前的服务名参数(service_names)中提供的服务名,会自动将服务注册到监听器上。

如果存在,则按照监听文件中提供的服务名进行注册,数据库也会发起注册到监听器上。此时动态注册和静态注册会同时存在。

前面已经说到,注册到监听器上的服务名,是由service_names参数决定的,可以指定多个,以逗号分隔,如下:

SQL> show parameter service_names;

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

service_names                        string      orcl,wanghf

除了服务名,还可以为服务指定一个域名,可以让将服务名让各个不同的外部系统调用:

SQL> alter system set db_domain='abc.com' scope=memory;

alter system set db_domain='abc.com' scope=memory

*

ERROR at line 1:

ORA-02095: specified initialization parameter cannot be modified

SQL> alter system set db_domain='abc.com' scope=spfile;

从上面可以看到,这个参数的修改需要重启数据库,而不能立即生效。

修改后,查看监听状态信息便显示如下(部分):

Service "wanghf.abc.com" has 1 instance(s).

Instance "orcl", status READY, has 1 handler(s) for this service...

The command completed successfully

对于动态注册,如果没有特殊设置,则到目前为止已经可以正常连接和操作了。

但是,如果需要修改默认端口(1521),那该怎么做?这个时候,local_listener参数就出现了。

可以按如下命令进行设置:

alter system set local_listener='(ADDRESS = (PROTOCOL=TCP)(HOST=localhost)(PORT=1522))';

其中,端口可以按要求做修改。设置此参数后,再手工注册一下即可:

alter system register;

或者等待最多一分钟,数据库也会自动重新注册。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12932950/viewspace-706407/,如需转载,请注明出处,否则将追究法律责任。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/266261.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mme设备内部错误_华为拟安装“俄版安卓”;百度回应内部贪腐;Android Studio 3.5 RC2 发布 | 极客头条...

快来收听极客头条音频版吧,智能播报由标贝科技提供技术支持。「CSDN 极客头条」,是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报道。风里雨里,我们将每天为朋友们,播报最新鲜有料的新闻资讯&#x…

[spring mvc]Hello World入门

1.新建项目 File->New->Other,选择Dynamic web project&#xff1a; 项目建好之后&#xff0c;目录结构如下&#xff1a; 2.WEB-INF/web.xml 中配置 dispatcherServlet <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns:xsi"ht…

Mysql日期函数使用大全

为什么80%的码农都做不了架构师&#xff1f;>>> 1.1 获得当前日期时间&#xff08;date time&#xff09;函数&#xff1a;now() 除了 now() 函数能获得当前的日期时间外&#xff0c;MySQL 中还有下面的函数&#xff1a; current_timestamp() current_timestamp …

全国计算机等级考试题库二级C操作题100套(第73套)

第73套&#xff1a; 给定程序中&#xff0c;函数fun的功能是计算下式 例如&#xff1a;若形参e的值为1e-3&#xff0c;函数的返回值为0.551690。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意&#xff1a;源程序存放在考生文件夹下的BLANK1.C…

oracle修改数据库国际字符集,Oracle修改数据库字符集

1.(Window&#xff1a;)cmd下输入set ORACLE_SID你想进入的数据库的那个sid(Linux&#xff1a;)切换到oracle用户&#xff1a;export ORACLE_SID你想进入的数据库的那个sid2.输入 sqlplus /nolog3.将数据库启动到RESTRICTED模式下做字符集更改&#xff1a;SQL> conn /as sy…

input点击事件不能用_用js简单写一个计算器

嗨&#xff0c;大家好&#xff0c;今天给大家带来的是一个计算器首先要知道我们常用的计算器都有哪些按键&#xff0c;有0~9&#xff0c; , - , *, /&#xff0c;还有 和.&#xff0c;基本是这些按键&#xff0c;然后我们去创建一些按键。之后我们去设置样式&#xff0c;设置完…

全国计算机等级考试题库二级C操作题100套(第74套)

第74套&#xff1a; 人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入结构体数组std中。函数fun的功能是&#xff1a;找出指定出生年份的人员&#xff0c;将其数据放在形参k所指的数组中&#xff0c;由主函数输出&#xff0c;同时由函数值返回满足指定条件…

入驻支付宝开放平台并创建应用的基本流程

https://www.csweigou.com/article/1990.html 转载于:https://www.cnblogs.com/DixinFan/p/9519876.html

php判断信用卡,php校验信用卡卡号代码

[php]代码库// This function will take a credit card number and check to make sure it// contains the right amount of digits and uses the Luhn Algorithm to// weed out made up numbersfunction validateCreditcard_number($credit_card_number){// Get the first dig…

浮点数的表示和基本运算 【转载】

1 浮点数的表示通常&#xff0c;我们可以用下面的格式来表示浮点数 SPM其中S是符号位&#xff0c;P是阶码&#xff0c;M是尾数对于IBM-PC而言&#xff0c;单精度浮点数是32位&#xff08;即4字节&#xff09;的&#xff0c;双精度浮点数是64位&#xff08;即8字节&#xff09;的…

python list长度_python的入门阶段 编程思维100题 我跟罗志祥没关系

"""python的入门阶段 编程思维100题&#xff08;适合学习了1周--1个月的新人&#xff09; 第五题&#xff1a;我跟罗志祥没关系 朋友圈大家每天都看&#xff0c;那用python如何实现它那&#xff1f; 很简单&#xff0c;朋友的信息&#xff08;名字&#xff0c;头…

全国计算机等级考试题库二级C操作题100套(第75套)

第75套&#xff1a; 给定程序中&#xff0c;函数fun的功能是&#xff1a;对形参ss所指字符串数组中的M个字符串按长度由短到长进行排序。ss所指字符串数组中共有M个字符串&#xff0c;且串长<N。请在程序的下划线处填入正确的内容并把下划线删除&#xff0c;使程序得出正确…

php7过滤,PHP7过滤unserialize()

PHP7引入了过滤 unserialize()函数以在反序列化不受信任的数据对象时提供更好的安全性。它可以防止可能的代码注入&#xff0c;使开发人员能够使用序列化白名单类。示例class MyClass1 {public $obj1prop;}class MyClass2 {public $obj2prop;}$obj1 new MyClass1();$obj1->…

windows系统查找文件-通配符的使用

在windows中可以使用通配符“* ”、“? ”查找文件。对于相同字符开头的单词和相同字符结尾的单词可以用“<”和“ >”通配符查找单词。1、如果要查找&#xff1a; 任意单个字符 &#xff1a;键入 ? 例如&#xff0c;s?t 可查找“sat”和“set”……。2、任意字符串 :…

python为什么是动态语言_python为什么是动态语言

首先要理解什么是动态语言&#xff1a;通俗地说&#xff1a;能够在运行时修改自身程序结构的语言&#xff0c;就属于动态语言。那怎样才算是“运行时修改自身程序结构”呢&#xff1f;比如下面这几个例子都算&#xff1a;在运行时给某个类增加成员函数及成员变量&#xff1b;在…

Android ----中文Api 百度地图

Android中文API最新中文版 [复制链接] kupekupe当前离线在线时间1 小时e望0 点最后登录2011-2-17注册时间2011-2-17积分12阅读权限10UID1341171 主题 0 好友 12 积分No.1 开发小菜鸟 No.1 开发小菜鸟, 积分 12, 距离下一级还需 88 积分升级 12% 当前用户组为 No.1 开发小菜鸟 …

全国计算机等级考试题库二级C操作题100套(第76套)

第76套&#xff1a; 给定程序中&#xff0c;函数fun的功能是&#xff1a;计算下式前n项的和作为函数值返回。 例如&#xff0c;当形参n的值为10时&#xff0c;函数返回&#xff1a;-0.204491。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结 果。 注意&a…

正在启动oracle universal,oracle的常见问题与解决

刚接触oracle,在学习过程中遇到了很多的问题&#xff0c;本文章将会收藏我遇到的问题及如何解决。错误一&#xff1a;ORA-28009:connection as sys should be as sysdba解决方法:用户名称&#xff1a;sys,口令&#xff1a;password,主机字符串:orcl as sysdba(我设置的全局数据…

高性能MySQL(二)

MySQL基准测试 为什么需要benchmark 验证基于系统的假设&#xff0c;确认是否符合实际情况重现系统中的某些异常行为&#xff0c;以解决它们测试系统当前的运行情况&#xff0c;如果不清楚当前性能&#xff0c;就无法确认优化效果模拟比当前系统更高的负载&#xff0c;用于找出…

python的用算法进制转换详解_学习python第五天进制转换

6.进制之间的转换(重要)二进制&#xff1a;满二进一 范围&#xff1a;0、1符号:0b例如&#xff1a;0b10...【注意】计算机只能识别二进制数据八进制&#xff1a;满八进一 范围&#xff1a;0~7符号:0o例如&#xff1a;0o66十进制&#xff1a;满十进一 范围&#xff1a;0~9十六进…