ORACLE/INSTALL2009. 8. 4. 16:31
반응형
1. 그룹 생성
groupadd -g 5000 dba

2. 설치폴더 생성
mkdir -p /app/oracle

3. 사용자 생성
useradd -g 5000 -u 501 -d /oracle oracle

4. 소유권 변경
chown -R oracle:dba /oracle
chmod -R 755 /oracle

5. 시스템 설정 파일 변경
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
net.core.rmem_default        = 1048576
net.core.rmem_max            = 1048576
net.core.wmem_default        = 262144
net.core.wmem_max            = 262144

  (확인시)
  /sbin/sysctl -p

6.  vi /etc/security/limits.conf

*   soft    nproc           2047
*   hard    nproc           16384
*   soft    nofile           1024
*   hard    nofile          65536

7. vi /etc/profile

if [ $USER = "oracle10" ]; then
   ulimit -u 16384 -n 65536
fi

8.vi /etc/pam.d/login

  session  required  /lib/security/pam_limits.so

9.oracle 계정 profile 설정
umask 022
LANG=C
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE
export ORACLE_SID=TESTDB
export ORACLE_TERM=vt100
export PATH=$PATH:$ORACLE_HOME/bin:/bin:/usr/bin:/sbin:/usr/ccs/bin:/usr/ucb    
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:$ORACLE_HOME/network/lib
export NLS_LANG=AMERICAN_AMERICA.UTF8
export ORA_NLS10=$ORACLE_HOME/nls/data
export TNS_ADMIN=$ORACLE_HOME/network/admin
export EDITOR=vi

10.설치
xmanager passive 실행
export DISPLAY=xxx.xxx.xxx.xxx:0.0

11.설치시 에러 무시
./runInstaller -ignoreSysPrereqs (10g R1 설치할때 에러가 나온다)


select instance_name, status from v$instance;

select file_name, bytes/1024/1024"MB", tablespace_name from dba_data_files;

select file_name, bytes/1024/1024"MB", tablespace_name from dba_temp_files;

select member from v$logfile;

select name from v$controlfile;
반응형

'ORACLE > INSTALL' 카테고리의 다른 글

Oracle과 한글 그리고 UTF-8 <첫번째>  (0) 2009.09.04
LINUX ORACLE 10G 패키지  (0) 2009.08.04
solaris10 oracle install 9i 설정값  (0) 2009.05.27
오라클 삭제 방법  (0) 2009.03.18
CentOS 5.2에 Oracle 9i 설치하기  (0) 2009.02.23
Posted by [PineTree]
OS/SOLARIS2009. 8. 3. 15:03
반응형
출처 :http://blog.tinyfall.net/142

기본 ftp 삭제

# pkginfo | grep ftp
로 FTP에 관련된 패키지 목록 확인

# svcs | grep ftp
확인
# svcadm disable /network/ftp
라고 쳐서 ftp 정지

ftp 삭제
# pkgrm SUNWftpr SUNWftpu


Solaris10에서 일반적인 형태로 (ssl 와 익명접속 제외,  tcp_wrappers 포함) 설치하는 것을 정리해 볼까 합니다.

간단설명
VsFTPD는 Very Secure FTP Daemon의 약자이며, 이름에서 그대로 나오듯이 보안에 매우 신경을 쓴 데몬입니다. 레드햇, 데비안 등의 기본 패키지에 포함이 될 정도라고 하며 사이트에서도 그렇게 홍보하고 있군요. 제 개인적으로는 별다른 신경을 안써도 손쉽게 컴파일 및 설치가 된다는 장점이 가장 큰 것 같습니다.


vsftpd 다운로드


vsftpd 홈페이지 : http://vsftpd.beasts.org

vsftpd-2.0.5.tar.gz 다운로드

한글을 위한 소스 수정
기본적으로 UTF8같은 유니코드를 지원하지 않으므로 source 파일을 수정해 주어야 한글이 제대로 로그파일이나 전송처리가 됩니다. 그렇지 않으면 표준 ASCII 문자 외에는 모두 ?(물음표)로 처리해 버립니다.

logging.c 파일을 vi로 불러들여 아래 라인을 주석처리합니다. (157 라인입니다.)

원본 : str_replace_unprintable(p_str, '?');
변경 : /* str_replace_unprintable(p_str, '?'); */

postlogin.c 파일을 vi로 불러들여 아래 라인을 주석처리합니다. (121 라인입니다.)

원본 : str_replace_unprintable(&proctitle_str, '?');
변경 : /* str_replace_unprintable(&proctitle_str, '?'); */

또한 tcp_wrappers를 지원하기 위해서는 builddefs.h 파일을 불러서 아래와 같이 수정합니다.

원본 : #under VSF_BUILD_TCPWRAPPERS
변경 : #define VSF_BUILD_TCPWRAPPERS

그리고 solaris는 PAM을 지원하지 않으므로 바로 밑에 있는 PAM 지원부분을 무효화시켜줍니다.(이 부분을 설정하지 않으면 컴파일시 에러가 줄줄줄주루루루루루 뜹니다.)

원본 : #define VSF_BUILD_PAM
변경 : #undef VSF_BUILD_PAM


vsftpd 컴파일 및 설치
vsftpd는 기본적으로 configure 작업이 없습니다. 그냥 make 하시면 됩니다. 조심하실 것은 INSTALL 문서에 있는대로 make install 을 하시면 안됩니다. vsftpd는 리눅스 계열의 운영체제를 기본으로 만들어져 있으므로 xinetd 등을 이용하도록 설정되어 있는데, solaris에서는 해당 데몬이 존재하지 않습니다. 게다가 solaris10으로 올라오면서 서비스 관리를 svcs 또는 svcadm, inetadm 등 패키지로 분리되어 운영됩니다. 그러므로 make 만 실행하셔서 컴파일만 하시고 나머지 설치작업은 수동으로 하셔야 합니다.

컴파일 화면(성공)

컴파일 화면(성공)


만일 위의 builddefs.h 부분에서 PAM 부분을 undeine 시켜주시기 않았다면 아래와 같은 경고가 뜨고 운영중에 로그인이 안되거나 에러가 발생하는 경우가 생깁니다.(PAM을 undefine 시키면 shadow 모드로 동작하는 듯 합니다.)

사용자 삽입 이미지

컴파일이 무사히 넘어갔다면 vsftpd 파일이 생성되어있습니다.

사용자 삽입 이미지

vsftpd 파일의 생성을 확인하셨다면 아래와 같이 관련 파일들을 세팅합니다.

# mkdir /usr/local/sbin   ;; 없는 경우만 만들어 주시면 됩니다.
# cp vsftpd /usr/local/sbin 
# chmod 755 /usr/local/sbin/vsftpd

# cp vsftpd.conf.5 /usr/share/man/man5   ;; vsftpd.conf 매뉴얼 복사
# cp vsftpd.8 /usr/share/man/man8          ;; vsftpd 매뉴얼 복사
# mkdir /usr/share/empty
# chown root:root /usr/share/empty
# chmod 755 /usr/share/empty
# cp vsftpd.conf /etc                 ;; 설정파일 복사


vsftpd를 Solaris 10의 SMF에 연결
이젠 남은것은 실행하는 방법입니다.
solaris10 에서는 inetd 서비스가 SMF(Service Management Facility)로 통합운영되어 집니다. 모든 서비스 관리는 svcadm 명령으로 제어할 수 있는데, 네트워크 관련 서비스는 inetadm 이라는 명령을 이용하여 특별히 관리할 수 있습니다. vsftpd를 SMF 서비스로 등록하여 이용하면 편리하게 관리할 수 있도록 합니다. (자세한 기타 내용은 마지막에 참고사이트를 보세요.)

우선 첫번째로 /etc/services 파일 내용중 ftp 가 기술되어 있는지 확인합니다.
사용자 삽입 이미지

현재 디렉토리에 아래와 같은 내용을 /etc/inetd.conf 라는 내용으로 저장합니다.

ftp stream tcp nowait root /usr/sfw/sbin/tcpd /usr/local/sbin/vsftpd

※ 미리 tcp_wrappers 가 설치되어 있어야 합니다.

그리고 아래 명령을 수행하면 smf 관련 명령으로 확인하거나 관리하실 수 있습니다.

# inetconv -i inet.ftp
# svcs -a | grep ftp
online          21:02:07    svc:/network/ftp/tcp:default      <== vsftpd 데몬이 서비스로 등록된 모습

이후부터 서비스의 시작과 중지를 아래와 같이 수행할 수 있습니다.

# svcadm enable /network/ftp/tcp:default     ;; vsftpd 서비스 시작
# svcadm disable /network/ftp/tcp:default  ;; vsftpd 서비스 중지

svcs 명령으로 보았을 때 online 은 동작중, offline은 중지된 상태, maintenance 는 문제가 있어서 작업이 필요하다는 의미입니다. online 상태로 서비스를 시작하고 localhost 로 접속하여 정상적으로 FTP 접속이 되는지 확인합니다. 현재는 제대로 설정이 되어 있지 않으므로 anonymous (익명)으로 접속하셔야 하며, 접속되더라도 OOPS! 라는 메세지가 보입니다.(웁스~)


vsftpd.conf 설정
구글링이나 기타 인터넷상에 올라온 자료들을 검색해 본 결과 예전 버젼이거나 linux 계열의 운영체제에 맞게 설정되어 있어서 제가 사용할려는 solaris 운영체제에는 전혀 맞지가 않더군요. 로그처리 부분도 마찬가집니다. 그래서 제가 사용하는 Solaris 10 환경에 맞게 나름대로 설정파일을 세팅하는 과정에서 겪은 시행착오을 줄이기 위해 vsftpd.conf 파일의 옵션을 정리해 보았습니다. SSL 은 사용하지 않으므로 자세한 설명은 생략하며 익명도 사용하지 않는 환경임을 미리 인지하시고 참고하여 주시면 되겠네요. (해당 환경과 관련된 옵션은 설명에서 몽땅 제외입니다. 뷁~~~~)

또한 위에서 manpage 파일을 정상적으로 설치하셨다면 man vsftpd.conf 명령으로도 옵션들을 확인하실 수 있습니다.

옵션을 사용하기 전에 주의할 점 : 반드시 옵션명=값 으로 설정하셔야 합니다. 즉 =(equal) 좌우에 공백이 있어서는 절대 안됩니다. 반드시 옵션과 값사이에 =(equal)을 딱!!! 붙여서 주셔야 합니다.


anonymous_enable=NO ( 기본값 : YES )
  익명 사용자의 접속을 허용할 것인지를 결정합니다.


background=YES ( 기본값 : NO )
listen_port=21 ( 기본값 : 21 )
listen_ipv6=NO ( 기본값 : NO )
  기본적으로 vsftpd는 inetd 또는 xinetd 또는 Solaris10의 서비스로 등록하여 사용이 가능하도록 설정되어있습니다. 위 옵션대로 설정하게 되면 standalone(proftpd 의 standalone 동작과 동일) 모드로 동작합니다. Solaris10에서는 위에서 서비스로 등록해 놓았으므로 모두 주석처리합니다. 일반적으로 FTP 접속이 그리 많지가 않는 경우에는 기본 동작모드(inetd 등)가 유리하며 FTP 접속자가 많은 경우에는 standalone 모드가 유리하다고 합니다.

listen_address=none ( 기본값 : none )
listen_address6=none ( 기본값 : none )
  standalone 모드로 동작시 대기할 IP를 지정합니다.(멀티 IP 서버를 이용할때) address6는 IPV6 상황에서 사용합니다.

pasv_address=none ( 기본값 : none )
  Use this option to override the IP address that vsftpd will advertise in response to the PASV command. Provide a  numeric IP address, unless pasv_addr_resolve is enabled, in which case you can provide a hostname which will be DNS resolved for you at startup. (해석불가)

nopriv_user=nobody ( 기본값 : nobody )
  vsftpd가 구동할 유저명을 지정합니다.

max_clients=50 ( 기본값 : 0 )
  최대 접속자수를 결정합니다. 0으로 두면 무제한입니다.

max_per_ip=5 ( 기본값 : 0 )
  하나의 IP에서 동시에 접속할 수 있는 수를 결정합니다.

local_max_rate=0 ( 기본값 : 0 )
  로컬 사용자의 접속시 업/다운로드 속도 제한을 지정합니다. 단위는 초당 Bytes 입니다.

trans_chunk_size=0 ( 기본값 : 0 )
  한번에 전송할 크기를 지정합니다. 단 일정단위로 묶어서 전송하게 되는데 이 항목은 전송량 조절 옵션인 rate 관련 옵션들과 연관성이 있습니다. 되도록이면 이 옵션은 수정하지 않는 것이 좋다고 제작자는 밝히고 있군요. 다만 8192로 하면 부드럽게 대역폭 제한이 가능하다고 하는데 당최 무슨 뜻인지;;;;;;

use_localtime=YES ( 기본값 : NO )
  파일의 시간을 보여줄 때 시스템의 Local time에 맞춰서 보여줍니다. 기본적으로 vsftpd는 GMT를 따르고 있습니다. 우리나라의 시간은 GMT + 9 입니다.

setproctitle_enable=YES ( 기본값 : NO )
  FTP의 현재 상황을 PS 로 볼 수 있도록 해줍니다. 즉 현재 세션의 상황을 ps 명령으로 나오는 값을 조작하여 접속자 등을 파악할 수 있습니다.

user_config_dir=none ( 기본값 : none )
  특정 사용자의 접속 환경을 vsftpd.conf 가 아닌 파일로 저장시켜 두고 적용시킬 수 있게 해줍니다. 여기서 지정하는 값은 디렉토리를 의미합니다. 예를 들어 /etc/vsftpd_user/chris 라는 파일을 생성한 후 파일속에 vsftpd.conf 와 같은 각종 지시어를 이용하여 환경을 구축해 놨을 때 chris라는 사용자가 접속하면 vsftpd.conf 가 아닌 /etc/vsftpd_user/chris 라는 파일의 환경에 적용을 받습니다. 물론 /etc/vsftpd_user/chirs 안에 없는 옵션은 vsftpd.conf 옵션에 적용을 받습니다. 다만 /etc/vsftpd_user/chris 파일내에 유저의 환경과는 관계가 없는 옵션들(banner_file, max_per_ip, max_clients, xferlog_file 등)은 무시됩니다.

local_enable=YES ( 기본값 : NO )
  시스템에 등록된 유저의 접속을 허용합니다.

userlist_enable=NO ( 기본값 : NO )
  유저 목록을 담고 있는 파일속의 내용에 있는 사용자만 접속을 허용합니다. 이 옵션은 userlist_deny 옵션이 비활성화된 상태에서만 효과가 있습니다.(userlist_deny 옵션과 반대역활입니다.)

userlist_deny=YES ( 기본값 : YES )
  유저 목록을 담고 있는 파일속의 내용에 있는 사용자만 접속을 불허합니다. userlist_enable 옵션과 반대 역활을 합니다. 특정 유저의 접속을 허용하지 않고자 할때 주로 사용합니다.

userlist_file=/etc/vsftpd.user_list ( 기본값 : /etc/vsftpd.user_list )
  userlist_enable 옵션과 userlist_deny 옵션에서 사용되는 유저 목록을 담고 있는 파일입니다.

text_userdb_names=YES ( 기본값 : NO )
  디렉토리 목록을 보여줄 때 유저명과 그룹명을 문자로 표시할 것인지를 결정합니다. 성능상과 보안문제상 NO로 되어 있는 듯 하며 개인적으로는 YES를 좋아라 합니다.

pam_service_name=vsftpd ( 기본값 : ftp )
  Solaris10과는 관계없는 옵션이며, pam 사용자 인증을 할때 사용할 인증파일을 지정합니다.

tcp_wrappers=YES ( 기본값 : NO )
  TCP wrappers에 의해서 FTP 접속을 제어할 것인지를 설정합니다. 미리 tcp_wrappers가 설치되어 있어야 하며, sunfreeware 에서는 현재날짜 기준으로(2008. 08. 04) 7.6 버젼이 공개되어 있으므로 vsftpd 설치전에 tcp_wrappers를 설치하시길 바랍니다. 참고로, solaris10 을 기본으로 설치할 경우 tcp_wrappers가 설치되어 있습니다만, 버젼이..... 전 7.6 버젼을 새로 설치하였습니다.

ssl_enable=NO ( 기본값 : NO )
  ssl 접속을 허용할 것인지를 결정합니다. 이 옵션을 사용할려면 컴파일 하기전에 builddefs.h 파일에서 SSL 옵션을 활성화시켜야 하며 관련 라이브러리 및 데몬들도 설치가 되어 있어야 합니다. 솔라리스에서는 SSL 연결이 좀 까탈스럽더군요. OTL;;;;;;

ssl_tlsv1=NO ( 기본값 : YES )
ssl_sslv2=NO ( 기본값 : NO )
ssl_sslv3=NO ( 기본값 : NO )
  ssl 접속시 어떤 프로토콜을 사용할 것인지를 결정합니다. 각각 TLS, V2, V3 를 의미하며 ssl_enable 옵션이 활성화되어 있을 때 기본 프로토콜은 SSL v1 프로토콜을 이용하여 접속합니다.

dsa_cert_file=none ( 기본값 : none - RSA certificate suffices 를 사용 )
  SSL의 암호화 접속시 사용할 DSA 인증서의 위치를 지정합니다.

dsa_private_key_file=none ( 기본값 : none )
  SSL의 암호화 접속시 사용된 DSA 개인키 파일의 위치를 지정합니다.

rsa_cert_file=/usr/share/ssl/certs/vsftpd.pem ( 기본값 : none )
  SSL 접속시 RSA 인증서를 지정합니다.

rsa_private_key_file=none ( 기본값 : none )
  SSL 접속시 RSA 인증에 사용할 RSA 개인키 값 파일을 지정합니다.

force_local_data_ssl=YES ( 기본값 : YES )
  ssl_enable 옵션이 활성화되어 있을때만 활성화되는 옵션이며, 로컬 사용자가 데이터를 전송시 SSL을 사용하도록 강제적으로 규정합니다.

force_local_logins_ssl=YES ( 기본값 : YES )
  ssl_enable 옵션이 활성화되어 있을때만 활성화되는 옵션이며, 로컬 사용자가 로그인시 강제적으로 SSL을 이용하도록 합니다.

connect_timeout=60 ( 기본값 : 60초 )
  Port 모드로 접속시 사용자의 접속 허용 시간을 설정합니다. 지정된 시간내에 접속이 완료되지 않으면 접속이 끊어집니다.

accept_timeout=60 ( 기본값 : 60초)
  Pasv 모드로 접속시 사용자의 접속 허용 시간을 설정합니다. connect_timeout 옵션과 동일하게 동작합니다.

data_connection_timeout=300 ( 기본값 : 300초)
  데이타를 전송한 후 (업/다운) 지정된 시간동안 아무런 동작이 없을 경우 접속을 끊습니다.

idle_session_timeout=300 ( 기본값 : 300초)
  접속 완료 후 지정된 시간동안 아무런 동작을 하지 않으면 접속을 끊습니다.

banner_file=/etc/vsftpd.banner_file ( 기본값 : none )
  사용자가 접속했을 때 보여줄 환영 메세지를 가진 파일을 지정합니다.

ftpd_banner=Welcome to FTP Service ( 기본값 : none - vsftpd의 기본 메세지가 보입니다.)
  사용자가 접속했을 때 보여줄 안내 메세지를 지정합니다.
 
dirmessage_enable=NO ( 기본값 : NO )
  디렉토리로 접속할때 해당 디렉토리에 message_file 옵션에서 지정한 파일의 내용을 보여줄 것인지를 결정합니다.

message_file=.message ( 기본값 : .message )
  dirmessage_enable 옵션이 YES로 되어있다면 읽어서 보여줄 파일명을 지정합니다.

port_enable=YES ( 기본값 : YES )
  FTP의 Port 모드를 활성화홥니다. 일명 Active 모드라고도 합니다.

connect_from_port_20=YES ( 기본값 : NO )
  Port 모드로 동작시 데이터 전송의 기본 포트인 20번 포트의 사용 여부를 결정합니다.

ftp_data_port=20 ( 기본값 : 20 )
  Port 모드로 동작시 데이터 전송에 사용할 포트 번호를 지정합니다. 이 옵션은 connect_from_port_20 옵션이 활성화되어 있어야 정상적으로 작동합니다.

port_promiscuous=NO ( 기본값 : NO )
  Port 모드에서의 보안 체크 기능을 해제합니다. FXP(서버대 서버전송) 기능 사용시 활성화시켜줍니다.

pasv_enable=YES ( 기본값 : YES )
  Pasv 모드로 동작할 것인지를 결정합니다.

pasv_promiscuous=NO ( 기본값 : NO )
  동일한 IP에서 접속이 이루어질때 PASV 보안체크를 해제시켜 줍니다? 영어가 딸려서 해석이 꼬이네요. FXP (서버 대 서버 전송) 기능을 사용할 때나 SSH를 이용한 터널링 기능을 이용할 때 활성화시켜주는 옵션입니다.

pasv_min_port=0 ( 기본값 : 0 )
pasv_max_port=0 ( 기본값 : 0 )
  Pasv 모드로 접속시 할당할 최저(min) 포트번호와 최고(max) 포트번호를 지정합니다. 기본값인 0을 설정하게 되면 1024 이상 무작위로 할당합니다. 1024 이하의 포트번호는 일반적으로 well kown port 번호라고 하여 부르며 root 권한만 해당 포트를 제어할 수 있도록 되어있습니다. ( /etc/services 파일 참고 )

ascii_download_enable=NO ( 기본값 : NO )
ascii_upload_enable=NO ( 기본값 : NO )
  ASCII 모드로 전송을 허용할 것인지를 결정합니다. 일반적으로 UNIX 모드의 텍스트 파일과 PC(or Windows) 모드의 텍스트 파일은 LF/CR 처리부분에서 다르므로 이 옵션을 활성화(YES)시켜주면 전송시 자동으로 변환이 됩니다. 하지만 요즘 텍스트 에디터들은 자동으로 변환해주므로 크게 문제되지 않는다면 보안문제상 기본값으로 설정된 NO로 해주심을 권장합니다.

local_umask=022 ( 기본값 : 077 )
  파일 생성 umask 값을 지정합니다. 이 값을 보면 vsftpd가 보안에 까칠하다는게 확실히 알 수 있겠군요. 기본적으로 파일 생성시 할당되는 퍼미션은 최대퍼미션 - umask 의 값을 가집니다. 최대퍼미션은 디렉토리의 경우 0777, 파일인 경우 0666 으로 결정됩니다. 그러므로 디렉토리의 경우 vsftpd의 기본 umask를 적용하면 0700 ( 0777 - 077 = 0700 ) 으로 설정됩니다. 즉 올린 사람외에는 손대지마!!! 라는 것이 되죠. 다만 이렇게 된다면 웹서버를 운영할 경우 웹상에서 접근을 못하게 되는 사태가 벌어집니다. 일반적인 umask 옵션인 022 로 정해줍시다.

file_open_mode=0644 ( 기본값 : 0666 )
  업로드되는 파일의 기본 퍼미션을 지정합니다. 이 옵션은 반드시 local_umask 옵션보다 뒤에서 지정되어야 하며, 기본값을 주게 되면 업로드된 파일이 아무나 읽기쓰기로 되어버리기 떄문에 가능하면 0644 로 설정하는 것이 좋습니다.

dirlist_enable=YES ( 기본값 : YES )
  디렉토리 목록을 볼 수 있게 합니다. NO로 할 경우 목록을 볼 수가 없게 됩니다.

force_dot_files=NO ( 기본값 : NO )
  .(dot)로 시작하는 파일들의 표시 여부를 결정합니다. 보안관계상 기본 값은 NO로 되어있습니다.

tilde_user_enable=NO ( 기본값 : NO )
  일반적으로 사용하는 ~crhis/pics 와 같은 지정을 해석할 수 있도록 합니다. 사용자 계정명앞에 ~(틸드)가 오게 되면 해당 사용자 계정의 홈디렉토리를 의미하게 되는데 이것을 해석할 수 있도록 해주는 것입니다. 다만 이 옵션은 /etc/passwd 파일을 찾을 수 있을 경우에 정상적으로 작동합니다.

hide_ids=NO ( 기본값 : NO )
  이 옵션이 활성화되면 모든 파일의 사용자는 FTP로 표시됩니다. 보안에 도움이 될 수도 있는 옵션입니다.

write_enable=YES ( 기본값 : NO )
  사용자가 기록을 할 수 있도록 합니다. (STOR, DELE, RNFR, RNTO, MKD, RMD, APE, SITE 등의 명령이 실행가능해 집니다.)

download_enable=YES ( 기본값 : YES )
  파일을 다운로드할 수 있게 합니다.

chmod_enable=YES ( 기본값 : YES )
  로컬 사용자가 퍼미션을 변경할 수 있도록 합니다. 익명 접속 사용자는 불가능합니다.

use_sendfile=YES ( 기본값 : YES )
  서버 운영체제의플랫폼에서 sendfile() 시스템 호출을 허용합니다. 내부 세팅인것 같은데 그냥 YES~~~

cmds_allowed=none ( 기본값 : none )
  사용자에게 허용할 명령어를 지정합니다. 이 명령은 지정한 명령만 사용할 수 있도록 만드는 것입니다. 적용하지 않으면 모든 명령을 사용할 수 있으며 지정하게 되면 지정한 명령어만 사용가능합니다. 단 로그인 전의 명령어나 로그아웃 등의 명령어는 해당되지 않습니다. ( USER, PASS, QUIT 등 )

deny_file=none ( 기본값 : none )
  업로드를 거부할 파일명을 지정합니다. { 와 } 으로 묶으며, 와일드 카드 ( ? , * )를 사용할 수 있습니다. 각각의 파일은 ,(comma)로 구분하도록 되어있습니다. 예) deny_file={*.mp3,*.mov,.private}

hide_file=none ( 기본값 : none )
  숨길 파일명을 지정합니다. 즉 존재는 하되 파일목록에서는 보이지 않습니다. deny_file 옵션과 동일한 형식으로 지정가능합니다.

async_abor_enable=NO ( 기본값 : NO )
  특정 클라이언트가 파일 전송중 취소했을 때 정상적으로 취소되지 않는 경우가 발생하는데 이때 이 옵션을 enable 하게 되면 이런 증상을 막을 수 있습니다. 제작자는 오직 ill adviced FTP clients가 이런 증상을 발생시킨다고 하며 보안관계상 NO를 권장하고 있습니다.

ls_recurse_enable=NO ( 기본값 : NO )
  ls 명령의 옵션중 하위 디렉토리의 구조까지 모두 읽어올 수 있는 -R 옵션 사용 여부를 결정합니다. 서버에 대한 부하가 크므로 기본적으로 NO 로 설정되어 있습니다.

chroot_local_user=YES ( 기본값 : NO )
  로컬 사용자가 접속하면 자신의 상위 디렉토리로 접근할 수 없도록 설정합니다.

passwd_chroot_enable=YES ( 기본값 : NO )
  If enabled, along with chroot_local_user,  then a chroot() jail location may be specified on a per-user basis. Each user's jail is derived from their home directory  string in /etc/passwd. The occurrence of /./ in the home directory string denotes that the jail is at that particular location in the path. (해석불가 -.-;;)

chroot_list_enable=NO ( 기본값 : NO )
  이 옵션을 활성화하면 명시된 사용자만이 자신의 홈상위 디렉토리에 접근할 수 없게 되어 있습니다. 단 chroot_local_user 옵션이 비활성화되어 있어야 작동합니다.

chroot_list_file=/etc/vsftpd.chroot_list ( 기본값 : /etc/vsftpd.chroot_list )
  chroot_list_enable 옵션이 활성화되어 있다면 chroot() 기능을 적용시킬 사용자 목록을 가지게 되며, chroot_local_user 옵션이 활성화되어 있다면 chroot() 기능에서 제외할 사용자 목록을 가지게 됩니다.

secure_chroot_dir=/usr/share/empty ( 기본값 : /usr/share/empty )
  secure chroot()에서 사용될 디렉토리를 지정하며 반드시 비어있어야 합니다. 또한 ftp user에 대한 쓰기 권한이 없어야 합니다. (이게 왜 있는건지......) 참고로, 저 디렉토리는 반드시 생성되어 있어야 하며 조건에 맞지 않게 되어 있다면 vsftpd 실행시 에러가 발생합니다. 그냥 /usr/share/empty 디렉토리를 만들고 root:root 로 권한을 주고 755로 퍼미션 주시면 됩니다.

check_shell=YES ( 기본값 : YES )
  이 옵션은 non-PAM 시스템에서만 정상적으로 동작하며, 접속자의 Shell 체크 여부를 결정합니다.

delay_failed_logins=5 ( 기본값 : 1 초 )
  로그인이 실패하고 난 뒤 다음 로그인 시도까지의 딜레이 시간을 지정합니다.

delay_successful_logins=0 ( 기본값 : 0 초 )
  로그인이 성공하고 난 뒤 다음 과정으로 넘어가기 전까지의 딜레이 시간을 지정합니다.

max_login_fails=3 ( 기본값 : 3 회)
  지정한 횟수만큼 연속적으로 로그인을 실패하면 연결을 끊어버립니다.

local_root=none ( 기본값 : none )
  로컬 사용자(익명 사용자가 아닌) 로그인을 하게 되면 해당 디렉토리로 이동시킵니다. 로그인을 실패한 경우에는 아무런 동작을 하지 않습니다.

lock_upload_files=NO ( 기본값 : NO )
  이 옵션을 활성화하면 모든 업로드되는 파일들은 기록 lock이 설정됩니다. 단 모든 다운로드 파일들은 공유 읽기 lock이 설정되는데 이 옵션을 활성화화면 악의적인 목적으로 업로드를 방해할 수 있으므로 주의해서 사용해야 합니다.

mdtm_write=YES ( 기본값 : YES )
  mdtm 기능을 사용할 수 있게 합니다. mdtm은 업로드되는 파일의 시간과 날짜를 변경할 수 있게 하는 기능힙니다.

pasv_addr_resolv=NO ( 기본값 : NO )
  이 옵션을 사용하게 되면 IP 주소가 아닌 호스트 네임을 pasv_address에서 사용할 수 있게 합니다. 

vsftpd_log_file=/var/log/vsftpd.log ( 기본값 : /var/log/vsftpd.log )
  vsftpd의 로그파일을 지정합니다. 단 xferlog_enable 옵션이 활성화되고 xferlog_std_format 옵션이 비활성화되어야 동작합니다. 또는 dual_log_enable 옵션아 활성화될 경우에도 동작합니다. 주의할 점은 syslog_enable 옵션이 활성화되면 모든 로그들은 system log로 보내어지므로 vsftpd_log_file 옵션에 기록된 파일에는 로그가 기록되지 않습니다.

dual_log_enable=YES ( 기본값 : NO )
  이 옵션이 활성화되면 /var/log/xferlog 와 /var/log/vsftpd.log 파일 둘다 로그 기록에 사용합니다.

syslog_enable=NO ( 기본값 : NO )
  이 옵션이 활성화되면 모든 로그들은 system log(syslogd 데몬을 이용한)에 기록되며 /var/log/vsftpd.log 파일은 사용되지 않습니다.

xferlog_file=/var/log/xferlog ( 기본값 : /var/log/xferlog )
  이 옵션 wu-ftpd 형식의 로그들을 기록할 파일을 지정하는 것입니다. 반드시 xferlog_enable 옵션이 활성화되어야 정상적으로 동작하며 xferlog_std_format 옵션과 연관성이 있습니다. 또는 dual_log_enable 옵션이 활성화되어도 본 옵션이 동작합니다.

xferlog_enable=YES ( 기본값 : NO )
  상세한 파일의 전송상황을 로그파일에 기록할 것인지를 결정합니다. 기본값은 /var/log/vsftpd.log 에 기록하며, 이 파일의 위치는 xferlog_file 옵션에서 변경가능합니다.

xferlog_std_format=NO ( 기본값 : NO )
  xferlog_enable 옵션으로 기록되는 로그 형식을 표준으로 할 것인지를 결정합니다.

log_ftp_protocol=YES ( 기본값 : NO )
  아주 상세한 FTP 이용 상황을 로그에 기록할 지를 결정합니다.

no_log_lock=NO ( 기본값 : NO )
  로그 파일을 기록할 때 로그 파일에 lock 을 걸 것인지를 결정합니다. 일반적으로 걸지 않아도 되지만, 솔라리스 OS에서 베리타스(Veritas) 파일 시스템을 사용할 경우 문제점이 발생할 수 있으므로 해당 OS와 파일시스템을 사용하고 있을 경우 YES로 설정하시기 바랍니다.

session_support=YES ( 기본값 : NO )
  세션 기록을 wtmp 또는 utmp 에 남길것인지를 결정합니다. wtmp/utmp를 이용하게 되면 last 명령으로 접속여부를 확인할 수 있으므로 YES를 권장합니다.

one_process_model=NO ( 기본값 : NO )
  하나의 접속자에 하나의 프로세스 모델을 생성하여 할당합니다. 효율면에서는 좋으나 보안면에서는 조금 떨어질 수 있다고 제작자는 밝히고 있습니다. 단 리눅스 커널이 2.4 이상일때만 권장하는 것 같군요. 솔라리스10에서 서비스로 등록을 해 놓았으므로 이 옵션과는 무관하게 접속자별로 2개씩의 프로세스가 생성됩니다. OTL;;;;;;

기타 설명하지 않은 옵션들
  가상 사용자나 익명사용자에 대한 설정은 본인이 사용하지 않으므로 설명을 생략합니다. 인터넷상에 많이 알려져 있으므로 해당 문서를 검색하시거나 아래 참고사이트를 이용하시면 상세하게 설명되어 있습니다.
guest_enable=NO
guest_username=ftp
virtual_use_local_privs=NO
user_sub_token=none
allow_anon_ssl=NO
deny_email_enable=NO
banned_email_file=/etc/vsftpd.banned_emails
secure_email_list_enable=NO
email_password_file=/etc/vsftpd.email_passwords
ftp_username=ftp
no_anon_password=NO
anon_root=none
anon_max_rate=0
anon_upload_enable=NO
anon_world_readable_only=YES
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chown_uploads=NO
chown_username=root
anon_umask=077
force_anon_data_ssl=NO
force_anon_logins_ssl=NO


참고용 설정파일
제가 사용하고 있는 옵션들을 간단하게 옮겨봅니다. Solaris10에서 익명과 SSL을 사용하지 않으며, 웹서버 운영 용도로 사용하고 있는 서버입니다. 이중 로그파일을 한 이유는 xferlog.log 에서 전송량을 체크하기 위함이며, vsftpd.log 에서는 접속현황 및 계정 관리를 위해서 세팅하였습니다.

anonymous_enable=no
max_clients=50
max_per_ip=10
use_localtime=YES
setproctitle_enable=YES
local_enable=YES
ftpd_banner=Welcome to KYUNGSUNG University Web server......
port_enable=YES
max_login_fails=1
write_enable=YES
local_umask=022
file_open_mode=0644
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog.log
session_support=YES
xferlog_std_format=NO
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
text_userdb_names=YES
tcp_wrappers=YES


참고사이트
기존 vsftpd 관련 자료들이 많긴 합니다만, 대부분 티니님의 자료를 옮겨 놓은 듯 하더군요. 다만 티니님의 자료는 1.0.1 버젼을 기준으로 하여 없는 옵션이나 내용이 조금 바뀐 옵션들이 있어서 따로 정리를 해봤습니다. 정말 항상 글을 쓸때마다 느끼는 것이지만, 글 제대로 쓰시는 분들 존경스럽네요. ;;;;;

- VsFTPD FTP 서버 설치 by 티니님 ( http://coffeenix.net/board_view.php?bd_code=1470 )
- FTP 설정하기 by 아햏햏님 ( http://blog.naver.com/ssanzing2?Redirect=Log&logNo=140025729151 )


Error 수정

vsftp를 설치하고 난 뒤 아래의 메세지가 표시되면서 접속이 안되는 경우가 있다.

500 OOPS: tcp_wrappers is set to YES but no tcp wrapper support compiled in
: 위의 메세지는 sunfreeware.com 에서 다운받아서 pkgadd 로 설치했을 경우 tcp_wrapper가 지원되지 않도록 컴파일되어 있기 때문입니다. 결론은, 소스 받아서 컴파일 하세요~

500 OOPS: vsftpd: cannot locate user specified in 'ftp_username':ftp
: 위의 메세지는 ftp라는 그룹과 유저가 생성되어 있어야 합니다. 아래 명령으로 유저와 그룹을 생성하세요.
: groupadd -g 199 ftp
: useradd -u 199 -g 199 -s /bin/false -m ftp

500 OOPS: could not bind listening IPv4 socket

SMF(Service Management Facility) 사용시에 /etc/vsftp.conf 파일에서  listen=YES 로 설정시에 NO로 변경
listen=NO


포트 변경 하는 방범

/etc/services 파일 포트 수정

 

수정 전

ftp-data        20/tcp
ftp-data        20/udp
# 21 is registered to ftp, but also used by fsp
ftp             21/tcp
ftp             21/udp                fsp fspd

 

수정 후

ftp-data        6500/tcp
ftp-data        6500/udp
# 21 is registered to ftp, but also used by fsp
ftp             6500/tcp
ftp             6500/udp                fsp fspd

 

 

/etc/vsftpd/vsftpd.conf

 

수정 전

# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES

 

수정 후

# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=NO

 

추가

listen_port=6500

 


 

변경 작업 후 리스타트

svcadm disable /network/ftp/tcp

svcadm enable /network/ftp/tcp

포트 변경 완료

반응형

'OS > SOLARIS' 카테고리의 다른 글

solaris cd-rom mount 하기  (0) 2010.03.05
solaris root 패스워드 복구  (0) 2009.10.28
SWAT SVM RAID  (0) 2009.05.25
미러 디스크 장애시 디스크 교체하기  (0) 2009.05.07
samba  (0) 2008.02.28
Posted by [PineTree]
PineTree/T2009. 7. 30. 20:58
반응형


서태지는 진화한다.
문화대통령 서태지... 사람들은 우선 그 이름에 먼저 압도된다. 하지만 서태지라는 세 글자에 담긴 기의는 매우 생생히 살아 있으며 매일매일 진화를 거듭하고 있다.

서태지와 아이들로의 4년,
랩댄스에서 메탈로, 그리고 힙합으로, 그 외에 얼터너티브 록, 펑크, 소울 등 넉 장의 음반에 담겨있는 다양한 장르의 음악은 오로지 ‘서태지’의 음악으로 규정되었다.
이후 서태지라는 이름 석자가 대중문화의 모든 것이었던 4년간의 그 시절을 홀홀이 떠나 자신의 음악적 뿌리였던 Rock으로 온전히 돌아오기 까지 2년의 시간. 그 후로부터 그는 한국에서는 단 한번도 대중문화에서 메인스트림으로 자리잡지 못한 Rock 음악만을 위해 헌신하고 있다.

얼터너티브 록, 하드코어, 핌프록, 이모코어 등 늘 새로운 도전 정신과 그만의 노하우로 진화를 거듭하고 있는 그의 음반들.
고등학교를 중퇴하고 시나위 활동을 거의 록음악에 대한 열정은 18년이 지나 Nature Pound라는 자신만의 장르를 보여주며 8집을 발매한 서태지는 계속 진화하고 있다.





8집의 대미를 장식하고 있는 “2009 서태지밴드 라이브투어 [더 뫼비우스]” 의 첫 공연에서는 공연장에 모인 1만여 관중들에게 정규음반 신곡이 가장 먼저 라이브로 공개되기도 했다. TV, 라디오 등 매체를 통해서는 서태지를 만나기가 어렵다. 그의 모든 것은 공연장에서 보여진다. 그의 모든 역량과 음악의 에너지를 단 한번의 공연을 위해 산화시키는 서태지. 그가 꿈꾸어왔던 무대를 현실화하기 위해 무대, 음향, 특수효과 등 국내외 각 분야 최고의 역량들이 그의 공연을 위해 총 집결된다.
공연을 만드는 사람들이 말하는 ‘꿈의 무대’는 그렇게 만들어지는 것이다.



서태지의 공연은 아직까지도 유럽의 산중에서 이어지고 있는 슈베르트 음악 축제 ‘슈베르티아데’ (슈베르트의 친구들)를 연상시킨다. 슈베르트 생존 당시 그를 사랑하는 친구들이 모여 그의 음악을 함께 즐기던 모임 슈베르티아데.

6월 27일 대구에서 펼쳐진 그의 3번째 전국투어는 산 속에서 벌어진 숲속 콘서트였다. 마치 슈베르티아데처럼, 혹은 매년 여름을 뜨겁게 달구는 록 페스티벌처럼,,, 오직 너와 나 우리만 존재하는 시간.

팬들은 단지 공연을 ‘관람’하러 오는 것이 아니다. 매 공연마다 각 지역의 특색에 맞게, 또는 삼삼오오 그룹을 지어 자신들만의 개성을 잔뜩 살려 전국투어에 ‘참여’한다. 그래서 서태지의 공연장은 언제나 수많은 플래카드들과 팬들이 기획한 이벤트, 그리고 ‘서태지 팬’ 이라는 아이덴티티가 철철 흐르는 수많은 팬들로 진풍경을 연출한다.

그러한 팬들의 적극적인 열정에 서태지는 최고의 감동으로 보답한다. 80m에 이르는 무대규모에 심장을 관통할듯한 압도적인 사운드, 치밀한 영상과 조명, 불꽃축제를 방불케 하는 불꽃놀이, 물대포와 불기둥이 무대위로 치솟고 무대 위를 날으는 의자에 올라 관객을 매료시킨다.

그의 공연장에서는 그도 관객들도 모두 하나가 된다.

 

 

 






  • 서 태지는 8집 활동을 시작하며 미스터리서클과 UFO를 제작하여 더욱 강력하고도 정확하게 첫 번째 싱글의 메시지를 전달한 바 있다. 두 번째 싱글에서도 미스터리 프로젝트는 계속되어 서태지 실종 미스터리와 그와 연관된 두 번째 싱글에 대한 이야기를 다섯 개의 에피소드를 통해 인류의 기원과 문명의 진화 그리고 경고의 메시지를 네티즌이 풀어가는 형식으로 진행되었다. 이는 음악 산업에 최초로 전곡을 유기적으로 이어 ‘스토리텔링 기법’을 도입한 예이며, 음반을 발표하는 새로운 형식과 가능성을 보여준 과연 서태지다운 프로젝트였다. 7월 1일 발매된 정규앨범 ‘Seotaiji 8th Atomos’은 모두 12트랙이 담긴 음반으로 1년 여간 이어진 서태지의 성공적인 8집 활동의 마지막 여정이자 이를 함께 해온 팬들에게 전하는 최고의 선물이다.






 Seotaiji 8th Atomos - 서태지 | BERMUDA [Triangle]











  •  
반응형
Posted by [PineTree]
HARDWARE2009. 7. 30. 17:54
반응형

썬마이크로시스템즈(이하 썬)은 2009년에 볼륨서버(註: 썬 내부적으로 유닉스 운영체제 기반 서버를 지칭하는 말) 판촉을 중요한 사업 부문으로 보고, 이와 관련된 비즈니스 역량을 결집시키고 있다.

현재 인텔과 AMD가 양분하고 있는 x86 칩을 기반으로 한 서버들이 리눅스나 윈도우 기반으로 다량 보급되는 가운데, 스팍(SPARC) 칩을 지닌 썬이 고유 역량을 극대화하는 방향으로 가닥을 잡았다.

썬은 스팍 계열 프로세서를 자체 개발하면서 유닉스 서버 시장에서 공고한 위상을 수립시켰다. '볼륨서버'라는 독특한 단어를 업계에서 통용되게 할 정도로 썬의 유닉스 서버는 업계에서 호평을 받으며 판매되었다.

그러나 마이크로소프트의 윈도우 서버 보급과 리눅스 진영의 인기몰이로 썬의 볼륨서버는 위축되었다. 특히 각종 시장분석기관에서는 x86 서버가 특유의 저렴함과 가용성 등을 무기로 기존 유닉스 서버 시장을 상당부분 잠식했다는 평가를 줄이어 내놨다.

썬은 현재의 수세에서 탈피하기 위해 프로세서를 자체 개발한다는 장점을 십분 활용해 'Chip Multi Threading' 마켓이라는 개념을 정립하고, 이에 대응되는 제품 포트폴리오 수립에 박차를 가하고 있다.

프로세서 시장의 발전은 크게 두 가지다. 클럭을 높이는 방향과 코어를 늘리는 방향 두 가지다. 클럭을 높이는 사례는 IBM에서 볼 수 있다. IBM은 자체 개발한 파워6 프로세서를 통해 4.7GHz 클럭을 달성했다. 정규클럭으로 그 정도 수준이다. 여기에 쿨링 솔루션을 더해 오버클럭하는 경우도 종종 보고되고 있어 이 이상의 클럭으로 가용되는 시스템도 존재한다.

코어를 늘리는 부분은 기존 CPU 업체보다는 GPU 업체들이 더 열을 올리는 부분이다. CUDA, Brook+ 등을 내세운 GPU 업체들은 멀티코어 부문에서 이름값을 높이기 위해 애 쓰고 있으나, 아직 초기단계다. 전통적인 CPU 기반 업체에서는 IBM의 셀(Cell) 칩과 인텔의 네할렘, 라라비 등이 멀티코어에서 두각을 나타내고 있다.

이미 스팍 칩은 멀티코어와 높은 클럭 모두에서 상당한 성과를 이룬 바 있다. 울트라스팍 T2의 경우, 단일 칩에 8개의 코어와 64개의 쓰레드를 구현하면서도 TDP 95W 사양을 자랑한다. 이처럼 이미 확보된 자원을 바탕으로 썬은 높은 동작클럭과 많은 코어개수를 모두 포용한 익숙한 정의인 'Chip Multi Threading'을 통해 썬에서 출시하는 볼륨서버들에 상품성을 더하고자 하고 있다.

썬은 2008년 한 해동안 출시된 자사 볼륨서버 라인업을 재정비해, 시장이 요구하는 적절한 아이템을 고객에게 전하는 것을 목표로 하고 있다. 경기 위축으로 인해 신제품 출시가 어려운 상황에서, 기존 포트폴리오를 재정비한다는 현실적인 선택을 한 것이다.

단, 모델이 사양별로 구분될 때, 최상위군이 강화된 점이 이채롭다. 2way, 4way로 구현된 '썬 스팍 엔터프라이즈 T5440'은 최고를 원하는 고객을 위한 제품이다. 국내에서는 주로 금융권에서 쓰이는 장비다.


지난 경기를 기준으로 한 분석이긴 하나, 볼륨서버 시장의 성장에 대해서 썬은 자체적으로 낙관적인 평가를 내리고 있다. 지난 하반기부터 본격화된 경기하강에 대한 보정을 얼마나 할지는 공개되지 않았으나, 일단 서버 분야에서는 볼륨서버 비즈니스에 무게를 싣는다는 계획이 현재 수립되어 진행되고 있다.

긍정적인 시장 전망에 근거해 썬은 전형적인 윈백(Win-Back) 전략을 상정하고 있다. 현재 타사 또는 윈도우나 리눅스 등의 운영체제 기반 서버로 이전하였거나 이전하려는 고객을 대상으로 볼륨서버의 장점을 전파해 시장을 키운다는 복안이다.

2008년 동안 한 해동안 축조된 썬의 서버 포트폴리오는 전략적으로 각 영역별로 목표를 정해 비즈니스 역량이 집중된다. 엔트리 레벨 모델인 T1000/T2000 모델은 썬 고객뿐만 아니라 경쟁사 고객들에게 균등하게 집중되는 경향을 보일 예정이다.

반면 미드레인지 분야에 포진한 T5120/T5220/T5140/T5240 모델 등은 경쟁사 제품들과 직접 경합하는 스탠스를 취한다. 그림으로는 중간에 걸치는 것 같지만, 집중적으로 제안이 들어가는 것은 중간 체급 선수들이다.

'바토카'(Batoka)라는 코드네임으로 명명된 최상위 모델인 T5440은 주로 금융권 시장으로 진입해 '무주공산' 처럼 표시되고 있으나, 이 시장은 HP의 아이테니엄 계열 서버와 IBM의 메인프레임이 버티고 있는 영역이다. '모 아니면 도'인 싸움이 벌어지는 곳이다.


▲ 썬은 '규모의 경제(=볼륨)'를 이룰 수 있는 중저가 제품에 대한 판촉을 강화할 예정이다.

썬에서는 주요 라인업을 광범위하게 펼치고 고객들에게 적절한 응대를 한다는 것을 기본 전략으로 삼고 있다. 그러나 실상 제일 원하는 것은 제일 비싼 최상위 모델인 바토카가 많이 팔려주는 것이다. T5440 판촉을 위해 고객사 세미나, 로드쇼 등을 펼칠 예정이며, 구매 고객에게는 노트북과 추가 마진, 여행 등 각종 특전을 제공하는 방안이 강구되고 있다.

최상위 모델이 많이 팔려주면 좋겠지만, 시장은 꼭 그런게 아니기 때문에 중저가 시장 공략을 위한 프로모션도 2009년 초에 강화될 예정이다. '보상판매'라는 전가의 보도도 등장하며, 구매 규모에 따라 특전이 더해진다. 또한 오라클, Sybase 등 각종 애플리케이션 제조사와의 프로모션을 통해 패키지 상품도 고객사에 제안될 예정이다. 썬 특유의 파트너 수혜 프로그램도 전개된다.

반응형

'HARDWARE' 카테고리의 다른 글

SAS(Serial Attached SCSI)에 대한 이해  (0) 2007.07.24
AMD X2 클럭에 대한 이해 !!  (0) 2007.04.30
Posted by [PineTree]
PineTree/etc2009. 7. 30. 10:13
반응형

 

SKT

KT

LGT

문화

-프리미엄 공연 최대 50% 할인

-공연무료 초청

-인기가수 콘서트 무료 초청

-멜론 MP3 음원 50% 할인

 .

 .

영화

-VIP회원 대상 연 6회 무료 관람

-영화 2천원 현장할인과 팝콘 및 음료 콤보세트 2천원 할인

(TTL 고객대상)

-CJ CGV 온라인 무료 예매 서비스 (VIP 대상)

-씨너스 등 제휴영화관 1000원

-맥스무비 온라인 예매 시 1000원

레저

- 매월 오션월드 등 워터파크 최대 40%할인

-대명비발디 등 콘도 특별 우대가 제공

-래프팅 등 최대 30% 할인, 맛집 최대 20% 할인

-서울랜드 30%

-캐리비안베이 20~30%

-에버랜드, 서울랜드, 오션월드 이용권 최대 40% 할인, 서울 시내 레지던스 룸할인 (9월말까지)

외식

-미스터피자, 도미노피자, 파파존스피자 15% (VIP 30%)

-롯데리아, 투썸플레이스 10%

-스파게띠아 20%

-아웃백 15%

-T.G.I.F, 베니건스, 마르쉐, 토니로마스 20%

-베니건스, 씨즐러 20%

-씨푸드 오션, 차이나팩토리 10%

-맥도날드 13~16%

-미스터피자, 도미노피자 15%

-스타벅스 업그레이드

-파리바게트, 뚜레쥬르, 빵굼터 10%

-빕스, 베니건스 등 30% 할인 (10월 말까지)

 

반응형

'PineTree > etc' 카테고리의 다른 글

국내 토렌트 사이트모음  (0) 2010.06.04
한글주소 영문으로 변환사이트  (0) 2010.03.17
남자가 수명이 짧은 7가지 이유  (1) 2008.09.07
RAID  (0) 2008.02.11
FILE SYSTEM 비교  (0) 2007.07.20
Posted by [PineTree]
PineTree/Invitation2009. 7. 17. 00:53
반응형
현재 14장의 티스토리 초대장을  가지고 있습니다.

초대장을 원하시는 분들은 가능하면 방명록이나 댓글을 통하여 본인의 블로그 운영 목적을 밝히고, 또한 이메일 주소를 꼬옥 남겨주셔요


받으시는 분들 모두 알차고 즐거운  블로그 사용하시면 좋겠습니다.

즐겁게 블로깅하세요~*^.~*~~~

반응형
Posted by [PineTree]
OS/WINDOWS2009. 7. 16. 16:50
반응형

대부분은 경우를 보면 윈도우 서비스를 추가하거나 제거하는 방법을 잘 몰라서 그냥 방치를 하거나

불필요한 서비스인 경우는 중지만 해놓고 있는 경우가 많다.

 

인터넷에서 윈도우 서비스를 관리 할 수 있는 유틸리티를 받아서 관리를 하는 분도 있기도 하지만

만약 해킹으로 인하여 인터넷이 불가능한 상황이라면 인터넷에서 이런 유틸리티를 받을수도 없다.

 

하지만 Windows Control (이하 SC)를 이용하면

윈도우 서비스를 쉽게 생성 할수도 있고, 사용하지 않는 서비스는 삭제 할 수있다.

 

 

사용법도 무지 간단하다

 

서비스를 삭제를 하고자 하는 경우에는  아래와 같이 입력하면 된다.

 

sc delete 서비스명

ex) sc delete msdtc

 

서비스에 대한 정보를 보고자 할 경우에는 아래와 같이 입력하면 된다.

 

sc query 서비스명

ex) sc query msdtc

 

서비스 Start Stop은 아래와 같다

 

sc start 서비스명

ex) sc start abel

 

sc stop 서비스명

ex) sc stop abel

 

서비스 설정을 바꾸고자 할때에는 config를 입력하면 된다.(그림 참고)

 

 

윈도우 서비스를 생성하고자 하는 경우에는 추가적으로 실행해주는 옵션이 많은데,

친절하게 옵션 설명이 나오므로 참고 하면 되겠다.

 

 

 

 

 

반응형
Posted by [PineTree]
MS-SQL2009. 7. 16. 16:47
반응형

[MSSQL]sa계정의 비밀번호를 잊어버렸을때

MSSQL을 윈도우계정으로 로그인 후

아래와 같이 비밀번호 초기화

 

sp_password null , '비번 , 'sa'


반응형

'MS-SQL' 카테고리의 다른 글

시스템 데이터베이스 (Master) 이동  (0) 2012.06.04
MS-SQL MDF,LDF 파일위치 변경방법  (0) 2012.06.04
sql-server 그룹웨어 ldf(트랜잭션 로그 줄이기)  (0) 2010.05.03
MSSQL DATATYPE  (0) 2010.01.03
SQL Server 2005 설치  (0) 2008.01.15
Posted by [PineTree]
DBMS2009. 7. 16. 11:04
반응형

많은 이들이 알고 있는 것처럼 다양한 소프트웨어 영역에서 오픈소스의 존재감과 활용도가 커지고 있고, 본격적으로 오픈소스의 도입을 고려하는 기업도 빠르게 증가하고 있다. 이 글에서는 미묘한 라이선스 정책의 차이점을 비롯해 오픈소스 도입을 고려하는 이들에게 도움이 될 만한 내용을 정리했다. 오픈소스 소프트웨어 중에서도 특히 DBMS의 라이선스 현황과 그에 따른 기술 지원 서비스에 대한 내용을 중점적으로 살펴보기로 한다.

 

2009년 경기 침체가 진행되는 가운데 IT 분야에서 가장 화두로 떠오른 것은 아마 오픈소스 소프트웨어가 아닐까 싶다. 가트너에 따르면 오픈소스 소프트웨어의 시장점유율은 2005년 11%(42.6억 달러)에서 2010년에는 24%(161.5억 달러)로 28.5% 성장할 것이며, 2010년까지 적어도 상용 소프트웨어 제품의 80%가 오픈소스 코드를 포함하게 될 것이라고 한다. 소스 코드가 공개되어 있어 소프트웨어를 무료로 사용할 수 있으므로 비용 절감이라는 장점이 있기도 하지만, 소스를 직접 수정하거나 변경해 사용할 수도 있기 때문에, 오픈소스 소프트웨어에 대한 관심은 날로 증가하고 있다. 그렇지만 오픈소스라 하여 아무런 제약이 없는 것은 아니다. 개발된 소스를 공개하는 과정에서 사용 제한을 두거나 조건이 있는 경우가 있다.

 

라이선스를 통해 본 오픈소스 DBMS

 

1990년대 무료 라이선스로 인식되는 몇몇의 소프트웨어들과 IBM, 썬(SUN)과 같은 대형 글로벌 벤더들의 참여로 개발자들 사이에 ‘자유(Free)’라는 단어가 무료라고 인식되면서, 사용자들 사이에 라이선스 오해로 인해 분쟁이 생겨났고, GPL 기반의 엄격한 라이선스 준수사항들 때문에 소프트웨어 개발에 대한 참여도가 떨어지기 시작했다. 1998년 이러한 시장 상황을 반영해 오픈소스 소프트웨어에 대해 OSI(Open Source Initiative)라는 단체가 결성되어 라이선스 체계를 정립하고, OSI에서 인증한 소프트웨어에 대해 OSI 인증 마크를 부여하기 시작했다.

 

라이선스에 대한 기본 정책은 오픈소스 소프트웨어 개발자가 만들어놓은 사용법과 조건에 따라 해당 소프트웨어를 사용하여야 하며, 위반할 경우 라이선스 위반으로 간주되는 동시에 저작권 침해로 인해 처벌을 받을 수 있게 된다. OSI가 정의한 라이선스 정책은 기본적으로 사용자의 자유로운 사용, 수정, 배포가 가능한 GPL(General Public License), LGPL(Lesser General Public License), BSD(Berkeley Software Distribution), MPL(Mozilla Public License) 이외에도 Apache 라이선스가 있다. OSI에 등록된 오픈소스 소프트웨어 중 대다수는 GPL과 LGPL, BSD 라이선스를 채택하고 있다.


<표 1>은 4개 라이선스에 대해 기술한 것으로, 무료 이용 가능, 배포 허용 가능, 소스 코드 취득 가능, 소스 코드 수정 가능 항목은 동일하나 2차 저작물 재공개 의무, 독점 소프트웨어와 결합 가능 항목에서는 각 라이선스마다 약간의 차이를 보인다. GPL의 경우, 2차 저작물 공개를 원칙으로 하여 독점 소프트웨어와 결합할 수 없으며, BSD는 2차 저작물 공개에서도 자유로울 뿐 아니라 독점 소프트웨어와도 결합이 가능한 그야말로 자유로운 방식이다.

 

<표 1> 라이선스의 형태 이해(출처: 컴퓨터프로그램보호위원회)

 

GPL을 채택하고 있는 대표적인 DBMS는 MySQL이지만 듀얼 라이선스 정책을 취하고 있다. GPL 라이선스가 적용된 커뮤니티 에디션(Community Edition)과 상용 라이선스인 엔터프라이즈 에디션(Enterprise Edition)이 있다. 최근 다우기술에서 MySQL과 함께 저변 확대를 꾀하고 있는 PostgreSQL의 경우, BSD 라이선스를 채택하고 있다. PostgreSQL 제품 기반의 사업을 전개하고 있는 EnterpriseDB사의 라이선스 정책은 오프소스 수익 모델인 Subscription 방식을 채택하고 있으며 ‘per socket’ 방식으로 가격이 책정되어 있다.

 

최근 NHN에 인수된 국내 오픈소스 DBMS인 CUBRID는 GPL 기반의 서버 엔진과 BSD 기반의 인터페이스 라이선스 정책을 채택하고 있다. MySQL의 경우, 응용프로그램을 개발하여 배포/판매하기 위해서는 응용프로그램 소스 코드를 오픈하거나 상용 라이선스를 구매해야 하는 반면, CUBRID의 경우에는 인터페이스와 서버를 나누어 두 가지 라이선스를 채택함으로써, 국내 독립 소프트웨어 벤더(ISV, Independent Software Vendor)가 CUBRID 2008 제품 기반의 응용프로그램을 개발하여 배포 및 판매하는 데 아무런 제약조건을 주지 않는다.

 

<표 2> 오픈소스 DBMS 라이선스 비교

 

그럼 실제 개발자나 사업자가 오픈소스 소프트웨어를 채택할 경우, 실제로 라이선스 정책에 위반이 되는지를 알아보기 위해 사용자 측면에서 상황에 따른 의문사항들을 시나리오별로 살펴보기로 하자.

 

시나리오로 본 라이선스 모델

 

라이브러리 링크

Q DBMS 인터페이스는 JDBC를 이용하고 있고 설치형 게시판을 만들고 싶다.

손수 만든 게시판을 다른 사람들도 사용할 수 있도록 나눠 주고 싶은데, 이런 경우에 내 소스 코드를 공개해야 하나? / CUBRID 기반의 중소기업용 전자결재시스템을 개발해서 판매하고 싶다. 우리 제품의 소스 코드를 공개하거나 상용 라이선스를 구매해야 할까?

 

A 위와 같이 DBMS가 제공하는 각종 라이브러리나 드라이버를 응용프로그램에서 링크해 사용하는 경우, JAVA 응용의 경우에는 JDBC 드라이버를, PHP 응용인 경우에는 PHP 인터페이스를 응용프로그램과 링크시켜야 한다. 이러한 경우에 MySQL을 사용하면 연결된 응용프로그램의 소스를 모두 공개하거나, 상용 라이선스를 구매해 소스를 공개하지 않을 수 있다. CUBRID는 응용과 연계되는 모든 인터페이스에 BSD 라이선스를 적용했기 때문에 응용프로그램의 소스를 공개할 필요가 없게 된다.

 

단순 호출일 경우

Q DBMS 백업 관리시스템을 만들어 사용해보고 쓸 만하면 제품으로 패키지해서 판매하고 싶다.

백업 관리시스템이기 때문에 DBMS 백업 파일을 다루거나 유틸리티(Utility)를 호출하는 방식으로 동작할 것이고 DBMS의 인터페이스나 라이브러리를 링크할 필요는 없다. 이런 경우에도 라이선스가 문제가 될까?

 

A 라이브러리나 드라이버를 응용프로그램과 직접 연결하지 않고 제공하는 기능을 단순하게 호출하는 경우에도, 라이브러리 링크와 마찬가지로 GPL 기반 DBMS를 사용하는 My SQL의 경우에는 상용 라이선스를 구매해야 하지만, CUBRID의 경우에는 소스 공개의 의무가 없다.

 

법인 간 배포

Q 한국에 본사가 있고 일본, 중국, 미국에 지사가 있는 기업이다.

본사에서 만든 게임으로 해외 법인에서도 서비스하고자 하는 데 가능한가?

 

A GPL 라이선스를 채택한 DBMS로 만든 응용프로그램을 서로 다른 법인 간에 배포하는 경우에는 응용프로그램의 소스를 모두 공개하거나 상용 라이선스를 구매해야 한다. 물론 CUBRID는 소스를 공개할 필요가 없다.

 

인터페이스 수정

Q DBMS가 제공하는 PHP 인터페이스에 개발 편의성을 위해 몇 가지 기능을 추가해야 한다.

PHP 인터페이스를 수정해서 사용하면 수정된 인터페이스나 연결된 응용을 모두 공개해야 할까?

AGPL 라이선스의 경우에는 소스에 수정을 가한 경우 해당 소스를 모두 공개해 개선된 기능을 다른 사용자들과 공유하는 것이 원칙이다. 하지만 CUBRID 경우에는 BSD 라이선스 정책이기 때문에 수정된 소스를 공개하지 않아도 된다.

 

서버 수정

 

추가적으로 DBMS 서버 엔진을 수정하고자 할 경우에는 MySQL뿐 아니라 CUBRID 역시 GPL 라이선스에 따라 소스 코드를 모두 공개해야 한다. 서버는 핵심 인프라이므로 개선된 기능을 많은 사용자들과 공유하는 것이 바람직하다는 생각 때문이다.

 

<그림 1> 워드 프로세서의 객체 종류

 

서비스로서의 오픈소스 소프트웨어

 

지난 2월 한국 소프트웨어 아키텍트 연합에서 실시한 설문조사에 따르면 오픈소스 소프트웨어를 전체 아키텍처의 25.0% 이하로 적용한다는 응답이 59.4%를 차지했고, 사용하지 않는다는 응답도 12.5%에 달했다. 오픈소스를 사용하지 않는 이유로는 기술 지원(77.4%), 안정성(58.15%), 기능적 성숙도(22.6%) 등에 대한 우려를 꼽았다. 포레스트 리서치(Forrest Research)에 따르면 오픈소스를 사용하지 않는 이유 중 기술 지원 부족이 답변 가운데 36%를 차지했다. 오픈소스가 갖는 장점에도 불구하고 많은 기업이나 개발자들이 적용하는 과정에 있어서 제품의 기술 지원에 따른 부담감을 안고 있음을 나타내는 증거라 할 수 있다.

 

이러한 시장 상황에 따라 최근 오픈소스 개발사들은 제품을 팔기보다는 제품을 얼마나 효율적으로 관리, 사용할 수 있느냐 하는 문제에 초점을 맞춰, 서비스 형태의 기술 지원을 제공하는 추세이다. 특히 DBMS와 같이 기업의 근간이 되는 인프라 소프트웨어인 경우 무엇보다 제품의 유지보수와 관리가 중요한 포인트인데, 라이선스 비즈니스 형태의 밀착력 있는 유지보수 정책에 길들여진 고객들이라면, 이러한 서비스 위주의 오픈소스 소프트웨어에 대해 반기지 않을 수 없을 것이다.

 

이러한 오픈소스 소프트웨어 업체들의 서비스 중심의 기술 지원은 고객의 요구사항에 따라 유연성 있게 부응할 수 있을 뿐 아니라, 고객 입장에서는 기존의 라이선스 구매에 따른 유지보수 비용에 비해 TCO(총 소유비용)를 절감할 수 있어, 오픈소스 소프트웨어가 갖는 한계점을 극복할 수 있게 되었다. 오픈소스 소프트웨어가 제공하는 서비스는 건마다 제공하는 단발성 기술 지원도 있지만 대부분은 1년 단위 서비스 계약을 통해 진행되는 것이 일반적이다. 유지보수 내의 기술 지원 항목으로는 패치, 업그레이드, 튜닝, 기술자문, 개발자 지원, 모니터링, 긴급 장애지원, 예방 및 점검, 운영 지원 등이 있다. 오픈소스 소프트웨어에서 제공하는 서비스들을 살펴보면 <표 3>과 같다.

 

<표 3> 오픈소스 소프트웨어의 제공 서비스

 

이 밖에도 큐브리드의 경우에는 지정 기술 인력을 배치하는 기술 어카운트 담당 서비스나 고객 지원 상황을 알려주는 트래킹 서비스 등을 제공하기도 한다. 트래킹 서비스란 고객이 요청한 서비스에 대해 접수부터 확인, 분석 과정 및 해결을 위해 적용하는 과정에 대해 실시간으로 확인할 수 있도록 도와주며, 특히 제품의 개선과 연관되는 경우에는 제품 개선 진행 상황 또한 실시간으로 확인 가능한 서비스를 말한다. 또한 진행 상황을 확인하여 완료시점(제품 개선의 경우, 제품의 공급시점)을 예측할 수 있어 더 빠른 의사 결정이 가능하도록 지원해준다. 제품의 안정성과 기술 지원 문제로 인해 기존의 오픈소스 소프트웨어들은 기업의 중대한 프로젝트에서 제외되는 경우가 많았는데, 최근 오픈소스 소프트웨어 개발사들의 이러한 기술 지원 체계들은 향후 오픈소스 소프트웨어의 도입과 적용에 적지 않은 영향을 줄 것으로 생각된다.

 

오픈소스 DBMS 적용 가속화

 

우리나라는 선진국에 비해 오픈소스 소프트웨어에 대한 관심과 자발적인 참여가 현저히 낮은 편이다. 그만큼 오픈소스 소프트웨어에 대한 인지가 늦었고 중요성을 뒤늦게 알기 시작했기 때문이다. 사실 우리나라에서 공개 소프트웨어가 알려지고 확산되기 시작한 것은 ‘2003년 1.25 인터넷 대란’ 이후부터라는 견해가 지배적이다. 그 결과, 2009년인 지금 30% 이상의 공공기관 서버에서 리눅스를 사용 중에 있고, 운영체제인 리눅스 외에 DBMS, WAS, 개발도구뿐 아니라 기업의 그룹웨어나 BPM 같은 솔루션들까지 다양한 분야로 확대되고 있다. 이에 발맞춰 정부도 공개 소프트웨어에 대한 확산과 개발자 참여를 유도하기 위해, 지식경제부는 지난해 기업과 대학이 함께 공개 소프트웨어 커뮤니티를 개최 및 운영해 소프트웨어 개발에 참여할 수 있도록 11개 커뮤니티를 지원했으며, 2009년에는 30개까지 확대했다. 정부 차원의 오픈소스 소프트웨어의 장려는 경제 불황에 따른 비용 절감 차원 측면에서도 생각할 수 있지만, 국내 소프트웨어 업계의 발전이라는 관점에서 오픈소스 개발자들의 참여 유도가 무엇보다 중요하다는 인식 때문으로 판단된다.

 

또한, 국내 포털 업체인 NHN뿐 아니라 씨디네트웍스, 삼성SDS, 유엔진 솔루션즈, 토마토시스템 등 다양한 분야에서 오픈소스 소프트웨어가 출시되기 시작했다. 게다가 네이버와 다음 등 대형 포털 업체들의 오픈 API 활성화를 위해 서비스를 본격화하기 시작했고 이러한 성과는 올해를 필두로 가시적인 변화를 가져올 것으로 기대된다. 이와 같이 국내 오픈소스 소프트웨어의 움직임이 활성화되고 있는 가운데, 오픈소스 DBMS의 사용과 적용 또한 점차적으로 확산될 것으로 예상된다.

 

DBMS 플랫폼의 다변화 예상

 

기업 내의 중요하지 않은 응용프로그램 요소에 오픈소스 DBMS가 채택되는 데는 2년 정도의 시간이 걸리지만, 그것이 중대한 프로젝트들로 확산되는 데는 약 5년 정도 걸리는 것으로 알려져 있다. 이에 근거할 때 오는 2012년에는 많은 기업들이 DBMS 플랫폼의 다변화를 꾀하리라 생각된다. 이는 단순 비용 절감이라는 측면에 그치는 것이 아니라, 소프트웨어 개발 환경을 활성화하고 자생력 있는 소프트웨어를 확산한다는 측면에서 접근하는 것이 바람직해 보인다.


다음 호에서는 특정 응용(게시판)을 중심으로 CUBRID와 타 DBMS와의 기능적 차이 및 구현방법 등을 점검해보기로 한다.

참고자료
1. http://kldp.org/files/open%20source%20guide.pdf
2. http://www.cubrid.com/zbxe/bbs_oss_guide
3. http://www.dt.co.kr/contents.htm?article_no=2009021702010860600004

 

필자소개

 

유명희 mhyu@cubrid.com|DBMS 마케팅 분야에서 다년간의 경험을 쌓았으며, 현재는 큐브리드에서 마케팅 팀장으로서 일하고 있다. 최근에는 국내 오픈소스 소프트웨어 시장에서 국산 DBMS의 저변 확대와 활성화를 위해 열심히 뛰고 있다.

 

출처 : 한국 마이크로 소프트웨어 [2009년 5월호]

제공 : DB포탈사이트 DBguide.net

반응형
Posted by [PineTree]
ORACLE/ORACLE TOOL2009. 7. 10. 16:33
반응형

Oracle DB로 보는

데이터베이스 인터페이스의 발전

 

많은 개발자들이나 DBA들은 하루에도 몇 번씩 데이터베이스와 대화를 시도한다. 때로는 툴을 쓰기도 하고 때로는 COMMAND 모드로 대화를 시도한다. 대부분 직관적으로 보기 쉽고 접근하기 쉬운 GUI 기반의 툴로 접근하리라 생각된다. 막상 편한 GUI 기반의 툴을 쓰다가 갑자기 커맨드 라인 모드로 데이터에 접근한다면 불편하기 그지없을 것이다. 우리가 익숙하게 쓰는 데이터베이스가 어떤 툴로 변모해 왔으며 앞으로 어떤 방향으로 변해갈지 오라클 데이터베이스를 중심으로 설명하고자 한다.

 

먼저 데이터베이스에서 유저 인터페이스의 종류를 꼽으면 아래와 같다.

 

- 커맨드 라인 인터페이스
- GUI 기반 관리 툴
- SQL*DEVELOPER
- 기타 RDBMS에서의 유저 인터페이스

 

커맨드 라인 인터페이스

 

SQL*PLUS

 

오라클 데이터베이스의 유저 인터페이스 가운데 가장 대표적인 커맨드 라인 유틸리티인 SQL*PLUS는 크게 MS-DOS 프롬프트와 같은 명령 프롬프트 기반의 CUI(Character User Interface) 유저 인터페이스와 일부 그래픽 모드를 보강한 GUI 기반의 인터페이스 두 가지를 지원한다.

SQL*PLUS라는 이름의 기원은 Oracle 4 버전 때로 거슬러 올라간다. UFI(User Friendly Interface)라는 이름으로 버전 4까지 포함되어 오다가 이 UFI에 신규 기능들이 추가되어 내부적으로 ‘Advanced UFI’로 명명되었다. 후에 신규 릴리즈가 발표되기 전 공식적으로 SQL*PLUS로 명명해서 발표하게 되었다.

 

근래 들어서 강력한 사용자 편의 기능을 갖춘 써드파티 툴에 밀려서 개발자나 DBA에게 있어서 그 사용빈도가 줄었다고는 하나 모든 운영체제 시스템에서 사용 가능할 뿐만 아니라 SQL* PLUS만의 특수한 기능으로 인해 그 효율성은 여전히 유효하다고 하겠다. 특히나 유닉스(UNIX) 계열의 서버 작업시에는 없어서는 안 될 중요한 유틸리티라고 할 수 있다.

<화면 1>은 X-Terminal에서 실행한 SQL*plus 커맨드 라인의 예제와 윈도우 GUI 기반의 예제이다.

 

<화면 1> CUI 기반의 SQL*PLUS와 윈도우 GUI 기반의 SQL*PLUS

 

ISQL*PLUS

 

본격적인 인터넷 환경이 활성화되기 시작한 시기에 발표된 Oracle 8i(1998)에서 SQL*PLUS의 웹(web) 기반 버전이 ISQL*PLUS이다. Oracle 9i부터는 웹 브라우저에서 SQL을 실행하는 환경을 지원하게 되었다. 이는 후에 나오는 10g의 웹 기반 Enterprise Manager의 모체가 되었던 존재이기도 하다. 기존의 SQLPLUS가 포맷을 정하기 힘들고 FETCH 사이즈를 지정하기 힘든 문제점을 지녔는데, ISQLPLUS에서는 데이터 GRID 형태를 지원함으로써 이 문제를 어느 정도 해소하게 되었다.

 

<화면 2> 웹 기반의 ISQLPLUS

 

접속 방식은 다음과 같이 웹 브라우저에서 URL로 host 서버의 주소와 포트번호를 입력해서 접속한다.

 

- 형식 : http://machine_name.domain:port/isqlplus
- 예 : http://localhost:5560/isqlplus

 

9i에서의 ISQLPLUS는 Java Oracle HTTP 서버 기반에서 7777 포트를 대기하고 있다. 반면 10g에서는 ocj4로 동작하는 5560 포트를 대기하고 있다.

 

SQL*PLUS에서의 HTML, EXCEL 출력물 만들기

 

개발자들이 SQL*PLUS가 힘들다고 생각하는 가장 큰 이유 중 하나는 데이터의 포맷이나 출력물 생성에 있어서 사용자가 원하는 포맷대로 나오기 힘들다는 점이다. 하지만 SQL*PLUS의 MARKUP 옵션으로 커맨드를 지정한다면 출력물에 대한 포맷을 맞추고 저장하기 위한 수고를 덜 수 있다.

 

[HTML, EXCEL 형식의 리포트 만들기]
SQL> SET MARKUP HTML ON
SQL> SPOOL 파일.html (EXCEL 파일인 경우에는 파일 확장자를 파일.XLS로 수정)
SQL>SELECT * FROM EMP;
SQL>SPOOL OFF

 

<화면 3> HTML 형식으로 표현된 OUTPUT

 

SQL*PLUS의 장단점

 

● 단점
- OUTPUT 출력 값에 대한 데이터 포맷과 사이즈를 일일이 지정하기 힘들다.
: 관련 옵션을 알거나 미리 설정해야 한다.
- 써드파티 툴에서의 ARRAY 사이즈가 디폴트로 지정되어 있다.
: 많은 데이터가 FETCH되는 경우 이를 정지할 수 없으므로 쿼리의 ROWNUM으로써 제어해야 한다.
- COMMAND 지향적인 툴이므로 모든 명령어를 숙지하고 있어야 한다.
: TOAD나 ORANGE와 같은 간편한 인터페이스를 제공하지 않는다.


 

● 장점
- PL/SQL, SQL 명령어를 구분 없이 사용할 수 있다.
- OS 명령어를 SQL*PLUS 명령어에 포함해서 사용할 수 있다.
: 윈도우의 경우 host, 유닉스의 경우에는 ‘!’를 붙여서 운영체제 명령어를 병행해 사용할 수 있다.
- 미리 작성된 스크립트(script)를 활용하면 더 효율적으로 배치 작업이나 DBA 업무를 수행할 수 있다.
: @script.sql 형태로 해당 스크립트를 실행할 수 있으며 스크립트 파일 내에 @@ 기호를 붙여서 스크립트 파일 안에서 다른 스크립트 파일을 호출할 수 있다.
- AUTOTRACE나 EXPLAIN PLAN 명령어, DBMS_ XPLAN을 통해 각종 통계정보와 실행계획 확인 및 옵티마이저의 동작 방법을 확인해볼 수 있는 강력한 기능을 제공한다. 모든 장점 중에서도 특히 이것이 DBA나 개발자가 반드시 SQL*PLUS에 친숙해야만 하는 가장 큰 이유가 아닐까 생각된다.

 

그럼 SQL*PLUS와 ISQLPLUS의 미래는 어떨까? 11g에서 그 명암이 갈리게 되었다. SQL*PLUS의 존재는 최소화되었다. 기존 윈도우 GUI 기반의 SQL*PLUS는 더 이상 지원되지 않는다. 그도 그럴 것이 뒤에서 살펴보겠지만 2006년도에 써드파티용 대체 툴로 발표된 SQL Developer 툴이 이 SQL*PLUS의 역할을 수행하면서 11g에서는 GUI용 SQL*PLUS와 자리바꿈을 하게 되었다. 다만 커맨드 유저 인터페이스는 계속해서 지원한다. 또한 ISQLPLUS는 10g에서의 EM 등장으로 인해 11g에서는 그 효용성이 감소함으로써 11g에서는 더 이상 지원되지 않는다.

 

GUI 기반 관리 툴

 

자바 콘솔 기반의 9i ENTERPISE MANAGER

 

Oracle이 GUI 기반의 유저 인터페이스를 Oracle 8i에서 본격적으로 지원한 GUI용 데이터베이스 관리 유저 인터페이스가 Oracle Enterprise Manager이다. 자바 콘솔 기반으로서 당시만 하더라도 구동하기가 매우 무겁다는 의견이 많았다. 따라서 사용자들에게 널리 사용되지 못하고 대신 쉽고 사용자 친화적인 인터페이스(user friendly interface)로 무장한 많은 데이터베이스 관리 툴들이 득세하기도 했다.

 

하지만 EM(Enterprise Manager) 그 자체만 본다면 상당히 매력적인 기능들이 많았다. 3-tier 기반으로 다수의 서버를 통합적으로 관리 가능했을 뿐 아니라 스케줄링 작업이나 각종 리포트 및 위험 상황이 오면 관리자에게 공지(Notification)하는 유용한 기능들을 제공했다.

 

<화면 4> Oracle 9i Enterprise Manager의 초기 화면

 

브라우저 기반의 10g Enterprise Manager

 

본격적인 그리드(Grid) 컴퓨팅을 표방하고 발표된 Oracle 10g EM에서 가장 크게 바뀐 점은 인터넷에서 사용하는 HTML 기반의 3-tier 아키텍처로 구성되었다는 점이다. 사용자는 브라우저를 통해 OEM에 접속해서 어디에서라도 데이터베이스를 관리할 수 있다. 모바일 디바이스에서도 인터넷에만 접속된다면 OEM에 접속할 수 있다. 뿐만 아니라 자바 콘솔 기반이 아니기 때문에 클라이언트에서는 소프트웨어 설치가 필요하지 않게 되었다.


이 OEM에는 두 가지 타입이 지원된다. 하나는 Oracle 설치 시에 디폴트로 설치되는 Oracle Enterprise Manager Data base Control과 복수의 인스턴스를 가진 RAC(Real Appli cation Cluster) 환경에서 설치할 수 있는 Oracle Enterprise Manager Grid Control을 설치할 수 있다.

 

<그림 1> HTML 기반의 3-tier 아키텍처

 

브라우저를 통해 OEM에 접속했다면 이 홈페이지 안에서 정보를 통합해 확인할 수 있고 데이터베이스의 상태를 즉시 확인해볼 수 있다. 직관적인 인터페이스를 제공하므로 마치 웹사이트를 서핑하는 것처럼 링크를 클릭해 확인함으로써 원하는 정보를 간편하고 쉽게 접근할 수 있다. 또한 전체적인 구성은 Drill down 메뉴 구성으로써 전체 문제 -> 세부 문제로 문제의 원인을 재빨리 찾을 수 있다.

 

<화면 5> 10g의 Enterprise Manager

 

모바일용 Enterprise Manager

 

EM의 서브 버전으로서 10g에서는 OEM의 모바일 버전인 EM2GO라는 버전을 제공하며, 모바일 환경에서 데이터베이스를 관리하고 장소에 구애받지 않고 데이터베이스를 관리할 수 있는 환경을 제공한다. EM2GO의 경우에는 OEM과 동일하게 OC4J 인스턴스를 공유함으로써 추가적인 리소스가 필요하지 않다.

 

<화면 6> PDA를 통한 EM2GO의 로그인

 

상용 툴의 대체자, SQL*DEVELOPER

 

2006년 오라클은 기존 사용 툴을 대체할 만한 그래픽 유저 인터페이스 IDE(Integrated Development Environment)용 툴인 SQL DEVELOPER를 발표한다. SQL*PLUS나 ISQL*PLUS 등 Oracle의 유저 인터페이스가 MS SQL의 ENTERPRISE CONSOLE이나 DB2의 DB CENTER에 비해 그 사용자 편의적인 유저 인터페이스가 부족했던 것은 사실이다.

 

MS SQL에서 Oracle과의 비교우위를 강조할 때 항상 자신 있게 내세웠던 것은 사용자가 쉽게 데이터를 관리하고 접근할 수 있는 쉬운 GUI 인터페이스였다. 따라서 이러한 점 때문에 Oracle을 지원하는 TOAD, Orange, PL/SQL Developer 등의 수많은 데이터베이스 관리용 써드파티 툴들이 득세할 수 있었다. 이에 대한 변화로 오라클은 SQL*DEVELOPER를 발표하게 되었고 11g에서는 GUI용 SQL*PLUS를 대체하게 되었다.

 

그렇다면 SQL*DEVELOPER가 기타 써드파티 툴과 비교할 때 어떤 특징을 지니고 있을까? 먼저 몇 가지 점을 꼽을 수 있다. 첫 번째, CLIENT 제품 설치 없이 JDK만 설치되어 있는 상태라면 JDBC를 통해 바로 접속할 수 있는 Direct Access를 지원한다. OCI, SQLNET을 통해 접속하기 위해서는 반드시 Oracle CLIENT에 포함된 이런 요소를 설치하고 또한 CLIENT 설치 후에 TNSNAME.ORA 파일에 해당 서비스를 등록해야 이 접속 정보를 참조하여 해당 서버에 접속할 수 있었다. 그러나 이러한 설정이나 설치 없이 SQL DEVELOPER에 포함된 JDBC 드라이버를 이용하면 DB 서버의 주소를 직접 기술해 바로 접속할 수 있다.

 

기존에도 SQLGATE라는 툴이 SQLNET 설치 없이 접속할 수 있는 방법을 지원했으나 SQL*DEVELOPER처럼 제품 설치 없이 압축만 풀고 해당 실행 파일만 가지고 있다면 툴을 실행할 수 있는 경우는 없었다. 그러나 이와 같이 어느 환경에서나 휴대용 저장장치에 파일을 가지고 다니면서 설치 없이 언제든 실행할 수 있다는 것은 큰 장점이 될 수 있다.

 

<화면 7> SQL DEVELOPER의 메인 화면

 

두 번째, 기존의 써드파티 툴은 RDBMS에 종속적인 터라 특정 DB용의 툴만 존재했다. 그러나 SQL*DEVELOPER에서는 이기종 DB 접속을 지원한다. Oracle뿐만 아니라 사이베이스, MS ACCESS, MySQL로의 접속을 지원한다. 따라서 이기종 DB를 관리하거나 이기종 DB로의 마이그레이션을 수행할 때 유용하다.

 

세 번째는 기존 써드파티 툴들이 일방적으로 정보를 제공하는 역할을 했다면 SQL*DEVELOPER에서는 사용자가 자신만의 리포트를 작성해서 모니터링에 사용할 수 있는 툴을 사용자가 편집 및 커스터마이징할 수 있는 편의 기능을 제공하고 있다. 대표적인 것이 User Define Report이다. 기존의 9I OEM에서 지원하던 사용자 작성 리포트 기능을 그대로 차용한 형식으로 사용자가 지정된 스크립트를 그리드나 차트 형태로 보여줄 수 있는 기능을 말한다.

 

SQL*DEVELOPER에서 사용자정의 단축키 사용

 

툴을 사용하다 보면 특정 툴에 익숙해져서 좀처럼 다른 툴로 바꾸기가 힘들다. 특히나 익숙한 단축키 사용에 있어서는 더욱 그렇다. 예를 들어 TOAD에서는 SQL 문장 실행이 CTRL + F8인데 다른 툴에서는 ALT + ENTER 키가 실행키라면 단축키에 익숙해진 사용자라면 상당히 신경 쓰이는 일이 아닐 수 없다.

따라서 이러한 점 때문에 단축키를 변경할 수 있는 설정을 SQL* DEVELOPER에서 지원하고 있다. 메뉴 TOOLS - PREFERENCES 설정에서 ACCELERATORS를 선택하면 해당되는 각각의 ACTION을 실행하는 단축키(HOT KEY)를 설정할 수 있다.

 

<화면 8> 유저 정의 단축 키 설정 화면

 

많은 유용한 모니터링 스크립트를 가지고 있다고 하더라도 구슬도 꿰어야 서말이라는 말처럼 적시에 찾아내지 못한다면 무용지물일 것이다. 이 리포트에 해당되는 스크립트를 정리해서 정리된 폴더로 쌓아놓는다면 강력한 사용자정의 모니터링 툴이 될 수 있다.
아래는 Report 메뉴에서 사용자정의 리포트의 차트 스타일로 지정하고 실행한 예제이다.

 

● 예제 : 사용자정의 리포트 작성

① 먼저 다음의 Connection 탭을 선택하고 User Define Report를 선택한 후 오른쪽 마우스 버튼 클릭으로 Add Report를 추가한다.

 

<화면 9> Add Report 추가

 

② Report명과 해당되는 SQL문을 입력하고 STYLE은 CHART 형식으로 지정한다. 주의해야 할 것은 아래 3개의 measure 값이 항상 들어가야 하며 각각 값들은 그래프의 X축 값, 계열 값, Y축 값으로 나타낸다. 다시 말해 SID 컬럼이 X축, EVENT가 각각의 계열 값, SUM의 계산 값이 Y축의 값을 나타낸다는 것이다.

 

SQL> SELECT SID,EVENT,SUM(seconds_in_wait)
FROM V$SESSION
WHERE TYPE <> ‘BACKGROUND’
GROUP BY SID,EVENT

 

<화면 10> STYLE 지정(CHART 형식)

 

③<화면 10>의 하단 탭 중 Chart Detail을 선택해서 차트의 종류를 설정한다. 여기서는 BAR_VERT_STACK 형태(막대-수평 형태)의 차트를 선택해본다.

 

<화면 11> BAR_VERT_STACK 형태 선택

 

④<화면 12>와 같은 그래프가 완성되었다. REFRESH 간격 TIME을 5초로 설정하면 주기적으로 바뀌는 리포트 차트를 볼 수 있다.

 

<화면 12> SQL*DEVELOPER의 CHART 스타일 리포트

 

  Oracle MS SQL IBM DB2
커맨드 라인 모드

SQL*PLUS

ISQL*PLUS

SQLCMD

(명령 프롬프트)

command line processor

(DB2 명령행 처리기)

데이터 관리 GUI 툴

ENTERPRISE

MANAGER

SQLSERVER

MANAGEMENT

STUDIO

제어 센터
써드파티 툴

TOAD For Oracle

SQLGater for

Oracle

Navicat for Oracle

TOAD FOR

MSSQL

TOAD FOR DB2

<표 1> 기타 RDBMS와의 비교

 

지금까지 간략하게나마 데이터베이스 유저 인터페이스의 발전 방향에 대해 살펴봤다. 설명한 내용을 통해 COMMAND, JAVA CLIENT 기반, 웹 기반으로 서서히 변화하고 있으며 좀 더 쉽고 편하면서 언제 어디서나 사용 가능한 방향으로 바뀌고 있음을 알 수 있었다. 앞으로의 유저 인터페이스 진행 방향을 꾸준히 지켜보는 것은 언제나 흥미로운 시도임이 분명하다.


 

데이터베이스 접속 방식

 

Oracle에서는 접속 방식이 크게 두 가지로 나뉜다. 하나는 Telnet이나 터미널 프로그램으로 호스트에 바로 접속해서 실행하는 방식이고, 다른 하나는 SQL*NET을 통해서 OCI, JDBC Driver 등으로 접속하는 방식이다.

 

<그림 2> 오라클 데이터베이스 엑세스 제품들

 

애플리케이션에서의 다양한 접속명령 예


● pro*c
EXEC SQL CONNECT :username IDENTIFIED BY :password USING :dbstring ;

● JDBC OCI 드라이버
OracleDataSource ods = new OracleDataSource();
ods.setURL(“jdbc:oracle:oci:@oracle10g”);
ods.setUser(“scott”);                tnsnames.ora의 접속자명 기술
ods.setPassword(“tiger”);
Connection conn = ods.getConnection();

● JDBC Thin드라이버
OracleDataSource ods = new OracleDataSource();
ods.setURL(“jdbc:oracle:thin:@/xxxx:1521/ora10g”);
ods.setUser(“scott”);                    Thin 드라이브의 경우에는 tnsnames.ora를
ods.setPassword(“tiger”);                  사용하지 않고 접속정보를 직접 입력
Connection conn = ods.getConnection();

● SQL*PLUS
>CONNECT scott/tiger@ora10g

 

 

필자소개

 

김도근 kilgw@naver.com|OracleAce, OCM, MCDBA. ‘데이터베이스란 OS 위에 올라가 있는 애플리케이션에 불과하다’라는 생각으로 항상 데이터베이스를 생각하면서 데이터베이스를 공부하는 것을 낙으로 삼고 있다. 스터디 및 온라인, 오프라인 기고 등의 활동을 전개 중이다.

 

 

출처 : 한국 마이크로 소프트웨어 [2009년 6월호]

제공 : DB포탈사이트 DBguide.net

출처명 : 한국 마이크로 소프트웨어 [2009년 6월호]
반응형
Posted by [PineTree]