lsnrctl 是 Oracle 数据库监听控制工具(Listener Control),用来管理 Oracle 监听器(Listener)。下面从基础概念 → 常用命令 → 学习路径 → 实战示例系统讲一下。
listener.ora)# 在数据库服务器上,使用 oracle 用户
su - oracle
# 确认环境变量
echo $ORACLE_HOME
echo $PATH
通常:
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
lsnrctl start
指定监听器名:
lsnrctl start LISTENER
lsnrctl stop
lsnrctl status
示例输出关注点:
lsnrctl reload
修改
listener.ora后常用
lsnrctl services
可以看到:
listener.ora(服务器端)路径:
$ORACLE_HOME/network/admin/listener.ora
示例:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbserver)(PORT = 1521))
)
)
tnsnames.ora(客户端)用于客户端连接:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dbserver)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
常见问题:
TNS-12541: TNS:no listenerTNS-12545: Connect failed# 1. 监听器是否启动
lsnrctl status
# 2. 端口是否监听
netstat -an | grep 1521
# 3. 数据库是否注册
sqlplus / as sysdba
SQL> alter system register;
lsnrctl help
如果你愿意,可以告诉我:
我可以给你更针对性的示例。