How to get History SQL*Plus Command Oracle using rlwrap

โดยปกติการใช้งาน SQL*Plus ซึ่งเป็น Command Line ของ Oracle ถ้าใช้บน Windows จะสามารถดูคำสั่งที่เราพิมพ์ไปก่อนหน้าได้ แต่บน Linux จะไม่สามารถทำได้ ทำให้เวลาเราพิมพ์ผิดต้องพิมพ์ใหม่ทั้งหมด ซึ่งโดยปกติถ้าเป็นคำสั่งยาว ๆ เราก็จะพิมพ์ใส Text Editor แล้ว Copy วาง แต่ถ้าเป็นการพิมพ์คำสั่งสั้น ๆ ที่เรามักใช้กันบ่อย ๆ อาจจะพิมพ์ตกหล่นไปบ้าง ก็จะทำให้หงุดหงิดไม่ใช่น้อย เราจึงจะมาใช้ rlwrap เพื่อแก้ปัญหานี้กัน


Get Started

  • ติดตั้ง RPM โดยเลือกติดตั้งตาม Version ของ Oracle Linux
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
  • ติดตั้ง Package
# yum install rlwrap
  • แก้ไขไฟล์ .bash_profile เพื่อสร้าง Alias ไว้เรียกใช้งาน
# vi .bash_profile
alias rlsqlplus='rlwrap sqlplus'
alias rlrman='rlwrap rman'
alias rlggsci='rlwrap ./ggsci'
  • ทำการ Reload ไฟล์ .bash_profile
# source ~/.bash_profile
  • ลองเข้า SQL*Plus ด้วย Alias ที่สร้าง
# rlsqlplus / as sysdba
  •  หากต้องการค้นหา History สามารถใช้ CRTL + R
SQL> show sga

Total System Global Area  722366464 bytes
Fixed Size                  2216864 bytes
Variable Size             545262688 bytes
Database Buffers          167772160 bytes
Redo Buffers                7114752 bytes
(reverse-i-search)`show': show sga

อ่านเพิ่มเติม : https://bit.ly/2mlJVpV, https://bit.ly/2Lmf2MR


Leave a Reply

Your email address will not be published. Required fields are marked *