阅读量:45
1. 安装Oracle Instant Client及SQLPlus
- 下载组件:从Oracle官方网站下载Ubuntu对应的Instant Client包(
instantclient-basic、instantclient-sqlplus、instantclient-tools),建议选择64位版本(如23.x或21.x系列)。若需使用pro*c预编译工具,还需下载instantclient-precomp。 - 安装依赖:执行
sudo apt-get install alien libaio1,alien用于将RPM包转换为DEB包,libaio1是Oracle客户端必需的异步I/O库。 - 转换与安装:使用
alien将下载的RPM包转为DEB包(如sudo alien -d oracle-instantclient-basic-23.x.x.x-x.x86_64.rpm),再用dpkg -i安装转换后的DEB包(如sudo dpkg -i oracle-instantclient-basic_23.x.x.x-x_amd64.deb)。 - 验证安装:执行
sqlplus -v,若显示SQLPlus版本信息(如“SQL*Plus: Release 23.x.x.x”),则说明安装成功。
2. 配置环境变量
编辑用户目录下的.bashrc文件(vim ~/.bashrc),添加以下关键变量(需根据实际安装路径调整):
# Oracle客户端安装目录
export ORACLE_HOME=/usr/lib/oracle/23/client64
# 动态链接库路径(包含Oracle客户端库文件)
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
# 将Oracle bin目录加入系统PATH(方便全局调用sqlplus)
export PATH=$ORACLE_HOME/bin:$PATH
保存文件后,执行source ~/.bashrc使变量立即生效。可通过echo $ORACLE_HOME验证变量是否设置正确。
3. 解决SQLPlus交互问题
- 方向键异常:安装
rlwrap工具(sudo apt-get install rlwrap),它能为SQLPlus提供行编辑功能(如方向键、历史命令)。配置别名(alias sqlplus='rlwrap sqlplus')并添加到.bashrc,后续直接输入sqlplus即可正常使用方向键。 - 编辑器设置:修改
$ORACLE_HOME/sqlplus/admin/glogin.sql(SQLPlus全局配置文件),添加DEFINE _EDITOR = vim,将默认编辑器从ed改为vim(更符合习惯)。
4. 配置数据库连接
- TNS文件设置:在
$ORACLE_HOME/network/admin目录下创建或修改tnsnames.ora文件,添加数据库连接描述符(需替换为实际IP、端口、SID/Service Name):ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) - 连接测试:执行
sqlplus username/password@ORCL(ORCL为tnsnames.ora中定义的TNS名称),若成功进入SQL>提示符,则说明连接配置正确。
5. 优化SQLPlus使用体验
- 常用环境变量设置:通过
glogin.sql或用户目录下的login.sql(优先级更高)添加以下配置,提升查询可读性:-- 设置每页显示行数(避免分页) SET PAGESIZE 999 -- 设置每行显示字符数(避免换行) SET LINESIZE 132 -- 开启服务器输出(用于显示DBMS_OUTPUT.PUT_LINE内容) SET SERVEROUTPUT ON SIZE UNLIMITED FORMAT WRAPPED -- 设置列宽(避免内容截断,如segment_name列宽30字符) COLUMN segment_name FORMAT A30 WORD_WRAP -- 显示执行时间(便于性能分析) SET TIMING ON -- 设置反馈行数(查询结果超过6行时显示“X rows selected”) SET FEEDBACK ON -- 设置SQL提示符(显示用户名@实例名,更直观) SET SQLPROMPT "_USER'@'_CONNECT_IDENTIFIER > "
注意事项
- 若使用
sudo安装Oracle Instant Client,需确保安装目录的权限正确(如sudo chown -R $USER:$USER /usr/lib/oracle),避免权限问题导致无法访问。 - 若连接远程数据库,需确保Ubuntu服务器能访问数据库服务器的IP和端口(如
1521),可通过telnet 192.168.1.100 1521测试连通性。 - 若需使用
pro*c,需将proc工具复制到$ORACLE_HOME/bin目录,并配置pcscfg.cfg文件(添加系统头文件路径,如/usr/include、$ORACLE_HOME/sdk/include)。