在linux环境中登录oracle数据库,需要根据具体的使用场景准备对应的安装组件,不同场景下的依赖要求存在差异,下面分情况介绍需要安装的内容。

一、命令行直接登录oracle所需安装内容
如果仅需要通过命令行工具连接oracle数据库执行SQL操作,核心需要安装oracle instant client基础包和sqlplus工具包,这两个包是命令行登录的最小依赖。
1. 安装包选择
首先需要根据linux系统的架构选择对应版本的安装包,常见的架构为x86_64,需要下载以下两个rpm包:
- oracle-instantclient-basic:基础客户端包,包含oci核心库文件
- oracle-instantclient-sqlplus:sqlplus命令行工具包
如果是debian系的系统,可以下载对应的deb包,或者将rpm包转换为deb包后安装。
2. 安装步骤示例
以x86_64架构的centos系统为例,安装过程如下:
# 下载安装包,假设已经将安装包放到当前目录 wget https://download.ipipp.com/oracle/instantclient-basic-21.11.0.0.0-1.x86_64.rpm wget https://download.ipipp.com/oracle/instantclient-sqlplus-21.11.0.0.0-1.x86_64.rpm # 安装rpm包 rpm -ivh oracle-instantclient-basic-21.11.0.0.0-1.x86_64.rpm rpm -ivh oracle-instantclient-sqlplus-21.11.0.0.0-1.x86_64.rpm
3. 环境变量配置
安装完成后需要配置环境变量,否则执行sqlplus命令时会提示找不到库文件,编辑/etc/profile文件添加以下内容:
# 设置oracle客户端库路径,默认安装路径为/usr/lib/oracle/21/client64/lib export LD_LIBRARY_PATH=/usr/lib/oracle/21/client64/lib:$LD_LIBRARY_PATH # 设置sqlplus命令路径 export PATH=/usr/lib/oracle/21/client64/bin:$PATH
执行source /etc/profile使配置生效,之后就可以通过sqlplus命令登录oracle:
# 登录格式:sqlplus 用户名/密码@数据库IP:端口/服务名 sqlplus test_user/test_pass@192.168.0.1:1521/orclpdb
二、应用程序代码连接oracle所需安装内容
如果是通过python、java等编程语言编写的程序连接oracle数据库,除了上述的instant client基础包之外,还需要安装对应语言的oci驱动依赖。
1. Python连接场景
Python连接oracle需要安装cx_Oracle库,该库依赖oci接口,因此需要先完成instant client的安装和环境变量配置,之后安装cx_Oracle:
# 安装cx_Oracle库
pip install cx_Oracle
# 连接示例代码
import cx_Oracle
# 配置连接信息
conn = cx_Oracle.connect('test_user', 'test_pass', '192.168.0.1:1521/orclpdb')
cursor = conn.cursor()
cursor.execute('select 1 from dual')
print(cursor.fetchone())
cursor.close()
conn.close()
2. Java连接场景
Java连接oracle需要ojdbc驱动包,同时如果使用了oci连接方式,也需要依赖instant client的库文件,maven依赖配置如下:
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>21.11.0.0</version>
</dependency>
Java oci连接方式示例:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class OracleConnectTest {
public static void main(String[] args) throws Exception {
// oci连接方式URL格式
String url = "jdbc:oracle:oci:@192.168.0.1:1521:orclpdb";
Connection conn = DriverManager.getConnection(url, "test_user", "test_pass");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select 1 from dual");
if (rs.next()) {
System.out.println(rs.getInt(1));
}
rs.close();
stmt.close();
conn.close();
}
}
三、常见问题说明
安装完成后如果登录时出现ORA-12170: TNS:Connect timeout occurred错误,通常是网络不通或者数据库监听未启动,需要检查防火墙规则和数据库监听状态。如果出现error while loading shared libraries错误,说明LD_LIBRARY_PATH环境变量配置不正确,需要检查库文件路径是否和实际安装路径一致。
另外需要注意,instant client的版本需要和oracle数据库版本兼容,一般高版本的instant client可以兼容低版本的数据库,但是不建议使用过低版本的客户端连接高版本数据库,避免出现功能不支持的问题。
Oracle_clientlinuxsqlplusinstant_clientoci修改时间:2026-06-26 12:30:36