小知識:設置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

相關文章
相關標籤/搜索