如果是客户生产环境,不允许修改任何环境类的配置,那发现sqlplus默认不是我们熟悉的vi,可以在SQL>下临时指定,方便操作;

SQL> define_editor=vi
SQL> ed file_name

如果是自己运维的环境,可以修改配置,建议修改glogin.sql,添加指定vi为默认编辑器:

cd $ORACLE_HOME/sqlplus/admin/
vi glogin.sql 加入配置: define_editor=vi

以一个最简单的例子说明其便利性,比如我们要修改所有ASM磁盘组的compatible.rdbms属性,肯定要反复用到如下SQL:

--查询ASM磁盘组的相关信息:
select NAME , TOTAL_MB, FREE_MB , COMPATIBILITY, DATABASE_COMPATIBILITY from v$asm_diskgroup; --修改ASM磁盘组的DATABASE_COMPATIBILITY属性
ALTER DISKGROUP &dgname SET ATTRIBUTE 'compatible.rdbms' = '11.2';

那么,如果我们设置了熟悉的vi为默认sqlplus的编辑器,就可以方便编辑:

--ed 文件名,就相当于是vi操作这个文件
ed asm
ed alterdg --保存到文件,如果文件存在就覆盖
save asm rep
save alterdg rep --获取到某个文件的内容
get asm
get alterdg

比如当我们ed编辑好后sql内容后,就可以这样反复调用:

SQL>
SQL> get alterdg
1* ALTER DISKGROUP &dgname SET ATTRIBUTE 'compatible.rdbms' = '11.2'
SQL> get asm
1 set lines 180
2 col name for a30
3 col COMPATIBILITY for a30
4 col DATABASE_COMPATIBILITY for a30
5* select NAME , TOTAL_MB, FREE_MB , COMPATIBILITY, DATABASE_COMPATIBILITY from v$asm_diskgroup
SQL> @asm NAME TOTAL_MB FREE_MB COMPATIBILITY DATABASE_COMPATIBILITY
------------------------------ ---------- ---------- ------------------------------ ------------------------------
CRS 3060 2088 19.0.0.0.0 10.1.0.0.0
DATA 24568 7104 19.0.0.0.0 10.1.0.0.0
FRA 12284 12152 19.0.0.0.0 10.1.0.0.0 SQL> @alterdg
Enter value for dgname: <输入要修改的磁盘组名称> SQL> @alterdg
Enter value for dgname: <输入要修改的磁盘组名称> SQL> @alterdg
Enter value for dgname: <输入要修改的磁盘组名称> SQL> @asm NAME TOTAL_MB FREE_MB COMPATIBILITY DATABASE_COMPATIBILITY
------------------------------ ---------- ---------- ------------------------------ ------------------------------
CRS 3060 2088 19.0.0.0.0 11.2.0.0.0
DATA 24568 7104 19.0.0.0.0 11.2.0.0.0
FRA 12284 12152 19.0.0.0.0 11.2.0.0.0

可以看到,这样就可以方便反复调用@asm验证修改结果,调用@alterdg修改要修改的磁盘组名称,避免重复输入的同时,还有效减少了误操作,大幅提升DBA在sqlplus下的工作效率。如果你日常经常使用sqlplus进行SQL调优等工作,将会在反复查看执行计划和分析ASH等数据中更深刻的感受到这个设置带来的便利。

小知识:设置sqlplus默认vi编辑器的好处的更多相关文章

  1. ubuntu14.04设置sublime text3为默认文本编辑器

    更新时间2017年07月20日17:35:04 原来的方法貌似并不试用,现在才发现,其实ubuntu下也和Windows下一样... 右键,属性,然后如图所示 set as default 即可. 之 ...

  2. VI编辑器、ipython、jupyter及进程

    VI编辑器.ipython.jupyter及进程知识总结 https://www.cnblogs.com/thoughtful-actors/p/9650959.html VI编辑器.ipython. ...

  3. VI编辑器、ipython、jupyter及进程知识总结

    一.VI编辑器 1.三种模式 一般模式(normal mode 默认) 插入模式(insert mode) 末行模式(last line mode) 2.模式切换 一般模式-------------- ...

  4. Ubuntu下将Sublime Text设置为默认编辑器

    转自将Sublime Text 2设置为默认编辑器 修改defaults.list 编辑/etc/gnome/default.list文件,将其中的所有gedit.desktop替换为sublime_ ...

  5. 设置Centos7中vim与vi编辑器显示行号

    设置Centos7中vim与vi编辑器的行号 步骤一: 输入命令设置: 1.vim ~/.vimrc 或者:(vi ~/.vimrc) 步骤二: 输入命令保存: 1.在其中输入 "set n ...

  6. HTML+CSS中的一些小知识

    今天分享一些HTML.CSS的小知识,希望能够对大家有所帮助! 1.解决网页乱码的问题:最重要的是要保证各个环节的字符编码一致! (1)编辑器的编辑环境的字符集(默认字符集):Crtl+U 常见的编码 ...

  7. VI编辑器学习笔记

    VIM的使用 VI是Linux系统中的一种编辑器,它的使用方法和界面与Unix平台十分相似,掌握了VIM的特殊,你可以感觉到它强大的功能与高效.Vim 相对来说较小,无论你使用任何Linux系统,你总 ...

  8. 二:Linux 的基本命令、VI编辑器、Linux中软件安装

    Linux 的基本命令 1. 文件操作 a) Windows 是多根的文件系统,物理上是 1 到多块硬盘,逻辑上分为 C.D.E--盘, 每个盘都是一棵树.Linux 是单根的文件系统,不分 CDE ...

  9. Vi编辑器修改文件.bash_profile可解决backspace出现乱码问题,rlwrap 的安装。

    Vi编辑器修改文件.bash_profile可解决backspace出现乱码问题 使用SecureCRT或是pietty_ch连接到一台安装有Oracle DB 10g的RHEL4.2的机器,linu ...

随机推荐

  1. NodeJS4-4静态资源服务器实战_优化引入模板引擎

    引入模板引擎(handlebars) cnpm i handlebars 结构大概是这样子的,新建模板dir.tpl文件和route.js dir.tpl <!DOCTYPE html> ...

  2. DataTable和DataReader的遍历

    1.DataTable的遍历 //创建数据表 DataTable dt = GetDataTable("select * from Student"); //存储数据 String ...

  3. GHOST CMS - Ghost Handlebars主题 Ghost Handlebars Themes

    Ghost Handlebars主题 Ghost Handlebars Themes Ghost主题层被设计为让开发人员和设计人员能够灵活地构建由Ghost平台支持的自定义发布 The Ghost t ...

  4. CentOS7 安装 Redis 并设置开机启动

    1.下载 https://redis.io/download cd /usr/local/src wget -c http://download.redis.io/releases/redis-3.2 ...

  5. git常用操作合集

    基本操作git status 查看文件处于什么状态 git status -s 带上-s参数,可以以更紧凑的格式输出文件状态信息 git add 开始追踪该文件或者暂存已修改的文件. .gitigno ...

  6. 从零开始学.net core(一)

    https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/first-web-api?view=aspnetcore-3.0

  7. Spring-web-security Issue (Access is denied. User must have one of the these roles: ACTUATOR)

    前提条件(Prerequisite) 1.你的项目里引进了Spring web security <dependency> <groupId>org.springframewo ...

  8. IOC、DI、DIP

    OCP: 开闭原则  对修改关闭  对扩展开放 1.面向对象主要做俩件事:实例化对象和调用方法(完成业务逻辑) 2.单纯interface可以统一方法的调用,但是不能统一对象的实例化 3.只有一段代码 ...

  9. JQuery之Ajax基础

    众所周知JQuery中的Ajax主要用于数据传输,其数据传输格式为JSON格式数据,比XML格式数据传输更快. ajax 是 Asynchronous JavaScript and XML的简写,aj ...

  10. Consul初探-服务注册和发现

    前言 经过上一篇的学习,现在已经来到了服务注册发现环节:Consul 的核心功能就是服务注册和发现,Consul 客户端通过将自己注册到 Consul 服务器集群,然后等待调用方去发现服务,实现代理转 ...