oracle之lsnrctl命令
采样:
[oracle@sh02 ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.4 (Santiago)
[oracle@sh02 ~]$ uname -r
2.6.32-358.el6.x86_64
[oracle@shfpdb02 ~]$ uname -r
2.6.32-358.el6.x86_64
[oracle@shfpdb02 ~]$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 80
On-line CPU(s) list: 0-79
Thread(s) per core: 2
Core(s) per socket: 10
Socket(s): 4
NUMA node(s): 4
Vendor ID: GenuineIntel
CPU family: 6
Model: 62
Stepping: 7
CPU MHz: 2194.697
BogoMIPS: 4388.89
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 20480K
NUMA node0 CPU(s): 0-9,40-49
NUMA node1 CPU(s): 10-19,50-59
NUMA node2 CPU(s): 20-29,60-69
NUMA node3 CPU(s): 30-39,70-79
查看监听器是否启用,查看监听状态:
//做两个测试,因为节点是两个,当前节点的监听器停止
[grid@sh02 ~]$ srvctl status listener
        Listener LISTENER is enabled
        Listener LISTENER is running on node(s): shfpdb01
//启动监听器
        [grid@sh02 ~]$ lsnrctl start
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 11-MAR-2022 16:30:59
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Starting /u01/app/11.2.0/grid/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.4.0 - Production
        System parameter file is /u01/app/11.2.0/grid/network/admin/listener.ora
        Log messages written to /u01/app/grid/diag/tnslsnr/shfpdb02/listener/alert/log.xml
        Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
        STATUS of the LISTENER
        ------------------------
        Alias LISTENER
        Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
        Start Date 11-MAR-2022 16:30:59
        Uptime 0 days 0 hr. 0 min. 0 sec
        Trace Level off
        Security ON: Local OS Authentication
        SNMP OFF
        Listener Parameter File /u01/app/11.2.0/grid/network/admin/listener.ora
        Listener Log File /u01/app/grid/diag/tnslsnr/sh02/listener/alert/log.xml
        Listening Endpoints Summary...
        (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
        Services Summary...
        Service "ht" has 1 instance(s).
        Instance "ht", status UNKNOWN, has 1 handler(s) for this service...
        The command completed successfully
//重新查看本地监听器
        [grid@sh02 ~]$ srvctl status listener
        Listener LISTENER is enabled
        Listener LISTENER is running on node(s): sh02,sh01
//查看进程
[grid@sh02 ~]$ ps -efww |grep lsnr//注意这里的所属用户,否则你设置了密码保护之后,只能用所属用户登录后才能进行更改
        grid 12854 1 0 15:46 ? 00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER_SCAN1 -inherit
        grid 32735 1 0 16:30 ? 00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER -inherit
        grid 33921 31866 0 16:33 pts/0 00:00:00 grep lsnr
//我们进入oracle用户,尝试停止监听
[grid@sh02 ~]$ exit
        logout
        [root@sh02 ~]# su - oracle
        [oracle@sh02 ~]$ lsnrctl stop
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 11-MAR-2022 16:34:30
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
        TNS-01190: The user is not authorized to execute the requested listener command
lsnrctl命令常用参数详解:
1)start 启动指定的监听器
2)stop 关闭指定的监听器
3)status
显示监听器的状态。status命令显示监听器是不是活动的,日志与跟踪文件的位置,
监听器已经持续运行了多长时间,以及监听器所监听的任务。
4)services
列举监听器的服务信息,比如这些服务是否有任何专用的预生成服务器进程或与之相关的调度进程,以及每个服务已有多少连接被接受或拒绝。
这种方法用来检查一个监听器是否在监听一个指定服务。
列出服务的一个汇总表及为每个协议服务处理程序所建立和拒绝的连接信息个数。
5)Version 显示oracle net软件与协议适配器的版本。
6)reload 重新装入监听器,重新读取listener.ora文件,但不关闭监听器。如果该文件发生了变化,重新刷新监听器。
7)save_config 当从lsnrctl工具中对listener.ora文件进行了修改时,复制一个叫做listener.bak的listener.ora的文件。
8)trace 打开监听器的跟踪特性。
9)change_password 允许用户修改关闭监听器所需要的密码。
10)quit 退出lsnrctl工具。 set*
password
指定在lsnrctl命令行工具中执行管理任务所需要的密码。
trc_file
指定监听器跟踪信息的位置。默认设置是$ORACLE_HOME\network\trace\listener.trc trc_directory
trc_level
跟踪级别
OFF – 未启用跟踪功能。OFF 为默认设置。
USER – 将跟踪设置为用户的相应级别。跟踪以标识用户导致的错误条件。
ADMIN – 将跟踪设置为数据库管理员的相应级别。跟踪以标识特定的安装问题。
SUPPORT – 将跟踪设置为客户支持人员的相应级别。 跟踪文件可能会变得很大。
Oracle Corporation 建议在不进行网络问题诊断时关闭跟踪功能。 log_file
指定一个监听器将把日志信息写到哪里。这个参数在默认的情况下是ON,并默认为%oracle_home%\network\log\listener.log log_directory
log_status
current_listener
inbound_connect_timeout
定义监听器在一个会话得到启动时将等待的有效响应时间。默认设置为10秒。 startup_waittime
定义监听器在响应lsnrctl命令行工具中的一条status命令之前将等待多长时间。 save_config_on_stop
指定在一个lsnrctl会话期内所发生的修改在退出时是否应该被保存起来。 show命令

rawmode
显示关于status和service的较详细信息(当他们设置成on时)值为ON或OFF。 displaymode
把lsnrctl工具的显示模式设置成raw、compact、normal或verbose
服务显示模式为NORMAL rules
trc_file
指定监听器跟踪信息的位置。默认设置是$ORACLE_HOME\network\trace\listener.trc current_listener
目前的监听器为 listener2
inbound_connect_timeout
定义监听器在一个会话得到启动时将等待的有效响应时间。默认设置为10秒。 startup_waittime
定义监听器在响应lsnrctl命令行工具中的一条status命令之前将等待多长时间。 snmp_visible
save_config_on_stop
指定在一个lsnrctl会话期内所发生的修改在退出时是否应该被保存起来。
命令演示
LSNRCTL> help
The following operations are available
An asterisk (*) denotes a modifier or extended command: start stop status
services version reload
save_config trace spawn
change_password quit exit
set* show*
//change_password改变监听密码
//save_config 执行该命令后,会备份listenr.ora,同时设置到listenr.ora文件
LSNRCTL> version
        Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
        TNSLSNR for Linux: Version 11.2.0.4.0 - Production
        TNS for Linux: Version 11.2.0.4.0 - Production
        Unix Domain Socket IPC NT Protocol Adaptor for Linux: Version 11.2.0.4.0 - Production
        Oracle Bequeath NT Protocol Adapter for Linux: Version 11.2.0.4.0 - Production
        TCP/IP NT Protocol Adapter for Linux: Version 11.2.0.4.0 - Production,,
        The command completed successfully
LSNRCTL> status
        Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
        STATUS of the LISTENER  //监听器名为LISTENER  
        ------------------------
        Alias LISTENER  //别名LISTENER  
        Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production  //版本信息
        Start Date 15-DEC-2021 11:18:18 //启动时间
        Uptime 86 days 2 hr. 30 min. 23 sec  //正常运行
        Trace Level off  //跟踪级别
        Security ON: Local OS Authentication  //安全性
        SNMP OFF
        Listener Parameter File /u01/app/11.2.0/grid/network/admin/listener.ora  //监听程序参数文件
        Listener Log File /u01/app/grid/diag/tnslsnr/sh02/listener/alert/log.xml  //监听程序log文件
        Listening Endpoints Summary...
        (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
        (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.128.51.21)(PORT=1521)))
        (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.128.51.24)(PORT=1521)))
        Services Summary...
        Service "+ASM" has 1 instance(s).
        Instance "+ASM2", status READY, has 1 handler(s) for this service...
        Service "fp" has 1 instance(s).
        Instance "fp2", status READY, has 1 handler(s) for this service...
        Service "ht" has 1 instance(s).
        Instance "ht2", status UNKNOWN, has 1 handler(s) for this service...
LSNRCTL> show  或者 help show 
        The following operations are available after show  //以下是有效的,跟在show命令之后,例如:show 
        An asterisk (*) denotes a modifier or extended command:
rawmode displaymode   //
        rules trc_file
        trc_directory trc_level
        log_file log_directory
        log_status current_listener
        inbound_connect_timeout startup_waittime
        snmp_visible save_config_on_stop
        dynamic_registration enable_global_dynamic_endpoint
        oracle_home pid
        connection_rate_limit valid_node_checking_registration
        registration_invited_nodes registration_excluded_nodes
LSNRCTL> show trc_file
        Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
        TNS-01190: The user is not authorized to execute the requested listener command
TNS-01190: 用户无权执行所请求的监听程序命令
LSNRCTL> show trc_directory
        Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
        TNS-01190: The user is not authorized to execute the requested listener command
TNS-01190: 用户无权执行所请求的监听程序命令
Oracle lsnrctl设置密码
1、设置监听器的口令.默认口令为空.
LSNRCTL> change_password
2、设置session级别的密码,如果密码错误,不报错,也显示”命令执行成功”,但不能停止监听器.
LSNRCTL> set password
3、保存到配置文件,否则下次登陆,以前设置的密码无效.
LSNRCTL> save_config
lsnrctl 监听命令
[grid@sh02 ~]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 10-MAR-2022 20:21:04
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 15-DEC-2021 11:18:18
Uptime 85 days 9 hr. 2 min. 46 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/11.2.0/grid/network/admin/listener.ora
Listener Log File /u01/app/grid/diag/tnslsnr/sh02/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.128.51.21)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.128.51.24)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s). //有一个服务未+ASM,数据库实例名为:+ASM2
Instance "+ASM2", status READY, has 1 handler(s) for this service... //状态ready说明是目前处于动态注册
Service "fp" has 1 instance(s).
Instance "fp2", status READY, has 1 handler(s) for this service...
Service "ht" has 1 instance(s).
Instance "ht2", status UNKNOWN, has 1 handler(s) for this service... //状态处于UNKNOWN表明处于静态注册
列举监听器的服务信息
[oracle@sh02 ~]$ lsnrctl services
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 11-MAR-2022 13:30:38
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM2", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
LOCAL SERVER
Service "fp" has 1 instance(s).
Instance "fp2", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:1791 refused:0 state:ready
LOCAL SERVER
//htcmsdb服务
Service "ht" has 1 instance(s).
Instance "ht2", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
The command completed successfully
三个监听文件
[grid@sh02 ~]$ locate sqlnet.ora
/u01/app/11.2.0/grid/network/admin/sqlnet.ora
[grid@sh02 ~]$ locate tnsnames.ora/u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora
[grid@sh02 ~]$ locate listener.ora
/u01/app/11.2.0/grid/network/admin/listener.ora //查看监听文件
[oracle@sh02 ~]$ cat /u01/app/11.2.0/grid/network/admin/listener.ora
        LISTENER_SCAN1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))) # line added by Agent
        LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))) #出一个监听器定义的起始点
        ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON # line added by Agent
SID_LIST_LISTENER =
        (SID_LIST =
        (SID_DESC =
        (GLOBAL_DBNAME = htcmsdb)
        (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1) //安装位置
        (SID_NAME =htcmsdb2)   //oracle sid
        )
        )
监听文件的各个参数的作用描述如下:
LISTENER 指出一个监听器定义的起始点。它实际上是正被定义的当前监听器的名称。默认的名称是LISTENER。
        DESCRIPTION 描述每个监听位置
        ADDRESS_LIST 含有与监听器正在监听的那些位置有关的地址信息
        PROTOCOL 指定用于本监听位置的协议
        HOST     保存监听器所驻留在的那台计算机的名称
        PORT     含有监听器正在上面监听的地址
        SID_LIST_LISTENER 定义配置监听器所针对的ORACLE服务的列表
        SID_DESC      描述每个Oracel SID
        GLOBAL_DBNAME 标识全局数据库名称。本项应该与当前Oracle服务的 init.ora 文件中的SERVICE_NAMES项要一致
        ORACLE_HOME   给出服务器上Oracle可执行程序的位置
        SID_NAME      含有用于本Oracle实例的Oracle SID的名称
如果你对监听设置了密码
[oracle@sh02 ~]$ lsnrctl stop
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 11-MAR-2022 14:29:51
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
TNS-01190: The user is not authorized to execute the requested listener command
//不允许随便关闭监听
由于集群采用的scan 监听器对外服务,所以这里要讲这块,远程访问时,如果关闭scan 监听就会找不到监听器,但是关闭本地监听器没有关系.
修改SCAN Listener的端口配置
[oracle@sh02 ~]$ ps -ef | grep -i tns
        root 405 2 0 2021 ? 00:00:00 [netns]
        grid 12854 1 0 15:46 ? 00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER_SCAN1 -inherit
        grid 32735 1 0 16:30 ? 00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER -inherit
1、修改前,先检查一下SCAN及SCAN Listener 的配置情况:
[oracle@sh02 ~]$ srvctl config scan
        SCAN name: sh-cluster-scan, Network: 1/10.128.51.0/255.255.255.0/eth0
        SCAN VIP name: scan1, IP: /sh-cluster-scan/10.128.51.22
2、关闭SCAN Listener
[oracle@sh02 ~]$ srvctl stop scan_listener
3、检查是否被关闭
[oracle@sh02 ~]$ srvctl status scan_listener
        SCAN Listener LISTENER_SCAN1 is enabled
        SCAN listener LISTENER_SCAN1 is not running
客户端连接出现

4、修改端口
srvctl modify scan_listener -p 1526
srvctl modify scan_listener -endpoints 1526
5、检查修改是否生效
[oracle@sh02 ~]$ srvctl start scan
        PRCC-1014 : scan1 was already running
        PRCR-1004 : Resource ora.scan1.vip is already running
        PRCR-1079 : Failed to start resource ora.scan1.vip
        CRS-5702: Resource 'ora.scan1.vip' is already running on 'sh02'
[oracle@sh02 ~]$ srvctl config scan_listener
        SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521
6、启动SCAN Listener:
[oracle@sh02 ~]$ srvctl start scan_listener
//启动后,ps/sql能够正常登录
7、检查下,确保成功
srvctl status scan_listener
srvctl modify 命令除了能够修改SCAN端口,还可以修改SCAN的名字:
srvctl modify scan -n newname 停止和启动scan listener时要注意下
//我在oracle用户在执行启动scan listener
[oracle@sh02 ~]$ srvctl start scan_listener
//查看进程看不到scan
        [oracle@sh02 ~]$ ps -ef | grep -i tns
        root 405 2 0 2021 ? 00:00:00 [netns]
        grid 32735 1 0 16:30 ? 00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER -inherit
//停止sacn_listener
[oracle@sh02 ~]$ srvctl stop scan_listener
//退出
        [oracle@sh02 ~]$ exit
        logout
//用grid用户登录
        [root@sh02 ~]# su - grid
        [grid@sh02 ~]$ srvctl stop scan_listener
        PRCC-1016 : LISTENER_SCAN1 was already stopped
        PRCR-1005 : Resource ora.LISTENER_SCAN1.lsnr is already stopped
//启动scan_listener
[grid@sh02 ~]$ srvctl start scan_listener
        [grid@sh02 ~]$ ps -efww |grep lsnr
        grid 32735 1 0 16:30 ? 00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER -inherit
        grid 42083 1 0 16:50 ? 00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER_SCAN1 -inherit
        grid 42195 41859 0 16:50 pts/0 00:00:00 grep lsnr
        [grid@sh02 ~]$ ps -efww |grep tns
        root 405 2 0 2021 ? 00:00:00 [netns]
        grid 32735 1 0 16:30 ? 00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER -inherit
        grid 42083 1 0 16:50 ? 00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER_SCAN1 -inherit
        grid 42224 41859 0 16:50 pts/0 00:00:00 grep tns
//再回到oracle用户,这个时候就可以查看到
[oracle@sh02 ~]$ ps -ef | grep tns
        root 405 2 0 2021 ? 00:00:00 [netns]
        grid 32735 1 0 16:30 ? 00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER -inherit
        grid 42083 1 0 16:50 ? 00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER_SCAN1 -inherit
        oracle 43393 43352 0 16:53 pts/0 00:00:00 grep tns
我们看看关闭本地监听器对本地登录是否有影响
//现在是关闭了本地和scan情况下
[oracle@sh02 ~]$ sqlplus sh/Sh12@10.128.51.22:1521/fp
SQL*Plus: Release 11.2.0.4.0 Production on Fri Mar 11 17:05:45 2022
Copyright (c) 1982, 2013, Oracle. All rights reserved.
ERROR:
ORA-12541: TNS:no listener
Enter user-name:
ERROR:
ORA-01017: invalid username/password; logon denied
Enter user-name:
ERROR:
ORA-01017: invalid username/password; logon denied
SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
//启动scan
[oracle@sh02 ~]$ srvctl start scan_listener
        [oracle@sh02 ~]$ sqlplus sh/Sh12@10.128.51.22:1521/fp
SQL*Plus: Release 11.2.0.4.0 Production on Fri Mar 11 17:08:23 2022
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
        Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
        With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
        Data Mining and Real Application Testing options
SQL>
//关闭scan,启动本地,报错
        所以一旦开启scan模式,则本地监听器是可有可无的.
oracle之lsnrctl命令的更多相关文章
- oracle 11g常用命令
		
1.监听启动监听lsnrctl start停止监听 lsnrctl stop 查看监听状态 lsnrctl status 2.启动用oracle用户进入su - oracle运行sqlplus命令,进 ...
 - 常用的Oracle的doc命令
		
常用的Oracle的doc命令 1.连接数据库 普通用户连接数据库: conn scott/tiger --(默认的用户名/密码).conn 即"connection"连接数据库的 ...
 - Oracle数据库常用命令整理
		
转至:https://blog.csdn.net/creativemobile/article/details/8982164 1监听 (1)启动监听 lsnrctl start (2)停止监听 l ...
 - Oracle手边常用命令及操作语句
		
Oracle手边常用命令及操作语句 作者:白宁超 时间:2016年3月4日11:24:08 摘要:日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规操作. ...
 - oracle中imp命令详解 .
		
转自http://www.cnblogs.com/songdavid/articles/2435439.html oracle中imp命令详解 Oracle的导入实用程序(Import utility ...
 - oracle中imp命令具体解释
		
oracle中imp命令具体解释 Oracle的导入有用程序(Import utility)同意从数据库提取数据,而且将数据写入操作系统文件.imp使用的基本格式:imp[username[/pass ...
 - 使用oracle的exp命令时,提示出--hash: exp: command not found
		
使用oracle的exp命令时,提示出--hash: exp: command not found 原因:当你在终端使用exp的命名时,当前的账户,并不是oracle认可的账户. 在安装oracle时 ...
 - oracle数据库sqlldr命令的使用
		
将数据导入 oracle 的方法应该很多 , 对于不同需求有不同的导入方式 , 最近使用oracle的sqlldr命令 导入数据库数据感觉是个挺不错的技术点 . 使用sqlldr命令 将文本文件导入 ...
 - oracle备份imp命令大全
		
oracle中imp命令详细解释 Oracle的导入有用程序(Import utility)同意从数据库提取数据,而且将数据写入操作系统文件.imp使用的基本格式:imp[username[/pass ...
 
随机推荐
- 【一】工程配置与电机控制part1
			
前言 学校发的无刷电机: 我们准备的有刷电机: 带霍尔编码器! 电机参数: 名称:驰名电机(直流减速电机) 型号:JGA25-370 电压:12V 转数:1360r/min 做云台,核心是使用PID控 ...
 - NETPLIER : 一款基于概率的网络协议逆向工具(一)理论
			
本文系原创,转载请说明出处:信安科研人 关注微信公众号 信安科研人 获取更多网络安全学术技术资讯 今日介绍一篇发表在2021 NDSS会议上的一项有关协议逆向的工作: @ 目录 1 网络协议逆向工程简 ...
 - 闲聊系列之 5-why root cause分析法
			
本篇参考: https://max.book118.com/html/2017/1126/141669829.shtm https://baike.baidu.com/item/5why%E5%88% ...
 - CentOS7.5安装配置Jenkins
			
一. 硬件配置: 1 GB的RAM 50 GB的驱动器空间 二. 系统环境: [root@Jenkins ~]# cat /etc/redhat-release CentOS Linux releas ...
 - Java基础——继承的特点
			
继承的优点: 1.提高了代码的复用性(多个类相同的成员可以放到一个类中) 2.提高了代码的维护性(如果要修改方法,只需要修改父类中的即可) 继承的缺点: 1.继承让类与类产生了关系,类的耦合性增强了, ...
 - [SPDK/NVMe存储技术分析]007 - 初识UIO
			
注: 要进一步搞清楚SSD盘对应的PCI的BAR寄存器的映射,有必要先了解一下UIO(Userspace I/O). UIO(Userspace I/O)是运行在用户空间的I/O技术.在Linux系统 ...
 - Aspect 切面?
			
AOP核心就是切面,它将多个类的通用行为封装成可重用的模块,该模块含有一组API提供横切功能.比如,一个日志模块可以被称作日志的AOP切面.根据需求的不同,一个应用程序可以有若干切面.在Spring ...
 - FutureTask 是什么 ?
			
这个其实前面有提到过,FutureTask 表示一个异步运算的任务.FutureTask 里面 可以传入一个 Callable 的具体实现类,可以对这个异步运算的任务的结果进行等 待获取.判断是否已经 ...
 - 什么是 Java Timer 类?如何创建一个有特定时间间隔的任务?
			
java.util.Timer 是一个工具类,可以用于安排一个线程在未来的某个特定时间执 行.Timer 类可以用安排一次性任务或者周期任务. java.util.TimerTask 是一个实现了 R ...
 - spring-boot-learning-监听事件
			
Springboot扩展了Spring的ApplicatoionContextEvent,提供了事件: ApplicationStartingEvent:框架启动事件 ApplicationEnvir ...