BLOG NOTICE TAG CLOUD GUESTBOOK
RSS
CATEGORY

0
Comments

0
Trackbacks
최대한 단순한... 
-- 유저삭제
drop user uiadm cascade;
-- 테이블스페이스 생성
create tablespace UI_DT01_8K datafile 'C:\Oracle\UI_DT01_8K.dbf' size 8000M;
-- 유저생성
CREATE USER uiadm IDENTIFIED BY uiadm
DEFAULT TABLESPACE UI_DT01_8K
TEMPORARY TABLESPACE temp;
-- 권한부여
grant connect, dba to uiadm;     // dba 권하는 가능하면 X


권한부여

   . 테이블     
    : GRANT SELECT, INSERT, UPDATE, DELETE ON [테이블명] TO [유저] ;

  . 패키지 , 프로시저
    : GRANT EXECUTE ON [ 패키지/프로시저명]  TO [유저] ;

  . 뷰, 시퀀스
    : GRANT SELECT  ON [뷰/시퀀스명]  TO [유저];

2009/01/23 13:35 2009/01/23 13:35
TAG
0
Comments

1
Trackbacks

[oracle] 날짜계산

2009/01/21 17:36 -  dev.log/db

1일은 24시간 1시간은 60분
1 * 24 * 60 = 1440분 을 기준으로 날짜 계산을 할 수 있다.

1일 전
select sysdate, sysdate-1 from dual;
2009/01/21 17:29:04     2009/01/20 17:29:04

1시간 전
select sysdate, sysdate-(1/24) from dual;
2009/01/21 17:30:48    2009/01/21 16:30:48

10분 전
select sysdate, sysdate-(10/(24*60)) from dual;
2009/01/21 17:34:33    2009/01/21 17:24:33
2009/01/21 17:36 2009/01/21 17:36
0
Comments

0
Trackbacks


export_userdb.bat

@echo off

SET dt=%date:-=%
SET EXP_DIR=D:\DB_BACKUP\full
SET ORACLE_SID=XDEVTL_WUI

:START
    if not exist %EXP_DIR% (
        md %EXP_DIR%
    )
    C:\Oracle\product\10.2.0\db_2\BIN\EXP userid=scott/tiger@ALSERM owner=alserm file=%EXP_DIR%\%dt%_wuiadm.dmp log=%EXP_DIR%\%dt%_wuiadm.log
    if not %ERRORLEVEL%==0 (
        goto QUIT
    )
    echo "일정날짜는 삭제"

:QUIT

오너 alseom의 해당하는 테이블들을 백업한다.

2009/01/09 15:58 2009/01/09 15:58
TAG
0
Comments

0
Trackbacks

oracle export

2009/01/09 15:56 -  dev.log/db
▣ EXPORT ?
오라클에서 제공하는 논리적인 백업에 사용되는 유틸리티로써,  binary file형태로 기록합니다.
데이터베이스가 가동중인 상태에서 실행합니다.
⊙ 전체 데이터베이스, 특정 사용자, 특정 테이블들을 엑스포트 시킬 수 있습니다.
⊙ 권한, 익덱스, 또한 연관된 제약조건들과 같이 테이블들과 연관되는
    데이터 딕셔너리 정보도 엑스포트 시킬 것인가를 선택할 수 있습니다.
⊙ 마지막 엑스포트 이후로변경된 테이블들에 대해서만 엑스포트 작업을 실행 할 수도 있습니다.  

▣ Export Paramger

 - userid : EXPORT를 실행시키고 있는 username/password명.

 - buffer : 데이터 행들을 가져오는데 사용되는 버퍼의 크기.

 - file : 생성되는 EXPORT덤프 파일명.

 - filesize : EXPORT덤프 파일의 최대 크기

 - grants : 데이터베이스 객체에 대한 권한 정보의 EXPORT여부 (Y/N 플래그)

 - indexes : 테이블에 대한 INDEXES의 EXPORT여부 (Y/N 플래그)

 - rows : 행들에 대한 EXPORT여부. (Y/N 플래그)
             만약 “no”이면 데이터는 EXPORT되지않고 테이블의 정의만 EXPORT 됩니다.

 - constraints : 테이블에 대한 제약조건 정보의 EXPORT여부 (Y/N 플래그)

 - compress : IMPORT에 대비하여 테이블의 데이터를 한 extent로 압축 할것인가의 여부
                    (Y/N 플래그)

 - full : 전체 데이터베이스를 EXPORT할것인가의 여부 (Full Level Export) (Y/N 플래그)

 - owner : EXPORT될 데이터베이스의 소유자명 (User Level Export)[owner=user]

 - tables : export될 테이블의 리스트(Table Level Export) [tables=(table1, table2, ...)] 


▣ Full Level Export

 - 전체 데이터베이스가 엑스포트 됩니다.

- 모든 테이블스페이스, 모든 사용자, 또한 모든 객체, 데이터들이 포함됩니다.

 예제) C:>exp  userid=system/manager  file='C:full.dmp'   full=y


▣ User Level Export

- 사용자 객체들이 엑스포트 되고 객체들 안에 있는 데이터도 엑스포트 됩니다.

- 사용자 객체에 대한 모든 권한들과 인덱스들도 엑스포트 됩니다.

- 다른 사용자들의 객체와 권한, 인덱스들은 엑스포트 되지 않습니다.

 예제1) 사용자 자신이 만든 모든 오브젝트를 그 user가 EXPORT하는 방법입니다.

      C:>exp   userid=scott/tiger  file='C:scott.dmp'


 예제2) SYSTEM/MANAGER로 접속한 DBA가 여러 user소유의 오브젝트들을 EXPORT 하는
          방법입니다.

      C:>exp userid=system/manager owner=scott  file='C:scottuser.dmp'


▣ Table Level Export

 - 명시된 테이블만 엑스포트 됩니다.

- 테이블의 구조, 인덱스, 권한등이 테이블과 함께 엑스포트 됩니다.


    예제1) system user로 다른 유저의 table 몇 개만 Export하는 예제입니다.

    C:>exp userid=system/manager file='C:exp.dmp' tables=(scott.EMP, scott.DEPT)

    => 위와 같이 table의 schema(user)명까지 지정해야만 export가 성공합니다.


     예제2) scott user로 table 몇 개만 EXPORT하는 예

     C:>exp userid=scott/tiger file='C:exp.dmp' tables=(EMP, DEPT) log=exp.log

     => user가 자신의 table을 export할 때에는 schema 명을 지정할 필요 없습니다.


출처 : http://nolja.egloos.com/1212951 (New Window)
2009/01/09 15:56 2009/01/09 15:56
TAG ,
0
Comments

0
Trackbacks
주민번호로 연령별 통계 구하기
SELECT (substring(substring(now(),1,4)-concat(ceiling(substring(ResRegNum2,1,1)/2) + 18,substring(ResRegNum1,1,2)),1,1)*10) AS age,count(ID)
FROM member
GROUP BY age;

ResRegNum1 주민번호 첫 6자리
ResRegNum2 주민번호 두 7자리
ceiling(substring(ResRegNum2,1,1)/2)+18
이 부분에서 먼저 주민번호 7자리 중에서 첫번째 1자리를 가져 옵니다. 이게 1900년에 태어났는지 그 이후에 태어 낫는지 알수 있는 키가 되기 때문이죠.그리고 그걸 2로 나눈 몫을 무조건 올려주면 정수가 나오는데 이거 에다가 18 을 더해 주면 몇년도에 태어 났는지 알수가 있게 되는겁니다..한번 자기 주민번호 가지고 계산 해보시길...
substring(ResRegNum1,1,2)
이걸로 이제 나머지 년도를 구해서 concat로 더해 주면 정말 그 사람이 태어난 년도가 나오게 되겠죠...여기까진 태어난 년도 계산이고...
substring(now(),1,4)
이건 지금 년도 얻어오고 아까 그년도를 뺀다음에 다시 앞의 글자 하나 가져 와서 10을 곱하면 비로소 연령대가 나오게 되는겁니다

출처 : http://blog.naver.com/asfreeas/40000199422 (New Window)
2009/01/08 23:07 2009/01/08 23:07
TAG
0
Comments

0
Trackbacks

- 오라클 버전 확인

select banner from V$VERSION

- 테이블스페이스 명 변경

alter tablespace tbs111 rename to tbs222;

 

- SYSTEM나 SYSAUX 테이블스페이스의 이름은 변경할 수 없다.
- 변경하려는 테이블스페이스가 언두(UNDO)이고, spfile을 사용하고 있다면, 오라클은 변경된 이름에 대해 spfile의 UNOD_TABLESPACE 파라미터를 적절히 변경하여 준다.


2008/09/18 15:54 2008/09/18 15:54
0
Comments

0
Trackbacks

mysql DATE_FORMAT

2008/07/10 01:17 -  dev.log/db
DATE_FORMAT(날짜,'형식') : 날짜를 형식에 맞게 출력
DATE타입 구분기호 설명 구분기호 설명
년도 %Y 4자리 연도 %y 2자리 년도
%M
%b
긴 월 이름 (January, ...)
짧은 월 이름(Jan, ...)
%m
%c
숫자의 월 (01...12)
숫자의 월 (1...12)
요일 %W 긴 요일 이름 (Sunday, ...) %a 짧은 요일 이름 (Sun, ...)
%D
%w
월 내에서 서수 형식의 일(1th, ...)
숫자의 요일 (0=Sunday, ...)
%d
%e
%j
월 내의 일자 (01...31)
월 내의 일자 (1...31)
일년 중의 날수 (001...366)
%l
%h
%I
12시간제의 시 (1...12)
12시간제의 시 (01...12)
12시간제의 시 (01...12)
%k
%H
12시간제의 시 (0...23)
12시간제의 시 (00...23)
%i 숫자의 분 (00...59)
%S 숫자의 초 (00...59) %s 숫자의 초 (00...59)
시간 %r 12시간제의 시간 (hh:mm:ss AM 또는 PM) %T 24시간제의 시간 (hh:mm:ss)
%U 일요일을 기준으로 한 주 (0...52) %u 월요일을 기준으로 한 주 (0...52)
기타 %% 문자 '%' %p AM 또는 PM

   ☞ 예)
   select date_format(now(),'%Y:%M:%p');
   ==> 2001:May:PM
2008/07/10 01:17 2008/07/10 01:17
0
Comments

0
Trackbacks
mysql 자리수 채우기
SELECT LPAD('33',5,'0');
2008/05/22 18:52 2008/05/22 18:52
TAG