큰 의심이 없는 자는 큰 깨달음이 없다.

명언 | 2012. 11. 5. 10:16
Posted by 까군

큰 의심이 없는 자는 큰 깨달음이 없다.

큰 의심이 없는 자는 큰 깨달음이 없다.
의심을 품고 말을 얼버무리기보다는
자세히 묻고 분별을 구하는 것이 좋으며,
낯빛을 따라 구차스레 비위를 맞추기 보다는
차라리 말을 다하고 돌아가는 것이 낫다.
-
홍대용, ‘담헌서’에서

촌철활인

선가(禪家)에서도 ‘크게 의심하면 반드시 큰 깨달음이 있다.’고 가르칩니다.
노벨상 수상자 아론 치에하노베르는
창의성을 키우기 위해 가장 해주고 싶은 조언으로
‘아무것도 믿지마’라고 했습니다.
진리의 적은 확신이라는 말을 다시 새겨봅니다.
(
박수밀, 송원창 저, ‘새기고 싶은 명문장’에서 인용)

 

꿈을 날짜와 함께 적으면

명언 | 2012. 10. 26. 10:17
Posted by 까군

꿈을 날짜와 함께 적으면

꿈을 날짜와 함께 적어 놓으면 그것은 목표가 되고,
목표를 잘게 나누면 그것은 계획이 되며,
그 계획을 실행에 옮기면 꿈은 실현되는 것이다.
A DREAM written down with a date becomes a GOAL.
A GOAL broken down into steps becomes a PLAN.
A PLAN backed by ACTION makes your dreams come true.
-
그레그 S. 레이드(Greg S. Reid)

촌철활인

목표를 설정할 때 마술은 시작되는 것입니다.
목표를 설정하는 바로 그 순간,
스위치가 켜지고 물이 흐르기 시작하고
성취하려는 힘이 현실화되는 것입니다.
글로 쓴 구체적인 꿈은 우리의 목표를 달성하게 합니다.
그러나 막연한 계획은 막연한 결과를 가져오는 것이 아니라,
아무런 결과도 가져오지 못합니다.

The magic begins when you set a deadline for your goal.
The moment you set a target, a switch flips,
the water starts to run and the strength to achieve the goal becomes realized.
When a detailed plan is written out, our goals can be achieved.
However, a vague plan will bring about no results.

 

우측 이미지

 

 

전문가라 불리게 되려면

명언 | 2012. 10. 11. 16:54
Posted by 까군

전문가라 불리게 되려면

전문가란 특정분야,
자기 주제에 관해서
저지를 수 있는 모든 잘못을
이미 저지른 사람이다.
-N.
보르

촌철활인

특정분야에서 실수와 잘못이 충분히 쌓이면 언젠가는
그 분야의 전문가로 불리게 될 것입니다.
전문가가 되고 싶다면,
더 열심히 찾아서 더 열심히 실수하세요.
더 이상 실수할게 없어질 때
모든 사람들로부터
그 분야의 진정한 전문가로 인정받게 될 것입니다.

 

 

[Altibase] 오류 및 대처 모음

IT/DB | 2012. 10. 11. 16:22
Posted by 까군

1> DROP SYNONYM실행 시 Name is already used by an existing object 메시지 리턴 후 실행되지 않을 때

[원인]
Table, View, Sequence등 Object목록에는 보이지 않으나 실제 동일한 이름의 객체가 생성되어 있을 경우 발생함.

[해결]
    -  [tools] - [Description] 메뉴 실행
    - Search 항목에서 Object Type을 <<All Object>>로 두고 검색
    - 해당 객체 삭제 후 재 시도

 

 

'IT > DB' 카테고리의 다른 글

인생에서 가장 큰 위험은?  (0) 2013.08.12
[Altibase] TableSpace 관리  (0) 2012.09.06
 

매일 매일 마음의 근육을 키우자.

명언 | 2012. 10. 11. 15:40
Posted by 까군

매일 매일 마음의 근육을 키우자.

매일 무슨 옷을 입을까 고르는 것과 마찬가지로
무슨 생각을 할까 고르는 법을 배워야해.
그건 네가 얼마든지 기를 수 있는 힘이야.
네가 정말로 네 인생을 통제하고 싶다면 마음을 훈련시켜.
그거야말로 네가 세상에서 유일하게 통제할 수 있는 거니까.
-
엘리자베스 길버트, ‘먹고 기도하고 사랑하라’에서

촌철활인

늘 부정적인 생각에 사로잡힌 사람에겐
부정이 현실이 됩니다.
늘 긍정적 생각으로 가득한 사람은
결과도 긍정이 됩니다.
운동을 지속하면 육체의 근육이 커지는 것처럼,
마음 훈련을 지속하면
마음의 근육이 자라게 됩니다.
부처는 ‘훈련된 마음처럼 잘 복종하는 것도 없다’고 가르칩니다.

- 행복한 경영이야기 -

 

무엇이 성공인가?

명언 | 2012. 10. 8. 09:54
Posted by 까군

무엇이 성공인가?
자주 그리고 많이 웃는 것,
현명한 이에게 존경을 받고, 아이들에게서 사랑을 받는 것,
정직한 비평가의 찬사를 듣고 친구의 배반을 참아내는 것,
아름다움을 식별할 줄 알며
다른 사람에게서 최선의 것을 발견하는 것,
건강한 아이를 낳든, 한 뙈기의 정원을 가꾸든,
사회환경을 개선하든 자기가 태어나기 전보다,
세상을 조금이라도 살기 좋은 곳으로 만들어 놓고 떠나는 것,
자신이 한때 이곳에서 살았음으로 해서
단 한 사람의 인생이라도 행복해지는 것,
이것이 진정한 성공이다.


(To laugh much; to win respect of intelligent persons and
the affections of children;
to earn the approbation of honest critics and
endure the betrayal of false friends; to appreciate beauty;
to find the best in others; to give one's self; to leave the world
a little better, whether by a healthy child,
a garden patch, or a redeemed social condition.; to have played
and laughed with enthusiasm, and sung with exultation;
to know even one life has breathed easier because you
have lived--this is to have succeeded.

-랠프 월도 에머슨(Ralph Waldo Emerson)

 

AIX 언어팩 설치 방법

IT/AIX | 2012. 9. 25. 14:36
Posted by 까군

* cd롬 mount/unmount

root 로그인 후....cd롬에 OS 1번 cd 삽입.....

#mkdir /cdrom
#mount -r -v cdrfs /dev/cd0 /cdrom
#cd /cdrom 으로 이동후 마운트 여부(파일목록) 확인

--------------- umount -----------------
#umount /cdrom

--> unmount: 0506-349 Cannot unmount /dev/cd0: The requested resource is busy. 와 같은 메시가 뜨면서 unmount 되지 않을때 아래대로 대처하면 됨.

How To Remove a CD on AIX

11) To unmount the CD

umount /mnt

12) If you get a command that says “Cannont umount /dev/cd0: the requested resource is busy”, you probably need to change directory

# cd /

# umount /mnt

--> #cdeject도 실행안될경우 동일하게 하면 됨....
----------------------------------------

==================================
(1) CD를 자동으로 마
운트 하는 방법

# lssrc -a | grep cdrom
cdromd inoperative

# startsrc -s cdromd
0513-059 The cdromd Subsystem has been started. Subsystem PID is xxxxx.
-> CD를 관리하는 데몬  띄우기!!

# lssrc -s cdromd
Subsystem Group PID Status
cdromd xxxxx active
==================================

* 언어팩 설치

#smit lang

1. Add Additional Language Environments 선택 후 Enter....

2. CULTURAL convention to install 선택 후 "F4" 키를 눌러 리스트 확인
      2.1  "/"입력후 "korea"로 검색
      2.2 IBM-eucKR Korean [ko_KR] 선택 후 Enter...

3. LANGUAGE translation to install 선택 후 "F4" 키를 눌러 리스트 확인
     3.1 "/"입력후 "korea"로 검색
     3.2 IBM-eucKR Korean [ko_KR] 선택 후 Enter...

4. INPUT device/directory for software 선택 후 "F4"키 눌러 리스트 확인
    /dev/cd0             (/cdrom) 선택

5. Enter....

 

* Error1. Base Level FileSet이 설치되어 있지 않거나 없는 파일이라는 메시지가 뜨면서 Fail이 떨어질 경우
ex> X11.fnt.ucs.ttf_extb 6.1.0.0 , bos.iconv.ko_KR 4.1.0.0  두개가 더 필요하다는 메시지 뜸.

#smit installp 실행

--> 위 명령 실행 전 2번 CD 마운트
---------------------------
1. Install SoftWare 선택 후 Enter
2. INPUT device / directory for software 에 "F4" 클릭 후 /dev/cd0              (cdrom) 선택하면...하단에 선택옵션이 나열됨.
3. SOFTWARE to intall 선택 후  "F4"
    3.1 "/" 입력 후 설치할 Fileset명 입력 후 Enter.........
    3.2 ACCEPT new license agreements? 항목 "F4" 클릭 후 "yes"로 변경 Enter.....
Enter..두번..

좌측 상단에 "Command: OK" 확인

 

 

 

 

 

[문제점]
웹애플리케이션 소스중 특정 패키지의 소스를 보안상 이유(또는 다른 이유)로 jar로 배포해야할 경우 Component-Scan의 base-package에 해당되는데도 bean생성을 못하는 경우가 있다.

[해결방안]
이클립스의 export기능으로 만들었다면 Add directory entries 옵션을 선택하고 jar를 만들면 된다.

[원인]
default로 이클립스는 jar를 만들때 클래스만 패키징하고 디렉토리는 집어넣지 않아서 컴포넌트 스캔 시 문제가 발생하는 것이다.

'IT > FrameWork' 카테고리의 다른 글

[eGovFrame] 쿠키 사용 제한  (0) 2012.07.13
[eGovFrame]세션 종료시점 이벤트 핸들링  (0) 2012.07.13
 

세상에는 두 종류의 사람이 있다

명언 | 2012. 9. 7. 09:52
Posted by 까군

세상에는 두 종류의 사람이 있다

세상에는 두 종류의 사람들이 있다.
자신이 할 수 있다고 생각하는 사람과
할 수 없다고 생각하는 사람이다.
물론 둘 다 옳다.
(There are two kinds of people in this world:
those who think they can, and those who think they can't,
and they're both right.)
-
헨리 포드(Henry Ford)

성공과 실패의 경험이 그러한 믿음을 강화시키기도 하지만,
오히려 생각에 따라 성공과 실패가 갈리는 경우가 더 많습니다.
위대한 성과는 ‘큰 목표를 세우고,
할 수 있다는 강한 자신감 하에
과감히 도전하는 사람들’이 만들어 냅니다.
반면, ‘할 수 없다. 어렵다. 안 될 것이다'라고
처음부터 지레 겁을 먹고 시작하면,
이룰 수 있는 것이 하나도 없습니다.

Although experiencing success and failure can influence one
s mindset,
more often than not it is the mentality that determines the outcome.
Great results are produced by
people with ambitious targets,
supreme confidence, and the boldness to meet challenges head-on.

On the other hand, nothing can be achieved if one starts off afraid;
thinking
its impossible, its too hard, or it wont work.

- 행복한 경영이야기 중에서 -

 

[Altibase] TableSpace 관리

IT/DB | 2012. 9. 6. 11:51
Posted by 까군

sys계정이거나 동일한 권한이 부여된 계정으로 실행해야함.

테이블스페이스 생성

테이블스페이스의 생성 및 공간관리 방법에 대하여 설명합니다.

테이블스페이스 생성 구문
CREATE TABLESPACE [①테이블스페이스명]
DATAFILE [②데이타 파일절
AUTOEXTEND [③자동확장절
MAXSIZE [④최대크기절] ] ]
EXTENTSIZE [⑤익스텐트사이즈절]
[⑥ONLINE|OFFLINE]

① 테이블스페이스명
테이블스페이스명을 지정합니다.

② 데이타 파일절

DATAFILE 데이타 파일명 SIZE integer [K|M|G] [REUSE]
[자동확장절]

데이타 파일명은 절대경로를 지정해야 합니다. 위의 구문에서 SIZE 절 이하의 구문은 생략이 가능합니다. 절대경로를 지정하지 않고 파일명만 기술할 경우 알티베이스 프로퍼티(Property)에 정의된 Default 값(‘$ALTIBASE_ HOME/dbs/’)에 데이타 파일이 생성됩니다.

[REUSE] 가 정의되었을 경우에는 기존에 존재하는 데이타 파일을 사용하며 데이타 파일명의 지정된 경로에 파일이 존재해야 합니다.

③ 자동확장절

AUTOEXTEND [ON NEXT integer [K|M|G] [최대크기절]
|OFF]
AUTOEXTEND ON 일 경우

데이타 파일은 구문을 통해서 지정되거나 디폴트 크기의 NEXT 만큼 자동 확장되며 [최대크기절] 을 통해 지정된 크기까지 확장됩니다.

AUTOEXTEND OFF 일 경우

데이타 파일은 최초 생성된 사이즈에서 확장되지 않으며 저장영역이 부족할 경우 다음 데이타 파일로 전환되거나 사용 가능한 데이타 파일이 없는 경우에는 트랜잭션이 취소 됩니다.

④ 최대 크기절: 자동확장절의 부속절

MAXSIZE {integer [K|M|G] | UNLIMITED }

자동확장 속성이 지정된 테이터파일이 확장될 수 있는 최대크기를 지정합니다. UNLIMITED 로 지정된 경우에는 데이타 파일이 지정된 저장장치가 가득찰 때까지 사이즈가 늘어나게 됩니다.

⑤ 익스텐트 사이즈절

EXTENTSIZE integer [K|M|G]

테이블스페이스에 저장되는 세그먼트(테이블 또는 인덱스)가 할당받는 페이지의 단? 사이즈를 지정하지 않을 경우 디폴트 값은 256K(8pages)이 됩니다.

⑥ ONLINE/OFFLINE 절

ONLINE으로 지정할 경우에 테이블스페이스는 사용가능하며, OFFLINE일 경우에는 ALTER TABLESPACE 를 통해 ONLINE으로 변경한 후에 사용할 수 있습니다.

테이블스페이스 생성 예제

- 디폴트 속성을 가진 데이타 파일 1개를 가진 테이블스페이스 생성

iSQL> CREATE TABLESPACE user_data01
DATAFILE ‘/user1/dbs/user01.dbf SIZE’ 10M;
Create success.

user_data01 테이블스페이스는 10M의 /data01/dbs/user01.dbf 데이타 파일 한 개를 가지며 데이타 파일은 자동 확장되지 않습니다.

- 자동확장 속성을 가진 데이타 파일을 가지며 익스텐트 사이즈가 재 정의된 테이블스페이스 생성

iSQL> CREATE TABLESPACE user_data02
DATAFILE ‘/user1/dbs/user01.dbf’ SIZE 100M,
‘/user1/dbs/user02.dbf’ SIZE 100M
AUTOEXTEND ON NEXT 1M MAXSIZE 1G
EXTENTSIZE 512K;
Create success.

user_data02 테이블스페이스는 2개의 데이타 파일을 가지며?을 가지며 확장시에 1M byte 단위로 늘어나고 최대 1G byte까지 확장됩니다. 따라서 user_data02 테이블스페이스는 두 개의 데이타 파일을 포함하여 전체 1.1G까지 데이타를 저장할 수 있게 됩니다.

또한 EXTENT의 사이즈는 512K로 정의되어 세그먼트에 Page가 할당될 때 512K(16Pages)씩 할당됩니다.

테이블스페이스 공간 관리
디스크 테이블의 사이즈 계산

- record의 경우

[ 32(header) + (column의 길이의 합) ] * record count

칼럼길이가 고정(Fixed)인 경우의 크기이며 가변(Variable)칼럼에 대하여는 가변칼럼의 헤더와 실제데이타의 크기를 계산해야 하므로 약간의 증감이 발생할 수 있습니다.

- index의 경우

[ 16(header) + (key column 길이의 합) ] * record count

위의 계산 공식은 leaf node (B*Tree에서 최하위의 노드)의 대략적인 크기이고, 이 외에 internal node (leaf node를 제외한 상위노드)의 사이즈는 key칼럼의 사이즈가 작을 경우에는 무시할 정도로 사이즈가 작지만 key칼럼 사이즈가 10K이상으로 클 경우에는 B*Tree의 Depth가 깊어지면서 전체 leaf Node 사이즈의 50%정도가 될 수도 있으므로 해당되는 경우에는 사이즈 계산에 포함해야 합니다.

- 테이블 사이즈 계산 예

테이블 스키마가 다음과 같고 레코드의 개수가 100만 건일 경우에 레코드의 크기와 인덱스의 크기를 포함한 테이블의 사이즈는 다음과 같이 계산됩니다.

CREATE TABLE TEST001 (
C1 char(8) primary key,
N1 double unique,
C2 char(128),
N2 integer,
IN_DATE date) tablespace user_data02;

1. 레코드사이즈
10(C1:헤더2byte포함)+ 130(C2:헤더2byte포함) + 8(N1) +
4(N2) + 8(IN_DATE) = 160 Bytes
[ 32(헤더) + 160(칼럼길이의 합) ] * 100만건 = 183.11M

2. 인덱스사이즈
[ 16(헤더) + 18(key칼럼길이의 합) ] * 100만건 = 32.42M

3. TEST001 테이블 전체 사이즈
183.11(레코드사이즈) + 30.52(인덱스사이즈) = 215.53M
임시(Temporary) 테이블스페이스

임시 테이블스페이스는 질의 처리 과정 중에 각종 연산을 통해 발생하는 중간 결과를 저장하기 위한 테이블스페이스이며 데이터베이스 생성 시에 만들어지고 1개만 존재하는 SYSTEM TEMPORARY TABLESPACE(SYS_TBS_TEMP) 와 사용자별로 1개씩 할당 받을 수 있는 USER TEMPORARY TABLESPACE 2가지가 있습니다.

“임시 테이블스페이스는 백업이나 복구의 대상이 아니고 단지 연산을 위한 임시적 저장공간이다.”

따라서 ONLINE/OFFLINE 구문이 없으며 굵은 글자체로 표시된 부분을 제외하고는 User Data 테이블스페이스 생성 구문과 동일합니다.

CREATE TEMPORARY TABLESPACE [①테이블스페이스명]
TEMPFILE [②데이타 파일절
AUTOEXTEND [③자동확장절
MAXSIZE [최대크기절] ] ]
EXTENTSIZE [④익스텐트사이즈절]

① 테이블스페이스명
테이블스페이스명을 지정합니다.

② 데이타 파일절

DATAFILE ‘데이타 파일명’ SIZE integer [K|M|G] [REUSE] [자동확장절]

③ 자동확장절: 테이터파일절의 부속절

AUTOEXTEND
[ON NEXT integer [K|M|G] MAXSIZE [최대크기절]
|OFF ]

④ 익스텐트사이즈절: 익스텐트 할당 단위를 정의

EXTENTSIZE integer [K|M|G]

- 임시 테이블스페이스 생성 예

:iSQL> CREATE TEMPORARY TABLESPACE user_temp01
TEMPFILE ‘/user1/dbs/usrtmp01.dbf’ SIZE 10M;
Create success.
언두(Undo) 테이블스페이스

언두 테이블스페이스는 데이터베이스 생성 시에 만들어지는 SYSTEM UNDO TABLESPACE(SYS_TBS_UNDO) 1개만 존재하며 사용자가 추가로 생성하거나 삭제할 수 없습니다.

언두 테이블스페이스의 확장

업무 시스템에서 변경 트랜잭션(특히, Long-Term 트랜잭션: 트랜잭션의 Commit 주기가 긴 경우)이 많이 발생하는 경우에 언두 테이블스페이스의 부족이 발생할 수 있으며 이러한 경우에 언두 테이블스페이스의 ALTER TABLESPACE 구문을 이용하여 적정한 사이즈로 데이타 파일을 추가하거나 파일사이즈를 늘려주면 됩니다.

디스크 GC(Garbage Collector) 쓰레드(Thread) 관련 프로퍼티(Property) 변경

Commit이 완료된 언두 공간을 free space로 전환하는 작업을 Garbage Collecting이라고 합니다.

트랜잭션이 단시간에 많이 발생할 경우에 디스크 GC 쓰레드(Thread)에 의한 테이블스페이스의 free space 확보가 늦어짐으로 인해서 테이블스페이스 부족현상이 발생할 수 있으며 이러한 경우에 알티베이스 디스크GC 쓰레드(Thread)의 실행주기와 실행 시에 처리하는 페이지의 개수 등에 관한 프로퍼티(Property)를 수정함으로써 디스크 GC의 성능을 높일 수 있습니다.

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

테이블스페이스의 크기 변경

테이블스페이스의 크기를 변경하는 방법에는 다음의 4가지가 있습니다.

1. ALTER TABLESPACE ADD [ DATAFILE|TEMPFILE ] 구문으로 데이타파일을 추가합니다.

구문 설명

ALTER TABLESPACE [테이블스페이스명]
ADD DATAFILE|TEMPFILE [데이타 파일절
AUTOEXTEND [자동확장절
MAXSIZE [최대크기절] ] ]

테이블스페이스의 ON/OFFLINE에 관계없이 가능합니다.

user_data02 테이블스페이스에 초기사이??을 추가합니다.

iSQL> ALTER TABLESPACE user_data02
ADD DATAFILE /user1/dbs/user03.dbf SIZE 100M
AUTOEXTEND ON NEXT 1M MAXSIZE 500M;
Alter success.

2. ALTER TABLESPACE DROP [ DATAFILE|TEMPFILE ] 구문으로 특정 데이타파일을 제거합니다.

구문 설명

ALTER TABLESPACE [테이블스페이스명]
DROP DATAFILE|TEMPFILE 데이타 파일명

테이블스페이스의 ON/OFFLINE에 관계없이 가능하지만 현재 사용중인(초기화되어 할당되어진) 데이타파일 이후의 사용 중이 아닌 데이타파일에 대해서만 가능합니다.

user_data02 테이블스페이스에서 /user1/dbs/user03.dbf 데이타파일을 삭제합니다.

iSQL> ALTER TABLESPACE user_data02
DROP DATAFILE /user1/dbs/user03.dbf;
Alter success.

3. ALTER TABLESPACE ALTER [ DATAFILE|TEMPFILE ] AUTOEXTEND 구문으로 데이타파일의 자동확장모드를 ON/OFF 할 수 있습니다.

구문 설명

ALTER TABLESPACE [테이블스페이스명]
ALTER DATAFILE|TEMPFILE 데이타 파일명
AUTOEXTEND [ON [자동확장절] | OFF]

테이블스페이스의 ON/OFFLINE에 관계없이 가능합니다.

user_data02 테이블스페이스에서 /user1/dbs/user01.dbf 데이타파일의 자동확장 모드를 ON시키고 최대 1GB까지 확장 예 :

iSQL> ALTER TABLESPACE user_data02
ALTER DATAFILE /user1/dbs/user01.dbf
AUTOEXTEND ON MAXSIZE 1G;
Alter success.

user_data02 테이블스페이스에서 /user1/dbs/user02.dbf 데이타파일의 자동확장 모드를 OFF시키는 예 :

iSQL> ALTER TABLESPACE user_data02
ALTER DATAFILE /user1/dbs/user02.dbf
AUTOEXTEND OFF;
Alter success.

4. ALTER TABLESPACE ALTER [ DATAFILE|TEMPFILE ] SIZE 구문으로 데이타파일의 사이즈를 조정할 수 있습니다.

구문 설명

ALTER TABLESPACE [테이블스페이스명]
ALTER DATAFILE|TEMPFILE 데이타 파일명
SIZE integer [K|M|G]

테이블스페이스의 ON/OFFLINE에 관계없이 가능하지만 현재 사용중인 데이타파일 또는 이후 데이타파일에 대해서만 가능하며, 사이즈를 늘리거나 줄일 수 있습니다.

user_data02 테이블스페이스에서 /user1/dbs/user01.dbf 데이타파일의 사이즈를 200MB로 늘리는 예 :

iSQL> ALTER TABLESPACE user_data02
ALTER DATAFILE /user1/dbs/user01.dbf
SIZE 200M;
Alter success.

iSQL> ALTER TABLESPACE TEST_TABLESPACE
ALTER DATAFILE| 'C:\Program Files (x86)\Altibase\Altibase5_Server\\altibase_home\dbs\tbs_nsdi_test.dbf'
SIZE 1G;

-->dbf파일명 확인은 User의 Default Tablespace확인 후 [TableSpace] 탭의 File Name란 확인하면 됨.

 

'IT > DB' 카테고리의 다른 글

인생에서 가장 큰 위험은?  (0) 2013.08.12
[Altibase] 오류 및 대처 모음  (0) 2012.10.11
 

블로그 이미지

까군

카테고리

분류 전체보기 (62)
IT (21)
생활 (0)
명언 (41)