2008년 9월 2일 화요일

[MyStory] 비가 온다 그리고 내가 간다


08. 09. 01

가을이 온것을 다시 한번 알려 주려는 듯... 하늘에서 비가 쏟아 진다. 아니 쏟아 준다. 여느때와 같이 에어컨을 켜고 밖에 날씨야 어쨌든.. 해던 하루 하루를 보내버리고 오늘은 창문을 열어 놓고 비가 내리는 소리를 듣고 있다. 이제 새로운 학기가 시작이 되어 벌써 3학년 1학기를 보내고 있다. 이제 2년 남았다... 새로운 전공을 하면서 새로운 시작을 하면서 나 스스로 그런 이야기를 했다. 정말 내가 하고 싶은 것이라고.. 때론 이게 맞을까 하는 생각도 많이 하고 또 잘 할 수 있을까? 하는 스스로의 의문을 던져 보기도 하지만.

어떠한 것도 구별 지을 수 없으며 어떠한 것도 차이를 만들어 낼 수 없다. 도전 하는 자의 마음이 어떠한 것이며 도전하는 자세가 어떠 하냐에 따라 나 스스로를 평가 할 수 있으며 순위를
매길 수 있다. 생각하며 오늘도 다시 한번 마음을 다져보며 힘을 내본다.

영어를 한다는 것에 대해서 바보 같은 생각이 들기도 했었다. 필요한 것만 하면 되지? 내가 왜 대화를 해야 하지? 그런데 뒤를 돌아 보니 내가 정말 바보 같은 고집을 스스로에게 피우고 있었다. 다시 한번 가슴에 대고 말한다.. 그래 늦지 않았다. 내 나이 이제 서른 나에게 살아온 날보다 앞으로 살아갈 날이 많으며 내 이름 석자 " 오 세 정 " 이란 이름 세상에 널리 널리 퍼트려 보마...

기다리고 있어라~~~ 대한민국이여~~~ 기다리고 있어라.. 세상아~~ 
너에게 나를 보여주마..

2008년 7월 31일 목요일

[Oracle]ORA-16014 발생 시 조치 방법


[원인]
archivelog 가 떨어지는 파일 시스템이 Full(spfile 이나 pfile 의 제한에 의하여 Full 인 경우 포함)이 되어 발생하는 문제임

[조치1]
파일 시스템에 " Free Space " 가 있어야 한다.  DB를 shutdown 한 뒤,

sysdba로 접속하여 

sql>archive log list; 
환경 설정 내용 중 
"Archive destination"이 "USE_DB_RECOVERY_FILE_DEST"로 설정 되어 있다면,


sql>create pfile from spfile; 

init<SID>.ora 파일을 생성한다.
init<SID>.ora 파일을 열어 "*.db_recovery_file_dest_size=4294967296" 값을 늘려준다.
pfile 을 저장 한 후 sql에서 spfile을 다시 생성해 준다.


sql>create spfile from pfile;
이렇게 한 뒤에 DB를 startup 하면 정상 실행 됨
[조치2]
파일 시스템에서 archivelog 가 쌓이는 파일시스템을 정리한 뒤 DB를 startup 한다.
[Tip]
당장 database 를 shutdown 할 수 없는 경우에..
alter system archive log all to '아카이브 떨굴 PATH';
를 실행하여 archive 를 생성해 줄 수 있다.(다만 redolog가 다시 full 이 되면 같은 문제가 또 발생할 것이다.)

2008년 7월 14일 월요일

[MyStory] 차인표의 영화 선택

보리울의 여름
감독이민용
출연장미희,박영규,차인표,신애
개봉2003.04.25 한국, 110분
영화 보리울의 여름을 아는 사람이 그렇게 많지 않을 것이다.
아마도 요즘 " 우리 결혼 했어요 " 에 나오는 신애의 호감도가 올라 가면서 
다시금 찾아서 보는 사람들이 있지 않을까 생각도 해보고
오래전에 보리울의 여름이란 영화를 보았던것을 영화 " 크로싱 " 을 보고 
나서 차인표의 출연작들을 다시 찾아 보게 되었다가
생각난 영화이다. 어린이 성장 영화 ? 이것이 과연 장르가 맞는 지는 잘 모르겠으나 
내가 개인적으로 보기에는 그런 것 같은..

언제 개봉을 하긴 했는지도 모르게 내려 갔던 것으로 기억하는 영화이다.
그러고 보면 차인표가 찍었던 많은 영화들이 그랬다는 아쉬운 그런것, 
그러나 개인적으론 차인표 라는 배우를 좋아 해서 인지
매번 누구도 보지 않던 영화를 찾아 보곤 했다.

아이언 팜
감독육상효
출연차인표,김윤진,박광정,찰리 천
개봉2002.04.19 한국, 121분

-- 문득 " 아이언 팜 " 도 기억이 난다 전기 밥솥에다가 손을 그냥 팍팍.. 하던 모습.. ㅋㅋ
    재미 있는건 요즘 헐리우드에서 뜨고 있다는 김윤진이 함께 출연했었다는 것이었다. --

차인표는 배우에 대한 진정성이 있는 듯 싶다.
물론 실제가 어떤지는 나 역시 알 수 없지만 지금까지 그가 보여준 모습들을 쭉 지켜 보면 
그는 흥행을 위해서만 연기를 하는것 같지는 않다. 때로는 어린이를 위한 영화 , 
때로는 어느 한 약자를 대변하기 위한 모습등 물론 " 아이언 팜 " 에서 보여줬던 모습이 
꼭 이민생활을 하는 그런 모습은 전부라 하기엔 좀 소재가 아쉬웠으나.. ㅋ

크로싱에서의 차인표는 좀 더 다른 모습이었다. 분명 난 영화 예고를 보면서 " 
아 이 영화 흥행은 실패 하겠구나 " 했다.
지금 추이를 보니 그 예상을 그렇게 틀리지 않은 듯 하다. 
하지만 크로싱이란 영화는 차인표가 있기에 나온 것이 아닌가 하는 생각이 든다.
또한 나는 그가 참여 해서 만든 영화 이기에 영화를 보게 되었던 것이다.
그가 전하는 모습들이 너무나 가슴 아프게 하고 영화가 끝나기 까지 그 느낌을 전해 준다.

크로싱
감독김태균
출연차인표,신명철
개봉2008.06.26 한국, 112분
이제 관광객의 총격 사건으로 인하여 나보 더 더 어린 친구들이 북한을 바라 볼때 
그런 것들을 도와줄 필요가 무엇인가 라고 만
생각하지 않길 바란다. 또한 그곳의 모든 사람들이 그러할 것이라는 폄하 또한 
하지 않길 바란다. 지금의 이러한 상황들이 좀더 좋은 방향으로 좀더 미래 지향적인 
해결책들이 나오길 바란다.대한민국 정부가 보여주는 모습이 대한민국의 모든 것이 
아닌 것 처럼 북한 또한 우리가 보는 모습이 그들의 전부인 모습인 양 생각하지
않고 좀 더 많은 지혜가 모여 좋은 해결책이 있길 바란다.

그냥 이런 생각들을 하는데 " 차 " , " 인 " , " 표 " 란 이름이 생각이 나는건 
그가 대중에게 보여주는 신뢰가 아닐까.
.

2008년 6월 10일 화요일

[MyStory] 비내리는 창가


2008. 06.09 비내리는 창가

예고없이 찾아 오는 소나기 보다
어느 즈음 으레 찾아오는  봄비처럼
그렇게 서로를 기대하며 
우리의 사랑을 나는 기다립니다.

촉촉히 젖은 창가에
눈을 감고 잠시 밖을 보는 순간
내가 기대하며 기다리던 시간들이
필름 처럼 지나갑니다

방에 가득 허브 향이
하나 없는 순수한 사랑을 위해
어느 보석보다 귀하고 예쁜 우리가
내겐 가장 행복이며 사랑입니다

결코, 내리는 비는 슬픔이 아니다
당신과 함께 영원히 넘어지지 않을
사랑의 , 환희를 꿈꾸며
빗속에 내주어
그냥 그렇게 젖어들고 싶어,

당신의 체온을 유선(有線)삼아
빗속에서 배우는 대로
골수가 () 잉태하고 낳는
신선한 생명 있는 사랑이 되어
전하고 싶다

당신을 만난
슬픔인 줄만 알던 비가
행복이며
사랑이 숨어 내리는 생수 임을
, 알았네요 

위에 부서지는 빗방울들이
떨어진 날의 서글픔이 아닌
서로를 부둥켜안는 애증이며
믿음의 꿈을 보며

서로를 몸바치는 번뜩이는 사랑이에요  

2008년 6월 9일 월요일

[MyStory] 어느 날 일기


06.08
문득 그런 생각이 들었다.
내가 엘리트 코스라고 하는 것을 거쳐 왔다면 세상 사람들이 다 아는 일류 대학과 대학원을 거쳐 세상에 나왔다면... 지금의 나를 다르게 볼까? 이상적인 답을 원했다면 아마도 난 그대로 였을 것이고 현실을 말하자면 다르다 였다. 그렇지 않다 해도 그렇다 말하고 그렇다 하는 사람들을 많이 만나게 된다. 어쩌면 내가 스스로를 항상 다그치고 만족 하지 못하는 이유도 아마도 이러한 것에 기반 하지 않았는가 하는 생각이 든다.

공식 석상에선 누구나 그렇게 말한다. 세상에 잣대란 없다 실력이 모든걸 판단한다고 인간은 살면서 성품이 중요하다고 말하곤 한다. 그러나 자신 스스로에게 질문해보면 대답은 달라지곤 한다. 처음 만난 사람의 옷차림, 출신, 하는 일에 따라 많은 사람들은 그사람을 판단하고 결정해버린다. 그것이 잘못됐다고 말하는 것이 옳은 일인지 그것에 맞춰서 자신을 만들어 가는것이 옳은 일인지 시간이 지나면 지날수록 혼란스러워 진다.

가장 가까운 곳에 난 그것을 보면서 자라 왔다. 우리 아버지는 나에게 어려서 부터 지혜를 가르쳐 주셨다. 세상을 살아 가면서 친구란 내가 어떻게 살아 가느냐에 따라 생길수도 또 떠날 수도 있다 가르쳐 주셨다. 또한 부하직원이 생기게 되면 어떻게 하는지를 지켜 보는것이 아니라 어떻게 앞으로 살아 가야 하는지를 가르쳐 주라 했다 결과를 가지고 판단 하지 말며 결과를 만들어 가는 과정을 보고 판단 하라 말해주셨다. 내가 가진 모든 것들은 아버지를 통해 배운 것이며 난 어려서 부터 남들은 위인전을 읽으며 닮고 싶은 사람을 쓰라 하면 난 항상 아버지와 어머니를 세상의 가장 존경하는 사람이라 쓰곤했다.

지금도 마찬가지다 난 내 부모님이 가장 존경스럽다. 하지만 가끔 그렇게 내가 존경스럽다던 부모님은 자식 일에 대해선 다른 잣대를 갖고 계신가 보다. 난 자식이 없어서 인지 이해를 못하나 자식을 가진 사람들은 나에게 말했다. 넌 모른다. 너도 자식을 가져 봐라 난 그런 현실 가능하지 못한 무책임한 말들이 너무 싫다. 왜 지금 판단 하지 못하고 그 사실을 알려면 시간이 지나야 하는가. 왜 그때가 되야 알수가 있는것일까? 왜 그때 가서야 사람들은 세상을 알았다는것을 생각할까? 난 싫다. 너도 그럴꺼야 너도 평범하고 너도 많은 사람들처럼 살꺼라고.. 난 너무 싫다 그게 싫다. 난 나인데.. 몇만년이 지난고 지구에 몇십억의 인구가 있지만 그중에 난 일반적인 같은 사람이 아니라 특별한 나이길 바라며 나를 만들어 가기 때문에...

아.. 역시 밤엔 생각하면 안되겠다.. 무슨 말을 썼는지... 머리 속이 복잡하넹...
벌써 08년이 반을 다 보냈구나.. 남은 시간 잘 보내 보자

2008년 4월 29일 화요일

[사는 이야기] 뭐가 더 중요하지

4월의 시작에 이 책을 읽기 시작했다.
시간이 중요하다는 생각은 오래전 부터 하고 있었지만. 책의 말미에 가서 실천은 그 무엇보다 중요하다는 결론을 접하곤 나서 나는 과연 내 꿈을 향해 실천하고 있는가란 생각을 하게 된다. 내 말속에 허세는 없었는지 내 모든 행동에 거만과 겉으로 표현되는 모습만을 바라보며 산것은 아닌가란 생각을 하게 된다.

직장생활이 여유로와 지면서 많은 일들을 벌려 놓았다.
졸업생모임, 외부 프로젝트, 사이버대학교 수강, 영어회화 공부 , 등등등... 하루를 여러개도 쪼개도 하루하루가 피곤하고 왠지 찌들어 산다는 생각을 문뜩 문뜩 하고 있다.미래의 내 모습을 어찌 만들어 가려고 하는건지 하는 왠지 모를 막연한 미래주의를 표방하며 말이다.

내 시간 관리와 내 모든 노력들이 궁극적인 무엇을 위해 하고 있는 것인지도 말이다.
요즘들어 내 사람에게 이것 저것 요구하는 것도 많이 진것도 어쩌면 내 자신의 미래 조차도 보지 못하고 있기 때문은 아닌지 걱정이 되기도 한다. 왠지 내 스스로가 막연한 목표점만 찍어 놓고 있는것은 아닌지

뭔가 현실화 되고 내가 만든 목표를 위해 현실적인 무엇인가를 해야 할것 같은 압박이 자꾸 나를 누르고 있네.. 이제 마음 굳게 먹고 건강관리를 해야 겠다.. 다시 피게 된 담배가 왜이리도 안끊어 지는지... 한모금을 피고나면 바로 후회하거늘.. 

아직도 마음만 금연이구나..
실천을 해보자. 
실천을 노력해보자..

2008년 4월 9일 수요일

[리눅스] 리눅스를 예약 작업 만들기 - crontab

1. 개요 
 cron(크론)은 원하는 시간에 명령(프로그램)을 시키기 위한 데몬이다.
-  새벽 3시에 서버에 특정 작업을 해줘야하는데 그 때 깨어있을 수 있는가?
- 또는 30분간격으로 HDD의 사용량을 운영자에게 알리도록 해야한다면?
- 매월 초에 자료를 백업 받고 싶다면?
바로 이럴 때 cron은 최고의 해결책을 제시한다.
cron은 항상 지정한 시간이 되었는지 확인을 하여 해당 명령어을 실행하는 것이다.
2. cron 설정
1) crontab 파일 위치 및 조회

리눅스의 제품 종류에 따라 다를 수 있으나 대부분 비슷하다. 
# cd /var/spool/cron/ID 

파일을 직접 수정하지는 않고 명령으로 확인 및 설정 할 수가 있다. 

설정 내용을 조회해 보자. (-l 옵션) 
# crontab -l
no crontab for truefeel

설정한 적이 없어 아직 비어있다.
2) crontab 파일 형식
------    --------  ---------------------------------------------------
필  드      의  미       범  위
------    --------  ---------------------------------------------------
첫번째        분        0-59
두번째        시        0-23
세번째        일        0-31
네번째        월        1-12
다섯번째  요일        0-7 (0 또는 7=일요일, 1=월, 2=화,...)
여섯번째  명령어     실행할 명령을 한줄로 쓴다.
------    --------  ---------------------------------------------------

- 한 줄당 하나의 명령 (두줄로 나눠서 표시할 수 없음)
- # 으로 시작하는 줄은 실행하지 않는다.
설정을 해보자. (-e 옵션)
crontab -e 을 하면 vi 에디터가 나온다.(환경변수 EDITOR에 따라 다른 에디터를 사용할 수 있다.)

# crontab -e
  30 4,12 * * *  /usr/bin/rsync -avxH --delete /home/oracle/src /temp/src > /dev/null 2>&1

   /home/oracle/src 디렉토리를 /temp/src 로 백업해둠 30분, 새벽 4시와 낮 12시, 모든 일, 모든 월, 모든 요일 

  40 1    * * 0  /root/bin/perm_set.sh   > /dev/null 2>&1
  파일/디렉토리 퍼미션 설정, 40분, 새벽 1시, 매주 일요일

 위는 매일 4:30분과 12:30분에 rsync 명령을, 매주 일요일 1:40분에 perm_set.sh를 실행함을 의미한다.
 vi 에디터를 통해 설정을 하므로 중요한 몇 가지 에디터 사용법은 익혀야 한다.
----  -----------------------------------------------------------------------------
키                                                                  의미
----  -----------------------------------------------------------------------------
i          현재 칸에 글을 넣는다.
o         다음줄에 글을 넣는다.
dd       한줄을 삭제한다.
:wq     저장하고 빠져나온다.
ESC    설정중에 명령어 모드(위의 i, o, dd 등을 사용할 수 있는 상태)로 빠져 나온다.
----  -----------------------------------------------------------------------------

3) 설정 예

  시간 설정에서 몇가지 의미있는 것들을 알아보자.

  - '*'표시는 해당 필드의 모든 시간을 의미한다.
  - 3,5,7 와 같이 콤마(,)로 구분하여 여러 시간대를 지정할 수 있다.
  - 2-10와 같이 하이픈(-)으로 시간 범위도 지정할 수 있다.
  - 2-10/3와 같이 하이픈(-)으로 시간 범위를 슬래쉬(/)로 시간 간격을 지정할 수 있다.
    (2~10까지 3간격으로. 즉, 3,6,9를 의미함)

 원하는 시간                                   형  식
 매주 토요일 새벽 2:20                      20  2     *  *  6  명령어
 매일 오후 4,5,6시                            0  4-6   *  *  *  명령어
 매일 2시간간격으로 5분대에              5  */2 *  *  * 명령어
 매월 1일 새벽 1:15                          15  1   1  *  *  명령어
 1,7월 1일 새벽 0:30                         30  0   1  1,7  *  명령어


 * crontab -e 으로 설정 후 빠져나오면 바로 적용됩니다.
 * 특정 사용자는 사용할 수 없도록 설정하고 싶은 경우 
 #  /etc/cron.allow : 허용할 사용자 ID 목록
 # /etc/cron.deny  : 거부할 사용자 ID 목록
  cron.allow 파일이 있으면 이 파일에 들어있는 ID만 사용 가능
  cron.deny  파일이 있으면 이 파일에 들어있는 ID는 사용 불가
 * /dev/null  2>&1   이 의미하는 것은 

  지정한 명령어 처리 결과와 발생할지 모르는 에러메시지를 출력하지 않고 모두 버린다는(/dev/null)는
  뜻입니다. 만약 결과와 에러를 파일로 저장하려면 /dev/null 대신 파일명을 적어주면 됩니다.

2008년 4월 8일 화요일

[리눅스] 기초적인 명령어 및 사용방법

1.1 prompt의 의미

[root @~]#_ 부분을 prompt라고 한다.

기본 구조.

[계정 @호스트 이름 /현 작업 디렉토리]# 커서

현재의 작업 디렉토리는 로그인한 사용자의 홈 디렉토리를 표시한다.
로그인할 때 root라고 입력하고 패스워드를 입력하셨다면 /root 디렉토리, 즉 루트 계정의 홈 디렉토리에 커서가 위치해 있을 것이고, 설치시에 설정한 사용자 계정으로 로그인하였다면 로그인한 사용자 계정의 홈 디렉토리에 위치하게 된다.
root 계정의 홈 디렉토리를 제외한 일반 사용자 계정은 /home 디렉토리 아래 위치한다.
1.2 ls 
파일 시스템 상의 파일들의 목록을 보여준다.

형식
#ls [ -옵션 ][ 파일명(들) ]
-a : dot(.)로 시작되는 이름을 가진 파일명도 전부 보여준다.
-l : 각 파일들에 대한 소유자, 권한, 갱신일 등의 자세한 정보를 출력한다.
-s : 파일이 얼마나 많은 디스크 블록을 차지하고 있는가를 보여준다.
-i : 파일의 inode 번호를 보여준다.
-F : 파일의 특성을 쉽게 알 수 있는 문자를 나타낸다.
+는 실행 가능한 파일을, /는 디렉토리 이름을 의미하고, @는 심볼릭 링크를 나타내고, =는 소켓(socket)을 나타낸다.
-R : 현 디렉토리의 내용은 물론이고 sub 디렉토리의 내용까지 전부 보여준다.
-d : 각 디렉토리에 존재하는 하위 디렉토리만을 보여준다.

Tip :   명령어 # ls -al   과 같은 명령은   # ll 이다.
1.3 cd 
change directory의 의미
현재 작업하는 디렉토리를 변경한다.

형식 
#cd [ 디렉토리 ]
cd 명령과 디렉토리 이름 사이에 반드시 공백이 있어야 한다. 디렉토리 이름을 주지 않고 수행하면 사용자의 홈 디렉토리로 이동한다. 자신이 이동하고자 하는 디렉토리는 자신에게 실행 권한(execution permission)이 있어야 한다.

사용 예
[root @edu00 linux]#cd /home  
[root @edu00 /home]#pwd  
/home
[root @edu00 /home]#cd ~
[root @edu00 /home]#cd ..
1.4 pwd
present working directory의 의미

현재 작업하는 디렉토리를 보여준다.

사용 예
[root @edu00 linux]#pwd 
/home/linux
1.5 cat
이것은 파일의 내용을 화면에 출력하는 데 사용되기도 하며 파일을 다른 곳에 순차적인 스트림으로 보내기 위해 사용된다. 즉 크기가 작은 파일을 생성할 수 있다.

형식 
#cat [ 파일명 ]

옵션
-n : 빈줄을 포함하여 모든 라인앞에 행번호를 추가하여 화면에 출력한다.
사용 예
[root @edu00 linux]#cat 파일명 
[root @edu00 linux]#cat > foo
I am a linuxer.
^D

[root @edu00 linux]#cat foo
1.6 finger
시스템 상의 사용자들에 대한 정보를 보여준다.

형식
#finger [ -옵션] [ 사용자 ]
-s : 사용자의 로그온 이름, 실제이름, 터미널 이름, 로그온 시간 등등을 보인다.
-I :  -s 옵션 정보에 몇 가지를 추가하여, 여러 줄에 걸쳐서 보여준다.
인수로 아무 것도 주어지지 않으면, finger는 현재 시스템에 로그인 되어 있는 사용자들을 보여준다.
옵션이 주어지지 않으면, 기본적으로 -l 옵션을 사용한 것으로 간주된다.

사용 예
[root @edu00 linux]#finger 
Login Name  Tty Idle Login Time Office Office Phone
Edu00 rose     2      1 Oct 20 11:31
root  root  1  Oct 20 11:28
1.7 mkdir
make directory의 의미
디렉토리를 새로 만든다.

형식
# mkdir directory

옵션
-p : 디렉토리의 경로명까지 생성
-m : 퍼미션 모드를 설정하면서 디렉토리 생성

사용 예 
[root @edu00 linux]#mkdir blade      //현재 디렉토리의 하위 디렉토리 작성
[root @edu00 linux]#cd blade  
[root @edu00 linux]#mkdir ?p /home/edu01/edu02/edu03

1.8 rm
remove의 의미
파일을 지우는 명령이다.

형식
# rm [ -옵션 ] 파일명

옵션
-f : 보통 지울 수 있는 권한이 없으면 안되지만, 이 옵션을 사용하면 강제로 파일을 지울 수 있다.
-i : 파일을 지울 것인가 다시 물어본다. 지우기를 원한다면 y를 누른다. 
-r : 서브 디렉토리의 파일도 모두 재귀적으로 지운다.
-v : 파일을 지우기 전에 파일의 이름을 나타내준다.

사용 예 
[root @edu00 linux]#rm blade.Z  
[root @edu00 linux]#rm report.txt tempfile object.mainroutine hello.java 
[root @edu00 linux]#rm -r blade   
: blade와 하위 디렉토리 파일 모두를 제거 
[root @edu00 /]#rm ?rf * ( 이 명령을 사용할 경우 항상 현재 작업 디렉토리를 확인)
1.9  rmdir 
remove directory의 의미
원하는 디렉토리를 제거한다. 단 디렉토리가 비어있을 경우에만 삭제가 가능하다.

형식
# rmdir 디렉토리 

옵션
-p : 경로명에 따라 디렉토리를 삭제한다. 단 하위 디렉토리가 비어있을 경우에만 삭제가 가능하다.
3.10  who
현재의 시스템에 접속한 사용자의 이름이나 로그온 정보를 보여준다. 

형식
#who [ -옵션 ] [로그온 정보파일 ]

옵션
-u : 현재 시스템에 누가 로그온되어 있는지 보여준다. 
-T : 사용자의 터미널이 메시지를 보낼 수 있는지를 알려준다. +기호는 메시지를 쓸 수 있고, -는 그렇지 않음을 보여준다. 

1.11 more
한 화면씩 출력을 보여주는 유틸리티, 한 번에 전체적으로 볼 수 없는 파일은 이것을 사용하여 스크롤을 제어할 수 있다.

형식
#more [ 파일이름 ]
1.12 clear
clear 명령은 도스의 cls와 마찬가지로 화면을 지우는 동작을 한다.
사용 예
[root @edu00 linux]#clear
1.13  cp 
파일을 현재의 위치나 다른 디렉토리로 복사(copy)한다.

형식 
#cp [ -옵션 ] 파일명1 파일명2
#cp [ -옵션 ] 파일명 디렉토리

옵션
-a : 가능한 한 원 파일의 구조와 속성을 그대로 복사한다.
-b : 복사할 때 덮어쓰게 되는 파일은 백업을 만든다.
-f : 복사 위치에 존재하는 파일을 제거하고 복사한다.
-i : 복사 시 같은 이름의 파일이 존재한다면 덮어쓸 것인가 확인한다.
-P : 원본 파일의 소유자, 그룹, 권한, 시간 기록을 그대로 복사한다.
-r : 파일과 하위 디렉토리에 포함된 파일 모두를 재귀적으로 복사한다.
만일 파일명2가 이미 존재하는 파일의 이름이라면 기존에 있던 파일은 사라지고 새로운 복사본 파일로 바뀐다. 이것이 원하지 않는 결과라면 -i 옵션을 주어서 확인 작업을 거칠 수 있다.
-i 옵션은 파일명2가 이미 존재하는 이름이라면 그대로 복사할 것인지 아닌지를 선택할 수 있게 물어온다.

사용 예
[root @edu00 linux]# cp -i blade.Z temp.Z
[root @edu00 linux]# cp -r * /somewhere
: 당연히 -r 옵션은 파일명2가 디렉토리 이름일 때만 사용이 가능하다.
1.14  mv
move의 의미
파일의 위치를 이동하거나 파일의 이름을 바꾸어준다.
형식
#mv [ -옵션 ] 파일명1 파일명2
#mv [ -옵션 ] 파일명(들) 디렉토리명
옵션
-f : 같은 이름의 파일이 존재하고 쓰기 권한이 금지되어 있더라도 물어보지 않고 덮어
쓰기를 해버린다. 이런 경우 이 옵션을 사용하지 않으면 사용자에게 다시 확인을 
할 것이다.
-i : 파일을 덮어쓰기 전에 사용자에게 확인한다. 기존에 있던 파일을 원치 않게 잃어버리는 수가 있기 때문에 확실하지 않다면 -i 옵션을 사용하는 것을 권한다.
사용 예
[root @edu00 linux]#mv sisap.hong victor.dongki readme.txt  ../friend  
[root @edu00 linux]#mv blade.Z ../kimtaihan.Z  
[root @edu00 linux]#mv /home/blade  /home/friend  
[root @edu00 linux]#mv sisap.doc LeeKiHong.doc 
1.15  date
시스템은 현재의 날짜와 시간을 유지하고 있다. 
date 명령을 사용하면 그러한 시간을 확인할 수 있다. 또한 날짜와 시간 정보를 변경할 수 있다. 물론 시스템의 날짜와 시간은 슈퍼 유저만이 변경할 수 있다.

형식 
#date 
#date 월 일 시 분 년도

사용 예
[root @edu00 linux]#date  
Tue Apr 25 17:45:09 KST 2000
[root @edu00 linux]#date 101116302001
현재의 날짜를 2001년 10월 11일 오후 4시 30분으로 시간을 변경

1.16 du and df

1.16.1 du
disk usage의 의미
형식
#du [-옵션] [디렉토리]

옵션
-a : 디렉토리가 아닌 모든 파일에 대한 정보를 화면에 출력한다.
-k : kilobyte 단위로 표시
-m : megabyte 단위로 표시
-h : human readable이란 의미에 따라 사람들이 읽을 수 있는 용량의 단위표시를 하면서 화면에 출력이 된다.
-s : 사용량의 총 합계를 출력한다.

사용 예
#du -sh /home
/home디렉토리의 총사용량을 단위표시를 해서 화면에 출력해 지정된 디렉토리의 사용량을 확인한다.

1.16.2 df
difk free의 의미
디스크의 여유 공간을 검사하여 보고한다.

형식
#df [ -옵션 ] 파일시스템
-i : 블록 사용 대신 inode 사용 정보를 보고한다.
-k : 블록의 크기를 1K바이트로 계산한다. 이것은 바이트 크기를 사용하는 대신 블록 단위로 보고한다는 점을 유의해야 한다. 기본적으로 512바이트 크기로 한 블록을 다룬다.
-T : 각 파티션의 파일시스템의 유형도 화면에 출력한다.
사용 예
#df
#df -mt
1.17  env
현재의 환경에 영향을 주지 않고 원하는 환경을 만들어 명령을 실행한다. 또는 현재의 환경을 보고한다.

형식
# env [ - ][-i ][ -u 이름 ][ 이름=값 ][명령]

옵션
-i : 현재의 환경을 무시하고 빈 환경 상태로 시작한다.
-u 이름 : 현재의 환경에 그 이름의 변수가 있다면 제거한다. “이름=값”형식으로 특
정 환경 변수를 지정해서 명령을 실행한다. 이러한 값을 필요한 대로 여러 개 나열하
면 되고, 현재의 환경은 변경하지 않으므로 명령의 수행이 끝나면 환경의 상태는 이
전과 다름없게 된다.

사용 예
[root @edu00 linux]#env HOME=/usr/victor tsh
: 디렉토리 변수를 지정하여 셸을 실행한다.
[root @edu00 linux]#env  
:  현재 설정되어 있는 환경 변수들을 보여준다.
1.18  find
원하는 특정 파일을 디렉토리를 탐색하여 찾는다. find는 매우 강력한 도구로 특정 디렉토리들을 순회하면서 지정된 조건에 만족하는 파일을 찾는다. 파일의 조건은 이름이나 크기, 날짜 등 다양하게 지정할 수 있다.

형식
#find [ 디렉토리 ] 탐색 조건

옵션
-name 파일명 : 찾고자 하는 파일의 이름을 정한다. 와일드 카드도 가능하다.
-user 사용자 : 파일 사용자의 ID에 따라서 검색한다. 로그인 이름이나 번호 모두가 가
능하다.
사용 예
[root @edu00 linux]#find  /bin  -name ro*

3.19  chmod
파일의 모드를 바꾼다. 파일의 모드는 권한(permission) 을 제어한다.

형식
#chmod [ -옵션 ] 모드 파일명(들)

옵션
-f : 파일의 권한이 바뀔 수 없어도 에러 메시지를 출력하지 않는다.
-v : 변경된 권한에 대해서 자세히 기술한다.
-R : 디렉토리와 파일들의 권한을 재귀적으로 모두 바꾼다.

사용 예
[root @edu00 linux]#chmod 666 broadboard  
: 파일을 모두가 읽고 쓸 수 있도록 한다.
[root @edu00 linux]#chmod 746 broad
: 파일 권한을 -rwxr--rw-로 변경한다.
[root @edu00 linux]#chmod o+x,g-w broadboard
1.20 file
파일이 어떠한 형태의 파일인지 알아낸다.

형식
#file 파일명
파일이 텍스트 문서인지 실행할 수 있는 파일인지 아니면 데이터 파일인지등을 인식한다. 에디터를 사용해서 보거나 수정될 수 있는 파일인가 알아 보는 데에 많이 사용된다.
1.21  ln
두 개의 파일 사이에 링크를 만들어, 하나의 파일을 두 개 이상의 이름으로 접근이 가능하도록 한다.

형식
#ln [ -s ] 파일명1 파일명2
#ln 파일명들 디렉토리

옵션
-s : 하드 링크 대신 심볼릭 링크를 만든다.

사용 예
[root @edu00 linux]#ln project theplan  
: 두 개의 이름은 같은 문서를 의미한다.
1.21 man
사용하고자 하는 유닉스 유틸리티에 대한 매뉴얼(manual)을 검색해서 보여준다.
셸을 사용할 때 어떤 명령의 사용법이 기억 나지 않는 경우가 있다. 
혹은 매번 사용하던 명령이라도 특수한 옵션이 필요할 때 그 기호나 사용법을 정확히 확인해야 하는 경우가 많이 있다. 이러한 경우에 사용하면 매우 유용하다.

형식
#man  단어

옵션
-k : 인수로 주어진 단어를 키워드로 사용하여, 해당 키워드가 발견되는 모든  매뉴얼
의 내용을 검색하여 보여준다.

사용 예
[root @edu00 linux]#man telnet
[root @edu00 linux]# man -k 키워드

1.22 history
현재까지 실행했던 모든 명령어의 리스트를 볼 수 있다.
즉, 명령행에서 입력해 사용해왔던 명령어들을 다시 사용고자 할 때 이 명령어를 이용하는 것이다.

사용 예
#!!
마지막으로 실행했던 명령어를 다시 실행한다.
#!n
번호에 주어진 명령어가 실행이 된다.
#!단어
가장 최근에 그 단어로 시작하는 명령어를 다시 실행한다.
#!?단어?
가장 최근에 실행했던 명령어들 중 단어를 포함하는 명령문을 다시 실행한다.
1.23 passwd
리눅스 시스템은 다중 사용자와 다중 작업을 지원하는 개인용 서버 시스템이다. 
즉, 이 시스템을 사용하는 여러 계정이 있고 각 계정마다 자기에게 허가된 작업을 할 수 있다는 의미이며 자기에게 허가된 작업을 하기 위해서는 시스템에 로그인을 해야 하는데 로그인 과정에서 반드시 필요한 것이 각 계정과 각 계정에 대한 패스워드이다.

패스워드를 설정할 수 있고 패스워드를 변경할 수도 있다

형식
#passwd [-옵션] (계정명)

옵션
-p : 계정에 대한 패스워드를 삭제하여 로그인시 패스워드 인증을 거치지 않는다.

사용 예
[root @edu00 linux]#passwd
[root @edu00 linux]#passwd 계정명
1.24 cal
달력을 출력하는 명령어이다.

형식
#cal [-옵션][월/년도]

옵션
-m : 특정 월을 지정하여 출력한다.
-y : 특정 년도를 지정하여 출력한다.
사용 예
[root @edu00 linux]#
1.25 engdic
영한 사전 및 한영 사전의 기능을 제공한다.

형식
#engdic
1.26 ps
process의 의미
프로세스를 관리하는명령어로 프로세스의 상태를 표시한다.

형식
#ps [-옵션]

옵션
-a
-u
-x

사용 예
[root @edu00 linux]#ps -aux
[root @edu00 linux]#ps -aux | grep httpd
1.27 su
substitute user의 의미
실제로 로그인하지 않고 로그인의 기능을 대체하는 명령어이다.
일반적으로 시스템에 root계정으로 로그인 한 후 작업을 하면 시스템 전체에 막대한 영향을 미칠 수 있다. 그래서 설치시에 설정한 일반 사용자 계정으로 로그인한 후 작업을 하다가 시스템 관리자로서 설정을 해야 하는 일이 있다면 su라는 명령어를 이용해시스템 관리자로 작업을 할 수 있다. 또한 일반 사용자계정으로 전환해서 작업을 할 수도 있다..

형식 
#su [-옵션]

옵션
-, -l, --login:

사용 예
[root @edu00 linux]#su - 계정명
[linux @edu00 linux]$su ?
1.28 nl
line number의 의미
파일을 출력할 때 파일의 각 라인앞에 라인 번호를 붙여서 화면에 출력한다.

사용 예
[root @edu00 linux]#nl /etc/passwd

2008년 4월 2일 수요일

[MyStory] 일기 - 시간이 간다.


04.01
언젠가 부터 글을 쓰는것도 내가 느끼는 감정을 남기는 것도 부질 없는 짓이란 생각이 들었다.
시간을 흘러 가고 있었다. 내가 무슨 생을 하든지 내가 무슨 마음을 갖든지 ...
나에게 그는 말했다. " 시간이 지나고 나면 지금 우리가 한 모든 말들 행동들.. 어떻게 생각할까 " 문득 그와의 10년이란 시간을 뒤돌아 보게 되었다. 내가 했던 말들은 내가 들었던 말들은 우리의 삶에서 내 삶에서 어떤 것이었을까. 어떤 그런 생각의 끝이 아닌 시간을 함께 했다. 아니 함께 했다기 보다는 함께 같은 공간에 있었다.

인생이란 부질없이 그냥 그렇게 가 버리는 것이란것을 생각을 하고 느끼고 있었지만... 너무나 아쉽고 슬픔을 이루 말할 수 없는 순간도 있으리라... 짐작을 하고 있던 문자 하나를 받고 나서 나는 한동안 참았던 눈물을 흘렸다. 내가 흐르는 눈물이 내가 흐느끼는 소리가 바보 같아 샤워실에서 샤워기를 틀고 앉아서 내가 할 수 있는 최소한의 마음을 전했다. 이제는 그에게 또다른 숙제와 또다른 모습으로 살아가야 할 숙제가 남아있겠지마는 걱정이 되기도 하고 내가 무슨 말을 건네야 할 지를 모르겠다.

한번도 전화통화 버튼을 누르는것이 두렵지 않았다. 근데 두렵다. 내가 하는 말들 내가 느끼는 감정들이 두렵다. 무슨 이유였을까. 무슨 이유일까... 내게 다가온 시간의 문제였을까. 내가 얻어온 시간들이 잘못된것 이었을까?

하루 시간의 연속성 안에 살고 있는 무한 경쟁시대에 살지만 내 가슴은 아무래도 유한 했나 보다. 내겐 마감 시간이 있었나 보다. 왠지 농구 경기가 끝나 버린것 같은 마지막 버져비터라도 날렸어야 했나? 가슴속이 답답하고 마음이 무겁다. 지난주 부터 무엇을 먹어도 소화도 되지 않고 입맛도 없다. 그냥 꾸역 꾸역 집어 넣는 것이 지나온 내 시간들 속에서 생각들을 그리 집어 넣은 것은 아니었는지 생각이 든다.

하늘아.. 너도 날 보고 있다면 나에게 답을 좀 던져 줄래?

2008년 3월 27일 목요일

[Oracle] 오라클의 내부적인 정보들을 확인 해볼 수 있는 테이블

오라클을 직접 관리하기 위해서는 Tool을 사용하는 것보다 각 오라클 정보 테이블을 알고 있는것이 
많은 도움을 주기에 정리되어 있는 자료를 다시 올려 봅니다. 
구분테이블명설명
오브젝트USER_OBJECTS(OBJ) 모든 오브젝트에 대한 정보를 지원 오즈젝트 유형, 작성시간, 오브젝트에 사용된 최종 DDL 명령, alter, grant 및 revoke 등
테이블USER_TABLES(TABS) 테이블에 대한 정보
USER_TAB_COLUMNS(COLS) 컬럼에 대한 정보
USER_VIEWS뷰에 대한 정보
동의어USER_SYNONYMS(SYN)
시퀀스USER_SEQUENCES(SEQ)
제약조건USER_CONSTARINTS
제약조건열USER_CONS_COLUMNS제약 조건을 가진 열에 대한 정보
제약조건의 예외사항EXCEPTIONS제약조건을 활성화시 에러사항에 대한 정보
테이블 주석USER_TAB_COMMENTS테이블/뷰에 대한 주석
열 주석USER_COL_COMMENTS열에 대한 주석
인덱스USER_INDEXES(IND) ( 인덱스에 관한 정보)
인덱스 열USER_IND_COLUMNS인덱스열에 대한 정보
클러스터USER_CLUSTERS(CLU) 클러스터와 관련된 정보
데이터베이스 링크USER_DB_LINKS링크에 관련된 정보
스냅샷USER_SNAPSHOTS
스냅샷 로그USER_SNAPSHOT_LOGS
트리거USER_TRIGGERS
프로시저, 함수 및 패키지USER_SOURCE
코드 오류USER_ERRORS
테이블스페이스USER_TABLESPACES
영역 할당량USER_TS_QUOTAS테이블스레이스 단위로 사용자가 이용할 수 있는 영역의 최대크기와 할당된 영역의 크기 파악에 대한 정보
세그먼트와 익스텐트USER_SEGMENTS 
USER_EXTENTS
여유 영역USER_FREE_SPACE현재 여유로 표시된 영역이 얼마인지에 대한 정보
사용자USER_USERS
자원 제한량USER_RESOURCE_LIMITS
테이블 권한USER_TAB_PRIVS
열 권한USER_COL_PRIVS
시스템 권한USER_SYS_PRIVS
EX)
그럼 SEQUENCE정보를 알고 싶을때는 어떻하면 될까요?
SELECT * FROM USER_SEQUENCES
참고)  
 DICTIONARY(DICT) 뷰
     - 데이터 사전 및 동적 성능 뷰에 대한 정보를 알고 싶으면 DICTIONARY 뷰나
         DICT_COLUMNS 뷰를 조회하면 됩니다.
      - 조회 할 수 있는 모든 데이터사전의 테이블이름과 설명을 조회 할 수 있습니다.
         물론 설명은 영문으로 되어 있습니다.
      - 동의어인 DICT를 이용해서도 똑같은 정보를 조회 할 수 있습니다.
     SQL> SELECT * FROM DICTIONARY WHERE table_name LIKE '%INDEX%';
     SQL> SELECT * FROM DICT WHERE table_name LIKE '%INDEX%';
 DICT_COLUMNS 뷰
       - 뷰를 질의하면 해당 데이터사전의 컬럼에대한 정보를 조회 할 수 있습니다.
        SQL> SELECT * FROM DICT_COLUMNS WHERE TABLE_NAME LIKE '%INDEX%';
        SQL>SELECT * FROM dict WHERE table_name LIKE UPPER('%&데이타사전%');

2008년 3월 11일 화요일

[Linux-info] 리눅스 설치시 파티션 구성 및 설명

- 리눅스 시스템의 디렉토리 구조
     : 리눅스에서는 디렉터리를 하나의 파일로 인식한다. 리눅스의 디렉토리는 트리구조의 형식으로  최상위에 해당하는 루트( / ) 파일 시스템을 중심으로 한 하위 디렉토리들이 존재 한다.
    /   최상위에 있는 디렉토리로, 루트 디렉토리라고 함 
        
 - /bin      기본 실행 파일 존재 
         - /boot  시스템 부팅에 필요한 파일들 
         
- /dev    플로피, 하드디스크, CD-ROM 등 각종 장치 파일 들 존재
         - /etc     시스템 관리시 필요한 스크립트 파일들과 설정 파일 존재 
         - /home  일반적으로 사용자 계정을 만들면 이 디렉토리의 밑으로 생김
         
- /lib       각종 라이브러리 파일들이 존재 함 
         - /lost+found   ext2, ext3 파일 시스템에서 파일 시스템 복구를 위한 디렉토리
         - /mnt    마운트될 시스템의 마운트 포인터가 되는 디렉토리들이 위치함    
                      ex) /mnt/floppy, /mnt/cdrom
         - /opt     추가적으로 생긴 프로그램 패키지가 설치된 디렉토리
         - /proc   시스템 관리를 목적으로 메모리상에 만들어 놓은 가상 데릭토리로 현재 시스템을 설정 함 
         - /root   루트 사용자의 홈디렉토리로 루트만 접근 가능 함 
         - /sbin    시스템 점검 및 복구, 네트워크 인터페이스, 시스템 초기 및 종료 명령,
                        커널 모듈등 관리 실행 파일 들 
         - /tmp    각 장치에 필요한 socket 이 위치하고 시스템에 필요한 임시 파일 존재 
         - /user   시스템이 정상적으로 가동되는데 필요한 모든 명령과 라이브러리 존재 
         
- /usr/bin             /bin에 없는 유용한 실행 파일이 위치함 
         - /usr/include     C 언어 헤더 파일들을 보관하는 곳이다. 
         - /usr/src            컴파일 되지 않은 소스코드 등이 있음 
         - /usr/man           명령어로 볼 수 있는 man page 를 포함 
         - /var      시스템의 Log 들과 네트워크와 관련된 기록 파일들 저장 공간 임 
         
- swap    일반 컴퓨터의 메모리라고 생각하면 쉬울 듯 ( RAM * 2 )  

언제 부터 였던가 생각해보니 아르바이트 겸 외부 컨설팅을 의뢰 받고 맥북 프로를 처음 써봤을 때 부터 였던 것 같다. 지금은 거의 대부분의 작업을 맥으로 작업을 하다 보니 윈도우에서만 실행되는 일부 프로그램들 때문과 회사 내부 ERP프로그램이 윈도우 ...