精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

教你玩轉 SQLPLUS,工作效率提升 200%

數據庫 其他數據庫
經常使用 Oracle 數據庫的朋友,應該對 sqlplus 這個命令行工具不會陌生。基本上每天工作都離不開它,我寫這篇就是為了介紹如何優化 sqlplus 命令行嘛!且聽我慢慢道來哉~

[[439756]]

前言

經常使用 Oracle 數據庫的朋友,應該對 sqlplus 這個命令行工具不會陌生。基本上每天工作都離不開它,但是這個工具有些不太好用:

  • Linux 系統下 sqlplus 無法上下文切換查看編輯歷史命令,敲錯命令需要按住 CTRL 鍵才能刪除
  • SQL 查詢,輸出結果格式錯亂,每次都需要手動 SET 和 COL 調整列寬
  • 當前會話不顯示實例名和登錄用戶,容易誤操作用戶,用戶信息顯示不夠明顯

 注意: 以上均為 sqlplus 默認配置下存在的問題。

那么問題來了,這些都可以解決嗎?

 當然,我寫這篇就是為了介紹如何優化 sqlplus 命令行嘛!且聽我慢慢道來哉~

演示配置

首先介紹下,主要分兩個部分:

  • 上下文切換:rlwrap + readline
  • 美化輸出格式:glogin.sql

一、上下文切換

相信大家在 Linux 主機使用 sqlplus 命令行工具時,經常會遇到命令輸錯不好回退,或者剛輸入的命令想再次執行,無法通過鍵盤上下翻看的情況。

上面的情況曾經也一直困惑著我,后來經過研究,我發現了解決方案!這就來分享給大家,希望也能幫助到你。

通過 rlwrap + readline 配合使用,可以完美解決這個問題,接下來,我就來演示一下如何配置使用。

1、Linux 主機配置 yum 源

由于需要使用 yum 安裝 readline ,下面配置一下:

  1. ##查看系統版本 
  2. cat /etc/system-release 
  3. ##上傳對應主機版本iso文件 
  4. scp rhel-server-7.9-x86_64-dvd.iso root@10.211.55.110:/soft 

  1. ##掛載系統iso鏡像源 
  2. mount -o loop /soft/rhel-server-7.9-x86_64-dvd.iso /mnt 
  3. ##配置yum鏡像源 
  4. mv /etc/yum.repos.d/* /tmp/ 
  5. echo "[local]" >> /etc/yum.repos.d/local.repo 
  6. echo "name = local" >> /etc/yum.repos.d/local.repo 
  7. echo "baseurl = file:///mnt/" >> /etc/yum.repos.d/local.repo 
  8. echo "enabled = 1" >> /etc/yum.repos.d/local.repo 
  9. echo "gpgcheck = 0" >> /etc/yum.repos.d/local.repo 

通過以上步驟,我們已經成功掛載系統鏡像,可以開始安裝 redline。

2、安裝 readline 依賴包

  1. yum install -y readline* 

如果沒有系統 ISO 鏡像源,也可以直接在網上直接下載 readline 安裝包進行安裝:

  1. wget -c ftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz 

上傳安裝包:

  1. scp readline-6.2.tar.gz root@10.211.55.110:/soft 

解壓安裝:

  1. tar -zxvf readline-6.2.tar.gz 
  2. cd readline-6.2 
  3. ./configure && make && make install 

3、rlwrap 安裝

  1. tar -xvf rlwrap-0.42.tar.gz 
  2.  cd rlwrap-0.42 
  3. ./configure && make && make install 

下載地址:https://github.com/hanslub42/rlwrap/releases/tag/v0.45.2

📢 注意: 由于我使用的 macOS 的終端連接可以切換回退,所以無法演示,以下使用 XShell 來進行演示。

未使用 rlwrap 時,無法回退和切換上下文:

使用 rlwrap 時,可任意切換回退:

通過上述演示,已經可以輕松做到命令輸錯無需按住 CTRL 鍵回退和上下文歷史命令切換,可以大大提升工作效率。

4、配置環境變量

為避免每次都需要輸入 rlwrap 來調用命令,我們通過 alias 別名來配置環境變量實現。

  1. ##配置oracle用戶環境變量 
  2. cat <<EOF>>/home/oracle/.bash_profile 
  3. alias sqlplus='rlwrap sqlplus' 
  4. alias rman='rlwrap rman' 
  5. alias lsnrctl='rlwrap lsnrctl' 
  6. alias asmcmd='rlwrap asmcmd' 
  7. alias adrci='rlwrap adrci' 
  8. alias ggsci='rlwrap ggsci' 
  9. alias dgmgrl='rlwrap dgmgrl' 
  10. EOF 
  11.  
  12. ##環境變量生效 
  13. exit 
  14. su - oracle 

至此,rlwrap 工具就配置完成啦!

二、美化輸出格式 glogin.sql

sqlplus 在啟動時會自動運行腳本:glogin.sql 。

  • glogin.sql 存放在目錄 $ORACLE_HOME/sqlplus/admin/ 下
  • 每當用戶啟動 sqlplus 會話并成功建立 Oracle 數據庫連接時,sqlplus 就會執行此腳本
  • 該腳本可以寫入在 sqlplus 腳本中的任何內容,例如系統變量設置或 DBA 想要實現的其他全局設置

1、未做配置時,默認如下:

此時,我登錄SQL*PLUS并執行sql查詢,看一下輸出結果格式。

未配置 glogin.sql 時,查詢結果輸出:

可以看到,查詢結果格式很亂,而且連進去之后也看不到當前實例名和用戶名。

2、配置 glogin.sql

  1. cat <<EOF>>$ORACLE_HOME/sqlplus/admin/glogin.sql 
  2. --設置編輯器用vi打開,windows客戶端可以換成NotePad 
  3. define _editor=vi 
  4. --設置dbms_output輸出緩沖區大小 
  5. set serveroutput on size 1000000 
  6. --設置輸出格式 
  7. set long 200 
  8. set linesize 500 
  9. set pagesize 9999 
  10. --去除重定向輸出每行拖尾空格 
  11. set trimspool on 
  12. --設置name列長 
  13. col Name format a80 
  14. --查詢當前實例名 
  15. set termout off 
  16. col global_name new_value gname 
  17. define gname=idle 
  18. column global_name new_value gname 
  19. select lower(user) || '@' || substr( global_name, 1, decode( dot, 0, 
  20. length(global_name), dot-1) ) global_name 
  21.   from (select global_name, instr(global_name,'.') dot from global_name ); 
  22. set sqlprompt '&gname _DATE> ' 
  23. --設置session時間格式 
  24. ALTER SESSION SET nls_date_format = 'HH24:MI:SS'
  25. set termout on 
  26. EOF 

配置完 glogin.sql 后,查詢結果輸出:

通過以上配置,sqlplus 連接后,明顯輸出格式更加好看,顯示更加人性化。

具體配置可根據個人常用進行配置,比如可以將查詢表空間使用率配置進去,每次打開都可以看到表空間使用率,防止數據文件撐爆。

  1. --查詢表空間使用率 
  2. col TABLESPACE_NAME for a20 
  3. select tbs_used_info.tablespace_name, 
  4.        tbs_used_info.alloc_mb, 
  5.        tbs_used_info.used_mb, 
  6.        tbs_used_info.max_mb, 
  7.        tbs_used_info.free_of_max_mb, 
  8.        tbs_used_info.used_of_max || '%' used_of_max_pct 
  9.   from (select a.tablespace_name, 
  10.                round(a.bytes_alloc / 1024 / 1024) alloc_mb, 
  11.                round((a.bytes_alloc - nvl(b.bytes_free, 
  12.                                           0)) / 1024 / 1024) used_mb, 
  13.                round((a.bytes_alloc - nvl(b.bytes_free, 
  14.                                           0)) * 100 / a.maxbytes) used_of_max, 
  15.                round((a.maxbytes - a.bytes_alloc + nvl(b.bytes_free, 
  16.                                                        0)) / 1048576) free_of_max_mb, 
  17.                round(a.maxbytes / 1048576) max_mb 
  18.           from (select f.tablespace_name, 
  19.                        sum(f.bytes) bytes_alloc, 
  20.                        sum(decode(f.autoextensible, 
  21.                                   'YES'
  22.                                   f.maxbytes, 
  23.                                   'NO'
  24.                                   f.bytes)) maxbytes 
  25.                   from dba_data_files f 
  26.                  group by tablespace_name) a, 
  27.                (select f.tablespace_name, 
  28.                        sum(f.bytes) bytes_free 
  29.                   from dba_free_space f 
  30.                  group by tablespace_name) b 
  31.          where a.tablespace_name = b.tablespace_name(+)) tbs_used_info 
  32.  order by tbs_used_info.used_of_max desc
  33.  
  34. --查詢備份 
  35. col status for a10 
  36. col input_type for a20 
  37. col INPUT_BYTES_DISPLAY for a10 
  38. col OUTPUT_BYTES_DISPLAY for a10  
  39. col TIME_TAKEN_DISPLAY for a10 
  40.  
  41. select input_type, 
  42.        status, 
  43.        to_char(start_time, 
  44.                'yyyy-mm-dd hh24:mi:ss'), 
  45.        to_char(end_time, 
  46.                'yyyy-mm-dd hh24:mi:ss'), 
  47.        input_bytes_display, 
  48.        output_bytes_display, 
  49.        time_taken_display, 
  50.        COMPRESSION_RATIO 
  51.   from v$rman_backup_job_details 
  52.  where start_time > date '2021-07-01' 
  53.  order by 3 desc

至此,glogin.sql 已經配置完成,歡迎食用👏🏻。

寫在最后

glogin.sql 需要謹慎配置,沒有理解的命令盡量不要寫入!

大名鼎鼎的比特幣勒索病毒,有一種方式就是通過 glogin.sql 來進行注入。

參考官方文檔:

Configuring SQL*Plus:https://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_two.htm#SQPUG012

 

責任編輯:姜華 來源: Lucifer三思而后行
相關推薦

2023-08-01 08:01:27

工具安全漏洞

2024-11-19 15:28:15

2022-04-29 08:15:40

Python技巧Max

2017-03-07 14:26:19

Eclipse技巧效率

2024-09-26 06:21:59

Python代碼

2011-09-15 17:49:32

Windows7效率

2025-01-21 08:01:26

2013-03-15 09:59:42

遠程開發云工具Flowdock

2020-09-26 07:25:06

前端

2024-09-30 11:36:15

2020-05-29 11:27:27

VS Code遠程工具

2012-05-21 16:50:52

愛普生掃描儀

2023-04-26 18:09:32

人工智能AI

2025-03-31 02:22:00

2023-05-16 06:50:50

prompt郵件語法

2022-10-28 11:43:59

戴爾

2021-04-16 15:11:50

工具軟件網站

2020-11-19 07:47:55

IDEA插件

2021-03-08 08:02:40

IDEA插件JSON

2025-02-24 08:24:39

點贊
收藏

51CTO技術棧公眾號

精品自拍偷拍视频| 日本新janpanese乱熟| 亚洲精品国产精| 午夜国产精品视频| 日韩国产高清污视频在线观看| 欧美亚洲日本在线观看| 国产原创视频在线观看| 91丨九色丨黑人外教| 91精品啪aⅴ在线观看国产| 欧美亚韩一区二区三区| 色乱码一区二区三区网站| 欧美精品一区二区三区蜜桃| 婷婷六月天在线| 99在线视频影院| 中文字幕欧美一| 免费久久99精品国产自| www视频在线| 麻豆精品国产91久久久久久| 7777精品视频| 51精品免费网站| 欧美日韩激情在线一区二区三区| 精品国产乱码91久久久久久网站| 日本中文字幕影院| 欧美自拍电影| 亚洲国产成人av网| 99亚洲精品视频| 在线毛片网站| 国产欧美久久久精品影院| 精品一区二区三区视频日产| 精品国产va久久久久久久| 日韩一级在线| 欧美国产亚洲视频| 欧美国产日韩在线观看成人| 97视频精品| 在线色欧美三级视频| 黄色片视频免费观看| 日韩视频在线直播| 欧美一级专区免费大片| 中文字幕中文在线| 国产精品久久乐| 欧美影视一区在线| 日韩有码免费视频| 999福利在线视频| 一区二区三区小说| 异国色恋浪漫潭| 成av人电影在线观看| 久久久久久久久久电影| 欧美激情一区二区三区在线视频 | 日韩少妇视频| 亚洲精选视频免费看| 青春草在线视频免费观看| 日本中文字幕在线视频| 中文字幕亚洲在| 亚洲最新免费视频| 男人天堂久久久| 亚洲人成网站在线| 一区不卡字幕| 国产在线激情| 樱桃视频在线观看一区| 欧美一区亚洲二区| 六月丁香色婷婷| 成人在线视频一区| 国产一区不卡在线观看| 日韩欧美亚洲系列| 国产欧美一区二区在线观看| 国产女人18毛片水真多成人如厕| 国产成人在线亚洲欧美| 9i精品福利一区二区三区| 国产精品亚洲综合色区韩国| 专区另类欧美日韩| 日韩av大全| 91精品专区| 亚洲乱码中文字幕综合| 国产日韩av网站| 性欧美hd调教| 91麻豆精品国产91久久久久 | 日韩欧美三级视频| 亚洲综合二区| 国产精品爽黄69天堂a| 一级爱爱免费视频| 国产精品888| 国产一区二区视频在线免费观看| 天堂av在线资源| 国产精品久久久久久久久果冻传媒| 亚洲国产精品影视| av影视在线| 精品国产91乱高清在线观看| 青青草视频在线视频| 欧美aa免费在线| 欧美色倩网站大全免费| 韩国三级在线看| 欧美禁忌电影网| 九九热精品视频国产| 亚洲精品午夜国产va久久成人| 日韩一区欧美二区| 91丨九色丨国产在线| 午夜黄色小视频| 成人免费在线观看入口| 国产视频一视频二| 亚洲a成人v| 亚洲欧美精品suv| 51精品免费网站| 美女网站久久| 国产精品免费在线播放| 成人p站proumb入口| 亚洲第一福利一区| 青青草久久伊人| 亚洲三级精品| 欧美激情一二区| 中文字幕 自拍偷拍| 不卡免费追剧大全电视剧网站| 亚洲狠狠婷婷综合久久久| eeuss鲁一区二区三区| 欧美色综合天天久久综合精品| 国产婷婷在线观看| 亚洲乱码免费伦视频| 国产成人精品一区二区在线| 亚洲免费成人网| 中文字幕一区三区| 国产精品人人妻人人爽人人牛| 天堂久久av| 北条麻妃一区二区三区中文字幕| 中文人妻av久久人妻18| yourporn久久国产精品| 国产成人亚洲综合无码| 欧美特黄色片| 中国日韩欧美久久久久久久久| 日本三级小视频| 成人精品亚洲人成在线| 日本久久高清视频| 9999精品| 久久视频在线看| 夜夜躁狠狠躁日日躁av| 国产天堂亚洲国产碰碰| 男人操女人免费软件| 红杏视频成人| 午夜精品蜜臀一区二区三区免费| 国产成人精品毛片| 亚洲人成影院在线观看| 国产福利精品一区二区三区| 日韩欧美精品一区| 国产精品普通话| 国产精品久久一区二区三区不卡| 色综合天天综合网国产成人综合天 | 日本一区免费在线观看| 美女写真久久影院| 夜夜嗨av色一区二区不卡| 高潮毛片又色又爽免费| 久久久久久久综合| www.超碰com| 欧美理论视频| 国产精品亚洲аv天堂网| 午夜在线视频| 91麻豆精品国产无毒不卡在线观看 | av综合网址| 国产69精品久久久| 亚洲区小说区图片区| 日韩欧美a级成人黄色| 无码人妻精品一区二区三应用大全| 亚洲专区欧美专区| 日产中文字幕在线精品一区| 国产精品xxx| 久热99视频在线观看| 亚洲AV无码成人片在线观看| 亚洲国产精品一区二区www | 国产一区二区三区探花| 国产精品夫妻激情| 欧美成人性生活视频| 日韩亚洲欧美成人一区| 国产真实的和子乱拍在线观看| 99精品热视频| 91精品无人成人www| 亚洲国产精品久久久天堂 | 亚洲精品中文字幕成人片| 亚洲国产另类精品专区| 女女互磨互喷水高潮les呻吟| 美女视频黄久久| 丁香色欲久久久久久综合网| 天堂99x99es久久精品免费| 国产精品极品美女在线观看免费 | 亚洲香蕉av| 国产伦精品一区二区| 成人黄色免费短视频| 久久成人精品视频| 四虎精品成人影院观看地址| 欧美日韩一级视频| 日本黄色片视频| 国产精品人妖ts系列视频| 蜜桃色一区二区三区| 亚洲尤物影院| 久久国产精品免费观看| 自拍欧美一区| 97视频资源在线观看| 日本精品裸体写真集在线观看| 久久成年人视频| 国产黄色片在线播放| 日韩欧美国产一二三区| 日本熟妇一区二区三区| 亚洲自拍偷拍图区| 精品成人无码一区二区三区| 国产寡妇亲子伦一区二区| 波多野结衣家庭教师视频| 亚洲精品网址| 日本一区二区三区四区高清视频| 亚洲视频精选| 国产美女精品视频| 校园春色亚洲色图| 97视频在线观看亚洲| a免费在线观看| 中文字幕欧美日韩| 日本护士...精品国| 欧美成人国产一区二区| 一级片在线观看视频| 色综合久久99| 亚洲欧美在线视频免费| 亚洲精品免费播放| 娇小11一12╳yⅹ╳毛片| 久久亚洲一区二区三区四区| 一二三区视频在线观看| 紧缚奴在线一区二区三区| 国产三级日本三级在线播放| 亚洲精品九九| 免费一级淫片aaa片毛片a级| 天天av综合| 亚洲精品影院| 日韩精品永久网址| 日韩欧美亚洲区| 先锋影音国产精品| 久久riav二区三区| 久9re热视频这里只有精品| 波多野结衣成人在线| 精品一区二区三区亚洲| 成人免费福利视频| 亚洲精品三区| 成人免费福利在线| 精品国产三级| 91久久国产综合久久蜜月精品| 日本a人精品| 91精品久久久久久久久中文字幕| 农村妇女一区二区| 日韩欧美国产系列| 国产精品尤物视频| 色一情一乱一乱一91av| wwwwww国产| 日韩欧美中文字幕在线观看| 看片网址国产福利av中文字幕| 亚洲第一主播视频| 欧美bbbbbbbbbbbb精品| 欧美日韩亚洲一区二| 高清乱码免费看污| 欧美亚洲一区二区在线| 中文字幕视频在线播放| 欧美人牲a欧美精品| 国产精品久久久久久久久久久久久久久久久久| 欧美午夜视频网站| 97精品人妻一区二区三区在线 | 久久99精品久久久久久园产越南| 久久伊人资源站| 精品美女视频| 亚洲人成77777| 欧美69wwwcom| 蜜臀av无码一区二区三区| 国产欧美激情| 国产天堂在线播放| 久久99国产精品免费| 国产精品19p| xfplay精品久久| 欧美日韩国产黄色| 亚洲另类一区二区| 91精品国产高潮对白| 色久综合一二码| 在线观看毛片av| 日韩精品中午字幕| 亚洲av激情无码专区在线播放| 日韩av在线资源| 超碰在线国产| 欧美黑人巨大精品一区二区| 日韩深夜视频| 91免费视频网站| 农村少妇一区二区三区四区五区| 日韩福利一区二区三区| 亚洲91中文字幕无线码三区| 日韩av在线播放不卡| 日日摸夜夜添夜夜添精品视频 | 哺乳挤奶一区二区三区免费看| 精品视频第一区| 色婷婷亚洲mv天堂mv在影片| 天堂8在线天堂资源bt| 久久精品中文| 日韩精品国产一区| 国产亚洲va综合人人澡精品| 欧美日韩中文字幕在线观看 | 国产v片在线观看| 亚洲精品视频在线观看视频| 国产原创精品视频| 日韩av色综合| 99国产精品免费网站| 色视频一区二区三区| 在线日韩中文| 污污视频在线免费| 国产人成亚洲第一网站在线播放 | 国产在线精品日韩| 久久久久久影院| 中文字幕在线观看第三页| 成人黄页在线观看| 国产午夜精品理论片| 欧洲人成人精品| 午夜18视频在线观看| 久久夜精品va视频免费观看| 亚洲不卡系列| 精品国产乱码久久久久久久软件 | 午夜免费日韩视频| 亚洲一区二区av| 日韩免费三级| 国产美女精品| www.17c.com喷水少妇| 亚洲免费在线视频| 国产又粗又大又爽视频| 中文欧美日本在线资源| 黑人巨大精品| 九九99玖玖| 韩国亚洲精品| 丰满少妇中文字幕| 亚洲欧美色图小说| 91成品人影院| 中文字幕亚洲天堂| 美女写真久久影院| 日韩久久在线| 日韩va亚洲va欧美va久久| 色噜噜日韩精品欧美一区二区| 婷婷成人激情在线网| 少妇高潮一区二区三区99小说| 久久91亚洲人成电影网站| 精品成人18| 日本黄色片一级片| 成人免费毛片app| 国产亚洲欧美精品久久久久久| 日韩一区二区免费在线电影| 黄色动漫在线| 91欧美精品成人综合在线观看| 91精品国偷自产在线电影| 亚洲午夜精品一区| 中文字幕一区二区视频| 国产毛片在线视频| 久久夜色精品国产欧美乱| 亚洲视频精选| 狠狠干 狠狠操| 2020国产精品| 伊人久久中文字幕| 日韩在线视频中文字幕| 91精品亚洲一区在线观看| 成人手机视频在线| 国产传媒一区在线| 国产午夜福利一区二区| 日韩电影中文字幕在线| 日韩高清中文字幕一区二区| 亚洲.欧美.日本.国产综合在线| 蜜桃一区二区三区四区| 欧美一级片在线视频| 精品久久久久久久久久久久包黑料 | 日本一区二区三区视频| 中文字幕一区二区在线观看视频| 悠悠色在线精品| 深夜福利在线视频| 国产精品免费一区| 亚洲国产精品日韩专区av有中文| 少妇精品无码一区二区| 欧美日韩在线看| av在线免费播放网站| 91精品网站| 午夜在线一区| 色噜噜噜噜噜噜| 精品久久久久久久一区二区蜜臀| 伊人久久av| 天天干天天操天天干天天操| 成人性生交大片| 国内av在线播放| 欧美日韩国产91| 亚洲v天堂v手机在线| 午夜一区二区视频| 亚洲18色成人| 98在线视频| 国产精品污www一区二区三区| 日日摸夜夜添夜夜添国产精品| 久久r这里只有精品| 亚洲欧美激情另类校园| 国产精品亚洲综合在线观看| 日日橹狠狠爱欧美超碰| 亚洲欧洲性图库| 青青色在线视频| 91超碰在线免费观看| 视频在线观看国产精品| 国产精品白嫩白嫩大学美女| 亚洲欧美三级伦理| 亚洲精品在线a| 亚洲欧美视频二区| 婷婷激情综合网| 日韩伦理电影网站| 亚洲精品美女久久7777777| av在线播放一区二区三区|