태그 : oracle

Unix/Linux에서 Oracle sqlplus의 history 기능 사용... rlwrap

 오늘 회사에서 Oracle을 만질 일이 있어서 sqlplus를 실행해서 작업을 하다가, 다른분에게 mysql이나 postgreql과를 달리 sqlplus는 화살표 키를 눌렀을 때 이전 입력 명령어를 볼 수가 없어서 볼편하다고 토로 했다. 그러자 그 분께서 '어? 그건 예전부터 쭉~ 잘 되는건데~'라고 하시는 거다. 그래서 직접 그분의 자리로 가서 보니까, 너무나 잘 되는 것이다.

 물론 그 분의 시스템은 MS Windows 였고,그분이 말씀하시길 cmd를 실행했을 경우에는 특별한 작업 없이 된다고 하셨다. 아마도 doskey의 영향이 아닐까? 하고 예측을 해보았다. 대학교에서 Oracle 수업을 들을 때에도 sqlplus에서는 '원래 안돼~'라는 생각을 가지고 있었는데, MS Windows에서 되는 것을 보고 나니 'MS Windows에서 되는데 *nix에서 안될리가~'라는 생각을 하게 되어서 인터넷을 좀 뒤져 보았다. 아니다 다를까 이런 문제를 해결해 줄 프로그램이 있었기에 소개한다.

 rlwrap라는 프로그램으로 'readline wrapper'라는 의미인데, sqlplus 같이 자체적으로 명령어를 기억해 주지 않는 프로그램을 대신해서 bash 쉘처럼 명령어를 텍스트로 .프로그램명_history 파일에 저장하고, 화살표 키를 눌러서 이전 명령어를 불러 낼 수 있다.

우분투나 데비안에는 패키지로 rlwrap가 있으므로 아래의 명령으로 간단하게 설치 할 수 있다.
$ sudo apt-get install rlwrap

 내가 작업하던 환경은 Solaris 10 Sparc 이였는데, http://sunfreeware.com 에서는 패키지가 없었기에 직접 소스를 컴파일 하였다. 소스는 이 곳에서 얻을 수 있다. 컴파일을 위해 readline 라이브러리가 필요했는데 이 라이브러리는 http://sunfreeware.com 에서 얻을 수 있었다.
# ./configure --prefix=/usr/local
# make
# make install

사용 방법은 실행할 프로그램 앞에 rlwrap를 붙여주는 것인데, 좀 더 편하게 작업하기 위해서 sqlplus를 'rlwrap sqlplus'로 alias를 걸어주었다. .bashrc.profile과 같은 파일 안에 아래와 같이 적어두면 적용이 된다.
alias sqlplus='rlwrap sqlplus'

 history 파일은 암호화는 되지 않기에 위험할 수도 있겠지만, 그동안 sqlplus 불편했던 점을 해소 할 수 있어서 하나 건진 느낌이다.
만약을 위해서 소스 파일을 첨부해 둔다.

by sakuragi | 2008/04/21 23:57 | :: C space :: 컴퓨터 | 트랙백 | 핑백(1) | 덧글(5)

데이터 베이스 응용, 프로그래밍... Oracle 10g XE

위의 스샷은 모든 설정이 끝나고, 기본 계정인 scott로 샘플 테이블인 emp 테이블의 내용을 보는 중이다.


 학기 초이다 보니, 아무래도 새로 듣게 되는 수업을 위한 실습 환경을 만들게 되는 일이 생긴다. 이럴때 또 문제가 되는 것이 나는 왠만하면 Linux 기반에서 이런 것들을 하기를 원한다는 것이다. 그래서 이번 학기에 듣는 데이터 베이스 프로그래밍, 데이터 베이스 응용이라는 두과목에서 Oracle을 배우는 관계로 오늘은 Oracle Database 10g Express Edition(이후 Oracle 10g XE)을 설치하게 되었다.

 Oracle 10g XE 버전은 소규모, 개인을 위한(?) 완전 무료 Oracle 10g 버전이다. 때문에 다음과 같은 약간의 제약이 있다.
Oracle Database XE는 서버의 용량, CPU 숫자에 관계없이 설치가 가능합니다. 다만 호스트 별로 1 GB의 메모리, 1 개의 CPU만을 사용할 수 있으며, 최대 4 GB의 사용자 데이터를 저장할 수 있습니다.

 하지만 내가 설치하려는 머신은 어차피 메모리도 500MB 조차 안되고, CPU도 역시 하나이다. 그리고 거창한 사업이나 프로젝트에 Oracle DB를 쓰려는 것이 아니고, 단지 수업 시간에 하는 내용을 실습하거나 하는 용도로 쓰고 싶은 것이기 때문에 나에겐 알맞다고 판단했다. 게다가 Debian Sarge 머신에 설치하려는 생각을 가지고 있었는데, Oracle 10g XE의 경우 deb 패키지 형태로 제공되었다.

Oracle 10g XE 설치 및 설정 (Debian Sarge)

by sakuragi | 2007/03/22 22:59 | :: C space :: 컴퓨터 | 트랙백 | 핑백(1) | 덧글(19)

◀ 이전 페이지          다음 페이지 ▶

:+: sakuragi's Steam :+: