02.Oracle/DataBase2008. 7. 17. 12:31
반응형

오라클 설치후 sqlplus 실행이 안될때

즉 아래와같은 에러가 나오면


Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory


오라클 계정으로 로그인한 후에

/home/oracle 로 가서


.bash_profile을 연뒤

아래와 같이 편집하면 된다.


ORACLE_HOME=/u01/app/oracle/product/10.1.0/Db_1;
export ORACLE_HOME


그다음 로그아웃을 한뒤에

다시 로그인을 한뒤에
아래와 같은 명령을 쎄린뒤에

chmod -R 755 $ORACLE_HOME/sqlplus

chmod 755 $ORACLE_HOME/sqlplus
chmod 755 $ORACLE_HOME/sqlplus/mesg
chmod 755 $ORACLE_HOME/sqlplus/mesg/sp1us.msb
chmod 755 $ORACLE_HOME/nls
chmod 755 $ORACLE_HOME/nls/data
chmod 755 $ORACLE_HOME/nls/data/lx1boot.nlb
chmod 755 $ORACLE_HOME/oracore
chmod 755 $ORACLE_HOME/oracore/zoneinfo
chmod 755 $ORACLE_HOME/oracore/zoneinfo/timezlrg.dat

/u01/app/oracle/product/10.1.0/Db_1/bin/sqlplus 를 쎄리면
sqlplus가 실행이 된다.

저것도 변수로 잡아야것다.
아..$ORACLE_HOME/bin/sqlplus 이러케하면 되겠군하.ㅎ
Posted by 1010
99.유용한정보/잡식2008. 7. 17. 11:34
반응형

세무서 코드 및 계좌번호(가나다순)


세무서명

코  드

계좌번호

세무서명

코  드

계좌번호

세무서명

코  드

계좌번호

강  남

211

180616

보  령

313

930154

영등포

107

011934

강  동

212

180629

부산진

605

030520

영  월

225

150183

강  릉

226

150154

부  천

130

110246

영  주

512

910378

강  서

109

012027

북광주

409

060671

예  산

311

930167

거  창

611

950419

북대구

504

040772

용  산

106

011947

경  산

515

042330

북부산

606

030533

울  산

610

160021

경  주

505

170176

북인천

122

110233

원  주

224

100269

공  주

307

080460

삼  성

120

181149

의정부

127

900142

광  주

408

060639

삼  척

222

150167

이  천

126

130378

구  로

113

011756

상  주

511

905260

익  산

403

070425

구  미

513

905244

서광주

410

060655

인  천

121

110259

군  산

401

070399

서대구

503

040798

전  주

402

070438

금  정

621

031794

서대문

110

011879

정  읍

404

070441

금  천

119

014371

서대전

314

081197

제  주

616

120171

김  천

510

905257

서부산

603

030546

제  천

304

090324

김  해

615

000178

서  산

316

000602

종  로

101

011976

나  주

412

060642

서인천

137

111025

중  부

201

011989

남대구

514

040730

서  초

214

180658

중부산

602

030562

남대문

104

011785

성  남

129

130349

진  주

613

950435

남양주

132

012302

성  동

206

011905

창  원

609

140669

남  원

407

070412

성  북

209

011918

천  안

312

935188

남인천

131

110424

속  초

227

150170

청  주

301

090337

논  산

308

080473

송  파

215

180661

춘  천

221

100272

대  전

305

080486

수  영

617

030478

충  주

303

090340

도  봉

210

011811

수  원

124

130352




동대구

502

040769

순  천

416

920300

통  영

612

140708

동대문

204

011824

안  동

508

910365

고  양

128

012014

동  래

607

030481

안  산

134

131076

평  택

125

130381

동수원

135

131157

안  양

123

130365

포  항

506

170192

동  작

108

000181

양  천

117

012878

해  남

415

050157

마  산

608

140672

여  수

417

920313

홍  성

310

930170

마  포

105

011840

역  삼

220

181822

홍  천

223

100285

목  포

411

050144

영  덕

507

170189

노  원

217

001562

반  포

114

180645

영  동

302

090311

시  흥

 140

001588

 파  주

 141

 001575

 동안양

138

001591

동울산

620

001601

국세청

000

011769

교육원

071

130776

연구소

073

011772

서울청

100

011895

중부청

200

000165

대전청

300

080499

광주청

400

060707

대구청

500

040756

부산청

600

030517

Posted by 1010
61.Linux2008. 7. 16. 14:51
반응형

Xlib: connection to ":0.0" refused by server

이 에러의 경우 에러 메세지는 remote 시스템 또는 windows의 terminal창에서 GUI환경의 Application을 실행하였을때 발생 하며 아래와 같은메시지가 출력 됩니다.

Xlib: connection to ":0.0" refused by server
Xlib: Client is not authorized to connect to Server
Error: Can't open display: :0.0

위의 에러가 발생하면 remote 시스템 또는 windows의 terminal창에서 login한 후 아래의 명령을 실행하여 local 시스템이 remote 시스템의 access control list에 포함 되도록 한다.

# xhost "local-system-hostname"

예) local 시스템의 hostname이 "bigom"이라면 아래와 같이 지정한다.

# xhost  test
cat being added to access control list

특정한 호스트 외에 다른 모든 시스템을 access control list 에 추가하려면 아래와 같이 지정한다.

# xhost +
access control disabled, clients can connect from any host

Posted by 1010
98..Etc/Etc...2008. 7. 16. 10:51
반응형

VNC Server 설정 및 사용

 


1. VNC 개요


VNC(Virtual Network Computing)는 원격 서버의 X윈도우 데스크탑 환경을 네트워크를 통해 자신의 컴퓨터에 출력하여 사용할 수 있게 하는 기능을 제공합니다.

VNC 접속에는 Server와 Client 개념으로 접속을 하므로, 접속을 시도하는 원격지 컴퓨터가 Client가 되며, Client의 화면에 보여지는 내용, 즉 실제 작업이 이루어지는 공간이 Server에 해당됩니다.


현재 한소프트 리눅스 2005 Workstation에 포함되어 있는 VNC는 X환경의 차이로 인해 동작하는데 일부 문제가 있습니다.

XFree86 (기존의 X환경 도구)이 4.4 버전부터 라이센스가 변경되어 더 이상 오픈 소스로서 이 도구를 사용하지 못하게 되자, freedesktop.org에서 xorg라는 이름으로 X환경 도구를 재배포하게 되었으며, 한소프트 리눅스에서는 이 xorg를 기본 X환경 도구로 채택하여 사용하고 있는데, 여기서 xorg와 VNC의 호환에 약간의 문제가 발생하였기 때문입니다.


환 경 변화에 따른 과도기적인 현상으로 VNC 새 버전에서는 이러한 현상들이 수정되리라 생각되지만, 일단 현재의 시스템에서 VNC를 사용하기 위해서는 한소프트 리눅스에 기본 포함되어 있는 VNC(realvnc) 보다는 tightvnc를 사용하기를 권장합니다.


[참고 Site]

http://www.tightvnc.org/download.html
http://rpm.pbone.net/ 에서 tightvnc-server 로 검색


위 사이트에서 VNC 서버를 다운받아서 설치합니다.
tightvnc -server의 경우 이전 XFree86과의 의존성 문제 등으로 설치 시 오류가 발생할 수도 있는데, 이때는 --force --nodeps 옵션으로 강제로 설치합니다. 테스트 결과 강제로 설치해도 사용에 별 문제가 없었습니다.

 


2. VNC 설치

아래의 순서대로 기존에 설치되어 있는 VNC를 삭제하고 tightvnc 프로그램을 설치합니다.


① 기존에 설치된 VNC 프로그램이 있는지 확인하고, 있다면 삭제합니다.

[기존 VNC 프로그램 확인 및 제거]

[root@localhost ~]# rpm -qa | grep vnc

vnc-4.0-9

vnc-server-4.0-9

[root@localhost ~]# rpm -e vnc vnc-server


② 앞서 설명한 참고 Site에서 tightvnc 프로그램을 다운 받습니다.

[TightVNC 다운로드]

tightvnc-1.2.9-1.i386.rpm           # Client용 프로그램

tightvnc-server-1.2.9-1.i386.rpm    # Server용 프로그램


③ Server쪽 시스템과 Client쪽 시스템 각각에 해당 프로그램들을 설치합니다.

[Server용 프로그램 설치]

[root@localhost ~]# rpm -Uvh tightvnc-server-1.2.9-1.i386.rpm

오류: Failed dependencies:

        XFree86 is needed by tightvnc-server-1.2.9-1

[root@localhost ~]# rpm -Uvh tightvnc-server-1.2.9-1.i386.rpm --nodeps --force

준비 중...                  ################################# [100%]

   1:tightvnc-server        ################################# [100%]

[Client용 프로그램 설치]

[root@localhost ~]# rpm -Uvh tightvnc-1.2.9-1.i386.rpm

준비 중...                  ################################# [100%]

   1:tightvnc               ################################# [100%]




3. VNC 설정 및 구동


(1) 서버 설정 및 구동


Client에서 Server 접속 시 서버에서 인증할 VNC 비밀번호를 6자리 이상으로 설정합니다.

[VNC 패스워드 설정]

[root@localhost ~]# vncpasswd

Using password file /root/.vnc/passwd

VNC directory /root/.vnc does not exist, creating.

Password:

Verify:

[root@localhost ~]#

※ 위 명령을 실행하면, 해당 계정의 홈디렉토리 아래에 .vnc라는 디렉토리가 생성되고, 이 안에 있는 passwd 파일에 앞서 입력한 패스워드가 암호화되어 저장됩니다.


이후에 아래와 같은 vncserver 명령어로 VNC 서버를 가동합니다.

[VNC 서버 가동]

[root@localhost .vnc]# vncserver

New ''X'' desktop is localhost.localdomain:3

Starting applications specified in /root/.vnc/xstartup

Log file is /root/.vnc/localhost.localdomain:3.log

[root@localhost .vnc]#

위와 같이 vncserver를 가동하면 해당 계정 홈디렉토리의 .vnc 아래에 xstartup 파일과 log 파일이 생성됩니다.

xstartup은 Client에서 VNC 서버로 접속할 때 사용하는 X환경 초기화 실행스크립트이며, log는 접속 결과를 저장하는 파일입니다.


보통 리눅스 부팅 시 런레벨(Run-Level) 5로 X윈도우 환경을 띄우는 경우 디스플레이(Display) 0번을 사용합니다.

여기서 VNC 서버를 실행하면 이미 로딩된 디스플레이에서 순차적으로 번호를 증가하며 Xvnc를 띄웁니다.

vncserver 명령을 여러번 실행하면, 그때마다 순차적으로 증가된 번호로 vncserver가 가동됩니다.

위의 예에서는 ''localhost.localdomain:3''으로 표시되어 있는 것을 볼 때, vncserver를 3번 실행했을 때의 화면임을 알 수 있습니다.

이렇게 3개의 vncserver가 가동되면 Client에서 원격 접속 시 3개의 루트로 각각 접속할 수 있게 되겠죠.


그리고, /tmp 디렉토리 아래에 외부에서 접속했을 때 임시로 사용되는 디렉토리가 생성됩니다.

[VNC 임시 디렉토리]

/tmp/.X11-unix/X0

/tmp/.X11-unix/X1

/tmp/.X11-unix/X2

/tmp/.X11-unix/X3



참고

※ 추가 설정

위의 설정만으로도 VNC에 정상적으로 접속할 수 있습니다만, 좀 더 다양한 설정을 위해 /usr/bin/vncserver 파일을 직접 수정할 수도 있습니다.

[VNC Server 상세 설정]

$geometry = "1024x768";

$depth = 24;

$desktopName = "X";

$vncClasses = "/usr/share/vnc/classes";

$vncUserDir = "$ENV{HOME}/.vnc";

$fontPath = "unix/:7100";

......

$cmd = "Xvnc :$displayNumber";

$cmd .= " -desktop " . &quotedString($desktopName);

$cmd .= " -httpd $vncClasses";

$cmd .= " -auth $xauthorityFile";

$cmd .= " -geometry $geometry" if ($geometry);

$cmd .= " -depth $depth" if ($depth);

$cmd .= " -pixelformat $pixelformat" if ($pixelformat);

$cmd .= " -rfbwait 120000";

$cmd .= " -rfbauth $vncUserDir/passwd";

$cmd .= " -rfbport $vncPort";

$cmd .= " -fp $fontPath" if ($fontPath);

$cmd .= " -co $colorPath" if ($colorPath);



(2) 클라이언트 설정 및 구동


앞서 다운 받은 rpm 파일 중 Client용 프로그램을 설치하였다면, 클라이언트 PC에서 아래와 같은 명령으로 VNC Viewer를 실행합니다.

[VNC Viewer 실행 (1)]

[root@localhost ~]# vncviewer &


  

콘솔창에서 "vncviewer &" 명령을 실행하면, 접속할 서버의 IP 주소 및 Password를 입력하는 창이 나타나며, 정상 입력되면 아래 그림과 같이 서버의 화면이 나타나게 됩니다.


또는 아래와 같이 콘솔창에서 "192.168.179.138:1"과 같이 바로 입력해도 됩니다.

IP뒤에 붙는 숫자는 앞서서 vncserver를 여러 개 띄운 것과 같이 접속할 수 있는 vncserver 번호로 이해하시면 되겠습니다.

[VNC Viewer 실행 (2)]

[root@localhost root]# vncviewer 192.168.179.138:1

VNC server supports protocol version 3.3 (viewer 3.3)

Password:

VNC authentication succeeded

Desktop name "root''s X desktop (localhost.localdomain:1)"

Connected to VNC server, using protocol version 3.3

VNC server default format:

  32 bits per pixel.

  Least significant byte first in each pixel.

  True colour: max red 255 green 255 blue 255, shift red 16 green 8 blue 0

Using default colormap which is TrueColor.  Pixel format:

  16 bits per pixel.

  Least significant byte first in each pixel.

  True colour: max red 31 green 63 blue 31, shift red 11 green 5 blue 0

Using shared memory PutImage



4. VNC 종료


위와 같이 VNC에 접속하여 여러 가지 작업을 마친 후 종료할 때,

VNC Viewer는 그냥 창만 닫으면 되지만, Server의 경우는 아래의 명령과 같이 해당 데몬을 종료해야 합니다.


[VNC 서버 종료]

[root@localhost ~]# vncserver -kill :1

Killing Xvnc process ID 15618

[root@localhost ~]#

위의 명령은 1번 vncserver를 종료하는 방법입니다.


~/.vnc/localhost.localdomain:1.pid 파일에서 1번 vncserver의 PID 값을 확인하여, 해당 프로세스를 종료하게 됩니다.

만약 강제로 프로세스를 죽이거나 비정상적인 종료를 하였다면 다음번 vncserver를 실행할 때 위의 PID 파일을 참조하여 경고 메시지를 보여주게 됩니다.

이 런 경고 메시지를 보이지 않게 하려면, ~/.vnc/ 경로 아래에 있는 vncserver 관련 파일들 중, 해당 번호의 pid 및 log 파일을 삭제하고, /tmp/.X11-unix/ 아래에서 vncserver가 사용하던 파일들을 삭제해주면 됩니다.


5. 기타


VNC Server의 서비스 데몬은 아래와 같은 명령으로 가동할 수 있습니다.

[VNC Server 서비스 데몬 가동]

[root@localhost ~]# /etc/init.d/vncserver restart

Shutting down VNC server:                                  [  OK  ]

Starting VNC server:                                       [  OK  ]

[root@localhost ~]#



참고

위의 서비스를 시스템 가동 시에 자동으로 실행하기 위해서는 ntsysv를 실행하여 vncserver에 체크해 줌으로써 가능해 집니다.

만약 ntsysv를 실행하였을 때, vncserver 항목이 보이지 않는다면, 아래 명령으로 vncserver 항목을 추가해 줍니다.

[ntsysv 항목 추가]

[root@haansoft ~]# chkconfig --add vncserver


이렇게 서비스 데몬이 가동된 다음, 앞서 보았던 vncserver의 각 서비스를 하나씩 가동해 주는 것입니다.

(vncserver는 가동될 때마다 숫자가 증가되어 붙으므로, 이 숫자로 구별할 수 있습니다.)

vncserver의 각 서비스도 자동으로 실행하고 싶다면, /etc/sysconfig/vncservers 파일에 아래와 같은 내용을 추가합니다.

[VNC Server 개별 서비스 자동 설정]

VNCSERVERS="1:root 2:haansoft 3:haansoftlinux"

위 의 내용은 1번 vncserver에는 root 계정으로 접속을 허용하고, 2번 vncserver에는 haansoft 계정으로, 3번 vncserver에는 haansoftlinux 계정으로의 접속을 허용하도록 미리 설정해 놓는 것입니다.

위와 같은 형식으로 원하는 숫자만큼의 사용자를 미리 지정해 둘 수 있습니다.


-----------------------------------------------------

이글의 출처는 http://www.haansoftlinux.com/ 입니다.

Posted by 1010
01.JAVA/Java2008. 7. 15. 13:44
반응형

유닉스에서 자바 이미지 객체를 사용하려 할때 다음과 같은 에러가 발생한다.


Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.


이것은 일종의 JDK의 버그이다. 원인은 자바가 BufferedImage 를 생성하고 실제로 Graphics 객체를 얻어오기 위해 getGraphics나 createGraphics 메소드를 부를때, 실제로 display하거나 mouse, keyboard 자원을 하나도 쓰지 않을 것임에도 불구하고 내부적으로 AWT Toolkit이 그것들에 대한 자원을 얻어오게 되어있었기 때문이다. 

Sun에서는 이걸 버그로 취급하며 해결 방법은 2가지가 있다.


1. JRE 1.3 이하 일경우 www.x.org 에서 다운로드 받을 수 있는 Xvfb 라는 것을 사용하는 방법이다. 이것은 X-server 에뮬레이터이다.


참고

1.1. 가상 xwindow실행하기

1.1.1 리눅스

리눅스의 경우 XFree86-Xvfb-4.1.0-3.i386.rpm 을 설치해야 합니다.
XFree86-Xvfb-4.1.0-3.i386.rpm 패키지는 아래의 패키지가 최소한 설치되어 있어야 합니다.
XFree86-4.1.0-3.i386.rpm
Mesa-3.4.2-7.i386.rpm
Xaw3d-1.5-10.i386.rpm

설치과정중에 에러가 발생하면 아래 커맨드를 이용하여 의존성을 검사하면 됩니다.
rpm -ivh --nodeps ./Mesa-3.4.2-7.i386.rpm
rpm -ivh ./XFree86-4.1.0-3.i386.rpm
rpm -ivh ./Xaw3d-1.5-10.i386.rpm
rpm -ivh ./XFree86-Xvfb-4.1.0-3.i386.rpm

Xvfb는 100dpi 및 75dpi용 폰트도 설치되어 있어야 합니다.
폰트와 관련하여 간단하게 작업하려면 아래와 같이 하세요
wget http://www.psoft.net/downloads/X11.tgz
tar xfz ./X11.tgz -C /usr/X11R6/lib/

이제 모든 설치가 완료되면 아래 커맨드로 Xvfb를 활성화 시킵니다.
/usr/X11R6/bin/Xvfb ':0' -screen 0 100x100x8 &

이제 서버가 시작할 때 마다 이 기능을 활성화 시키려면
/etc/rc.d/rc.local에 추가하면 됩니다.


1.2.1  Solaris :

다운로드 : X11R6_bin.tar.gz

1.2.2 설치 :
% su -
# mkdir /usr/X11R6
# cp X11R6_bin.tar.gz /usr/X11R6
# cd /usr/X11R6
# gunzip X11R6_bin.tar.gz
# tar xvf X11R6_bin.tar
# rm X11R6_bin.tar


1.2.3. 자동실행
실행 스크립트 : xvfb.server 다운로드
자동 실행 설정 스크립트 : install.xvfb다운로드
xvfb.server에서 RUN_AS_USER=tomcat 을 적절히 수정 후 install.xvf 만 실행하면 끄~읕

참조 :
http://www.x.org/
http://developers.sun.com/solaris/articles/solaris_graphics.html#3
http://www.idevelopment.info/data/Unix/General_UNIX/GENERAL_XvfbforSolaris.shtml
http://chartworks.com/support/server/XvfbonUnix.html
 


2. JRE 1.4 이상에서  Headless AWT Toolkit을 이용해서 이 문제를 해결한다. 파일을 실행할때 간단히 -Djava.awt.headless=true 옵션을 주는것만으로 가능하다.
 

[참고]

java 1.4 버전 이상에서는 자바 자체에서 처리 가능하게 할수 있습니다.

리눅스에서 굳이 x-window나 xvf 깔기 귀찮다고 아니면 할줄 모르시는 분들은 간단하게 이문제를 해결하는 방법이 있습니다.

<!--
Note: If true, the system property, java.awt.headless, will be set to true.
This should be used with JDK 1.4+ on servers without graphics cards and
monitors. Otherwise, the property is not set.
-->
<!-- <headless-server>true</headless-server> -->

/WEB-INF/flex/flex-config.xml에서 이부분의 주석을 제거 해주시면 됩니다.

<headless-server>true</headless-server>


그리고 자바 구동시에(톰켓이나 레진) JVM 파라메터를 적는 부분이 있을 것입니다.

레진 같은 경우 걍 뒤에 자바 파라메터 적으면 작동됩니다.

resin start -Djava.awt.headless=true


즉 flex-config에서 headless-server 수정하고 jsp 엔진 구동시에 파라 메터 Djava.awt.headless=true 를 넣어주면 에러없이 잘 해결된다.


톰캣에서 이용할때는 catalina.sh 파일에
CATALINA_OPTS=-Djava.awt.headless=true를 추가하고 재구동하면 된다.

Posted by 1010
61.Linux2008. 7. 15. 12:04
반응형

PATH=$PATH:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin


Posted by 1010
01.JAVA/Java2008. 7. 15. 10:36
반응형
Fedora 9 버전 배포본에 포함된 패키지로서 오픈 소스로 개발되고 있는 JDK 1.6 버전을 설치 가능하다. 패키지 명은 다음과 같다: java-1.6.0-openjdk

less..

# yum install java-1.6.0-openjdk
Loaded plugins: priorities
fedora                                                   | 2.4 kB     00:00
updates                                                  | 2.3 kB     00:00
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package java-1.6.0-openjdk.i386 1:1.6.0.0-0.12.b09.fc9 set to be updated
--> Processing Dependency: tzdata-java for package: java-1.6.0-openjdk
--> Running transaction check
---> Package tzdata-java.noarch 0:2008b-1.fc9 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 java-1.6.0-openjdk      i386       1:1.6.0.0-0.12.b09.fc9  updates            28 M
Installing for dependencies:
 tzdata-java             noarch     2008b-1.fc9      fedora            167 k

Transaction Summary
=============================================================================
Install      2 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 28 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): tzdata-java-2008b-1.fc9.noarch.rpm                | 167 kB     00:00
(2/2): java-1.6.0-openjdk-1.6.0.0-0.12.b09.fc9.i386.rpm  |  28 MB     00:55
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: tzdata-java                  ######################### [1/2]
  Installing: java-1.6.0-openjdk           ######################### [2/2]

Installed: java-1.6.0-openjdk.i386 1:1.6.0.0-0.12.b09.fc9
Dependency Installed: tzdata-java.noarch 0:2008b-1.fc9
Complete!
# java -version
java version "1.6.0"
OpenJDK  Runtime Environment (build 1.6.0-b09)
OpenJDK Client VM (build 1.6.0-b09, mixed mode)
#

less..


gcj 관련된 패키지와 함께 사용하기 위해서는, java-1.5.0-gcj-compat 패키지를 추가로 설치한다.

less..

# yum install java-1.4.2-gcj-compat
Loaded plugins: priorities
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package java-1.5.0-gcj.i386 0:1.5.0.0-21.fc9 set to be updated
--> Processing Dependency: sinjdoc for package: java-1.5.0-gcj
--> Running transaction check
---> Package sinjdoc.i386 0:0.5-6.fc9 set to be updated
--> Processing Dependency: java_cup >= 0.10 for package: sinjdoc
--> Running transaction check
---> Package java_cup.i386 1:0.10-0.k.6jpp.2 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 java-1.5.0-gcj          i386       1.5.0.0-21.fc9   fedora            127 k
Installing for dependencies:
 java_cup                i386       1:0.10-0.k.6jpp.2  fedora            175 k
 sinjdoc                 i386       0.5-6.fc9        fedora            786 k

Transaction Summary
=============================================================================
Install      3 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

Total download size: 1.1 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): java_cup-0.10-0.k.6jpp.2.i386.rpm                 | 175 kB     00:00
(2/3): sinjdoc-0.5-6.fc9.i386.rpm                        | 786 kB     00:01
(3/3): java-1.5.0-gcj-1.5.0.0-21.fc9.i386.rpm            | 127 kB     00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: java-1.5.0-gcj               ######################### [1/3]
  Installing: sinjdoc                      ######################### [2/3]
  Installing: java_cup                     ######################### [3/3]

Installed: java-1.5.0-gcj.i386 0:1.5.0.0-21.fc9
Dependency Installed: java_cup.i386 1:0.10-0.k.6jpp.2 sinjdoc.i386 0:0.5-6.fc9
Complete!

less..


기존 패키지에 포함된 Java 플랫폼의 문제점은 Fedora Project JavaFAQ를 참고한다.
Posted by 1010
01.JAVA/Java2008. 7. 14. 23:50
반응형

저는 rpm 파일로부터 설치하지 않고, 바로 bin 파일을 다운받아 설치합니다.


jdk-1_5_0_14-linux-i586.bin 파일을 다운받아

아래와 같은 명령어 순으로 설치를 하고, 환경설정까지 하면..

리눅스에 완벽한 java 설치가 끝나게 됩니다.


1. java 설치 파일의 퍼미션 변경(설치할 수 있도록 실행파일로 바꿈)

chmod 755 jdk-1_5_0_14-linux-i586.bin


2. 원하는 위치로 이동(저는 개인적으로 /usr/local에 모든 사용자 파일을 넣기 때문에. -0-;;)

mv jdk-1_5_0_14-linux-i586.bin /usr/local


3. 설치

./jdk-1_5_0_14-linux-i586.bin


4. 설치할 때.. 라이센스를 확인하는게 나오는데.. 스페이스 여러번 누르고, 마지막에 yes 한번이면 설치가 끝납니다. ^^


5. 설치가 끝나면.. 아래와 같은 디렉터리가 생성됩니다.

jdk-1_5_0_14-linux-i586


6. 다음에 버전이 다른 java를 손 쉽게 변경하기 위해(환경은 건드리지 않고..) 링크를 걸어줍니다.

ln -s /usr/local/jdk-1_5_0_14-linux-i586 /usr/local/java


7. 환경설정파일을 건드려봅시다~~

vi /etc/profile


JAVA_HOME=/usr/local/java
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin

CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/*:.


8. 환경설정 파일을 업로드 시켜 줍니다.

source /etc/profile


9. java가 제대로 동작하는지 확인..





-------------------------------------------------------------------------------------------------------


Java의 원조는 Sun이지만 GNU를 비롯하여 여러 벤더들이 자바 플랫폼을 - 컴파일러와 가상 머신(Java Runtime Environment, JRE) 그리고 여러 툴을 포함해서 - 배포하고 있다. 대부분의 리눅스 배포판에는 GNU-Java가 탑재되어 있는데 아마도 Sun Java는 open source가 아니기 때문이리라 생각된다. 여기서는 페도라 6 (이하 페도라)에 Sun Java 1.6.0-update 2버전의 Java SE (Standard Edition, SDK + JRE)를 설치하는 방법을 설명한다. 2007년 8월 현재 Sun Java의 최신 버전은 1.6.0-update 2이고 페도라에 깔린 GNU-Java는 1.4.2 버전이다.

문제점
설치만 높고 본다면 Sun에서 자체적으로 실행이 가능한 설치파일과 rpm 패키지 두가지 형태로 Java SE 를 제공하고 있기 때문에 특별히 어려울 건 없다. 그리고 원한다면 GNU-Java를 언인스톨해버리면 그만이다. 그러나 혹시나 다른 프로그램들이 디폴트로 GNU-Java를 찾게 설정되어 있을 가능성도 있고, 또는 GNU-Java를 시스템에 지우지 않고 필요할 때마다 Sun Java랑 쉽게 바꿔가며 쓰고 싶은 경우가 있을 것이다. 실제로 어떤 프로램들이 GNU-Java를 디폴트로 설정되어 있는 지 확인하여 보지는 않았지만, 만약 그런 프로그램들이 있다면 단순한 설정파일을 고치는것도 때에 따라선 초보 리눅서에게는 쉽지 않은 삽질이 될 수도 있을 것이다.

실제로 Sun Java가 설치되는 디렉토리는 각 리눅스 배포판의 프로그램 설치 관행과는 일치하지 않는다. Sun Java를 rpm으로 설치하는 경우 /usr/Java/jdk버전/ 디렉토리 밑에 설치가 되는데, 페도라의 경우는 여러 종류의 자바를 /usr/lib/jvm/Java버전-배포자/ 디렉토리 밑에 설치하고, 이들을 alternatives를 통해 이중 링크로 관리한다. 예를 들어 /usr/bin/Java 명령은 /etc/alternatives/Java에 대한 소프트 링크이고, 이 링크는 다시 /usr/Java/아래 설치된 여러 Java버전 중 하나를 가르키는 소프트 링크이다. 자세한 내용은 alternatives의 man page를 참조.

대안
그렇다면 각 배포판의 관행에 맞추어 Sun Java를, 아니면 여러개의 다른 Java패키지을 설치하고 이를 쉽게 관리하는 방법은 없을까? 여기에 대한 대안이 Jpackage와 alternatives를 활용하는 방법이다. Jpackage는 각종 자바 패키지를 리눅스의 디렉토리 배치 관행에 맞게 설치되도록 재패키징한 것으로 여기에는 Sun이나 IBM의 자바 플랫폼도 포함된다. 다만 이들의 경우 재배포는 허용되지만 아직 open source는 아니기 때문에 소스코드는 포함하고 있지 않다.

설치
Jpackage의 Sun Java를 설치하기로 맘을 먹었다면 두가지 방법이 있는데 Jpackage.org에서 재패키징한 Sun Java패키지(java-1.6.0-sun-버전번호-1jpp.nosrc.rpm)를 직접 빌드해서 설치하거나; Sun에서 직접 배포한 Java패키지를 설치한 후 이걸 리눅스 디렉토리구조와 호환되게 만들어 주는 패키지(Java-1.6.0-Sun-compat-버전번호-1jpp.i586.rpm)를 설치하는 것이다. 여기서는 후자의 방법을 택하겠다. 설치 순서는 간단하다: 1) Sun Java 패키지 다운로드 및 설치 2) Jpackage 다운로드 및 설치 3) Alternatives 확인 및 설정 4) JAVA_HOME 환경변수 설정 5) 그리고 보너스로 mozilla 또는 firefox에 Java 플러그인 설치 확인.

1) Sun Java 패키지 다운로드 및 설치
http://Java.Sun.com/downloads에 가서 jdk-6u2-linux-i586-rpm.bin를 다운로드한다. 위에서 언급한 대로 두가지 형태로 제공이 되는데 반드시 rpm으로 제공되는 Linux RPM in self-extracting file (Linux self-extracting file 이 아니다)를 받아 아래와 같이 설치한다. 혹시나 초보 리눅서를 위하여 설치명령을 자세히 설명하였다.

cd 다운로드한 디렉토리
chmod 755 jdk-6u2-linux-i586-rpm.bin
./jdk-6u2-linux-i586-rpm.bin


2) Jpackage 다운로드 및 설치
Jpackage를 설치하기 전에 확인해야 할 사항이 하나 있는데 바로 jpackage-utils 패키지가 이미 설치되어 있는지 확인하는 것이다. 아래와 같이 jpackage설치여부를 확인하고 설치할 수 있다.

rpm -qa | grep jpackage-utils

위 명령결과 아무것도 안나오면, 아래와 같이 jpackage-utils패키지를 설치한다.

yum install jpackage-utils


그 다음에는 아래 링크에서 Jpackage를 다운받아 설치한다. ftp://jpackage.hmdc.harvard.edu/JPackage/1.7/generic/RPMS.non-free/. 이때 반드시 1)에서 설치한 Sun Java와 같은 버전의 화일을 다운 받아야 하는데 여기에서는 1.6.0-update 2를 설치했으므로 Java-1.6.0-Sun-compat-1.6.0.02-1jpp.i586.rpm를 받아야 할 것이다. 다음과 같이 설치한다.

cd 다운로드한 디렉토리
rpm -Uvh Java-1.6.0-Sun-compat-1.6.0.02-1jpp.i586.rpm


3) Alternatives 확인 및 설정
위 패키지를 설치하면 /usr/lib/jvm/와 /etc/alternatives/ 디렉토리 밑에 약간 어지러울 정도로 많은 링크를 만든 후에 디폴트로 Sun Java를 사용하도록 alternatives를 셋팅해 주는데 아래와 같이 확인 해볼 수 있다.

alternatives --config Java

위 명령 결과는 아래와 같이 보일 것이다.

There are 2 programs which provide 'Java'.

Selection Command
-----------------------------------------------
1 /usr/lib/jvm/jre-1.4.2-gcj/bin/Java
*+ 2 /usr/lib/jvm/jre-1.6.0-Sun/bin/Java

원한다면 다시 GNU 자바를 디폴트로 잡아 줄 수 있는데 자세한 용법은 다시 alternatives의 man page를 참고.

4) JAVA_HOME 환경변수 설정

bash사용자는 export JAVA_HOME=/usr/lib/jvm/java를 c-shell 사용자는 setenv JAVA_HOME /usr/lib/jvm/java를 적당한 시작 스크립트 화일에 넣어준다. Bash의 경우 ~/.bash_profile에 넣으면 무난할 듯.

5) mozilla 또는 firefox에 Java 플러그인 설치 확인

위 1)번 과정에서 Sun Java 32비트 버전을 설치하면 SDK나 JRE외에 mozilla나 firefox에서 플러그인으로 사용할 수 있는 라이브러리 파일인 libJavaplugin_oji.so가 같이 설치되는데 Java-1.6.0-Sun-compat-1.6.0.02-1jpp.i586.rpm 패키지 설치과정에서 위 플러그인을 사용할 수 있도록 mozilla 플러그인 디렉토리 밑에 소프트 링크를 만들어 준다. 아쉽지만 64비트 버전 Java의 경우 플러그인이 아직 제공되지는 않는다. 다음과 같이 확인할 수 있다.

ls -l /usr/lib/mozilla/plugins

위 명령 결과 화면에 아래와 같은 부분이 보인다면

libJavaplugin_oji.so -> usr/lib/jvm/Java-1.5.0-Sun-1.5.0.09/jre/plugin/i386/ns7/libJavaplugin_oji.so


아무 이상이 없는 것이다. 혹시 없다면 아래와 같이 직접 링크를 만들어 준다.

cd /usr/lib/mozilla/plugins
ln -s /usr/lib/jvm/Java-1.6.0-Sun-1.6.0.02/jre/plugin/i386/ns7/libJavaplugin_oji.so ./


마지막으로 한 가지 첨언한다면 혹시나 초보자의 경우에는 Java-1.6.0-Sun-compat-1.6.0.02-1jpp.i586.rpm가 만든 여러 링크들은 가급적 직접 수정하지 않는 것이 좋을 듯하다. 만약 수정해야 할 필요가 있을 때에는 패키지를 제거하거나 재설치하는 것이 아마 나을 듯.

------------
References
CCL Sun Java Development Kit on FC6. <http://ccl.net/cca/software/SOURCES/JAVA/JSDK-1.5/index.shtml>
[Jpackage] Installation. <http://www.jpackage.org/installation.php>

Posted by 1010
02.Oracle/DataBase2008. 7. 14. 18:35
반응형
문서는
http://www.oracle.com/technology/pub/articles/smiley_rac10g_install.html
http://www.oracle-base.com/articles/10g/OracleAS10gInstallationOnFedora2.php
참조.

시스템 환경 점검
2.6.9-11 이상의 커널이 필요하다.
# uname -r

필요한 패키지 버전(그 이상도 당연히 가능) -> 대부분 설치되어 있다.
binutils-2.15.92.0.2-10
compat-db-4.1.25-9
control-center-2.8.0-12
gcc-3.4.3-9
gcc-c++-3.4.3-9
glibc-2.3.4-2
glibc-common-2.3.4-2
gnome-libs-1.4.1.2.90-44.1
libstdc++-3.4.3-9
libstdc++-devel-3.4.3-9
make-3.80-5
pdksh-5.2.14-30
sysstat-5.0.5-1
xscreensaver-4.18-5

시스템 요구사항 검증
# grep MemTotal /proc/meminfo
MemTotal :    xxxxxx KB
# grep SwapTotal /proc/meminfo
SwamTotal : xxxxx KB

계정 생성
# groupadd oinstall
# groupadd dba
# useradd -m -g oinstall -G dba oracle
# passwd oracle


디렉토리 생성
# mkdir /oracle
# chown -R oracle.dba /oracle
# chmod -R 755 /oracle


hosts 파일
/etc/hosts 파일이 제대로 설정되어 있는지 확인.
# cat /etc/hosts
<IP-address> <fully-qualified-machine-name> <machine-name>

커널 파라미터 설정
 Oracle 11g? 가 요구하는 커널 매개변수 설정이다. 아래의 수치는 최소값이며 /etc/sysctl.conf에 적혀있는 값이
아래의 값보다 높을 경우에는 변경하지 않아도 된다. 물론 낮을 경우에는 /etc/sysctl.conf 에 추가해준다.

# sysctl -a | grep ... 으로 확인할 수 있다.

#kernel.shmall = 2097152
#kernel.shmmax = 2147483648
#kernel.shmmni = 142
# semaphores: semmsl, semmns, semopm, semmni
#kernel.sem = 250 32000 100 128
#fs.file-max = 131072
net.ipv4.ip_local_port_range = 1024 65000
kernel.msgmni = 2878
#kernel.msgmax = 8192
#kernel.msgmnb = 65535


(#처리는 서버에서 해당값보다 크거나 같은 경우이다. 적다면 주석 풀고 붙여넣는다.)

변경이 완료되면

# /sbin/sysctl -p 로 변경된 설정을 적용한다.


oracle 사용자 계정의 shell limit 설정
Linux 계정 별로 실행되는 프로세스와 열린 파일 수를 제한한다. 이를 위해 /etc/security/limits.conf 를 편집한다.
아래에 추가하자. (간격은 tab으로 조정하던지.. 알아서 )
#<domain>      <type>  <item>         <value>
    oracle            soft     nproc            2047
    oracle            hard    nproc            16384
    oracle            soft     nofile             1024
    oracle            hard    nofile             65536

그리고 /etc/pam.d/login 에 다음을 추가하자.
session    required    /lib/security/pam_limits.so


oracle 계정을 위한 환경변수
DB 서버에서 설정해야하는 환경변수는 다음과 같다.

ORACLE_BASE
ORACLE_HOME
ORACLE_SID
PATH

위의 변수를 추가하기 위해서 oracle 계정의 .bash_profile에 다음을 추가한다.

ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=/oracle/11g; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
PATH=$PATH:$ORACLE_HOME/bin

오라클 배포판 다운받기
배포판을 다운받아서 특정 디렉토리에 압축을 풀어놓는다. 물론 디렉토리는 oracle 계정의 소유여야한다.
루트로 작업하고 나중에 chown을 사용해도 상관없다.

# unzip linux.x64_11gR1_database.zip    <물론 zip파일의 이름은 다를 수도 있다 -_->
# chown -R oracle.oinstall ./database

설치 전에..
oracle 계정으로 로그인 해서  설치 파일들을 풀어놓은 디렉토리에서 runInstaller를 실행하기 전에..
# xhost +
(+까지 쳐야한다. 이걸 해줘야 루트로 로그인 한 X윈도에서 터미널로 su - oracle을 이용해서
  oracle 계정을 사용 xwindow 창을 띄울 수 있다. 궁금하다면 man xhost 를 참고할 것)

예전에는 /etc/redhat-release를 수정해주곤 했는데 안해줘도 잘 나온다.

oracle 11g도 한글이 다 깨져서 나온다. runInstaller 전에 다음을 실행한다.
# export LANG=C
그리고 나서 runInstaller를 실행하면 깨지지 않고 나올 것이다. 물론 영어로 -_-;

이제 runInstaller를 실행해보자.

Base Location
Home Location 을 profile과 동일하게 맞춰주고..
Global Database Name 도 SID 와 맞춰준다.
Advanced Installation으로 들어가면 이것저것 만질 수 있는게 많다. 귀찮으므로 패스.

자.. 이제 다음 화면이다.

Inventory Directory와 Group Name을 지정하는데 Inventory는 적당한 곳에 위치시키고..
group name도 dba로 설정해준다.

이제는 설치전 요구사항에 대해서 검사를 하는데.

Warning도 뜨고.. not execute(Network 설정)도 뜬다. 그냥 User Verify 로 선택하고 넘어가자.

11g에서는 다음 화면이 추가로 생겼다. 환경설정 관리자 등록 화면인데.. 등록하면 뭔가 귀찮으니까 -_- 패스


자 이제 Summary 를 볼 수 있다.

Install 버튼을 눌러서 계속 진행한다.

와우. 별일 없이 쭉 넘어갔다. 8i 시절 부터 10g까지 리눅스에 설치시 끈질기게 괴롭히던 Link Error가 사라졌다.
다음은 패스워드 설정이다. 11g 에서는 sys / system / dbsnmp / sysman 을 제외한 모든 계정이 잠겨있다.
여기서 풀어줄 수 있다. scott 정도는 풀어주자.

scott 을 추가해준다.


항상 해오던 루트로 실행해줄 스크립트다. 터미널을 하나 열어서 적혀있는 스크립트를 루트권한으로 실행해준다.

설치가 완료 되었다.




오라클 자동 시작/종료 설정
# vi /etc/oratab
orcl:/oracle/11g:N   <- N을 Y로 수정한다.
orcl:/oracle/11g:Y



에러처리
다음과 같은 에러가 날 것이다.

error while loading shared libraries libnnz11.so: cannot restore segment prot after reloc Permission denied

뭔가 퍼미션이 없다는 얘긴데.. 이건 SELinux를 disable 시켜주면 된다. SELinux disble 시키는 방법은

/etc/selinux/config 파일을 잘 읽어보고 고치면 된다. (모르면 구글에 검색)

또 이런 에러가 날 수도 있다.

$ ./lsnrctl start
 
LSNRCTL for Linux: Version 11.1.0.6.0 - Production on 18-FEB-2008 19:14:37
 
Copyright (c) 1991, 2007, Oracle.  All rights reserved.
 
Message 1070 not found; No message file for product=network, facility=TNSTNS-12545: Message 12545 not found; No message file for product=network, facility=TNS
 TNS-12560: Message 12560 not found; No message file for product=network, facility=TNS
  TNS-00515: Message 515 not found; No message file for product=network, facility=TNS
   Linux Error: 2: No such file or directory


이런 경우는 포트가 열려있지 않은 경우니까.. 방화벽에서 1521번 포트를 열어주자.

오라클 실행과 종료
oracle 계정에서
$ lsnrctl start   <리스너 스타트>

리스너 시작 후에..

$ sqlplus /nolog
sqlplus> connect orcl as sysdba
...
sqlplus> startup

서비스 스크립트 작성

# vi /etc/init.d/oracle 
다음의 내용을 파일에 쓴다.

----------------------------------------------------------------------
#!/bin/bash
ORA_HOME="/oracle/11g/"
ORA_OWNER="oracle"
 
if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]
then
        echo "Oracle Startup: failed"
        exit 1
fi
 
case "$1" in
start)
        echo -n "Oracle Start: "
        su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
        su - $ORA_OWNER -c $ORA_HOME/bin/dbstart
        touch /var/lock/subsys/oracle
        echo "OK"
        ;;
stop)
        echo -n "ORACLE Shutdown: "
        su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
        su - $ORA_OWNER -c $ORA_HOME/bin/dbshut
        rm -f /var/lock/subsys/oracle
        echo "OK"
        ;;
restart)
        $0 stop
        $0 start
        ;;
*)
        echo "Usage: $0 start|stop|restart"
        exit 1
esac
exit 0

----------------------------------------------------------------------

사용은 /etc/rc.d/init.d/oracle start | stop | restart ~

Posted by 1010
61.Linux2008. 7. 14. 14:31
반응형


cat /etc/issue

Posted by 1010