SQL*Plus Command Line History

เนื่องจากตอนเรียนติดตั้ง oracle 12c เจอความหงุดหงิดอันหนึ่งของ sqlplus คือมันไม่สามารถ เรียกคำสั่งเก่าทีเคยพิมพ์ไปแล้วขึ้นมาได้ จากการเลยมาค้นๆวิธีการจาก internet
แล้วลองทำดูได้ผลเป็นที่น่าพอใจครับเลยสรุปวิธีการดังนี้ (ขั้นตอนทั้งหมด ทำโดย user root นะครับ แล้วต่อ internet เพื่อ download software)

1. download software ที่ชื่อ rlwrap จากเว็บนี้ http://utopia.knoware.nl/~hlub/uck/rlwrap/


2. ทำการแตกไฟล์

# tar -xvfz rlwrap-0.37.tar.gz
# cd rlwrap-0.37

3. compile และติดตั้ง

# ./configure



# yum install readline-devel.x86_64



ตอน ใช้คำสั่ง configure ถ้าติด error แบบนี้ให้ติดตั้ง package readline เพิ่ม

#yum install readline-devel.x86_64 -y

จากนั้นให้ใช้คำสัง configure ใหม่

# ./configure

ถ้าไม่ติดอะไรจะได้ผลลัพธ์ดังรูป

4. ทำการ compile และติดตั้งโดยใช้คำสั่ง

# make && make install

เสร็จสิ้นกระบวนการติดตั้งโปรแกรมเรียบร้อยแล้วครับ

ที่นี้เรามาทำสอบว่ามัน work หรือไม่ใช้คำสั่ง

# rlwrap sqlplus / as sysdba

ลองพิมพ์คำสั่งแล้วกด ปุ่มลูกศร ขึ้นลง ดูครับ ถ้าได้เป็นอันสำเร็จ

***เพิ่มเติม มาปรับแต่ง อีกเล็กน้อยเพื่อให้ใช้งานได้สดวกขึ้น ปกติก่อนที่เราจะสั่ง startup database ได้ต้องเตรียม ตัวแปร 2 โดยใช้คำสั่ง

#export ORACLE_SID=orcl
#export ORACLE_HOME=/oracle/db121
หรือ

. oraenv

สั่งบ่อยๆชักเบือละ ^_^ ถ้าอยากเปิด terminal มาแล้วใช้งานได้เลยทำตามนี้ครับ
เปิดไฟล์ .bashrc

#vi /home/oracle/.bashrc

เพิ่มบันทัดเหล่านี้ต่อท้ายไฟล์ .bashrc

alias rlsqlplus='rlwrap sqlplus'
alias rlrman='rlwrap rman'

PATH=$PATH:/oracle/db121/bin

export PATH

export ORACLE_SID=orcl
export ORACLE_HOME=/oracle/db121

ทีนี้ถ้าเราสามารถเรียกใช้คำสั่ง ใน /oracle/db121/bin ได้ทุกที่ไม่จำเป็นต้องอยู่ใน /oracle/db121/bin อีกต่อไป และถ้าอยากใช้งาน sqlplus แบบมี history สามารถเรียกคำสั่งเก่าที่เคยพิมพ์แล้วมาใช้ใหม่ได้ ก็ใช้คำสั่ง rlsqlplus ได้เลยครับ

จบละครับ ^_^
ปล บทความนี้รีบทำไปหน่อยถ้าผิดตรงจุดใดขออภัยด้วยนะครับ
Permalink: http://goo.gl/s6wkAL

140330.17:49:01
• เผยแพร่ขึ้น web.