如果是客户生产环境,不允许修改任何环境类的配置,那发现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. BBS项目文件

    bbs项目文件 # 创建好文件后 git init git remote add origin git@gitee.com:lddragon/bbs3.git git remote git pull ...

  2. flutter学习之环境配置

    1.Android SDK通常目录: 用户->用户名->AppData->Local=>Android->Sdk 2.不知道的情况下,打开Android Studio,然 ...

  3. Kubernetes 集群升级docker版本

    Kubernetes 集群升级docker版本   原则:升级完一台正常后再接着升下一台. Work Node 一.迁移上的pod(保证业务,但期间会出现抖动) kubectl drain $NODE ...

  4. 学生选课系统v1.0

    最近两天写了下老师课上留的作业:学生选课系统.感觉自己写的特别麻烦,思路特别不清晰,平常自己总会偷懒,一些太麻烦细节的功能就不去实现了,用简单的功能来替代,直到自己这回写完这个系统(但自己写的比较lo ...

  5. Android utils 工具类之MD5加密 MD5Utils

    实际开发过程中,密码不会保存明文形式,容易被别人窃取. MD5加密是不可逆的加密算法,只能由明文转换成密文. 但是有些人通过将明文对应的密文保存在数据库中,进行查询破解密文.为防止这种解密,根据许多对 ...

  6. QT--TCP网络编程(客户端/服务器)

    QT -----TCP网络编程   1.主要流程 1.客户端 创建QTcpSocket对象 连接到服务器 --connectToHost() 发送数据 ---write() 读取数据 ---readA ...

  7. docker拉取慢(net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting head)

    systemctl restart docker在docker-hub拉取慢,因为服务器在外网 直接配置阿里云镜像就可以 首先: vim /etc/docker/daemon.json加入下面的那句 ...

  8. Python活力练习Day1

    Day1:输入年月日,判断这一天是这一年的第几天   eg:    input : 2019-02-01     output : 32 data = list(input('please input ...

  9. IT兄弟连 HTML5教程 CSS3属性特效 定义省略文本的处理方式

    text-overflow属性仅是注解,当文本溢出时是否显示省略标记,并不具备其它的样式属性定义.我们想要实现溢出时产生省略号的效果.还必须定义:强制文本在一行内显示(white-space:nowr ...

  10. Android 获取当前IP地址

    首先设置用户权限 <uses-permission android:name="android.permission.INTERNET"></uses-permi ...