oracle+tns+01106,TNS-01106:Listener using listener name already been started

最近在做HACMP双机互备切换测试的时候,发现一个问题:

A节点的listener端口为1521 ,B节点的listener端口为1522,为什么两个节点的监听要用不同的端口号?

当时AB机使用不同端口是基于如下考虑:

HACMP的切换数据库的过程中,希望同时控制监听的启动和停止,如果两个数据库使用同一个监听,考虑如下情况

监听在A机和B都正常运行在1521

A机故障,db1切换到B机,先关闭A机的监听,文件系统切换到B机,db1在B机启动,启动监听,提示端口已被占用,可以忽略,因为A的实例会动态注册到可用的listener中去。

A机修复,db1会优先切换回A机,如果脚本中这时关闭B机监听,虽然不会影响B机已经连接的客户端,但是如果B机有新客户端连接,将不能连接到B机的数据库。

问题:为什么在一个节点上不能同时起两个同一端口的listener呢?(这个问题困惑我好久了,就连做梦都在问为什么?)

回答:其实不光是不能同时起动端口相同的listener,在listener.ora文件中,同一个KEY值的listener也是不可以同时启动的,就类似于是listener的唯一标识。即IPC addresses(KEY) or TCP port numbers are not duplicated.

在考虑这个问题的过程中,做了一些有关listener的实验,在这里与大家分享

1. 一个端口的listener可以注册多个实例

(备注:这个当然了,比如我们在一个节点上安装多个实例)

e.g.

LSNRCTL> status

正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.15.99)(PORT=1521)))

LISTENER 的 STATUS

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

别名                      LISTENER

版本                      TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc

tion

启动日期                  08-6月 -2009 09:17:22

正常运行时间              4 天 0 小时 25 分 6 秒

跟踪级别                  off

安全性                    OFF

SNMP                      OFF

监听器参数文件          d:\oracle\network\admin\listener.ora

监听器日志文件          d:\oracle\network\log\listener.log

监听端点概要...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.15.99)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=leiz)(PORT=8080))(Presentation=HTTP)

(Session=RAW))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=leiz)(PORT=2100))(Presentation=FTP)(

Session=RAW))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=leiz)(PORT=8080))(Presentation=HTTP)

(Session=RAW))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=leiz)(PORT=2100))(Presentation=FTP)(

Session=RAW))

服务摘要..

服务 "PLSExtProc" 包含 1 个例程。

例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

服务 "leiz" 包含 2 个例程。/*实例LEIZ*/

例程 "leiz", 状态 UNKNOWN, 包含此服务的 1 个处理程序.../*静态注册*/

例程 "leiz", 状态 READY, 包含此服务的 1 个处理程序.../*动态注册*/

服务 "leiz2" 包含 2 个例程。/*实例LEIZ2*/

例程 "leiz2", 状态 UNKNOWN, 包含此服务的 1 个处理程序.../*静态注册*/

例程 "leiz2", 状态 READY, 包含此服务的 1 个处理程序.../*动态注册*/   服务 "leiz2XDB" 包含 1 个例程。

例程 "leiz2", 状态 READY, 包含此服务的 1 个处理程序...

服务 "leizXDB" 包含 1 个例程。

例程 "leiz", 状态 READY, 包含此服务的 1 个处理程序...

命令执行成功

2. 一个实例可以同时注册到多个不同端口的listener去

(备注:这个也没问题,比如一个实例注册到多个不同端口的listener中)

e.g.

LSNRCTL> status listener   正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.15.99)(PORT=1521)))

LISTENER 的 STATUS

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

别名                      LISTENER   版本                      TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc

tion

启动日期                  08-6月 -2009 09:17:22

正常运行时间              4 天 0 小时 13 分 14 秒

跟踪级别                  off

安全性                    OFF

SNMP                      OFF

监听器参数文件          d:\oracle\network\admin\listener.ora

监听器日志文件          d:\oracle\network\log\listener.log

监听端点概要...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.15.99)(PORT=1521)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC0ipc)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=leiz)(PORT=8080))(Presentation=HTTP)

(Session=RAW))

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=leiz)(PORT=2100))(Presentation=FTP)(

Session=RAW))

服务摘要..

服务 "PLSExtProc" 包含 1 个例程。

例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

服务 "leiz" 包含 2 个例程。

例程 "leiz", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

例程 "leiz", 状态 READY, 包含此服务的 1 个处理程序...   服务 "leizXDB" 包含 1 个例程。

例程 "leiz", 状态 READY, 包含此服务的 1 个处理程序...

命令执行成功

LSNRCTL> status listener3   正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.15.99)(PORT=1522)))

LISTENER 的 STATUS

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

别名                      LISTENER3   版本                      TNSLSNR for 32-bit Windows: Version 9.2.0.1.0 - Produc

tion

启动日期                  08-6月 -2009 09:17:22

正常运行时间              4 天 0 小时 25 分 32 秒

跟踪级别                  off

安全性                    OFF

SNMP                      OFF

监听器参数文件          d:\oracle\network\admin\listener.ora

监听器日志文件          d:\oracle\network\log\listener3.log

监听端点概要...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.15.99)(PORT=1522)))

服务摘要..

服务 "PLSExtProc" 包含 1 个例程。

例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...

服务 "leiz" 包含 1 个例程。

例程 "leiz", 状态 UNKNOWN, 包含此服务的 1 个处理程序...   命令执行成功

3. 一个节点不可以同时启动同样 IPC keys 或者同样 listener port number的listener

即Verify IPC addresses or TCP port numbers are not duplicated

a. 一个节点可以启动多个不同端口的listener   e.g.

[oracle@rac1 admin]$ more listener.ora

LISTENER_1522 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = rac1.domain.com)(PORT = 1522))

)

)

LISTENER_1521 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = rac1.domain.com)(PORT = 1521))

)

)

SID_LIST_LISTENER_1522 =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)

(PROGRAM = extproc)

)

(SID_DESC =

(SID_NAME = devdb1)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)

)

)       一个节点可以启动多个不同端口的listener

LSNRCTL> start listener_1521

LSNRCTL> start listener_1522

LSNRCTL> status listener_1521           Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1.domain.com)(PORT=1521)))

STATUS of the LISTENER

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

Alias                    listener_1521           Version                   TNSLSNR for Linux: Version 10.2.0.4.0 - Production

Start Date                17-JUN-2009 21:41:39

Uptime                    0 days 0 hr. 1 min. 0 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora

Listener Log File         /u01/app/oracle/product/10.2.0/db_1/network/log/listener_1521.log

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac1.domain.com)(PORT=1521)))

Services Summary...

Service "+ASM" has 1 instance(s).

Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...

Service "+ASM_XPT" has 1 instance(s).

Instance "+ASM1", status BLOCKED, has 1 handler(s) for this service...

Service "devdb" has 1 instance(s).

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

Service "devdbXDB" has 1 instance(s).

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

Service "devdb_XPT" has 1 instance(s).

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

The command completed successfully

LSNRCTL> status listener_1522           Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1.domain.com)(PORT=1522)))

STATUS of the LISTENER

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

Alias                     listener_1522           Version                   TNSLSNR for Linux: Version 10.2.0.4.0 - Production

Start Date                17-JUN-2009 21:41:48

Uptime                    0 days 0 hr. 0 min. 55 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora

Listener Log File         /u01/app/oracle/product/10.2.0/db_1/network/log/listener_1522.log

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac1.domain.com)(PORT=1522)))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

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

Service "devdb1" has 1 instance(s).

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

The command completed successfully

LSNRCTL> stop listener_1521

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1.domain.com)(PORT=1521)))

The command completed successfully

LSNRCTL> stop listener_1522

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1.domain.com)(PORT=1522)))

The command completed successfully

b. 一个节点不可以同时启动同样 listener port number的listener          e.g.

[oracle@rac1 admin]$ more listener.ora

LISTENER_1522 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = rac1.domain.com)(PORT = 1522))

)

)

LISTENER_1521 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = rac1.domain.com)(PORT = 1522))

)

)

SID_LIST_LISTENER_1522 =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)

(PROGRAM = extproc)

)

(SID_DESC =

(SID_NAME = devdb1)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)

)

)             一个节点不可以同时启动同样 listener port number的listener

LSNRCTL> start listener_1521             Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.4.0 - Production

System parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora

Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener_1521.log

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac1.domain.com)(PORT=1522)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1.domain.com)(PORT=1522)))

STATUS of the LISTENER

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

Alias                     listener_1521

Version                   TNSLSNR for Linux: Version 10.2.0.4.0 - Production

Start Date                17-JUN-2009 21:46:12

Uptime                    0 days 0 hr. 0 min. 0 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora

Listener Log File         /u01/app/oracle/product/10.2.0/db_1/network/log/listener_1521.log

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac1.domain.com)(PORT=1522)))

The listener supports no services

The command completed successfully

LSNRCTL> start listener_1522             TNS-01106: Listener using listener name listener_1521 has already been started

c.一个节点不可以同时启动同样 IPC keys 的listener             e.g.

[oracle@rac1 admin]$ more listener.ora

LISTENER_1522 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = rac1.domain.com)(PORT = 1522))

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

)

)

LISTENER_1521 =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = rac1.domain.com)(PORT = 1521))

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

)

)

SID_LIST_LISTENER_1522 =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)

(PROGRAM = extproc)

)

(SID_DESC =

(SID_NAME = devdb1)

(ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)

)

)             一个节点不可以同时启动同样 IPC keys 的listener

LSNRCTL> start listener_1522             Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.4.0 - Production

System parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora

Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener_1522.log

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac1.domain.com)(PORT=1522)))

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rac1.domain.com)(PORT=1522)))

STATUS of the LISTENER

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

Alias                     listener_1522

Version                   TNSLSNR for Linux: Version 10.2.0.4.0 - Production

Start Date                17-JUN-2009 22:09:40

Uptime                    0 days 0 hr. 0 min. 0 sec

Trace Level               off

Security                  ON: Local OS Authentication

SNMP                      OFF

Listener Parameter File   /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora

Listener Log File         /u01/app/oracle/product/10.2.0/db_1/network/log/listener_1522.log

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac1.domain.com)(PORT=1522)))

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))

Services Summary...

Service "PLSExtProc" has 1 instance(s).

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

Service "devdb1" has 1 instance(s).

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

The command completed successfully

LSNRCTL> start listener_1521             Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.4.0 - Production

System parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora

Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener_1521.log

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rac1.domain.com)(PORT=1521)))

Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))

TNS-12542: TNS:address already in use

TNS-12560: TNS:protocol adapter error

TNS-00512: Address already in use

Linux Error: 98: Address already in use

Listener failed to start. See the error message(s) above...

Symptoms

There are two or more oracle instances in two seperate oracle homes. Both listeners need to run concurrently. When starting a second listener, a TNS-01106 "Listener using listener name %s has already been started" error is received.

Cause

A second listener process attempted to start with the same IPC key, port address as that of an listener already running.

Solution

Verify IPC addresses or TCP port numbers are not duplicated

#listener.ora file for the first listener

LISTENER =

(ADDRESS_LIST =

(ADDRESS= (PROTOCOL= IPC)(KEY= ORCL))

(ADDRESS= (PROTOCOL= IPC)(KEY= PNPKEY))

(ADDRESS= (PROTOCOL= TCP)(Host= jumbo)(Port= 1521))

)

#listener.ora file for the second listener

LISTENER =

(ADDRESS_LIST =

(ADDRESS= (PROTOCOL= IPC)(KEY= ORCL))

(ADDRESS= (PROTOCOL= IPC)(KEY= PNPKEY))

(ADDRESS= (PROTOCOL= TCP)(Host= jumbo)(Port= 1521))

)

The listener.ora file for the 2nd listener example must have different IPC keys from the first listener.ora file and the port number for the TCP address must be different between any other listener definitions.Implement the changes and restart the listeners

参考文献:

1.Subject:  TNS-01106: "Listener using listener name %s has already been started"

Doc ID:  102430.1 Type:  PROBLEM

Modified Date :  22-JAN-2008 Status:  PUBLISHED

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

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

相关文章

Centos7 开机显示 ERST: Failed to get Error Log Address Range” 导致无法开机解决方法

开机显示 ERST: Failed to get Error Log Address Range” 导致无法开机,也无法重新安装系统,解决方法:开机进入BIOS , 关闭ACPI选项即可正常开机 转载于:https://www.cnblogs.com/zhangjianghua/p/6376811.html

Spring MVC 3模板和Apache Tiles

对于任何Web应用程序而言,有效的设计考虑因素是使用模板引擎(或工具),并且由于具有Spring的“可插拔”特性,因此集成模板机制(例如Apache Tiles)的确要容易得多。 在这篇简单的文章中&#xff0…

hihocoder1543 SCI表示法

题意:任何一个数可以表示为连续整数相加,问这些连续整数的最大长度 题解:假设左右是l,r,那么(lr)*(l-r1)/2就是这段序列的和,枚举2n的所有因子,找到最大的就可以了 我的做法是预处理前缀和,二分找到答案位置…

linux自动安装Java环境脚本,Linux 自动添加JAVA环境脚本

Linux 自动添加JAVA环境脚本1. 删除原有的JAVA环境变量配置### --------------delete old config -------------------- ###sed -i -e /JAVA_HOME/d -e /JRE/d /etc/profile删除包含JAVA_HME 、JRE的行2. 加入现有的JAVA环境变量配置### -------------- add new config ----…

辗转相除法的证明

辗转相除法的证明设两数为a、b(b<a),求它们最大公约数的步骤如下:用b除a,得a=bq+r(0≤r<b)(q是这个除法的商)。若r0,则b是a和b的最大公约数。若r≠…

linux查看有几个终端命令,如何知道你在 Linux 里最常使用的几个命令?

不知道大家自接触 Linux 以来,都使用过哪些命令,其中最常用的命令是什么?我最常用的命令之一是 sudo ,因为我每天都在使用它在 Linux 上安装、更新、删除软件包以及其它各种需要超级用户权限的操作。那么你知道你自己最经常使用的…

使用JUnit的ExpectedException和@Rule测试自定义异常

异常测试 为什么要测试异常流? 就像所有代码一样,测试覆盖率会在代码和应该生成的业务功能之间写一个合同,从而为您提供代码的有效文档 ,以及增加的尽早且经常强调功能的功能。 我不会介绍测试的许多好处,而是只关注异…

线程的工具类(Exchange)

public class Exchanger<V>extends Object 可以在对中对元素进行配对和交换的线程的同步点。每个线程将条目上的某个方法呈现给 exchange 方法&#xff0c;与伙伴线程进行匹配&#xff0c;并且在返回时接收其伙伴的对象。Exchanger 可能被视为 SynchronousQueue 的双向形…

js 判断浏览器是否64位

js判断是否64位 浏览器 navigator.userAgent.match(/x64/i); 转载于:https://www.cnblogs.com/fanlinglong/p/7298733.html

linux ss 软件,linux ss 网络状态工具

ss是Socket Statistics的缩写查看网络状态&#xff0c;经常用的命令&#xff1a; watch ss -lntss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计. 它比其他工具展示等多tcp和state信…

Lambda项目:迈向多核及超越

周一下午在JavaOne 2011的希尔顿旧金山大宴会厅B上做了“ Project Lambda&#xff1a;迈向多核和超越”&#xff08;会议27400&#xff0c;不要与Brian Goetz的同名演讲相混淆&#xff09; 的演示 。大宴会厅关闭&#xff0c;这是一个非常大型的非主题演讲场地&#xff0c;并且…

Python 06-字典

字典是一种key-value的数据类型&#xff0c;就像日常用的字典&#xff0c;通过字母或者笔画来查找对应页的详细内容。 字典是无序的&#xff0c;没有顺序。因为有key。 info {stu1001:wang er,stu1002:zhang san,stu1003:li si } print(info)#打印字典所有kv print(info[stu10…

hashMap 源码解读理解实现原理和hash冲突

hashMap 怎么说呢。 我的理解是 外表是一个set 数组&#xff0c;无序不重复 。 每个set元素是一个bean &#xff0c;存着一对key value 看看代码吧 package test;import java.util.HashMap; import java.util.Map.Entry;public class HashMaptest {public static void main(Str…

浙江大学linux网络通信,浙江大学钟财军副教授——“Wireless Powered Communication Networks”...

2016年5月17日&#xff0c;浙江大学钟财军副教授应徐正元教授邀请在中科大西区科技实验楼东楼十层1011会议室做了一场题为“Wireless Powered Communication Networks”的学术报告。报告会由龚晨教授主持&#xff0c;共50余名师生参加。此次报告会得到了“中科院无线光电通信重…

自定义Spring Data JPA存储库

Spring Data是一个非常方便的库。 但是&#xff0c;由于该项目是一个相当新的项目&#xff0c;因此功能不佳。 默认情况下&#xff0c;Spring Data JPA将基于SimpleJpaRepository提供DAO的实现。 在最近的项目中&#xff0c;我开发了一个定制的存储库基类&#xff0c;以便可以在…

[基础]PeopleSoft中的作业和调度作业集合定义

PeopleSoft进程调度器可以使一个或多个进程作为一个组。这个组在PeopleSoft中被称为作业(Job)。 PeopleSoft进程被定义为单个任务&#xff0c;程序或例程&#xff0c;例如cobol程序或AE程序或客户端运行的SQR。 作业由一个或多个相同或不同类型的进程组成&#xff0c;他们作为一…

体验 WebFont,网页上的艺术字

在最新项目中&#xff0c;由于要频繁使用艺术字&#xff0c;而用户设备没有此字体&#xff0c;因此以往的经验都是使用图片...所以在同事的瞩目期许之下&#xff0c;我开始实验研究这个问题的解决方案1. 直接使用字体文件font-face {font-family: xxxx;src: url(../img/汉仪秀英…

linux文件分别打包命令,Linux文件打包命令

15.1 gzipgzip(1)是GNU的压缩程序。它只对单个文件进行压缩。基本用法如下&#xff1a;$ gzip filename程序执行以后&#xff0c;文件名会变成filename.gz&#xff0c;而且一般情况下大小会比原文件要小。注意&#xff0c;程序并不新建一个新的文件filename.gz,而是将filename变…

Play 2.0框架和XA交易

XA事务非常有用&#xff0c;而且开箱即用&#xff0c;今天的Play 2.0不支持它们。 在这里&#xff0c;我展示了如何添加该支持&#xff1a; 首先&#xff0c;介绍一些XA有用的示例&#xff1a; –如果您使用来自两个不同persistence.xml的实体&#xff0c;则JPA使用两个物理连…

java代码注释规范

java代码注释规范 一、规范存在的意义 应用编码规范对于软件本身和软件开发人员而言尤为重要&#xff0c;有以下几个原因&#xff1a;1、好的编码规范可以尽可能的减少一个软件的维护成本 , 并且几乎没有任何一个软件&#xff0c;在其整个生命周期中&#xff0c;均由最初的开…