Oracle에서 BEA를 인수한 뒤에 Oracle은 BEA의 WAS와 개발 Tool들을 Oracle이라는 브랜드를 붙여서 내놓고 있습니다. 물론 거기에 Oracle DBMS와 연동하기위한 장치들을 기본으로 내장해서요.
 BEA WebLogic, BEA WebLogic Workshop 등의 대표적인 BEA 제품에 이제는 Oracle WebLogic, Oracle Workshop이라는 이름으로 시장에 나왔습니다. Oracle DBMS라는 걸출한 제품과 WebLogic이라는 유명 WAS, 그리고 이제는 Oracle Workshop for WebLogic이라는 이름으로 나온 WebLogic workshop이라는 WebLogic상에서 개발할때 편리한 개발 Tool까지 한 덩이가 되어서... ^^;; 나왔습니다.

사용자 삽입 이미지
위의 이미지를 보시면 알수있듯이 왼쪽위에 있는 빨간색 아이콘... 대문자 O(오)죠. 음... 그러고보니 원래 BEA제품들을 실행시키면 아이콘 모양이 어땠는지 기억이 나질 않네요. ^^;

음... 서론이 길었네요.
사실 이 글의 목적은 OTN에 올라온 문서를 소개하는겁니다.

원문 : Oracle Workshop의 Java EE 5 웹 표준 지원(Oracle Workshop for WebLogic을 이용한 Java EE Web 애플리케이션 개발 방법을 배워 보십시오)


오랫동안, J2EE는 강력하면서 복잡한 기술로 간주되어 왔습니다. 하지만 이를 완벽하게 이해하는 데 충분한 시간을 기울였다면, 확장성이 뛰어난 컴포넌트 기반의 다중 계층(multi tier) 엔터프라이즈 애플리케이션을 개발하는 데 그다지 효과적인 솔루션이 아니라는 사실을 깨달았을 것입니다.

Java EE 5는 이전 J2EE의 위력을 그대로 가지고 있지만 새로운 버전은 이전 버전들에 비해 훨씬 단순하고 사용하기 쉽습니다. 이 글에서는 몇 가지 새로운 Java EE 5 기능에 대해 검토하고 Oracle Workshop (이전의 BEA Workshop)을 이용하여 간단한 웹 애플리케이션을 개발하는 과정을 살펴보겠습니다. 여러분은 웹 프로젝트를 수립하고, JavaServer Faces (JSF) 기반 폼을 작성하며, 페이지 탐색 규칙을 정의하는 것은 물론, 주석을 추가한 session EJB를 생성하고, JSF-Managed Bean 에서 DI(Dependency Injection)를 사용하며 EAR 파일로 애플리케이션을 패키징한 다음, 이를 로컬 또는 원격 Oracle WebLogic 서버로 배치하는 방법을 배우게 될 것입니다.


 리눅스에서 파일 관리를 할때 종종 사용하는 명령으로 find가 있습니다.
간단하게 파일 이름으로 검색을 하거나, 파일 크기로 검색을 할때 find를 사용하죠. 이 find 명령에 대한 개요 및 사용 예를 제공하는 OTN[각주:1]의 문서를 소개합니다.

원문 : Linux find 명령어 완전 정복 가이드

 아래는 원문의 앞부분을 발췌한 내용입니다.

가장 강력하면서도 한편으로는 혼란스러운 유비쿼터스 명령어인 find 명령어에 대한 개요.

게시일 : 2008년 7월

Linux find 명령어는 모든 Linux 명령어 가운데 가장 유용하면서도 혼란스러운 명령어 가운데 하나입니다. 다른 Linux 명령어의 표준 구문과 다른 구문을 가지고 있다는 점에서 어렵습니다. 하지만, 파일명, 파일 유형, 사용자, 더 나아가 타임 스탬프 별로 파일을 찾을 수 있다는 점에서 강력한 명령어이기도 합니다. find 명령어를 사용하면 이러한 속성을 자유롭게 조합해 파일의 위치를 찾을 수 있을 뿐만 아니라, 찾은 파일에 대해 연산을 수행할 수 있습니다.

본 글의 목적은 find 명령어와 그 잠재적 이점을 개략적으로 설명함으로써 find 명령어를 손쉽게 학습 및 사용할 수 있도록 돕는 것입니다. 동시에, find 명령어의 특성 중 가장 강력하면서도 한편으로는 혼란스러운 측면에 대한 개요 및 참조를 제공할 것입니다.

[주: 여기에서 사용된 find 명령어는 GNU 버전이기 때문에 일부 세부 내용은 다른 버전의 find 명령어와 다를 수 있습니다.]

  1. Oracle Technology Network [본문으로]

Tablespace의 크기를 MB 단위로 조회하고, 관련 정보를 조회하는 쿼리입니다.

select
ts.status
, data.name
, ts.contents
, extent_management
, data.Mbytes "SPACE(MB)", free.free "FREE(MB)"
, trunc((data.Mbytes-free.free)/data.Mbytes*100,2) "Used(%)"
from (select tablespace_name name, trunc(sum(bytes/1024/1024)) Mbytes
from dba_data_files
group by tablespace_name) data,
(select free.tablespace_name, trunc(sum(free.bytes)/1024/1024,1) free
from dba_free_space free
group by free.tablespace_name) free,
dba_tablespaces ts
where data.name = free.tablespace_name
and data.name = ts.tablespace_name
;


select
ts.status
, data.file_name
, data.name
, data.Mbytes "SPACE(MB)", free.free "FREE(MB)"
, trunc((data.Mbytes-free.free)/data.Mbytes*100,2) "Used(%)"
from (select tablespace_name name, file_name, file_id, trunc(bytes/1024/1024) Mbytes
from dba_data_files) data,
(select tablespace_name, file_id, trunc(bytes/1024/1024,1) free
from dba_free_space free) free,
dba_tablespaces ts
where data.name = free.tablespace_name
and data.name = ts.tablespace_name
and data.file_id = free.file_id
and data.name not in ('UNDOTBS1', 'SYSTEM')
;

위의 회색 박스안의 쿼리를 실행하면 아래와 같은 결과가 나옵니다.
사용자 삽입 이미지




참고 자료
Littleworld Encylopedia
오라클 정보공유 커뮤니티 oracleclub
 Orcle SQL Developer는 Oracle사에서 배포하는 DB 개발 툴입니다. 기본적으로 Oracle을 지원하며(당연한 일이겠죠. ^^) MS-SQL, MySQL 등의 DB도 지원합니다.

Oracle SQL Developer

Oracle SQL Developer는 생산성을 개선하고 데이터베이스 개발 작업을 단순화하기 위해 오라클이 새로이 제공하는 무료 그래픽 툴입니다. Oracle SQL Developer를 이용하여 데이터베이스 오브젝트의 조회, SQL 구문/스크립트의 실행, PL/SQL 구문의 디버깅과 같은 작업을 수행할 수 있습니다. 또는 기본 제공되는 리포트를 실행하거나 별도의 리포트를 생성하여 저장할 수 있습니다.

SQL Developer는 Oracle Database version 9.2.0.1 및 이후 버전을 지원합니다. 오라클은 Windows, Linux, Mac OS X 환경을 위한 SQL Developer 버전을 제공하고 있습니다.



 가장 최근 버전인 1.5버전의 형상관리 기능. CVS와 SubVersion을 이용해서 소스 관리/변경 관리를 할 수 있습니다. 이점이 1.5버전의 특징중 하나인데, 이걸 사용하는 화면을 스크린샷으로 만들어 봤습니다. 음... PL/SQL로 Stored procedure를 개발할때 편리하더군요.


사용자 삽입 이미지

과거 시점으로 되돌릴때나 작업한 내역을 쉽게 파악할 수 있어서 잠깐 자리를 비운 뒤에도 작업을 속행할 수 있어서 좋더군요.
 보통 새 장비가 들어오면 - 그 장비가 몇백만원 단위의 저가가 아니라 대형 장비라면 - 그 장비를 설치하는 일은 납품 업체에서하고, OS 설치까지도 알아서 해주죠. 저희는 서버, 스토리지, SAN Switch까지 들어오기때문에 여러 업체가 작업을 하게 되었습니다. 그래서 중간에 조정자가 필요합니다. 저희도 "을"의 입장이지만, 납품 업체들의 일정을 모아서 "갑"에게 알려주고 "갑"의 의사결정에 따라서 일정을 확정하는거죠.

0. 상면, 전력 등을 미리 신청하여 확보하였는가?
1. 기존의 서버스와 상관없이 미리 할 수 있는 작업은 무엇인가?
2. 여러 업체가 동시간대에 할 수 있는 작업은 무엇인가?
3. 다른 작업보다 먼저 해야할 작업은 무엇인가?
4. 기존의 서비스를 중지해야한다면 최소, 최대 몇시간이 걸리는가?
5. Migration하게 될 장비의 사양에 맞게 소프트웨어 라이센스도 확보되었는가?



음... 이 정도가 중요하게 고려되어야할 문제인것 같습니다. 마지막에 라이센스 문제가 적혀있는데, 이번에 저희 프로젝트에서 문제가 되었던 점입니다. 이건 초기에 계약이 어떻게 되었는지와도 상관이 있는 문제라서 좀... 난감한 문제이죠.
 DB 서버 이전을 하는 첫 단계로 기본 정보 수집 단계입니다.

 이 단계에서 우선 기본적으로 DB에 Datafile이 몇개나 되는지 용량은 얼마나 되는지 어떤 디렉토리 구조로 나뉘어서 저장되어 있는지 목록을 만듭니다. 그리고 각 계정별로 어떤 테이블이 있는지, 그리고 데이터의 양은 얼마나 되는지를 마찬가지로 목록으로 만듭니다.

 목록으로 만드는 이유는 이전 과정에서 앞으로는 없어도 되는, 현재 사용중이지 않은 테이블 혹은 계정을 가려내어 빼기 위함입니다. 한번쯤은 정리해주는게 필요하죠. ^^ 그래야 새 서버로 옮겼을때에 성능 향상이 눈에 뛰겠죠. ㅋㅋ 음... 그리고 좀더 자세한 내용은 나중에 적어보겠습니다. 사무실에 올라가야 겠네요.

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

내용 추가

1. 데이터 파일 목록

2. 유저별 Object 목록
 : system, sys 및 기타 DBMS 설치시 생성되거나 툴을 설치할때 생성되는 계정의 Object를 제외한 목록 정리

3. 각 유저별 디스크 사용량 정리
 이번에 새 장비가 들어와서 서버 이전을 해야합니다. 이기종 DBMS간의 이전은 아니라서 참 다행스럽긴한데, 그래도 고민해야할것들이 참 많네요. 그래서 Oracle이라는 DBMS의 관점을 포함해서 일반적인 DBMS Server의 이전이라고 가정하고 서버 이전을 할때 고려해야할 점들을 정리해보고자합니다.

 (1) 서버 이전을 시작하며

 서버 이전을 하기전에 우선 새 장비 도입과 관련된 업체 사람들이 모여서 회의를 하죠.
서버 납품 일정, 스토리지 장비 납품일정, 넷트웍 관련 장비 납품 일정, 전원 및 상면 예약 등등의  협의 사항을 얘기했습니다. 장비가 들어오는 시간 순서부터, 연결하는 순서. 동시에 작업 가능한 일들... 열거하려니 참 힘드네요.

그리고 결정적으로 Migration시에 발생하는 라이센스 변동 내용. 이건... 계약 내용에 없는건데, 갑이 억지를 부리네요. CPU갯수가 두배이상 늘어나는데, 어플리케이션 라이센스도 알아서 처리하라는...(음... CPU갯수가 틀리니까 경고메세지가 뜨는데 그게 보기 싫으시다는) 우리 "갑"님.

 그 외에는 걱정거리는 없네요.
더 많은 CPU 갯수, 더 빠른 CPU, 더 빠르고 용량이 늘어난 스토리지 도입. 뭐 걱정보단 DB 파일 저장 구조를 어떻게 꾸밀지만 고민하면 됩니다. 이것도 중요한거지요.

자세한 고민은 다음회부터 하겠습니다. 그럼 빨리 사무실에 들어가봐야 겠어요. 벌써 15분 가량이 지났네요.
Oracle사에서 공개하는 DBMS Tool인 SQL Developer의 1.5 버전이 공개되었습니다. 무료라는거!!!
구동하는데 걸리는 시간은 TOAD와 비슷합니다. ㅡ.ㅡ;;

CVS와 SubVersion을 지원하고 마이그레이션 기능이 추가되었네요.
이번 버전에서는 UI가 많이 바뀌었네요.


원문 : Oracle SQL Developer 1.5이란 무엇인가?
2008년 4월 발표된, Oracle SQL Developer 1.5는 오픈 소스 버전 통제 제품인 CVS 및 Subversion과의 통합 기능을 제공하기 때문에 "Version Control" 릴리스라 불립니다. 버전 통제를 지원하는 것은 파일 시스템에 저장된 파일을 검색해 읽는 File Browser입니다. SQL Developer 내부에서 이들 파일을 열어 편집할 수 있습니다. SQL Developer에 대한 이러한 기능을 추가한 것 외에도, 릴리스 1.5는 SQL Formatting, Schema Compare, Copy 및 Export 마법사 및 Sybase 마이그레이션 지원 등의 기능이 추가되었습니다. Times Ten 지원 기능도 이 제품에 통합되었습니다. 주요 기능 * SQL Developer 1.5의 새로운 기능에 대한 자세한 정보는, 신기능 목록에서 확인할 수 있습니다 * 보다 포괄적인 기능 목록은 SQL Developer 1.5 기능 목록을 참조하십시오.
정보문화사에서 출판된 "Perfect! 오라클 실전 튜닝"이라는 책의 16장에 소개된 내용이며, 오라클 DW Guide문서에도 소개된 내용입니다. 물론 DW Guide는 영문입니다. 그래서 "Perfect! 오라클 실전 튜닝"을 구매하려 했으나 절판되었네요. 아직까지 재고가 있는 곳이 있는지 알아봐야 겠습니다.

오라클 실전 튜닝 상세보기
권순용 지음 | 정보문화사 펴냄
데이터베이스 성능 데이터 수집부터 튜닝까지, 데이터베이스 튜닝을 위한 지침서. 이 책은 데이터베이스의 원리를 파헤치고 실무 중심의 예제를 수록해 데이터베이스의 모든 작업을 최적화하는 방법을 수록하고 있다. 이 책은 튜닝 관련 항목을 체계적으로 기록하였다. 특히 Join, Partition, Cluster Factor, Index 선정 및 튜닝, Application 분석 및 튜닝 등은 독창적이며 시스템의 성능 향상에 많은 효과를 기대할 수 있는 튜



Analytic Function
 Analytic Function은 오라클 8i 버전부터 본격적으로 제공되었다.

 특징
 - 주기적인 데이터 분석 작업에 이용
 - SQL 양의 감소로 인한 운영의 용이
 - 성능 향상
 - Group By 사용 감소
 SQL> SELECT DEPTNO, 이름, SAL COUNT(DEPTNO) OVER (PARTITION BY DEPTNO ORDER BY SAL) FROM 사원;

 10 김희진 250 3
 10 선애란 300 3

 Syntax ~ 함수명 OVER (PARTITION BY 컬럼명 ORDER BY 컬럼명) 함수

 LAG(컬럼명, 숫자, NULL일때 값) OVER (PARTITION BY 컬럼명 ORDER BY 컬럼명)
 LAG(컬럼명, 숫자) OVER (PARTITION BY 컬럼명 ORDER BY 컬럼명)
 숫자에 해당하는 만큼 이전 ROW의 값
 10 김희진 250
 20 선애란 300 250
 30 홍길동 400 300

 LEAD(컬럼명, 숫자) OVER (PARTITION BY 컬럼명 ORDER BY 컬럼명)
해당하는 값 만큼 다음 ROW의 값을 가져온다.
 10 김희진 250 300
 20 선애란 300 500
 30 홍길동 500 400
 40 이산 400 340

 AVG COUNT MIN MAX RANK FIRST_VALUE LAST_VALUE ROW_NUMBER ~ ROW_NUMBER() OVER(PARTITION BY 컬럼명 ORDER BY 컬럼명)

IBM 홈페이지에서 서핑하다 찾은 글입니다. 원문 보기


Solaris에 Oracle 설치 준비

Solaris 시스템에 Oracle을 설치하기 전에 다음 절차를 완료하십시오.

  1. Solaris 시스템에 root로 로그인하십시오.
  2. 시스템에 대해 설정된 커널 매개변수가 설치에 필요한 값을 충족시키거나 초과하는지 확인하십시오. 자세한 정보는 Oracle 8i 설치 안내서를 참조하십시오.
  3. Oracle 데이터베이스와 함께 사용할 마운트 위치를 작성하십시오.
    $ mkdir /u01
    $ mkdir /u02
  4. 다음 명령을 사용하여 콘솔에서 관리 도구 유틸리티를 시작하십시오.
    # admintool
  5. 관리 도구 창에서 찾아보기 -> 그룹을 누르십시오. 관리 도구:그룹 창이 열립니다.
  6. 관리 도구:그룹 창에서 편집 ->추가를 누르십시오. 관리 도구:그룹 추가 창이 열립니다.
  7. 두 개의 그룹, dbaoinstall 사용자 그룹을 작성하십시오.
  8. 관리 도구:그룹 창에서 찾아보기 ->사용자를 누르십시오. 관리 도구:사용자 창이 열립니다.
  9. 관리 도구를 사용하여 oracle이라는 새 사용자를 작성하십시오. 새 사용자 계정에 대해 다음 단계를 완료하십시오.
    1. 계정의 기본 그룹을 사용자가 작성한 oinstall 그룹으로 설정하십시오.
    2. 계정의 보조 그룹을 사용자가 작성한 dba 그룹으로 설정하십시오.
    3. 홈 디렉토리 작성 필드 옆에 있는 단일 선택 단추가 선택되었는지 확인하십시오. 경로 필드에서 oracle 사용자의 홈 디렉토리로 /export/home/oracle을 입력하십시오.
    4. 로그인 쉘을 /bin/sh로 설정하십시오.
    Oracle 설치 프로그램은 이 계정 아래에서 실행되어야 합니다. 이 계정은 Oracle 설치 및 유지보수용으로만 사용됩니다.
  10. Oracle 사용자로 시스템에 사인 온하십시오.
    # su - oracle
    Oracle 계정에 대한 umask 설정값을 보십시오.
    $ umask
    umask는 022로 설정해야 합니다. 계정의 umask가 022로 설정되어 있지 않은 경우, 다음 명령을 사용하여 설정하십시오.
    $ umask 022
    또한 .profile을 수정하여 변경을 적용하십시오.
  11. Oracle 계정용 /export/home/oracle/.profile에 다음을 추가하십시오.
    • Oracle 8i:
      ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
      ORACLE_HOME=$ORACLE_BASE/product/8.1.7; export ORACLE_HOME
      ORACLE_SID=or1; export ORACLE_SID
      ORACLE_DOC=$ORACLE_HOME/doc; export ORACLE_DOC
      ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data; export ORA_NLS33
      PATH=$ORACLE_HOME/bin:/usr/bin:/usr/local/bin:/usr/ccs/bin:/usr/ucb:/usr/openwin/bin:.
    • Oracle 9i:
      ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
      ORACLE_HOME=$ORACLE_BASE/product/9.2.0.0.0; export ORACLE_HOME
      ORACLE_SID=or1; export ORACLE_SID
      ORACLE_DOC=$ORACLE_HOME/doc; export ORACLE_DOC
      ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data; export ORA_NLS33
      PATH=$ORACLE_HOME/bin:/usr/bin:/usr/local/bin:/usr/ccs/bin:/usr/ucb:/usr/openwin/bin:.
    검색 경로에 /usr/ucb가 필요한 경우, 경로 설정에서 /usr/ccs/bin 뒤에 나열되어 있는지 확인하십시오.
  12. 다음 명령을 사용하여 프로파일의 소스를 지정하십시오.
    $ . ./.profile

이제 Oracle을 설치할 준비가 되었습니다. 해당 Oracle 문서를 참조하여 소프트웨어를 설치하십시오. 설치를 완료한 후 이 절에 포함된 구성 지시사항으로 돌아가십시오.

+ Recent posts