使用 lsnrctl
连接 Oracle 数据库的步骤如下:
sudo apt-get update
sudo apt-get install oracle-instantclient-basic oracle-instantclient-sqlplus
~/.bashrc
或 ~/.profile
文件,添加以下内容(根据你的 Oracle 安装路径调整):export ORACLE_HOME=/usr/lib/oracle/19.3/client64
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH
然后运行以下命令使更改生效:
source ~/.bashrc
$ORACLE_HOME/network/admin
目录下找到或创建 listener.ora
文件。示例内容:LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = your_sid)
(ORACLE_HOME = /path/to/oracle/home)
)
)
lsnrctl start
lsnrctl status
tnsnames.ora
文件(可选)$ORACLE_HOME/network/admin
目录下找到或创建 tnsnames.ora
文件。示例内容:MYDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = your_host)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = your_service_name)
)
)
lsnrctl
连接数据库lsnrctl connect username/password@hostname:port/servicename
例如:
lsnrctl connect myuser/mypassword@192.168.1.100:1521/orcl
sqlplus
命令行工具验证连接:sqlplus username/password@MYDB
其中 username
是你的数据库用户名,password
是对应的密码,MYDB
是在 tnsnames.ora
文件中定义的别名。
SELECT * FROM dual;
listener.log
文件(通常位于 $ORACLE_HOME/network/log/listener.log
)以获取详细的错误信息。确保数据库实例正在运行并且监听器配置正确。tnsnames.ora
文件中的配置是否与实际数据库设置匹配。确保网络连接正常,防火墙没有阻止必要的端口(默认是 1521)。通过以上步骤,你应该能够在 Ubuntu 系统上成功使用 lsnrctl
连接到 Oracle 数据库。如果遇到任何问题,请参考 Oracle 官方文档或寻求社区支持。