2001년 봄이었나..
잘 기억은 안나지만 막 개업한 pc방에 간적이 있었다..말그대로 첫손님..
사장님은 첫손님이다보니 컴퓨터 사양이라던지..pc방 분위기는 어떻냐는둥..
우리에게 첫느낌을 물어봤었고..
나와 친구는 나름 성심성의껏 대답해주었다...

그리고 우리는 그렇게 pc방 아르바이트를 하게 됐다..-_-;;

시급 : 3,500원
시간 : 8시간 3교대..

pc방이 전국적으로 보급되고..pc방 아르바이트가 한때 엄청난 인기를 끌게 되었는데..
아마 알바가 쉽고 컴퓨터를 맘껏 할 수 있다는 장점때문이지 않나 싶다..
pc방에서의 일이래봐야 윈도우 맛가면 다시 깔고 게임깔고..청소하고..계산하면..끝..
하드웨어적으로 문제발생하면 a/s에 전화하면 돼고..완전 컴맹만 아님 누구라도 할 수 있는 그런 알바..

그렇지만 육체적으론 절대 힘든일이 아닌데..정신적으로는 적지 않은 타격을 입는다..
그건 바로..
술먹은 20대 이상의 손님들과...
도망가는 손님들..그리고 개념을 안드로메다로 보내버린 몇몇의 무서운 최강초딩들...-_-;;
그리고 가끔이지만 이상한(?) 손님들까지..

이런 손님들은 조용히 게임과 인터넷만 하다 가지 않는다는거-_-;
그로 인해 pc방 알바는 몸은 편하지만 정신적인 데미지가 심하다는 문제점이 있다..
안해본 사람은 모른다..ㅋㅋ

내가 했을때 가장 이상했던 손님으로는...허경영 같은 분도 있었다..
알바인 나에게 축지법이 어떻다느니..장풍이 어떻다느니..-_-;

그리고 도망가는 손님들...주로 중고딩들이 많은데 중고딩들은 여럿이 뭉쳐서 오는 경우가 많다보니..계산할때라던지..이럴때 우르르 나가버리면..
알수가 없다..누가 게임을 했는지 안했는지..-_-

그리고 어떤 사람은 눈치 보다가 무리들이 나갈때 섞여서 나가버리는경우도 있다..
우리가 일행인지 아닌지 알수있는 방법이 없다보니..그야말로 속수무책이다..
무슨 홍길동도 아니고..눈깜짝할 사이에 사라져버리니...-_-;;
어느 pc방에선 2층에서 뛰어내린 손님도 있다는 소리가 있다..

무개념 초딩은 말할 것도 없이 피곤한 존재.....-_-;;;;
정말 초딩들 몰려오면 그 순간 눈앞이 막막해지면서 나지막히 나오는 한마디..."된장"

이 외에도 술먹은 손님들..키보드위에 확인작업(?)이라도 할시엔..정말...-_ㅜ

그렇지만 이런 손님들 상대하는게 힘든 반면 일은 굉장히 쉽죠..그래서 돈은 벌어야 겠고 공부도 해야 하는 그런 사람일 경우 괜찮은 알바이지 않나 싶다..
개인시간이 많기 때문에 자기가 맘만 먹음 충분히 공부도 병행할 수 있다는 장점이 있다..

그리고 의외로 컴퓨터에 관한 공부도 돼고....그곳에서 분해도 해보고 이런저런 소프트웨어도 설치해보고하기 땜시..그리고 여러 사람이 만지기 땜시 여러 이상징후가 발생하기도 하고그 땜시 하드웨어적으로나 소프트웨어적으로도 나름 공부가 많이 됀다...ㅋㅋ
      
Posted by k_ben


개념..(네이버에 어떤분이 이해하기 쉽게 써놨길래 퍼왔습니다..)

테이블스페이스는 데이터베이스의 물리적 스키마(테이블,인덱스)를 생성하기 위한 공간입니다. 
테이블스페이스가 생성되기 위해서는 당연히 데이터베이스가 정의되어야 하고요...
이러한 테이블스페이스가 필요로 하는 물리적 디스크 공간이 데이터파일입니다.
테이블스페이스와 데이터파일의 관계는 당연히 1:N 의 관계이고요...
당연히 테이블스페이스가 처음 생성이 될때는 데이터파일이 지정되어야 합니다.
오라클 데이터베이스같은 경우에는, 오라클 데몬 (DBWR인가...)이 다음의 프로세스를 거쳐 테이블스페이스를 생성합니다.

 1. 테이블스페이스 생성 구문 및 파라미터를 분석한다.

2. 데이터파일 경로가 파일 시스템상에 존재하는 올바른 경로인지 확인한다.

3. 데이터파일을 지정된 파일 시스템에 생성한다.

4. 파일시스템이 생성되면 테이블스페이스를 데이터 사전에 등록하고 생성한다.

테이블스페이스가 생성되면, 그 테이블스페이스를 사용할 유저를 생성합니다.
유저의 생성 구문은
create user "사용자명" identified by "암호"
default tablespace "테이블스페이스명"
temporary tablespace "임시테이블스페이스명";
입니다. 당연히 테이블스페이스가 지정이 되어 있어야 유저를 생성할 수 있습니다
(기본 테이블스페이스는 기본적으로 "시스템"테이블 스페이스입니다)

한가지 예를 들어 설명드리겠습니다.

예를 들어 "홍길동" 이 농사를 짓습니다.
농사를 지으려면 "땅"이 필요합니다.
"땅"을 구획을 지어 구별할 수 있는 이름으로 나누기 위해서는,
나라에서 지정하는 주소의 규칙을 따라서 "행정구역"으로 구분합니다.
"홍길동"이 농사를 짓기 위해 토지를 매입하려고 합니다.
나라에서는 "홍길동"이 사려는 땅이 누구의 소유인지 확인하고,
없으면 "번지"를 매겨 구획을 짓습니다.
그리고 "홍길동"은 해당 "번지" 에 대한 "등기부등본"을 받고 농사를 짓습니다.
그 다음부터는 "홍길동"은 마음대로 자신의 "농장"안에서
"콩"도 심고, "고추"도 심고, "참외"도 심습니다.
"농장"이 모자라게 되면, 추가로 "번지"를 매입하여 "농장"에 편입합니다. 
당연히 "등기부등본"에는 해당 "번지"가 "홍길동"의 "농장"임을 표시합니다.
 

"땅"은 데이터베이스,
"농장"은 테이블스페이스,
"행정구역"은 데이터파일이 들어갈 파일 시스템,
"번지"는 데이터파일,
"등기부등본"은 데이터사전,
"홍길동"은 유저,
"콩밭","고추밭","참외밭"은 테이블 개념으로 이해하시면 되겠습니다.
그럼 인덱스는요?
"콩밭"이나,"고추밭"이나,"참외밭"에서
"완두콩", "풋고추", "개구리참외"를 쉽게 찾기 위한 인식자입니다.
"고랑, 줄" 정도가 인덱스에 해당한다고 보면 되겠군요...
"완두콩은 첫번째 고랑부터 세번째 고랑까지 심었다" 면 말이죠...

----------------------------------------------------------------------------
테이블스페이스의 용량을 알아보는 쿼리문
SELECT
"Check Time"
,TS_INFO.tablespace_name
,TS_INFO."TOTAL SIZE(MB)"
,TS_INFO."USED(MB)"
,TS_INFO."AVAIL(MB)" "Tot_AVAIL(MB)"
,TO_CHAR((MAX(DFS.BYTES)/1024/1024),'999,990.999') "Act_AVAIL(MB)"  -- max Extent size on The tablespace
,TS_INFO."USED %"
,TS_INFO."FREE %"
,TS_INFO."STATUS"
FROM (
SELECT
SYSDATE "Check Time"
,tablespace_name
,sum(total_size)/1024 "TOTAL SIZE(MB)"
,TO_CHAR(round((sum(used)/1024),4),'999,990.999') "USED(MB)"
,TO_CHAR((sum(total_size)/1024)-(round((sum(used)/1024),4)),'999,990.999') "AVAIL(MB)"
,TO_CHAR(round((sum(used)/sum(total_size)),4)*100,'990.99') "USED %"
,TO_CHAR(round(1-(sum(used)/sum(total_size)),4)*100,'909.99') "FREE %"
,CASE WHEN  (round(1-(sum(used)/sum(total_size)),4)*100) <= '10' THEN ' Alert        ☜'
      WHEN  (round(1-(sum(used)/sum(total_size)),4)*100) <= '15' THEN ' Warning   ☜'
      WHEN  (round(1-(sum(used)/sum(total_size)),4)*100) <= '30' THEN ' Normal     △'
      ELSE ' Good        ◎' END "STATUS"
FROM (
SELECT
                  b.tablespace_name , -- tablespace Name
                  b.bytes / 1024 total_size, -- 총 Bytes
                  ((b.bytes - sum(nvl(a.bytes,0)))) / 1024 used, -- 사용한 용량
                  (sum(nvl(a.bytes,0))) / 1024 free_size -- 남은 용량
                  FROM DBA_FREE_SPACE a, DBA_DATA_FILES b
WHERE a.file_id(+) = b.file_id
and
b.tablespace_name in (select tablespace_name from dba_tablespaces)
                  GROUP BY b.tablespace_name, b.file_name, b.bytes

)
GROUP BY tablespace_name
) TS_INFO,
DBA_FREE_SPACE DFS

WHERE TS_INFO.TABLESPACE_NAME = DFS.TABLESPACE_NAME
GROUP BY TS_INFO.tablespace_name,"TOTAL SIZE(MB)","USED(MB)","AVAIL(MB)","USED %","FREE %","STATUS","Check Time"
ORDER BY "FREE %"; 

 
<데이타 파일별 용량 확인 쿼리> 

SELECT            SYSDATE "Check Time",
                  b.file_name "FILE_NAME", -- DataFile Name
                  b.tablespace_name "TABLESPACE_NAME", -- tablespace Name
                  TO_CHAR((b.bytes / 1024),'999,990,999') "TOTAL SIZE(KB)", -- 총 Bytes
                  TO_CHAR((((b.bytes - sum(nvl(a.bytes,0)))) / 1024),'999,990,999') "USED(KB)", -- 사용한 용량
                  TO_CHAR(((sum(nvl(a.bytes,0))) / 1024),'999,990,999') "FREE SIZE(KB)", -- 남은 용량
                  TRUNC(((sum(nvl(a.bytes,0)) / (b.bytes)) * 100),2) "FREE %" -- 남은 %
                  FROM DBA_FREE_SPACE a, DBA_DATA_FILES b
WHERE a.file_id(+) = b.file_id
-- and b.tablespace_name = UPPER('&TS_name') -- 테이블 스페이스별로 보고싶을때 주석지우고 사용
                  GROUP BY b.tablespace_name, b.file_name, b.bytes
ORDER BY b.tablespace_name;
-----------------------------------------------------------------------
1. 해당 데이터파일의 크기를 재조정
ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\KIRIO1\A1_CLON\A1.DBF'
RESIZE 1100M;


2. 해당 테이블 스페이스에 새로운 데이터파일 추가
ALTER TABLESPACE DATA ADD DATAFILE 'd:\oracle\oradata\kirio1\data01.dbf'
SIZE 100M;


3. 해당 데이터파일에 AUTOEXTEND ON 설정
ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\KIRIO1\A1_CLON\A1.DBF'
AUTOEXTEND ON;

'컴퓨터 > DB' 카테고리의 다른 글

오라클 오류메시지  (0) 2009.01.15
데이터베이스 스키마  (0) 2009.01.15
오라클 초보자를 위한 팁  (0) 2009.01.15
오라클 힌트  (0) 2009.01.14
오라클에서 not exists, not in, minus의 성능차이  (0) 2009.01.13
      
Posted by k_ben