zoukankan      html  css  js  c++  java
  • 小知识:设置sqlplus默认vi编辑器的好处

    如果是客户生产环境,不允许修改任何环境类的配置,那发现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等数据中更深刻的感受到这个设置带来的便利。

  • 相关阅读:
    在Android studio中,测试输出数组中最大子数组的和
    我所理解的软件开发模式
    java实现随机输出300题四则运算
    Demo(3月28日)
    关于构建之法中小飞问题的个人看法
    对搭档代码的一些意见
    项目复审
    安卓UI测试(基于android studio环境 espresso框架)
    读构建之法后的一些个人感受
    思考题
  • 原文地址:https://www.cnblogs.com/jyzhao/p/11836633.html
Copyright © 2011-2022 走看看