Oracle SQL plus设置篇

news/2024/11/22 22:50:48/

安装完Oracle和db之后,对于Oracle的各种交互命令窗口使用起来不是很得心应手,上下左右键包括删除操作都需要很麻烦,我们可以进行一些设置使我们更丝滑的使用Oracle的各种交互命令如SQL plus、RMAN、lsnrctl等。

1. 定义别名及配置环境变量

通过设置别名,可以更方便地调用 Oracle 常用命令,并配置环境变量以支持更优的交互体验。

1.1 编辑环境变量

使用 vi 编辑 oracle 用户的环境变量文件:

vi /home/oracle/.bash_profile

在文件中添加以下内容:

## 配置 Oracle 用户环境变量
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias lsnrctl='rlwrap lsnrctl'
alias asmcmd='rlwrap asmcmd'
alias adrci='rlwrap adrci'
alias alert='tail -n 200 -f $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/alert_$ORACLE_SID.log'
alias bdump='cd $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace'

1.2 激活配置

保存文件后运行以下命令,使配置生效:

source /home/oracle/.bash_profile

2. 安装并配置 rlwrap

关于 rlwrap

rlwrap 是一个命令行工具,用于增强输入功能,如支持上下键历史记录、左右键编辑等功能。

源码安装解决sqlplus 中上下左右键无法使用,需要在环境变量里面定义。

2.1 下载 rlwrap 源码

需要下载 rlwrap 的源代码。可以在 rlwrap 的官方网站或者其他源获取到这个文件。

示例下载文件:rlwrap-0.42.tar.gz

2.2 解压源码

tar -zxvf rlwrap-0.42.tar.gz
cd rlwrap-0.42

2.3 检查依赖项

安装rlwrap错误的问题解决方法

checking for tgetent... no
checking for tgetent in -ltinfo... no
checking for tgetent in -lcurses... no
checking for tgetent in -lncurses... no
checking for tgetent in -ltermcap... no
configure: WARNING: No termcap nor curses library found
checking for readline in -lreadline... no
configure: error: 
You need the GNU readline library(ftp://ftp.gnu.org/gnu/readline/ ) to build
this program!

配置过程可能提示缺失以下依赖项:

  • libtermcap-devel
  • readline-devel

检查自己的操作系统架构,去阿里镜像站去下载阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区

[oracle@orcl:/soft/rlwrap-0.42]$ uname -a
Linux orcl 3.10.0-957.el7.x86_64 #1 SMP Thu Oct 4 20:48:51 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

下载对应的软件包

或者查看自己光盘中是否集成了,我的是在光盘下Packages里找到了

2.4 编译与安装

  1. 运行配置命令:
./configure
  1. 编译源码:
make
  1. 安装工具(需要root权限):
sudo make install

2.5 验证安装

检查 rlwrap 是否安装成功:

[oracle@orcl:/soft/rlwrap-0.42]$ which rlwrap
/usr/local/bin/rlwrap
[oracle@orcl:/soft/rlwrap-0.42]$ rlwrap --version
rlwrap 0.42
[oracle@orcl:/soft/rlwrap-0.42]$ 

3. SQL*Plus 设置

通过调整 login.sqlglogin.sql 配置文件,可以增强 SQL*Plus 的默认行为,例如自定义提示符、调整输出格式等。

3.1 配置文件路径

  • 配置文件路径:$ORACLE_HOME/sqlplus/admin/glogin.sql

使用 vi 编辑文件:

vi $ORACLE_HOME/sqlplus/admin/glogin.sql

3.2 常用配置示例

设置提示符显示用户名和数据库
set sqlprompt "&_user@&_connect_identifier> "
SQL*Plus 输出设置

以下是推荐的常用设置:

-- 设置默认编辑器为 vi
define _editor=vi-- 开启 DBMS_OUTPUT 并设置缓冲区大小
set serveroutput on size 1000000-- 去除假脱机输出文本的多余空格
set trimspool on-- 设置显示 LONG 和 CLOB 数据类型的最大字节数
set long 5000-- 设置文本输出宽度为 200 字符
set linesize 200-- 设置每页标题显示频率
set pagesize 9999-- 设置 AUTOTRACE 计划输出宽度
column plan_plus_exp format a80
动态 SQL 提示符

动态显示当前用户和数据库名称:

column global_name new_value gname
set termout off
define gname=idle
select lower(user) || '@' || substr(global_name,1,instr(global_name,'.')-1) as global_name
from global_name;
set sqlprompt '&gname>'
set termout on
完整配置示例
-- 默认编辑器
define _editor=vi
-- DBMS_OUTPUT 默认开启
set serveroutput on size 1000000
-- 文本行设置
set trimspool on
set long 5000
set linesize 200
set pagesize 9999
-- 提示符
column global_name new_value gname
set termout off
define gname=idle
select lower(user) || '@' || substr(global_name,1,instr(global_name,'.')-1) as global_name
from global_name;
set sqlprompt '&gname>'
set termout on

通过以上配置,Oracle 的使用将更加丝滑。设置别名和环境变量能够快速调用常用命令,rlwrap 提升了命令行输入体验,SQL*Plus 配置则增强了输出的可读性和提示信息的直观性。完成这些设置后,无论是日常开发还是维护任务,都将变得更加高效与便捷。

4、SQL plus常用命令整理

命令

功能描述

@脚本名

执行脚本

! 操作系统命令

执行操作系统命令

/

执行上一条 SQL 命令

sqlplus 用户名/密码@IP/服务名

登录数据库,默认不写数据库名连接本地,例:sqlplus scott/tiger@192.168.xx.xx:1521/prod

spool 文件名.log

把显示内容输出到指定文件

spool off

关闭日志输出,否则日志内容不会写入文件

desc 表名

查看表的结构

col 列名 format a60

设置字符列的显示宽度

col 列名 format 9999

设置数字列格式,解决显示 #### 的问题

col 列名 heading 新标题

设置列标题

set heading off

去掉表头信息

set heading on

打开表头信息

set linesize 200

设置行宽,容纳最大字符数

set pagesize 200

设置每页最大显示内容

set timing on/off

显示 SQL 语句执行时间

set time on/off

显示系统时间

show all

显示当前环境变量

show error

显示最近操作的错误信息

show parameter

显示数据库的所有参数

show parameter undo

显示指定的 undo 参数

show rel

显示数据库版本信息

show sga

显示 SGA 大小

show user

显示当前用户名


http://www.ppmy.cn/news/1549148.html

相关文章

PgSQL即时编译JIT | 第1期 | JIT初识

PgSQL即时编译JIT | 第1期 | JIT初识 JIT是Just-In-Time的缩写,也就是说程序在执行的时候生成可以执行的代码,然后执行它。在介绍JIT之前,需要说下两种执行方式:解释执行和编译执行。其中解释执行是通过解释器,将代码逐…

Redis自动配置-序列化

背景说明 突然发现项目里的redis没有关于序列化的配置文件,引入了fastjson但是没有地方指定其为项目的redis序列化工具,由此展开的探索 1. 很久之前学springboot的时候听说过spring-boot-configuration-processor, 但是一直以为只是帮助识别…

EasyExcel在SpringBoot中的简单使用

简介 EasyExcel是一个基于Apache POI的Excel处理工具,它能够以简单的方式读写大型Excel文件,并且性能高效、内存占用低。在SpringBoot中集成EasyExcel可以极大地提高数据处理效率。以下是EasyExcel在SpringBoot中的简单使用教程。 步骤1:添…

【算法】动态规划中01背包问题解析

📢博客主页:https://blog.csdn.net/2301_779549673 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 JohnKi 原创,首发于 CSDN🙉 📢未来很长&#…

django基于Django的二手电子设备交易平台设计与开发

摘 要 科学技术日新月异,人们的生活都发生了翻天覆地的变化,二手电子设备交易平台管理当然也不例外。过去的信息管理都使用传统的方式实行,既花费了时间,又浪费了精力。在信息如此发达的今天,我们可以通过网络这个媒介…

使用Python3实现Gitee码云自动化发布

仓库信息 https://gitee.com/liumou_site/ip 实现代码 import osimport requests from loguru import loggerdef gitee(ver, message, prerelease: bool False):"""在 Gitee 上创建发布版本:param ver: 版本号:param message: 发布信息:param prerelease: 是…

Windws MySQL 8.4 LTS的安装(保姆级教程)

Windws MySQL 8.4 LTS的安装(保姆级教程) 一、Mysql版本二、Mysql下载三、Mysql安装3.1 Mysql安装3.2 Mysql配置 四、Mysql环境变量配置五、验证Mysql 一、Mysql版本 美国时间 2024 年 4 月 30 日,Oracle正式发布了MySQL数据库8.0.37版本的更…

使用 LSTM(长短期记忆网络) 模型对时间序列数据(航空旅客人数数据集)进行预测

代码功能 数据准备 加载数据:从公开的航空旅客人数数据集(Airline Passengers Dataset)中读取时间序列数据。 对数变换和平稳化:对数据应用 log1p 函数减少趋势和波动,使模型更容易学习规律。 归一化处理:…