'분류 전체보기'에 해당되는 글 2491건

  1. 2008.07.18 열린포트 확인하기
  2. 2008.07.18 [oracle] 오라클 원격 접속하기
  3. 2008.07.17 [oracle] 삽질...설치기
  4. 2008.07.17 [oracle] sqlplus 안될때 삽질....
  5. 2008.07.17 [oracle] linux pedora 9core 에 oracle11g 설치시 에러 ins_rdbms.mk 2
  6. 2008.07.17 리눅스 환경변수 .bash_profile /etc/profile
  7. 2008.07.17 [oracle] ORA-01034: ORACLE not available 3
  8. 2008.07.17 [oracle] 기본계정..
  9. 2008.07.17 로긴후 프롬포트 이상해지면..
  10. 2008.07.17 [oracle] Linux에서 오라클 삭제하기
  11. 2008.07.17 [oracle] SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
  12. 2008.07.17 전국세무서코드
  13. 2008.07.16 Xlib: connection to ":0.0" refused by server
  14. 2008.07.16 VNC Server 설정 및 사용 1
  15. 2008.07.15 Can't connect to X11 window server using 'localhost:0.0'
  16. 2008.07.15 패치꼬이면..
  17. 2008.07.15 Fedora 9에서 OpenJDK 설치
  18. 2008.07.14 pedora 에서 java 설치 1
  19. 2008.07.14 linux에서 오라클11g 설치 2
  20. 2008.07.14 리눅스 버전확인
  21. 2008.07.14 [oracle] oracle base 설치정보..
  22. 2008.07.14 [Ubuntu Hardy Heron] Oracle 11g 설치.
  23. 2008.07.14 site url를 가지고 site ip address 확인
  24. 2008.07.14 A First Look at Oracle 11g database on Debian GNU/Linux
  25. 2008.07.14 페도라에서 오라클10g 설치성공담
  26. 2008.07.14 6GB 파일 복사 삽질...(대용량파일복사)
  27. 2008.07.14 [oracle] imp error 원인...imp-00003, ora-01435, imp-00000 1
  28. 2008.07.14 http://koxo.com/
  29. 2008.07.14 javascript kit
  30. 2008.07.14 내홈에실시간 접속자 알아보기
61.Linux2008. 7. 18. 10:39
반응형

Linux(리눅스)에서 open port check하기

Ubuntu(우분투)에서 열려있는 포트 목록 보기


# nmap -v 서버아이피

이렇게 입력하면 다음과 같이 결과가 뜹니다.


Not shown: 1705 closed ports
PORT    STATE SERVICE
21/tcp  open  ftp
22/tcp  open  ssh
25/tcp  open  smtp
53/tcp  open  domain
80/tcp  open  http
110/tcp open  pop3
143/tcp open  imap
993/tcp open  imaps
995/tcp open  pop3s

혹시라도 설치가 되어있지 않다면 Ubuntu 유저는 다음과 같이 입력하면 nmap을 설치할 수 있습니다.


# apt-get install nmap
Posted by 1010
02.Oracle/DataBase2008. 7. 18. 09:47
반응형

오라클 원격 접속하기


1. 오라클 서버에 리스너(Listener) 를 가동한다.

다른 컴퓨터에서 오라클에 접속하려면 리스너가 동작해야 한다. 오라클 9i라면, 설치시에 기본적으로 리스너를 설치하고, 서비스를 구성한다. Enterprise Edition이나 Standard Edition은 기본으로 구성하는 단계가 있는데, 혹시 구성 중에 취소했다면 안 만들어 졌을 수도 있다.


리스너는 네트워크를 이용하여 클라이언트에서 오라클 서버로 연결하기 위한 오라클 네트워크 관리자 이다. 오라클 서버에서 리스너를 시작시켜 주어야 클라이언트들이 접속 할 수 있다.


리스너 관련 명령어

c:\>lsnrctl start  리스너 시작하기

c:\>lsnrctl stop  리스너 정지하기

c:\>lsnrctl reload  리스너 재시작하기

c:\>lsnrctl status  리스너 상태보기

c:\>lsnrctl help  도움말


리스너 구성 파일은 $ORACLE_HOME/network/admin 아래에 있는 listener.ora 파일이며, 오라클 서버에서 클라이언트의 요청을 듣고 클라이언트와의 통신 환경을 설정한다.


listener.ora 파일이 없다면, cmd 창을 열어서

C:\> lsnrctl start

라고 치면 자동으로 만들어진다.

만들어진 리스너는 서비스로 등록되는데, 서비스 관리자에서 Oracle....TNSListener라는 이름이 바로 리스너 서비스다.

이 서비스의 시작 유형을 "자동" 으로 해 놓는 것이 편리하다.


서비스 관리자에서 이 서비스를 start 시키거나, cmd 창에서

C:\> lsnrctl start

하면 외부에서 접속할 수 있다.

2. 클라이언트에 오라클 클라이언트를 설치 한다.


리눅스용 오라클 클라이언트는 http://www.oracle.com/technology/global/kr/software/products/database/oracle10g/index.html 에서 다운 받을 수 있다. 되도록이면 설치되어 있는 오라클 버전하고 같은 것을 다운 받는다.
주) 리눅스용 오라클 클라이언트는 X 윈도 에서 설치가 가능하다.

3. 리눅스 시스템의 경우 .bash_profile 파일을 수정한다.

SQL PLUS 같은 터미널 접속 이라면 먼저 해당 계정의 .bash_profile 파일을 수정해 주어야 한다.
예를 들면 아래와 같다.

export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=/oracle/app/oracle/product/8.1.7
export ORACLE_OWNER=oracle
export ORACLE_SID=ORCL
export TMPDIR=$ORACLE_BASE/tmp
export PATH=$PATH:$ORACLE_HOME/bin:/usr/local/java/bin
export JAVA_HOME=/usr/local/java
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=American_America.KO16KSC5601
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

이 계정으로 접속을 했을 때 아무 곳에서나 오라클의 접속이 가능 하도록 패스 지정을 한 것이다.
 

접속 방법

사용자 이름   : <사용자계정>

암호          : <계정비밀번호>

호스트 스트링 : tnsnames.ora 에 설정된 호스트의 별칭

주) 웹을 이용한 접속 이라면 PHP 의 경우 오라클 클라이언트 설치 경로를 지정해 주어 PHP 를 다시 컴파일 해주어야 하며 JSP 같은 경우 라면 오라클 경로를 다시 잡아 주어야 한다.

4. 클라이언트에서 tnsnames.ora 파일을 수정한다.


tnsnames.ora 파일은 오라클 서버로 접속할 때 필요한 프로토콜 및 포트번호, 서버주소, 인스턴스 등을 설정해 주는 파일로써, C:\oracle\ora92\network\admin 디렉토리에 위치한다.

 

MY_DB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 126.138.95.21)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = oradb)
    )
  )


오라클 클라이언트는 원격 DB 접속을 위해 위의 파일 내용을 참조하게 된다.

MY_DB 는 원격 데이터베이스의 사용자 정의 명칭이다. 자신의 PC 에서만 유효한 이름이므로 아무렇게나 주어도 된다. HOST = 126.138.95.21 이 부분이 중요한데...실제 원격 DB 가 위치하고 있는 머신의 IP 주소를 입력하면 된다. 포트는 기본 값이 1521 이다.

SERVICE_NAME 이라는 것은 실제 데이터베이스 이름이라고 보면 된다. MY_DB 가 내 PC 에서만 유효한 것이라면 SERVICE_NAME 은 NETWORK 내에서 유일해야 하므로 실제 원격 머신 상에서 오라클 Database 를 Create할 때 결정되어진다. SERVICE_NAME 및 호스트 머신의 IP 주소에 대해서는 원격 Database 를 관리하는 DATABASE 관리자에게 문의하면 된다.


각 오라클의 버전별로 약간의 tnsname.ora 의 내용이 약간씩 다를 수 있으나 위에 설명한 내용은 9i 에서도 그대로 적용된다.


실제 연결을 위해서 tnsname.ora 를 직접 편집하는 것보다 Net Configuration Assistant 라는 프로그램을 이용하길 바란다. 이 프로그램을 이용하여 원격 DB 연결을 설정하면 실제 연결 테스트를 해 볼 수도 있고, 직접 작성으로 인한 tnsname.ora 파일의 버전간 차이 등의 문제를 피할 수 있다. 위의 프로그램은 오라클 클라이언트를 설치하면 프로그램 메뉴에서 찾아볼 수 있다. 해당 프로그램 사용법은 지면 관계상 생략하나 네이버에서 검색하면 쉽게 찾아볼 수가 있을 것이다.


그 후에 다시 로그아웃 하고 로그인을 한후 sqlplus 라고 입력하면 됩니다.

오라클의 설치도 쉽지 않지만 클라이언트의 설치도 간단치 않으므로 차근차근 실수 없이 진행 해야 합니다.

TNSPING으로 접속 TEST하는 방법

Windows 3.1용 SQL*Net을 설치한 경우에 Nettest.exe로써 Server에 접속 여부를 test했었으나, Windows 95용 SQL*Net을 설치하면 tnsping.exe라는 프로그램이 생긴다. 이 프로그램은 일반적인 TCP/IP 프로그램에서 제공하는 Ping Utility와 유사한 방식으로 DB Server에 Login 여부를 확인할 수 있다. SQL*Net 2.2이상에서만 제공이 되며, SQL*Net V1에서는 사용할 수 없다.


C:\oracle\ora92\bin\tnsping.exe

[ 사용 방법 ]

tnsnames.ora file에 tns services name 및 접속에 관련된 내용을 기술한다.  
예: MY_DB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 126.138.95.21)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = oradb)
    )
  )


tnsping utility 사용 예
 

c:\>tnsping oradb 5

TNS Ping Utility for 32-bit WINDOWS: Version 9.2.0.1.0 - Production on 18-NOV-2006 09:52:34  

Copyright (c) Oracle 1997 Corporation. All rights reserved.

사용된 매개변수 파일

C:\oracle\ora92\network\admin\sqlnet.ora

별칭 분석을 위해 TNSNAMES 어댑터 사용
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 126.138.95.21)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = oradb)))
확인 (50 밀리초) 
확인 (30 밀리초) 
확인 (30 밀리초) 
확인 (50 밀리초) 
확인 (30 밀리초)


주) tnsping 은 되는데 오라클 연결이 안될 때는 방화벽을 검사한다. 방화벽은 예외설정을 해도 되지 않고 사용안함 설정을 해야 한다. 또한 tnsnames.ora 파일에 HOST = 126.138.95.21 부분을 ip 주소가 아닌 host 명으로 했을 때 안되는 경우가 있다.

-----------------------------------------------------------------------------------------------------
TNSListener!! 잊지 않겠다 ㅡㅡ+

Posted by 1010
02.Oracle/DataBase2008. 7. 17. 17:46
반응형
오라클을 설치하기 위한 준비
 
 
필수 RPM 화일들 : gcc-3.2-7 5번째로 설치
cpp-3.2-7 1번째로 설치
glibc-devel-2.2.93-5 4번째로 설치
kernel-headers-2.4.19-5cl 3번째로 설치
binutils-2.13.90.0.2-2 2번째로 설치
Oracle 10g를 설치하려면 몇몇 패키지가 반드시 설치되어 있어야 합니다.
확인 후 설치가 안된 패키지는 따로 설치해 줍니다.
[root@ora10 src]# rpm -q binutils gcc make openmotif
[root@ora10 src]# rpm -Uvh --nodeps binutils-2.13.90.0.18-9.i386.rpm
[root@ora10 src]# rpm -Uvh --nodeps gcc-3.2.2-5.i386.rpm
[root@ora10 src]# rpm -Uvh --nodeps make-3.79.1-17.i386.rpm
[root@ora10 src]# rpm -Uvh --nodeps openmotif-2.2.2-14.i386.rpm

리눅스용 오라클은 설치시에 Linking 까지 같이 하므로 반드시 그에 따른 Library 가 필요하다.
위의 RPM 들이 그것인데 만일 설치 안 한 RPM 들이 있다면 Linking 할 때 Invoke 에러를 접하게
될 것이다. 위의 RPM 들은 RedHat8.0 CD나 http://rpmfind.net 에서 구할수 있다.
여기서 위의 것들을 설치할 때 의존성이 문제가 되므로 설치 순서를 따르는 게 편리할 것이다.
참고로 rpm 설치 명령어는 #rpm -i 패키지 이름 이다.
그리고 내 리눅스 서버에는 kernel-headers가 설치되어 있지 않았고 kernel-headers 인스톨 시
glibc-kernheaders-2.4-7.20 과 충돌하여 에러가 났는데
#rpm -e -nodeps glibc-kernheaders-2.4-7.20 명령을 내려 삭제한 후 다시
rpm -i kernel-headers-2.4.19-5cl.i386.rpm 을 해라. 이제 잘될 것이다.
위의 것들이 제대로 설치 되었는지 확인하려면 다음의 명령을 사용한다.

1. 오라클 프로그램 다운로드

아래의 주소에서 오라클 파일중, ship.db.cpio.gz을 다운 받습니다.



아래의 명령으로 압축을 풉니다.
# zcat ship.db.cpio.gz | cpio -idmv


2. OS 환경 변경

오라클 10g는 자체적으로 테스트된 몇 가지의 OS만 설치되도록 체크하는 부분이 있습니다.
이를 위해 /etc/redhat-release 파일을 생성 후 레드햇 3 버전으로 만듭니다.
Oracle 10g를 설치하려면 인증된 운영체제만 설치가 가능하도록 하는 부분이 있습니다.
RedHat Linux Advanced Server 3 로 속입니다.
# echo "redhat-3" > /etc/redhat-release


3. 사용자 및 그룹생성

아래의 명령으로 사용자 및 그룹을 생성합니다.

# groupadd dba
# groupadd oinstall
# useradd -g oinstall -G dba oracle
# passwd oracle


오라클이 설치될 디렉토리를 생성합니다. ---> 꼭 생성하지 않아도 /home/oracle를 디폴트로해도된다.

# mdkir -p /u01/app/oracle
# chown -R oracle.oinstall /u01
# chmod -R 755 /u01/app/oracle



4. 커널 파라미터 수정

원래 공유메모리와 세마포어를 변경한 값을 적용하여 커널을 재컴파일 해야하지만
여건이 되지 않는 (필자도 커널 재컴파일 여건이 안된다.) 경우 소프트웨어적으로
공유메모리와 세마포어를 변경할 수 있다.
가장 마지막에 다음을 추가합니다.
/etc/sysctl.conf 파일에 뒷 부분에 아래와 같이 내용을 추가합니다.

[root@localhost ~]# cat >> /etc/sysctl.conf << eof
### Oracle 10g Kernel Parameters
kernel.shmmax = 1073741824
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range=1024 65000

수정한 /etc/systl.conf의 파라미터 값을 새롭게 커널에 적용시킵니다.

[root@localhost ~]# /sbin/sysctl -p


5. 오라클 사용자의 환경변수 추가

/home/oracle/.bash_profile 파일의 뒤에 아래 내용을 추가합니다.

##############################################
export ORACLE_BASE=/u01/app/oracle  -->디폴트로 /home/oracle 로 했음
export ORACLE_SID=ORCL   ----------->편하게 oracle 로 했음
export ORACLE_HOME=ORACLE_BASE/product/10.1.0/db_1
export PATH=ATH:ORACLE_HOME/bin
export DISPLAY=127.0.0.1:0.0
##############################################


관리자(root) 권한으로 아래의 명령을 실행합니다.
# xhost + 127.0.0.1
※ 위 명령은 반드시 해당 로컬서버에서 작업을 하셔야 합니다.(원격에서는 안됩니다.)
   (오라클 설치는 로컬서버에서 모든 작업을 하시는 것이 좋습니다.)
root 이외의 일반계정도 권한상관없이 엑스윈도우를 사용할수있게 하기위한 명령

6. 오라클 설치시작

※ 지금부터는 반드시 oracle 사용자 계정으로 실행해야 합니다.
   지금 root권한으로 로그인 되어있다면 로그아웃 하시고,
   oracle 계정으로 다시 로그인하시기 바랍니다.

오라클 설치 프로그램을 압축푼 장소로 이동하여, 아래 파일을 찾아서 실행시킵니다.
runInstaller

이명령을 내렸을때 여러 가지 에러가 뜰수있다. /home /tmp /home/oracle 등의 퍼미션을 다시한번
확인하자 755

※ 만약 글자가 깨져서 보인다면, 프로그램을 종료하고 아래명령을 입력한후 다시 프로그램을 실행합니다.
unset LANG


7. Welcome

환영인사 입니다. Next를 클릭합니다.


8. Specify Inventory directory and credentials

디렉토리와 시스템그룹 지정. Next를 클릭합니다.

※ 경고창이 나타납니다.
/u01/app/oracle/oraInventory/orainstRoot.sh를 실행하라는 내용입니다.
콘솔을 띄워서 root 권한으로 변경한 다음, 아래와 같이 스크립트 파일을 실행합니다.
# /u01/app/oracle/oraInventory/orainstRoot.sh
팝업창의 Continue를 클릭합니다.


9. Specify File Locations

설치할 파일과 설치될 파일의 위치를 지정합니다. Next를 클릭합니다.


10. Select Installation Type

오라클을 설치할 유형을 선택합니다. Enterprise Edition을 선택하고, Next를 클릭합니다.


11. Specific Prerequisite Checks

이제까지의 설정을 확인합니다. 이상 없으면 Next를 클릭합니다.

커널 파라미터를 체크하는 부분에서 경고 팝업이 뜹니다.
Yes를 눌러 경고를 무시하고 계속 진행합니다.


12. Select Database Configuration

데이터베이스 사용 용도에 따라 설정 옵션을 선택합니다.
보통 General Purpose로 하면 됩니다. Next를 클릭합니다.


13. Specify Database Configuration Options

데이터베이스의 Global Database Name/SID/Character set의 옵션을 지정합니다.
Global Database Name와 SID는 [ORCL] 로 Character set은 [Korean KO16KSC5601]로 Database 예제 스키마도 생성합니다.
Next를 클릭합니다.


14. Select Database Management Option

데이터베이스를 관리하는데 필요한 옵션을 선택합니다. Next를 클릭합니다.


15. Specify Database File Storage Option

데이터베이스 파일의 스토리지 옵션을 지정합니다. 보통 File System으로 하시면 됩니다.
Next를 클릭합니다.


16. Specify Backup and Recovery Options

백업이나 복구 옵션을 지정합니다. 기본값으로 넘어갑니다.
Next를 클릭합니다.


17. Specify Database Schema Passwords

오라클 관리를 위한 계정들의 패스워드를 입력합니다.
(SYS, SYSTEM, SYSMAN, DBSNMP 등)
개별적으로 입력해도 되며, 하단의 "Use the same password for all the accounts"를 선택하여 한번에 동일하게 입력 가능합니다.
Next를 클릭합니다.

18. Summary

이제까지 선택한 내용을 창으로 보여줍니다. [Install] 버튼을 클릭하여 설치를 시작합니다.


19. Install

....[설치 진행 중]....

자동으로 설치가 진행되는 동안, 차한잔 하면서 느긋하게 기다려줍시다.



20. Configuration Assistants

파일 설치 후 데이베이스 관련 파일들을 복사하고 오라클 인스턴스를 생성합니다.

70%이상 넘어가면서 패스워드 오류가 날 수 있습니다. 이는 무시하셔도 좋습니다.

모든 설치가 끝난 후, 각 오라클 시스템에 패스워드를 지정하려면 [Password Management]를 클릭하고,
아니면 [OK] 버튼을 클릭합니다.


21. Setup Privileges

[OK] 버튼을 클릭하면 root.sh 파일을 실행하라는 창이 나타납니다.
root 권한으로 아래와 같이 스크립트 파일을 실행합니다.
# /u01/app/oracle/product/10.1.0/db_1/root.sh


22. End of Installation

이제 설치가 모두 종료되었습니다. Exit 버튼을 눌러서 프로그램을 종료합니다.



* 추가 덧글

데이타베이스를 기동만 하면 안되죠 외부에서 접속하도록 리스너를 띄워야 합니다.

우선 listener.ora 파일을 수정합니다.
ORACLE_HOME/network/admin/listener.ora 파일 내용

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/10.1.0/db_1)
(PROGRAM = extproc)
)
# 추가부분 시작 - 이걸 추가해야 8i 이하의 클라이언트에서 연결했을 때 SERVICE_NAME 관련 내용이
없습니다.
(SID_DESC =
(SID_NAME = ORCL)
(ORACLE_HOME = /u01/app/oracle/product/10.1.0/db_1)
)
# 추가 부분 끝
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 해당ip)(PORT = 1521)) # <== 서버명 대신에 반드시
ip를 넣으세요 127.0.0.1을 넣으시면 안됩니다. 외부에서 소켓이 닫힌 것으로 인식합니다.
)
)
)

한텀내용을 일일이 보고 친 것이니 오타가 있을 수 있습니다. 이는 감안하고 보세요.

이제 리스너를 띄웁니다.

lsnrctl start

리스너의 기동을 확인합니다.

netstat -a | grep 1521
tcp 0 0 해당ip:1521 *:* LISTEN

절대
tcp 0 0 서버명:1521 *:* LISTEN
으로 나오면 위 설정중 HOST의 내용을 확인하세요. 데이타베이스를 기동만 하면 안되죠 외부에서
접속하도록 리스너를 띄워야 합니다.







Database 시작과 종료
오라클 데이터베이스 시작하기
Database 의 시작과 종료는 반드시!! Oracle 계정으로 수행해야 합니다.
[root@ora10 /]# su oracle
oracle 계정으로 로그인 후 oracle 계정의 환경설정을 reload 합니다.
(처음부터 오라클 계정으로 로그인 하였다면 이 과정은 불필요합니다.)
[oracle@ora10 /] sqlplus /nolog
SQL>connect / as sysdba
SQL> startup
오라클 데이터베이스를 시작하고 종료하기 위해서는 OS에서의 인증과 암호 파일을 생성하는
툴인 orapwd를 통해야 한다. 그리고 sys 스키마의 권한인 sysdba 권한과 public 스키마
권한인 sysoper 권한의 특별한 시스템 권한을 소유한 사용자이어야 한다.
· sysdba : 데이터베이스 시작/종료, 아카이브 및 복구 작업, ALTER DATABASE OPEN,
MOUNT, BACKUP, CHANGE, CHARACHER SET 절의 명령어 실행
· sysoper : 데이터베이스 시작/종료, 아카이브 및 복구 작업, ALTER DATABASE OPEN,
MOUNT, BACKUP 절의 명령어 실행
SQL> SELECT * FROM vversion;
현재의 오라클 데이터베이스 인스턴스의 버전 확인하기

오라클 데이터베이스 종료하기
[oracle@ora10 /] sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown immediate
SQL> exit

oratab 파일 편집하기
오라클 데이터베이스를 /etc/rc.d/ini.d에 스크립트로 설정하여 자동으로 실행하게 하여봅시다.
[root@ora10 /]# vi /etc/oratab
다음 부분을 수정 ([SID], [ORACLE_HOME], [자동실행/종료 플래그]로 구성되어 있습니다.)
ora10:/opt/oracle/product/10.1.0/db_1:Nè
ora10:/opt/oracle/product/10.1.0/db_1:Y

Parameter 파일 링크
xxxxxxxxxxxx은 일정치 않은 숫자 입니다.
[root@ora10 /]# cp /opt/oracle/admin/ora10/pfile/init.ora.xxxxxxxxxxxx \
/opt/oracle/product/10.1.0/db_1/dbs/initora10.ora

/etc/rc.d/init.d 에 등록하기
oracle10g 스크립트를 /etc/rc.d/init.d 에 복사합니다.
[root@ora10 /]# cp /usr/local/src/oracle-10.1.0.2.0 /etc/rc.d/init.d/
oracle10g에 실행권한을 부여합니다.
[root@ora10 /]# chmod 755 /etc/rc.d/init.d/oracle10g
시스템에 oarcle10g 데몬을 등록한다.
[root@ora10 /]# chkconfig --add oracle10g
[root@ora10 /]# chkconfig --level 2345 oracle10g on
Oracle Database를 재시작 시켜본 후, LISTENER 데몬이 띄워져 잇는지 확인합니다.
[root@ora10 /]# /etc/rc.d/init.d/oracle10g start
[root@ora10 /]# ps ax | grep LISTENER
################## listener.ora ##########################
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT
= 1521))
)
)
)

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC=
(SID_NAME=ORA817)
(ORACLE_HOME = oracle_home 디렉토리경로명)
)
)

###############################################################

이렇게 수정하시고요..
>lsnrctl start <- 리스너 서비스 기동
해주시면 됩니다..
###############################################################

.MK 오류
링크할때 자꾸 .mk 오류가 나서 미치겠네요

오라클 설치시, 링크작업중 65%정도에서 나타나는 에러 처리방법입니다.

****************************************************************
"Error invoking target install of makefile
/opt/oracle/product/9.0.1/plsql/lib/ins_plsql.mk"
"Error invoking target install of makefile
/opt/oracle/product/9.0.1/precomp/lib/ins-precomp.mk"
"Error invoking target install of makefile
/opt/oracle/product/9.0.1/precomp/lib/ins-net-client"
"Error invoking target install of makefile
/opt/oracle/product/9.0.1/precomp/lib/ins-oemagent"
****************************************************************
위와 같은 에러발생시

1.
ORACLE_HOME/bin/genclntsh
파일의

LD_SELF_CONTAINED="-z defs"
이 부분을

LD_SELF_CONTAINED=""
이렇게 수정한 다음

2.
ORACLE_HOME/bin/genclntsh
이 스크립트를
"oracle" 유저로 실행
su - oracle
ORACLE_HOME/bin/genclntsh
Created /opt/oracle/product/9.0.1/lib/libclntst9.a

3. 그리고 나서 에러 팝업창의 재시도를 수행합니다.
##################################################################


저도 이문제 때문에 세번의 리눅스 재설치와 세번의 오라클 재설치를 시도해 보
았습니다만, 말짱 꽝이었습니다.

http://linux.oreillynet.com/lpt/a/4141

문서를 참조하십시오.. 100% 설치됩니다.

이상.
##################################################################
Posted by 1010
02.Oracle/DataBase2008. 7. 17. 17:13
반응형

sqlplus /nolog


sql> conecnt sys/pass as sysdba
sql> startup

sqlplus /nolog

connect sys/패스워드 as sysdba

Posted by 1010
02.Oracle/DataBase2008. 7. 17. 15:16
반응형

\uc815\ubcf4: make[1]: Leaving directory `/home/oracle/database/product/11.1.0/db_1/rdbms/lib'

\uc815\ubcf4: make[1]: *** [/home/oracle/database/product/11.1.0/db_1/rdbms/lib/extproc32] \uc624\ub958 1

\uc815\ubcf4: make: *** [extproc32] \uc624\ub958 2

\uc815\ubcf4: \uc0dd\uc131\ub41c \ud504\ub85c\uc138\uc2a4\uc5d0\uc11c \ucd9c\ub825 \ub9c8\uce68.
\uc815\ubcf4: ----------------------------------
\uc815\ubcf4: \uc791\uc5c5\uc5d0\uc11c \ubc1c\uc0dd\ud55c \uc608\uc678 \uc0ac\ud56d: make
\uc608\uc678 \uc0ac\ud56d \uc774\ub984: MakefileException
\uc608\uc678 \uc0ac\ud56d \ubb38\uc790\uc5f4: make \ud30c\uc77c '/home/oracle/database/product/11.1.0/db_1/rdbms/lib/ins_rdbms.mk'\uc758 'all_no_orcl' \ub300\uc0c1\uc744 \ud638\ucd9c\ud558\ub294 \uc911 \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4. \uc790\uc138\ud55c \ub0b4\uc6a9\uc740 '/home/oracle/oraInventory/logs/installActions2008-07-17_09-52-57PM.log'\uc744(\ub97c) \ucc38\uc870\ud558\uc2ed\uc2dc\uc624
\uc608\uc678 \uc0ac\ud56d \uc2ec\uac01\ub3c4: 1


-------------------------------------------------------------------------
Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 10.2.0.2
This problem can occur on any platform.
After installing any One-off patch in RAC nodes, one of those nodes may fail to start the instance.


NOTE: We did observe the similar problem on 10.2.0.2 RAC installations where certain libraries are not copied from the installing node to other RAC nodes. For such type of problem while performing installation, please refer to the following note.

Note 363840.1 - 10.2.0.2 RAC: ORA-7445 in KKXSYN or KKXCMS ON ALL NODES BUT INSTALL NODE


Symptoms
Oracle Instance does not startup on one of RAC the nodes after installing any One-off Patch.

If you see the alert and trace log files, you may see the following errors:

ORA-00469: CKPT process terminated with error

ORA-07445: exception encountered: core dump [] [] [] [] [] []

Cause
It was noted that the resulting 'Oracle' binaries on different nodes were not the same. Running a cksum on all involved libraries in lib/ and rdbms/lib/, it was evident that libknlopt.a was different across nodes. The object modules that get into libknlopt.a however are identical, so it clearly appears that libknlopt.a isn't relinked on nodes other than the installation one.
Solution
Copy the good library in the faulty node and manually re-link the Oracle again.

Ensure all instances are shut down !


Manually copy good $ORACLE_HOME/rdbms/lib/libknlopt.a from the local node to all remote faulty nodes and relink Oracle again on all faulty nodes.


eg: cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk ioracle

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

[root@smbi-web lib]# make -f ins_rdbms.mk ioracle
chmod 755 /home/oracle/database/product/11.1.0/db_1/bin

 - Linking Oracle
rm -f /home/oracle/database/product/11.1.0/db_1/rdbms/lib/oracle
gcc  -o /home/oracle/database/product/11.1.0/db_1/rdbms/lib/oracle -L/home/oracl
e/database/product/11.1.0/db_1/rdbms/lib/ -L/home/oracle/database/product/11.1.0
/db_1/lib/ -L/home/oracle/database/product/11.1.0/db_1/lib/stubs/   -Wl,-E /home
/oracle/database/product/11.1.0/db_1/rdbms/lib/opimai.o /home/oracle/database/pr
oduct/11.1.0/db_1/rdbms/lib/ssoraed.o /home/oracle/database/product/11.1.0/db_1/
rdbms/lib/ttcsoi.o  -Wl,--whole-archive -lperfsrv11 -Wl,--no-whole-archive /home
/oracle/database/product/11.1.0/db_1/lib/nautab.o /home/oracle/database/product/
11.1.0/db_1/lib/naeet.o /home/oracle/database/product/11.1.0/db_1/lib/naect.o /h
ome/oracle/database/product/11.1.0/db_1/lib/naedhs.o /home/oracle/database/produ
ct/11.1.0/db_1/rdbms/lib/config.o  -lserver11 -lodm11 -lsage11 -lnnet11 -lskgxp1
1 -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11
-lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lclient11  -lvsn11 -lcommon
11 -lgeneric11 -lknlopt `if /usr/bin/ar tv /home/oracle/database/product/11.1.0/
db_1/rdbms/lib/libknlopt.a | grep xsyeolap.o > /dev/null 2>&1 ; then echo "-lora
olap11" ; fi` -lslax11 -lpls11  -lrt -lplp11 -lserver11 -lclient11  -lvsn11 -lco
mmon11 -lgeneric11 `if [ -f /home/oracle/database/product/11.1.0/db_1/lib/libavs
erver11.a ] ; then echo "-lavserver11" ; else echo "-lavstub11"; fi` `if [ -f /h
ome/oracle/database/product/11.1.0/db_1/lib/libavclient11.a ] ; then echo "-lavc
lient11" ; fi` -lknlopt -lslax11 -lpls11  -lrt -lplp11 -ljavavm11 -lserver11  -l
wwg  `cat /home/oracle/database/product/11.1.0/db_1/lib/ldflags`    -lncrypt11 -
lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /home/oracle/database/product/11.1.0/
db_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -l
ztkg11 -lmm -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls1
1 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lztkg11 `cat /hom
e/oracle/database/product/11.1.0/db_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs
11 -ln11 -lnl11 -lnro11 `cat /home/oracle/database/product/11.1.0/db_1/lib/ldfla
gs`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11   -lsnl
s11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore1
1 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `if /usr/bin/ar tv /home/oracle/dat
abase/product/11.1.0/db_1/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>
&1 ; then echo " " ; else echo "-lordsdo11"; fi` -L/home/oracle/database/product
/11.1.0/db_1/ctx/lib/ -lctxc11 -lctx11 -lzx11 -lgx11 -lctx11 -lzx11 -lgx11 -lord
imt11 -lclsra11 -ldbcfg11   -lhasgen11 -lcore11 -lskgxn2 -locr11 -locrb11 -locru
tl11 -lhasgen11 -lcore11 -lskgxn2   -loraz -lsnls11 -lnls11  -lcore11 -lsnls11 -
lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lco
re11 -lnls11 -lsnls11 -lunls11  -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lco
re11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls1
1 -laio    `cat /home/oracle/database/product/11.1.0/db_1/lib/sysliblist` -Wl,-r
path,/home/oracle/database/product/11.1.0/db_1/lib -lm    `cat /home/oracle/data
base/product/11.1.0/db_1/lib/sysliblist` -ldl -lm   -L/home/oracle/database/prod
uct/11.1.0/db_1/lib
test ! -f /home/oracle/database/product/11.1.0/db_1/bin/oracle ||\
           mv -f /home/oracle/database/product/11.1.0/db_1/bin/oracle /home/oracle/databas
e/product/11.1.0/db_1/bin/oracleO
mv /home/oracle/database/product/11.1.0/db_1/rdbms/lib/oracle /home/oracle/database/produc
t/11.1.0/db_1/bin/oracle
chmod 6751 /home/oracle/database/product/11.1.0/db_1/bin/oracle

Posted by 1010
61.Linux2008. 7. 17. 13:34
반응형

환경 변수는  리눅스를 기준으로

해당 계정에만 설정 하는경우

  .bash_profile 에 정의 하거나

  /etc/profile 에 정의를 해둘수가 있습니다.


 /etc/profile 에 정의를 하면 모든 사용자들이 오라클을 사용할수 있습니다.

Posted by 1010
02.Oracle/DataBase2008. 7. 17. 13:22
반응형

ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory


상태로 봐서는... 오라클DB를 기동하는 DB 파일중의 일부가 없기 때문입니다.

오라클DB를 기동하기 위해서는

1. 시스템 테이블스페이스 (기본 파일명 : system.dbf)

2. UNDO 테이블스페이스  (기본 파일명 : undotbs1.dbf)

3. TOOLS 테이블스페이스 (기본 파일명 : tools.dbf)

그리고

온라인 리두로그 파일(redo1.log, redo2.log, redo3.log,...),

컨트롤 파일 (control1.ctl,...)

가 필요한데, 해당 테이블스페이스가 속한 데이터파일이 파일 시스템에 없거나

경로가 잘못 지정되어 있어서 그렇습니다.


님이 관리하시는 서버에 Oracle DB가 어떻게 구성되어 있는지를 몰라서

정확한 답변을 드리기는 힘들고요

(외장 Disk Array 를 사용하시는지, 혹은 NFS를 사용하시는지...

 어떤 이유에서인지 linux 파일시스템 mount 가 되어 있지 않아서

 오라클 데몬이 파일을 찾지 못하는 경우입니다)


우선 파일시스템 체크를 해보시고요...


파일 시스템에 이상이 없다면

shell 에서 sqlplus "/ as sysdba" 로 접속하셔서 다음의 명령어를 입력해 보시기 바랍니다...


select tablespace_name, file_name

  from dba_data_files;


쿼리로 나온 결과에는 테이블스페이스 및 해당 테이블스페이스의 내용을 보관하고 있는

데이터파일 이름이 나옵니다.

이 결과값이 현재 물리적인 파일시스템과 일치하는지 하나씩 확인해 보시기 바랍니다.


참고로...

오라클의 관리자 계정인 system 계정의 기본 패스워드는 'manager' 입니다.

통상 오라클 9i 이상부터는 DBA가 DB를 관리하기 위하여 svrmgrl 을 사용하지 않고

sqlplus "/ as sysdba" 로 접속하게 되어 있습니다.


** 답변 일부를 수정드립니다.


또 하나의 가능성은


리눅스 Shell 환경변수에서

$ORACLE_HOME 이나 $ORACLE_SID 가 잘못 되어 있을수 있습니다.


계정의 home directory에서

vi .cshrc (C-Shell 사용시)

vi .profile (Korn Shell, Bourne-Shell 사용시)

하셔서 $ORACLE_SID 나 $ORACLE_HOME 이 어떻게 정의되어 있나 확인하시고요


echo $ORACLE_HOME

명령으로 나온 결과의 끝에 "/" 가 붙어 있으면 안됩니다.


예> ORACLE_HOME = /oracle/app/oracle/9204/product  (O)

        ORACLE_HOME = /oracle/app/oracle/9204/product/ (X)


$ORACLE_SID의 확인은

echo $ORACLE_SID

명령으로 확인 가능하고요


만약 $ORACLE_SID = MYDB 라면


오라클 데몬 프로세스가 떠 있는지 확인하시고요, 명령은

ps -ef | grep ora_

라고 치시면


ora_smon_MYDB


라고 나와야 정상입니다.

Posted by 1010
02.Oracle/DataBase2008. 7. 17. 13:15
반응형

오라클의 관리자 계정인 system 계정의 기본 패스워드는 'manager' 입니다.

통상 오라클 9i 이상부터는 DBA가 DB를 관리하기 위하여 svrmgrl 을 사용하지 않고

sqlplus "/ as sysdba" 로 접속하게 되어 있습니다.

Posted by 1010
61.Linux2008. 7. 17. 13:12
반응형
# .bash_profile
                
                # Get the aliases and functions
                if [ -f ~/.bashrc ]; then
                    . ~/.bashrc
                fi
                
                # User specific environment and startup programs
Posted by 1010
02.Oracle/DataBase2008. 7. 17. 13:11
반응형
Linux에서 오라클 삭제하기

1. $ORACLE_HOME 디렉토리에 있는 설치 화일을 전부 삭제.
2. /etc 디렉토리에 있는 oraInst.loc, oratab 파일을 삭제.
3. /usr/local/bin/oraenv 파일을 삭제.
4. /tmp 디렉토리에서 관련된 파일을 삭제.
5. oracle 설치시 생성한 계정의 환경설정 파일(.bash_profile)을 다른 위치에 복사.
6. oracle 설치시 생성한 계정 삭제.
7. oracle 설치시 생성한 계정의 HOME 디렉토리 삭제
8. 끝입니다. 다시 설치하시면 됩니다.

Posted by 1010
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
02.Oracle/DataBase2008. 7. 14. 14:23
반응형
Posted by 1010
02.Oracle/DataBase2008. 7. 14. 13:27
반응형
*설치전 사전 작업*

1.필수 패키지 설치 및 기본 쉘(bash) 심볼릭 링크 설정.
sudo apt-get install build-essential libaio1 gawk ksh libmotif3 alien libtool lsb-rpm
sudo ln -sf bash /bin/sh

2.오라클 유저 및 그룹 추가.
sudo addgroup oinstall
sudo addgroup dba
sudo addgroup nobody
sudo usermod -g nobody nobody
sudo useradd -m oracle -g oinstall -G dba -s /bin/bash
sudo passwd oracle
sudo mkdir -p /oracle/11g
sudo chown -R oracle:dba /oracle
sudo chown -R oracle:dba /home/oracle

3.심볼릭 링크 설정.
###루트 권한획득.
sudo su -
mkdir /etc/rc.d
ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/bin/basename /bin/basename
ln -s /etc/rc0.d /etc/rc.d/rc0.d
ln -s /etc/rc0.d /etc/rc.d/rc1.d
ln -s /etc/rc2.d /etc/rc.d/rc2.d
ln -s /etc/rc3.d /etc/rc.d/rc3.d
ln -s /etc/rc4.d /etc/rc.d/rc4.d
ln -s /etc/rc5.d /etc/rc.d/rc5.d
ln -s /etc/rc6.d /etc/rc.d/rc6.d
ln -s /etc/rcS.d /etc/rc.d/rcS.d

4.커널 변수 및 시스템 설정.
cat >> /etc/sysctl.conf << EOF
fs.file-max = 65535
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65535
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
EOF
cat >> /etc/security/limits.conf << EOF
oracle soft nproc 2047
oracle hard nproc 16383
oracle soft nofile 1023
oracle hard nofile 65535
EOF
cat >> /etc/pam.d/login << EOF
session required /lib/security/pam_limits.so
session required pam_limits.so
EOF

sysctl -p

5.오라클 환경변수 설정.
vi /etc/profile
export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle/product/11.1.0/db_1
export ORACLE_SID=orcl11
export PATH=$PATH:$ORACLE_HOME/bin

6.레드햇 버전 추가.
echo "Red Hat Linux release 4" > /etc/redhat-release


*설치*

1.시스템 재부팅 후 oracle 유저로 접속.

2.오라클 11g 다운로드 및 압축 해제.
사용자 삽입 이미지

3.인스톨러 실행.
./runInstaller -ignoreSysPrereqs

※인스톨러가 구동중 display에러 발생할 경우.
1.DISPLAY 환경변수 확인.
echo $DISPLAY

2.확인시 DISPLAY 값이 없을 경우 DISPLAY 환경변수 설정.
export DISPLAY=:0.0
사용자 삽입 이미지

※에러화면(디렉토리 및 권한 불충분 에러) : 그냥 OK클릭 후 다음 단계 진행
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지


우분투 오라클 설치 관련 글 : http://kekedie.tistory.com/4
Posted by 1010
98..Etc/Etc...2008. 7. 14. 12:37
반응형
cmd -> nslookup -> url ->
Posted by 1010
98..Etc/Etc...2008. 7. 14. 12:20
반응형

A First Look at Oracle 11g database on Debian GNU/Linux

Three and half years have passed since my first attempts to install Oracle 10g on an unsupported Debian GNU/Linux distribution. Seeing that Oracle 11g is out, and exclusively for Linux at this time, I decided to download it among the first and see and share with you what it's installation looks like.

The distribution can be downloaded from the Oracle Database Software Downloads page, but let me warn you upfront that the archive is 1.7GB in size, so you'll need quite a big pipe to successfully download it. What makes it even harder is that Oracle insists that you download it from browser window (Wget and similar utilities won't work out of the box, although there are some tricks that can be deployed), so be prepared to have that browser window open for a long time and prey that download doesn't break along the way.

I won't go into details with preparation tasks (stuff you need to do even before you launch the installer), because that is very well documented (Oracle database has great, although a bit overwhelming, documentation). When you unpack the zip archive, you can access the documentation with your browser (iceweasel welcome.html). Suffice to say that you at least have to create an oracle user and group, and recheck you shared memory parameters.

./runInstaller

OK, so after we have launched the installer, we're greeted with the welcome window which gives us opportunity to change the default installation directory, and tune some other aspects of this installation.

I chose the option to create the Starter Database, to see how it works. But at this time I skipped the option to do the Advanced Installation. Some more configuration windows follow, be sure to pick appropriate paths for your new install.

Finally, we reach the step where Oracle checks some system parameters (Prerequisites Check) where it finds that the install is not running on a certified Linux distribution. But it's quite cleverly architected, the installation doesn't break, instead it forces you to confirm that is really what you want. I liked it, readily checked the needed boxes, so that installation could continue.

Before the disk crunching part starts, we have yet another nice summary screen to recheck all the parameters we've given to the installer.

What follows is 15-30 minutes of installing, linking, setting up and configuring of software packages. Go make yourself a cup of tee, there is nothing you need to do until the copying is over. :)

Near the end of the installation, when database configuration assistant and other assistants are launched, I got my first error.

Actually a warning, because everything continued to work correctly after that (not a showstopper, it seems). Peeking into suggested log file revealed that it was an Java exception:

CONFIG: Stack Trace:
oracle.sysman.emcp.exception.EMConfigException: Error starting Database Control
        at oracle.sysman.emcp.EMDBPostConfig.performConfiguration(EMDBPostConfig.java:868)
        at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:249)
        at oracle.sysman.emcp.EMDBPostConfig.invoke(EMDBPostConfig.java:212)
        at oracle.sysman.emcp.EMConfig.perform(EMConfig.java:234)
        at oracle.sysman.assistants.util.em.EMConfiguration.run(EMConfiguration.java:460)
        at java.lang.Thread.run(Thread.java:595)

Nevertheless, after accepting that error, we're greeted with a window that suggests the installation went OK.

Next step is to run two scripts as a superuser. Don't worry, Oracle won't make much trouble to your fine administered Debian machine, it'll copy just a few files to /usr/local/bin, /etc and /opt directories and all are easy to found, should you later decide to uninstall the database.

And that's it, happy end. If you don't believe me, here's the last window you'll see before you're back to prompt.

And yes, your new development database is already started and happily running:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
oracle    6389  0.0  0.4  51768  8868 ?        Ssl  18:12   0:00 /ext/oracle/app/or
oracle    6873  0.0  0.7 961116 15148 ?        Ss   18:17   0:00 ora_pmon_orcl
oracle    6875  0.0  0.6 960504 12616 ?        Ss   18:17   0:00 ora_vktm_orcl
oracle    6879  0.0  0.6 960504 12504 ?        Ss   18:17   0:00 ora_diag_orcl
oracle    6881  0.0  0.8 960504 18352 ?        Ss   18:17   0:00 ora_dbrm_orcl
oracle    6883  0.0  0.6 960504 12688 ?        Ss   18:17   0:00 ora_psp0_orcl
oracle    6887  0.0  0.7 961016 14704 ?        Ss   18:17   0:00 ora_dia0_orcl
oracle    6889  0.0  1.3 960504 27208 ?        Ss   18:17   0:00 ora_mman_orcl
oracle    6891  0.0  3.1 963060 65828 ?        Ss   18:17   0:00 ora_dbw0_orcl
oracle    6893  0.0  1.6 976056 34380 ?        Ss   18:17   0:00 ora_lgwr_orcl
oracle    6895  0.0  0.8 961016 17264 ?        Ss   18:17   0:00 ora_ckpt_orcl
oracle    6897  0.0  4.2 963208 88620 ?        Ss   18:17   0:00 ora_smon_orcl
oracle    6899  0.0  0.8 960504 17544 ?        Ss   18:17   0:00 ora_reco_orcl
oracle    6901  0.0  2.9 965284 61748 ?        Ss   18:17   0:00 ora_mmon_orcl
oracle    6903  0.0  0.8 960504 16644 ?        Ss   18:17   0:00 ora_mmnl_orcl
oracle    6905  0.0  0.6 961080 12748 ?        Ss   18:17   0:00 ora_d000_orcl
oracle    6907  0.0  0.5 961068 12312 ?        Ss   18:17   0:00 ora_s000_orcl
oracle    6917  0.0  1.1 962052 23184 ?        Ss   18:17   0:00 ora_fbda_orcl
oracle    6919  0.0  0.6 960504 12880 ?        Ss   18:17   0:00 ora_smco_orcl
oracle    6921  0.0  0.8 960504 16760 ?        Ss   18:17   0:00 ora_qmnc_orcl
oracle    6935  0.0  1.2 967312 25428 ?        Ss   18:17   0:00 ora_w000_orcl
oracle    7011  0.0  1.6 965128 34660 ?        Ss   18:17   0:00 ora_cjq0_orcl
oracle    7013  0.0  1.3 962072 28596 ?        Ss   18:17   0:00 ora_q000_orcl
oracle    7015  0.0  0.9 960500 18984 ?        Ss   18:17   0:00 ora_q001_orcl
oracle    9852  3.3  9.3 918012 194428 pts/1   Sl   18:18   0:30 /ext/oracle/app/or
oracle    9935  0.0  1.5 962128 32292 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle    9939  0.0  1.7 963172 35360 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10381  0.0  2.3 964172 47904 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10384  3.6  4.3 973416 90640 ?        Ss   18:18   0:32 oracleorcl (LOCAL=
oracle   10387  0.0  2.5 963180 51980 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10390  0.0  1.5 962104 32288 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10394  0.0  2.5 963156 52124 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   10397  0.0  2.0 963152 43256 ?        Ss   18:18   0:00 oracleorcl (LOCAL=
oracle   11826  0.1  1.2 962084 25372 ?        Ss   18:33   0:00 ora_j000_orcl

[/ext/oracle/app/oracle]# du -sm *
1       admin
1       cfgtoollogs
3       diag
1       flash_recovery_area
1613    oradata
3417    product

The database obviously needs quite a lot of resources to run, so be sure to install it on an adequate machine (at least 1GB RAM, 10GB of free disk space and so on...). Happy hacking!

Related:
Oracle10g on Debian Linux HOWTO

Posted by 1010
02.Oracle/DataBase2008. 7. 14. 12:13
반응형
페도라6, 페도라8에서 성공하였습니다..
기본적으로 오라클 홈페이지에 있는 설치 방법을 기반으로 성공하였습니다..

http://www.oracle.com/technology/global/kr/pub/articles/smiley_10gdb_install.html

인터넷에 올라온 경험담들이 다 비슷비슷하지만...필요없는 부분들도 상당히 많았네요(고생한이유;;).

그럼 시작해 보겠습니.

 

1. 커널 버전의 요구사항을 확인한다.


Oracle Database 10g의 커널 버전 요구사항은 2.6.9-5.Elsmp 사용자는 이것과 동일하거나 이후의 버전이어야 합니다.


#uname -r //명령어로 확인


2. 페도라의 패키지 적용상태를 확인한다.


기본적으로 패키지들은 설치가 되어있지만 저같은 경우 몇개가 없어 설치를 하였습니다.


#rpm -q gcc make binutils setarch compat-db compat-libgcc-296  compat-libstdc++-296 \

compat-libstdc++-33 glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel \

libgcc libgcc++ libstdc++-devel openmotif21 libXp // 확인가능하다.

저는 위에서 3갠가 4개정도만 추가로 설치하였는데 openmotif21패키지는 #yum install명령어로 설치가 안됩니다.

http://www.superuser.co.kr/home/search/?select=rpmView&no=14559 // 리눅스포털사이트

에 가셔서 openmotif21-2.1.30-14.i386.rpm으로 컴퓨터환경에 맞는 패키지를 다운 받으시고 설치하세요.(libXp도같이깔리는거같았음..아마도..)


ex)페도라8에서는 setarch, libgcc++이 안깔려요..


3. 시스템 요구사항 확인


최소 메모리 요구사양 512MB, swap 공간의 최소 요구사항 1GB..

이건 거의다 통과할꺼라 생각됨...컴퓨터들이 좋으니..저도 별로 바꾼게 없다는..


4. 오라클 그룹 및 사용자 계정 생성


오라클은 설치하기 위한 사용자 계정을 따로 만들어 두어야 합니다.

#groupadd dba // 그룹생성

#useradd -g dba oracle // 사용자 계정

#passwd oracle // 비번 설정

#id oracle // 확인..


5. Linux커널 매개변수의 설정


커널 매개변수를 변경해 주어야 하는데 시스템이 아래 명시된 것보다 높다면 변경하지 않아도 된다고

했지만..저는 변경을 했습니다..

#vi /etc/sysctl.conf // 를 열어 맨 아래에 다음을 입력합니다.

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000


6. oracle 사용자 계정의 Shell Limit 설정


오라클은 리눅스 계정 별로 실행되는 프로세스와 열린 파일의 수를 제한한데요...

#vi /etc/security/limits.conf // 열고 맨아래에 입력

oracle    soft    nproc    2047

oracle    hard   nproc    16384

oracle    soft    nofile     1024

oracle    hard   nofile     65536


7. oracle 계정을 위한 환경변수


설정해야되는 환경변수에는 ORACLE_BASE, ORACLE_HOME, ORACLE_SID, PATH임

오라클 계정으로 접속한후에 위에있는 환경변수들을 입력해줍니다.

#su oracle

#vi .bash_profile // 열고 맨 아래에 입력

ORACLE_BASE=/home/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/10.1.0/Db_1; export ORACLE_HOME

ORACLE_SID=ORCL; export ORACLE_SID                    // 데이터베이스이름인건알죠?

PATH=$PATH:$ORACLE_HOME/bin; export PATH


저는 환경변수를 오라클 설치한 후에 설치한 경로를 확인해서 입력했어요. (추천..)



8. 운영체제의 버전 검증


오라클 데이터베이스 10는 10.1.0.3의 Installer는 RHEL4가 지원 가능한 버전임을 인식하지 못합니다.

#vi /etc/redhat-release // 열고 변경한다

Red Hat Enterprise Linux AS release 3 (Taroon)


9. 오라클의 설치


이제 설치를 시작할껀데요..오라클 계정으로 접속한담에 오라클10g를 다운받아야합니다.

http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/linuxsoft.html

위에 오라클 홈피에서 ship.db.cpio.gz를 설치할 폴더에 다운받습니다. 저는 /home/oracle에 바로 다운받았답니다.

#su oracle // 오라클 계정으로 접속합니다. root에서 다운받고 알맞은 폴더로 복사해도되요~

#gunzip ship.db.cpio.gz // 압축품 그럼 ship.db.cpio로 풀림

#cpio -idmv < ship.db.cpio // 또 압축품...그럼 Disk1이란 폴더가 생김

#cd Disk1 // 이동하구

#./runInstaller // 오라클 설치를 시작합니다..


ex) 페도라8에서는 추가적으로 자바어쩌구 에러가 한개나올지도 모르는데요..

그럴때는 페도라 패치를 모두 깔아주셔야 된데요~


여기에서 실행이 안되면 아마 호스트 문제일껍니다.. root로 가셔셔 xhost +한번해주세요~

그런데 오라클 설치화면에서 글씨가 깨져서 보일껍니다...

#export LANG=C // 깨진글씨가 잘보입니다.

자 그럼 설치화면이 잘될겁니다~ 설치방법은 패스~ 설치 중간에 orainstRoot.sh 스크립트를 root로 실행하라고 창이하나 뜰겁니다..무시하지말고 새로운 터미널하나 열어서 root로 실행한담에 넘어가시구요. 설치마지막에도 root.sh를 root로 하라고 창이또뜹니다..그럼 다시 해주시고...워링이나 에러나 창뜨는것들 무시하지 마시고 잘읽어보심 방법을 알겁니다..


sqlplus 사용하려는데 shared_pool_size관련 에러가 생긴다면 에러메시지를 확인하여

요구하는 shared_pool_size를 찾아 오라클이 깔린 디렉토리로 이동하면 dbs라는 폴더가 있습니다.

그폴더에 initORCL.ora파일을 열어서 shared_pool_size를 변경시키면 잘될겁니다~

Posted by 1010
90.개발관련문서2008. 7. 14. 09:32
반응형
회사에서 인터넷속도가 느려서, 집에서 쓰는 광랜을 이용해서.. oracel dmp 파일을 다운받았다.

무려 6GB 다운 받은 파일을 회사컴퓨터(노트북)에 복사하기 위해, 예전에 쓰던 외장하드(20G)에 복사

를 시켰다.


엥` 용량이 꽉차거나, 더이상 복사를 없다고 한다. 이런 어처구니....

외장하드에 모든 파일을 지우고 다시, 복사 ...

엥~ 또 똑같은 에러가 발생....

아~ 짜증.... 인터넷을 뒤지기 시작했다.

이런~ 어처구니 없는 에러....

원인은 FTA32 로 예전에 외장하드를 포멧해놨던 것이다. FTA32는 4GB이상 파일을 인식하지 못한다.

NTFS 로 빠른포멧을 하고 복사 하니.성공...

젠장 2시간이나 삽질을 했다....
Posted by 1010
02.Oracle/DataBase2008. 7. 14. 09:26
반응형
oracle9i에 bissa_back이라는 user가 없어서 발생하는 문제입니다.
import 하시기 전에
user를 생성하시고 해당 user에 대한 필요한 Role을 주시고
특정 tablespace에 table을 생성하실려면 Quota을 지정하셔야 겠죠.

----------------------------------------------------
안녕하세요...
전 윈도우에 9i를 설치해서 하고 있습니다..
그런데, 8i에서 엑스포트한 파일을 9i에서 임포트할려고 하는데 되지 않네요..
9i에서는 사용자, 사용자 권한, 테이블 스페이스만 만들었고요..
임포트 실행하면 이런 메세지가 나옵니다..

실행명 :>
C:\>imp userid=system/manager file=d:\oracle\test.dmp fro
muser=bissa touser=bissa_back;

. BISSA 객체를 BISSA_BACK;(으)로 임포트하는 중입니다.
"ALTER SESSION SET CURRENT_SCHEMA= "BISSA_BACK;""
IMP-00003 : ORACLE 오류 1435 가 발생했습니다..
ORA-01435 : 사용자가 존재하지 않습니다.
IMP-00000 : 임포트가 실패로 끝났습니다.
Posted by 1010
반응형
Posted by 1010
반응형
Posted by 1010
반응형
Posted by 1010