小知识:设置sqlplus默认vi编辑器的好处

若是是客户生产环境,不容许修改任何环境类的配置,那发现sqlplus默认不是咱们熟悉的vi,能够在SQL>下临时指定,方便操做;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的编辑器,就能够方便编辑:code

--ed 文件名,就至关因而vi操做这个文件
ed asm
ed alterdg

--保存到文件,若是文件存在就覆盖
save asm rep
save alterdg rep

--获取到某个文件的内容
get asm
get alterdg

好比当咱们ed编辑好后sql内容后,就能够这样反复调用:get

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等数据中更深入的感觉到这个设置带来的便利。it

相关文章
相关标签/搜索