Debian上sqlplus如何运用实用技巧高效管理数据库?
- 内容介绍
- 文章标签
- 相关推荐
在Debian上使用SQL*Plus管理Oracle数据库时使用者常面临以下痛点:安装过程繁琐;连接不上数据库;命令行体验差;还有性能调优不易掌握。下面将以清晰的步骤和实用方法帮助你尽快处理这些问题。
1. 环境配置与安装
目标:在Debian程序上顺利安装Oracle Instant Client及SQL*Plus,并让它们可直接在终端调用。说起来,
1.1 下载所需包
-
/usr/share/instantclient-basiclite-linux.x64-21.5.0.0.0dbru.zip -
/usr/share/instantclient-sqlplus-linux.x64-21.5.0.0.0dbru.zip
痛点解决:使用加速下载。避免因网络慢导致的安装中断。
1.2 解压并移动到统一目录
# mkdir -p /opt/oracle
# unzip instantclient-basiclite-linux.x64-21.5.*zip -d /opt/oracle
# unzip instantclient-sqlplus-linux.x64-21.*zip -d /opt/oracle
# ln -s /opt/oracle/sqlplus /usr/local/bin/sqlplus
# export ORACLE_HOME=/opt/oracle
# export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
# export PATH=$ORACLE_HOME/bin:$PATH
1.3 验证安装是否成功
# sqlplus -v
SQL*Plus: Release ... for Linux x86_64 ...
...
如果出现上述版本信息,则表示已成功安装。不过,
1.4 设置环境变量持久化
# echo 'export ORACLE_HOME=/opt/oracle'>> ~/.bashrc
# echo 'export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH'>> ~/.bashrc
# echo 'export PATH=$ORACLE_HOME/bin:$PATH'>> ~/.bashrc
# source ~/.bashrc
2. 自定义输出格式 & 提高交互体验
痛点: 默认输出过长、列宽不合适。导致阅读困难,缺少历史记录和自动补全功能。
2.1 使用.glogin.sql
Create file at $ORACLE_HOME/admin/glogin.sql.
/set linesize 200 -- 宽度足够显示完整内容
/set pagesize 50 -- 每页行数,可根据需要调整
/set feedback on -- 命令执行反馈信息显示开关
/set longchunksize 10000 -- 长字段分块显示大小
COLUMN username FORMAT A20 -- 设置列宽样式示例
-- 自动补全提示:需要配合 rlwrap 使用
2.2 安装 & 配置 rlwrap + readline
-
Pain point: 命令行编辑能力差。说起来,Solve: Install rlwrap and create alias:
-
Pain point: 缺少历史记录。Solve: rlwrap 自动启用 readline 的历史文件。不过,可在 .bashrc 添加:
2.3 美化颜色输出
Add to $ORACLE_HOME/admin/glogin.sql:
@set termout on
@set sqlformat ansiconsole
@define colorred <\033
..." />
4.基本命令查堪当前状态 与 数据库对象操作
- 查看当前登录使用者: SELECT USER FROM DUAL;
- 查看 Oracle 实例信息: SELECT * FROM V$VERSION;
- 查询表空间容量: SELECT TABLESPACE_NAME,SUM/1024/1024 AS MB FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME;
- 再看创建示例表。CREATE TABLE employees,salary NUMBER);
- 从插入数据来看,INSERT INTO employees VALUES;INSERT INTO employees VALUES;COMMIT,
- 从查询数据来看,SELECT * FROM employees ORDER BY id;
- 至于更新数据,UPDATE employees SET salary = salary + 500 WHERE id = :id;COMMIT,按理说,
- 删除记录并回滚测试: DELETE FROM employees WHERE id = :id;ROLLBACK,话说回来,
- 较快完成 Oracle Instant Client + SQL*Plus 的 Debian 安装;
- 自定义输出格式,让终端更友好;
- 利用 rlwrap 提高命令行体验;
- 正确且安全地连接本地或远程 Oracle 数据库;
- 掌握基本 CRUD 操作还有事务控制;
- 开启会话级别日志追踪并使用 logrotate 管理硬盘空间。说起来,
开启会话级别日志跟踪
sql ALTER SESSION SET SQL_TRACE = TRUE;跟踪文件默认位于 $ORACLE_BASE/user//trace/.trc。你可以实时监控: bash tail -f $ORACLE_BASE/user/$SID/trace/$SID.trc 此方法非常适合排查慢查询或频繁报错的场景。使用日志轮转防止磁盘膨胀
在 /etc/logrotate.d 创建 sqlplus 配置
conf
$HOME/.sqlplus/*.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
}
每日报告后自动压缩,并保留最近七天的日志。小结
通过以上步骤,你可以:只要按顺序执行。即可摆脱 “找不到方法”“连接报错”“命令行卡顿” 等困扰,高效管理你的 Oracle 数据库。
在Debian上使用SQL*Plus管理Oracle数据库时使用者常面临以下痛点:安装过程繁琐;连接不上数据库;命令行体验差;还有性能调优不易掌握。下面将以清晰的步骤和实用方法帮助你尽快处理这些问题。
1. 环境配置与安装
目标:在Debian程序上顺利安装Oracle Instant Client及SQL*Plus,并让它们可直接在终端调用。说起来,
1.1 下载所需包
-
/usr/share/instantclient-basiclite-linux.x64-21.5.0.0.0dbru.zip -
/usr/share/instantclient-sqlplus-linux.x64-21.5.0.0.0dbru.zip
痛点解决:使用加速下载。避免因网络慢导致的安装中断。
1.2 解压并移动到统一目录
# mkdir -p /opt/oracle
# unzip instantclient-basiclite-linux.x64-21.5.*zip -d /opt/oracle
# unzip instantclient-sqlplus-linux.x64-21.*zip -d /opt/oracle
# ln -s /opt/oracle/sqlplus /usr/local/bin/sqlplus
# export ORACLE_HOME=/opt/oracle
# export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
# export PATH=$ORACLE_HOME/bin:$PATH
1.3 验证安装是否成功
# sqlplus -v
SQL*Plus: Release ... for Linux x86_64 ...
...
如果出现上述版本信息,则表示已成功安装。不过,
1.4 设置环境变量持久化
# echo 'export ORACLE_HOME=/opt/oracle'>> ~/.bashrc
# echo 'export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH'>> ~/.bashrc
# echo 'export PATH=$ORACLE_HOME/bin:$PATH'>> ~/.bashrc
# source ~/.bashrc
2. 自定义输出格式 & 提高交互体验
痛点: 默认输出过长、列宽不合适。导致阅读困难,缺少历史记录和自动补全功能。
2.1 使用.glogin.sql
Create file at $ORACLE_HOME/admin/glogin.sql.
/set linesize 200 -- 宽度足够显示完整内容
/set pagesize 50 -- 每页行数,可根据需要调整
/set feedback on -- 命令执行反馈信息显示开关
/set longchunksize 10000 -- 长字段分块显示大小
COLUMN username FORMAT A20 -- 设置列宽样式示例
-- 自动补全提示:需要配合 rlwrap 使用
2.2 安装 & 配置 rlwrap + readline
-
Pain point: 命令行编辑能力差。说起来,Solve: Install rlwrap and create alias:
-
Pain point: 缺少历史记录。Solve: rlwrap 自动启用 readline 的历史文件。不过,可在 .bashrc 添加:
2.3 美化颜色输出
Add to $ORACLE_HOME/admin/glogin.sql:
@set termout on
@set sqlformat ansiconsole
@define colorred <\033
..." />
4.基本命令查堪当前状态 与 数据库对象操作
- 查看当前登录使用者: SELECT USER FROM DUAL;
- 查看 Oracle 实例信息: SELECT * FROM V$VERSION;
- 查询表空间容量: SELECT TABLESPACE_NAME,SUM/1024/1024 AS MB FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME;
- 再看创建示例表。CREATE TABLE employees,salary NUMBER);
- 从插入数据来看,INSERT INTO employees VALUES;INSERT INTO employees VALUES;COMMIT,
- 从查询数据来看,SELECT * FROM employees ORDER BY id;
- 至于更新数据,UPDATE employees SET salary = salary + 500 WHERE id = :id;COMMIT,按理说,
- 删除记录并回滚测试: DELETE FROM employees WHERE id = :id;ROLLBACK,话说回来,
- 较快完成 Oracle Instant Client + SQL*Plus 的 Debian 安装;
- 自定义输出格式,让终端更友好;
- 利用 rlwrap 提高命令行体验;
- 正确且安全地连接本地或远程 Oracle 数据库;
- 掌握基本 CRUD 操作还有事务控制;
- 开启会话级别日志追踪并使用 logrotate 管理硬盘空间。说起来,
开启会话级别日志跟踪
sql ALTER SESSION SET SQL_TRACE = TRUE;跟踪文件默认位于 $ORACLE_BASE/user//trace/.trc。你可以实时监控: bash tail -f $ORACLE_BASE/user/$SID/trace/$SID.trc 此方法非常适合排查慢查询或频繁报错的场景。使用日志轮转防止磁盘膨胀
在 /etc/logrotate.d 创建 sqlplus 配置
conf
$HOME/.sqlplus/*.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
}
每日报告后自动压缩,并保留最近七天的日志。小结
通过以上步骤,你可以:只要按顺序执行。即可摆脱 “找不到方法”“连接报错”“命令行卡顿” 等困扰,高效管理你的 Oracle 数据库。

