ibm software group ® © 2004 ibm corporation

33
IBM Software Group ® © 2004 IBM Corporation © 2006 IBM Corporation IBM DB2 Admin Guide IBM DB2 UDB Admin Workshop Lab DB2 Business Partner Technical Sales Team

Upload: tess98

Post on 17-Jun-2015

559 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group

®

© 2004 IBM Corporation

© 2006 IBM Corporation

IBM DB2 Admin Guide

IBM DB2 UDB Admin Workshop Lab

DB2 Business Partner Technical Sales Team

Page 2: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group

®

© 2004 IBM Corporation

© 2006 IBM Corporation

IBM DB2 Admin Guide

DB2 Installation Guide

DB2 Business Partner Technical Sales Team

Page 3: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 3IBM DB2 UDB Admin Workshop Lab

1. DB2 ESE Installation for Window using GUI

DB2 ESE 설치 폴더로 이동합니다 . 설치를 시작하기 위해 setup.exe 를 더블 클릭합니다 . 설치 런치패드에서 제품 설치 옵션을 클릭합니다 .

DB2 Enterprise Server Edition 제품 의 ‘새로 설치’ 옵션을 클릭합니다 .

Page 4: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 4IBM DB2 UDB Admin Workshop Lab

셋업 프로그램은 설치를 위한 시스템을 준비합니다 .

설치 준비가 되면 , 설치 마법사 창에서 다음을 클릭합니다 .

Page 5: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 5IBM DB2 UDB Admin Workshop Lab

사용권 계약서에 동의하고 다음을 클릭합니다 .

일반 설치 옵션을 선택하고 다음을 클릭합니다 .

Page 6: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 6IBM DB2 UDB Admin Workshop Lab

이 컴퓨터에 DB2 ESE 설치를 선택하고 다음을 클릭합니다 .

DB2 를 설치할 디렉토리를 설정 후 다음을 클릭합니다 .

Page 7: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 7IBM DB2 UDB Admin Workshop Lab

db2 사용자 이름과 암호 (DB2ADMIN / DB2ADMIN) 를 제공하고 다음을 클릭합니다 .

DB2 인스턴스 명이 ‘ DB2’ ( 디폴트 ) 로 제공되며 , 다음을 클릭합니다 .

Page 8: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 8IBM DB2 UDB Admin Workshop Lab

다음과 같이 디폴트로 설정 후 다음을 클릭합니다 .

다음과 같이 디폴트로 설정 후 다음을 클릭합니다 .

Page 9: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 9IBM DB2 UDB Admin Workshop Lab

설치 완료 후까지 이 테스크 연기를 선택 후 다음을 클릭합니다 .

다음과 같이 디폴트로 설정 후 다음을 클릭합니다 .

Page 10: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 10IBM DB2 UDB Admin Workshop Lab

설치될 구성요소들을 검토하고 설치를 클릭합니다 .

설치 프로그램 완료

Page 11: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 11IBM DB2 UDB Admin Workshop Lab

DB2 첫단계 프로그램을 시작합니다 . – 이 실습에선 DB2 명령창을 사용해서 시작합니다 .

설치 완료 이후 이 단계에서는 추가적으로 샘플 데이터베이스 작성 또는 고유 데이터베이스 작성 옵션을 클릭해서 데이터베이스를 생성할 수 있습니다 .

Page 12: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 12IBM DB2 UDB Admin Workshop Lab

Page 13: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 13IBM DB2 UDB Admin Workshop Lab

Instance

1. 명령창을 실행하십시오 .시작 실행 db2cmd Enter Key

2. SQLCODE -100 에 대한 시스템 메시지를 확인하십시오 .

db2 ? SQL0100W

3. SQLSTATE 02000 에 대한 시스템 메시지를 확인하십시오 .db2 ? 02000

4. CLP 가 제공하는 모든 명령어의 목록을 다음과 같이 확인하십시오 .db2 ?

5. 명령어 CONNECT 에 대한 구문을 확인하십시오 .db2 ? connect

6. 인스턴스를 기동하십시오 . db2start

7. sample 데이터베이스가 없다면 다음과 같이 생성하십시오 . db2sampl -k

8. sample 데이터베이스에 접속하십시오 . db2 connect to sample

9. employee 테이블의 데이터를 확인하십시오 .db2 "select * from employee" | more

10. employee 테이블의 데이터를 확인하여 empl.out 파일에 저장하십시오 .db2 "select * from employee" > empl.out

11. employee 테이블의 데이터를 다음과 같이 수정하십시오 . 실행 모드는 기본적으로 autocommit 모드이므로 , 자동적으로 COMMIT 이 실행됩니다 .

db2 "update employee set salary = salary + 1"db2 "select * from employee"

Page 14: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 14IBM DB2 UDB Admin Workshop Lab

Instance

12. CLP 에서 +c 옵션을 이용하면 autocommit 모드가 사용되지 않으므로 다 음과 같이 COMMIT 또는 ROLLBACK 문을 사용할 수 있습니다 .db2 +c "update employee set salary = salary + 1"db2 rollbackdb2 "select * from employee"

13. 에디터를 이용하여 다음과 같이 x.db2 라는 텍스트 파일을 작성하십시오 .-- 이것은 주석문입니다 .select * from employee where empno >'000400’;-- 두 번째 SQL 문입니다 .select * from org;

14. 다음과 같이 실행하여 결과를 확인하십시오 .

db2 –svtf x.db215. CLP 를 대화식 모드로 실행하십시오 .

db2

16. org 테이블의 데이터를 다시 확인하십시오 .db2=> select * from org

17. CLP 를 비대화식 모드로 전환하십시오 .

db2=> quit

18. CLP 를 다시 대화식 모드로 전환하십시오 .db2

19. CLP 프로세스를 확인하십시오 .

Windows 작업관리자 프로세스 탭 db2bp.exe 와 cmd.exe

20. sample 데이터베이스에 대한 접속을 종료하십시오 .db2 connect reset

21. CLP 프로세스를 다시 확인하십시오 .

Windows 작업관리자 프로세스 탭 db2bp.exe 가 여전히 존재함 .

22. CLP 를 완전히 종료한 후 , CLP 프로세스를 다시 확인하십시오 .db2 terminate

Windows 작업관리자 프로세스 탭 db2bp.exe 는 없어짐 .

Page 15: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 15IBM DB2 UDB Admin Workshop Lab

Instance

23. 현재 인스턴스가 "DB2" 인 것을 확인하십시오 .set DB2INSTANCE24. 현재의 인스턴스를 중지시킵니다 .

db2stop force25. 인스턴스 목록을 확인하십시오 .db2ilist26. inst01 이라는 인스턴스를 생성한 후 , 현재 시스템에 있는 인스턴스의 목록을

확인하십시오 . 동일한 방법으로 inst02 도 생성하십시오 .

db2icrt inst01

db2icrt inst02db2ilist

27. 시스템에 있는 DAS 의 이름을 확인하십시오 .db2set DB2ADMINSERVER

28. DAS 가 기동되어 있는지 확인하십시오 .

db2admin start

Windows 작업관리자 프로세스 탭 db2dasrrm.exe

29. DAS 는 제어 센터 등의 GUI 도구를 이용하는 경우에 필요합니다 . 불필요한 경우에는 DAS 를 중지시킵니다 .

db2admin stop

Windows 작업관리자 프로세스 탭 db2dasrrm.exe 이 없어짐 .

30. 인스턴스를 바꾸려면 인스턴스를 지정하는 변수인 DB2INSTANCE 를 변경합니다 .set DB2INSTANCE=inst01set DB2INSTANCE=DB2

31. DB2INSTANCE 의 변경은 현재 세션에서만 지속됩니다 . 기본 인스턴스를 inst01 로 변경하려면 , 다음과 같이 설정합니다 .

제어판 시스템 환경 변수 시스템 변수 DB2INSTANCE 편집 inst01 확인 확인 확인

시작 실행 db2cmd Enter Keyset DB2INSTANCE

Page 16: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 16IBM DB2 UDB Admin Workshop Lab

Instance

32. inst01 을 기동시키십시오 .set DB2INSTANCE=inst01db2start

33. inst01 의 인스턴스 구성 변수를 확인하십시오 .db2 get dbm cfg

34. inst01 인스턴스가 서비스 포트 70100 을 이용하여 TCP/IP 프로토콜을 통한 클라이언트 접속을 지원할 수 있도록 설정하십시오 .

svcename 옵션에 주는 포트 번호는 inst01 은 70100, inst02 는 70200 를 사용하십시오 .

db2set –i inst01 DB2COMM=tcpip

db2 update dbm cfg using svcename 70100

35. svcename 이라는 구성 변수를 변경하였으므로 inst01 을 재기동시키십시오 .

db2stop force

db2start

36. inst02 에 대해서도 inst01 과 동일한 방법으로 위의 10 ~ 13 번을 실행하십시오 . set DB2INSTANCE=inst02

db2set –i inst02 DB2COMM=tcpip

db2 update dbm cfg using svcename 70200db2start

Page 17: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 17IBM DB2 UDB Admin Workshop Lab

Page 18: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 18IBM DB2 UDB Admin Workshop Lab

Database

1. inst01 인스턴스로 변경하십시오 .set DB2INSTANCE=inst01

2. DB2 UDB 가 기본으로 제공하는 데이터베이스인 sample 데이터베이스가 없다면 다음과 같이 생성하십시오 .

db2sampl -k

3. inst01, inst02 에 mydb 라는 데이터베이스를 생성하십시오 .db2 create db mydb set DB2INSTANCE=inst02db2 create db mydb

5. 인스턴스 inst01 에 있는 시스템 데이터베이스의 목록을 확인하십시오 .db2 list db directory

6. 데이터베이스 mydb 를 활성화시키십시오 .db2 activate db mydb

7. 현재 활성화되어 있는 데이터베이스의 목록을 확인하십시오 .

db2 list active databases

8. 인스턴스 inst01 에 있는 C 드라이브에 있는 로컬 데이터베이스의 목록을 확인하십시오 .

db2 list db directory on C:

9. mydb 를 위한 여러 파일들이 생성된 물리적인 디렉토리를 확인하십시오 .

dir C:\INST01\NODE0000\SQL00001

10. mydb 라는 데이터베이스에 접속하십시오 .

db2 connect to mydb

Page 19: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 19IBM DB2 UDB Admin Workshop Lab

Database

11. mydb 에 있는 테이블의 목록을 확인하십시오 . db2 list tables for all

12. 현재 데이터베이스에 접속되었는지의 여부를 확인하십시오 .

db2 get connection state

13. 현재 접속한 데이터베이스가 무엇인지 알아보십시오 .

db2 values (current server)

14. 현재 접속한 데이터베이스의 코드 페이지가 무엇인지 알아보십시오 .

db2 get db cfg for mydb | find "코드 "

15. 현재 접속한 데이터베이스의 로그 파일에 관한 정보를 확인하십시오 .db2 get db cfg for mydb | find " 로그 "

16. mydb 에 동시에 접속할 수 있는 응용프로그램의 개수를 50 개로 지정하십시오 .db2 update db cfg for mydb using maxappls 50

17. mydb 에 현재 접속하고 있는 응용프로그램의 목록을 확인하십시오 .db2 list applications for db mydb

18. mydb 에 현재 접속하고 있는 응용프로그램을 강제로 종료시킨 후 , 다시 그 목록을 확인하십시오 .

아래에서 (622) 이라는 값은 17 번에서 나온 응용프로그램 핸들 번호로 대체하십시오 .

db2 "force applications (622)"

db2 list applications for db mydb

19. mydb 를 다시 활성화시켜 구성 변수의 변경 사항을 반영하십시오 .

db2 terminate

db2 deactivate db mydb

db2 activate db mydb

20. 다음의 명령을 실행하여 mydb 에 대한 구성 변수의 반영 여부를 확인하십시오 .

db2 connect to mydb

db2 get db cfg for mydb show detail

Page 20: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 20IBM DB2 UDB Admin Workshop Lab

Database

21. 데이터베이스 mydb 에 정의된 기본 버퍼풀인 IBMDEFAULTBP 를 확인하십시오 .db2 "select bpname, pagesize, npages from syscat.bufferpools"

22. mydb 에 mybp4 라는 크기가 1000 페이지인 버퍼풀을 생성하십시오 .db2 create bufferpool mybp4 size 1000

23. mydb 에 mybp8 이라는 크기가 1000 페이지이고 , 각 페이지의 크기가 8K 인 버퍼풀을 생성하십시오 .

db2 create bufferpool mybp8 size 1000 pagesize 8K

24. 데이터베이스 mydb 를 재활성화 시키십시오 .

db2 force application all

db2 terminate

db2 deactivate db mydb

db2 activate db mydb

25. mydb 에 있는 버퍼풀의 목록을 확인하십시오 .

db2 connect to mydb

db2 "select bpname, pagesize, npages from syscat.bufferpools"26. mybp4 라는 버퍼풀을 제거하십시오 . ( 지금은 하지 마십시오 .)db2 drop bufferpool mybp430. mydb 라는 데이터베이스를 제거하십시오 . ( 지금은 하지 마십시오 .)db2 drop db mydb

Page 21: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 21IBM DB2 UDB Admin Workshop Lab

Page 22: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 22IBM DB2 UDB Admin Workshop Lab

Tablespace

1. mydb 에 접속하십시오 .set DB2INSTANCE=inst01db2 connect to mydb

2. mydb 에 있는 테이블 공간의 목록을 확인하십시오 .

db2 list tablespaces show detail

3. 시스템 카탈로그 테이블을 위한 테이블 공간인 SYSCATSPACE 의 컨테이너를 확인하십시오 .

db2 list tablespace containers for 0 show detail

4. DMS 방식의 REGULAR 테이블 공간인 ts01 을 생성하십시오 .

db2 "create regular tablespace ts01 managed by database using (file'C:\mycont\db01\file01.dat'1000) prefetchsize 64"

5. DMS 방식의 REGULAR 테이블 공간인 ts02 를 생성하십시오 .

db2 "create regular tablespace ts02 managed by database using (file'C:\mycont\db01\ts02\file01.dat'200)"

6. DMS 방식의 LONG 테이블 공간인 ts03 을 생성하십시오 .

db2 "create long tablespace ts03 managed by database

using (file'C:\mycont\db01\ts03\file01.dat'1000, file'C:\mycont\db01\ts03\file02.dat'1000)"

7. SMS 방식의 REGULAR 테이블 공간인 ts04 를 생성하십시오 .

db2 "create regular tablespace ts04 managed by system using (‘C:\mycont\db01\ts04')"

8. SMS 방식의 SYSTEM TEMPORARY 테이블 공간인 ts05 를 생성하십시오 .

db2 "create system temporary tablespace ts05 managed by system using (‘C:\mycont\db01\ts05')"

9. 페이지 크기가 8K, 버퍼풀은 mybp8, SMS 방식의 REGULAR 테이블 공간인 ts06 을 생성하십시오 .

db2 "create tablespace ts06 pagesize 8K managed by system using (‘C:\mycont\db01\ts06') bufferpool mybp8"

Page 23: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 23IBM DB2 UDB Admin Workshop Lab

Tablespace

10. 페이지 크기가 8K, 버퍼풀은 mybp8, SMS 방식의 SYSTEM TEMPORARY 테이블 공간인 ts07 을 생성하십시오 .

db2 "create system temporary tablespace ts07 pagesize 8K managed by system using (‘C:\mycont\db01\ts07') bufferpool mybp8"

11. 테이블 공간 ts01 의 버퍼풀을 mybp4 로 바꾸십시오 .db2 alter tablespace ts01 bufferpool mybp4

12. 테이블 공간 ts01 에 다음과 같이 컨테이너를 추가하십시오 .db2 "alter tablespace ts01 add (file'C:\mycont\db01\ts01\file02.dat'1000)"

13. 테이블 공간 ts01 의 컨테이너 크기를 10 페이지씩 증가시키십시오 .db2 "alter tablespace ts01 extend (all 10)"

14. 테이블 공간 ts02 의 컨테이너 크기를 300 페이지가 되도록 바꾸십시오 .

db2 "alter tablespace ts02 resize (all 300)"

15. mydb 에 있는 테이블 공간의 목록을 다시 확인하십시오 .

db2 list tablespaces

16. 테이블 공간 ts01 의 컨테이너를 확인하십시오 .

db2 list tablespace containers for 3

17. 테이블 공간 ts06 을 제거하십시오 . ( 지금은 하지 마십시오 .)

db2 drop tablespace ts06

Page 24: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 24IBM DB2 UDB Admin Workshop Lab

Page 25: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 25IBM DB2 UDB Admin Workshop Lab

Objects

1. mydb 에 접속하십시오 . db2 connect to mydb

2. KES 라는 스키마를 생성한 후 , user01 이라는 사용자에게 그 사용 권한을 부여하십시오 .

db2 create schema kes authorization user01

3. 스키마 KES 에 대한 정의를 확인하십시오 .db2 "select * from syscat.schemata where schemaname='KES'"

4. 테이블 kes.dept 와 kes.empl 을 생성하기 위한 DDL 문을 작성하여 xx.db2 라는 파일로 저장합니다 . 각 DDL 문은 세미콜론 (; 부호 ) 로 구별합니다 .

create table kes.dept (

id smallint not null,

name varchar(20) not null,

man smallint,

budget int

) in ts04;

create table kes.empl (

id smallint not null,

name varchar(30) not null,

sex char(1),

mydept smallint,

hiredate date,

salary smallint,

email varchar(30) not null,

resume clob(1K) not logged

) in ts01 index in ts02 long in ts03;

5. xx.db2 파일을 이용하여 테이블 kes.dept 와 kes.empl 을 생성하십시오 .

db2 -svtf xx.db26. kes.dept 테이블에 대한 인덱스를 다음과 같이 생성하십시오 .db2 "create unique index kes.dept_X on kes.dept (id) include (name) cluster"

Page 26: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 26IBM DB2 UDB Admin Workshop Lab

Objects

7. kes.empl 테이블에 대한 인덱스를 다음과 같이 생성하십시오 .

db2 "create unique index kes.empl_X on kes.empl (id) cluster"

db2 "create index kes.empl_A on kes.empl (mydept)"

8. kes.dept 테이블에 대해 다음과 같이 기본키를 추가하십시오 .db2 "alter table kes.dept add constraint dept_pk primary key (id)"

9. kes.empl 테이블에 대해 다음과 같이 제약 조건들을 추가하십시오 .

db2 "alter table kes.empl add constraint empl_pk primary key (id)"

db2 "alter table kes.empl add constraint empl_uk unique (email)"

db2 "alter table kes.empl add constraint empl_fk foreign key (mydept) references kes.dept on delete restrict"

db2 "alter table kes.empl add constraint empl_cc check (sex in (‘M’,'F’))"

10. 테이블 kes.empl 에 관한 정보를 확인하십시오 .

db2 describe table kes.empl

db2 "select * from syscat.tables where tabschema='KES'and tabname ='EMPL'"

db2 "select * from syscat.references where tabschema='KES'and tabname ='EMPL'"

db2 "select * from syscat.colchecks where tabschema='KES'and tabname ='EMPL'"

db2 "select * from syscat.checks where tabschema='KES'and tabname ='EMPL'"

db2 "select * from syscat.keycoluse where tabschema='KES'and tabname ='EMPL'"

11. 테이블 kes.empl 의 인덱스에 관한 정보를 확인하십시오 .

db2 describe indexes for table kes.empl show detail

db2 "select * from syscat.indexes where tabschema='KES'and tabname ='EMPL'"12. 아래의 insert 문을 실행하십시오 .

db2 "insert into kes.dept values (1,’총무부’ ,10,100), (2,’ 기획부’ ,5,250), (3,’개발부’ ,20,140)"

13. 아래의 insert 문을 실행하십시오 .

db2 "insert into kes.empl values (1,’김은숙’ ,’F’,3,’2001-01-01’,250,’[email protected]’,’DB2 UDB POST’)"

db2 "insert into kes.empl values (2,’신유리’ ,’F’,1,’2002-02-23’,170,’[email protected]’,null)"

Page 27: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 27IBM DB2 UDB Admin Workshop Lab

Objects

14. kes.empl 테이블에 대해 아래의 뷰를 생성하십시오 .

db2 "create view empl_v1 as select * from kes.empl where salary > 200 with check option"

db2 "create view empl_v2 as select a.name employee, b.name department from kes.empl a, kes.dept b where a.mydept = b.id“

15. 아래의 update 문을 실행하십시오 . 두 번째 update 문은 실패하는 것이 정상입니다 .

db2 "update empl_v1 set salary = 220 where id = 1"

db2 "update empl_v1 set salary = 190 where id = 1"

16. 뷰 empl_v1, empl_v2 의 정의를 확인하십시오 .

db2 "select * from syscat.tables where tabname like'EMPL_V%'"

db2 "select * from syscat.views where viewname like'EMPL_V%'"

17. 아래와 같이 알리아스 (별명 ) 를 생성하십시오 .

db2 create alias empl for kes.empl

db2 create alias empl_a1 for empl

db2 create alias empl_a2 for empl_v1

db2 create alias dept for kes.dept

18. 알리아스 empl 에 대해 아래의 select 문을 실행하십시오 .db2 "select * from empl"

19. 알리아스 empl 의 정의를 확인하십시오 .db2 "select * from syscat.tables where type ='A'and tabname like'EMPL%'"

20. mydb 에 생성된 테이블의 목록을 확인하십시오 .

db2 list tables

db2 list tables for all

db2 list tables for system

db2 list tables for user

db2 list tables for schema kes

Page 28: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 28IBM DB2 UDB Admin Workshop Lab

Objects

21. 데이터베이스 mydb 에 생성된 모든 오브젝트에 대한 DDL 문을 확인하십시오 .

db2look –d mydb –e

22. 테이블 kes.empl 에 대한 DDL 문을 확인하십시오 .

db2look –d mydb –e –z kes –t empl

23. 뷰 empl_v1 에 대한 DDL 문을 확인하십시오 .

db2look –d mydb –e -v empl_v1

Page 29: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 29IBM DB2 UDB Admin Workshop Lab

Page 30: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 30IBM DB2 UDB Admin Workshop Lab

Security

1. inst01 에서 SYSADM, SYSCTRL, SYSMAINT 권한을 가진 그룹을 확인하십시오 .

db2 get dbm cfg | find "GROUP"

2. mydb 에 접속하십시오 .

db2 connect to mydb

3. 현재 사용자가 가진 권한 (Authority) 을 확인하십시오 .

db2 get authorizations

4. inst01 에서 SYSADM 권한을 가진 그룹을 grp01 이라는 그룹으로 변경하십시오 .

db2 update dbm cfg using SYSADM_GROUP grp01

5. mydb 를 비활성화한 후 다시 접속하십시오 .

db2 connect to mydb

6. 현재 사용자가 가진 권한을 다시 확인하십시오 .

db2 get authorizations

7. 데이터베이스에 관한 권한 (Authority) 및 특권 (Privilege) 을 확인하십시오 .db2 "select * from syscat.dbauth"

8. PUBLIC 으로부터 CREATETAB 권한을 제거하십시오 .

db2 revoke createtab on database from public

9. DBADM 권한을 user01 이라는 사용자에게 부여한 후 확인하십시오 .

db2 grant dbadm on database to user user01

db2 "select * from syscat.dbauth where grantee ='user01’"

10. 테이블 공간 ts04 에 대한 USE 특권을 user02 이라는 사용자에게 부여하십시오 .

db2 grant use of tablespace ts04 to user user02

11. 데이터베이스에 관련된 특권 중에 CREATETAB 특권을 user02 이라는 사용자에게 부여하십시오 .

db2 grant createtab on database to user user02

Page 31: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 31IBM DB2 UDB Admin Workshop Lab

Security

12. kes.empl 테이블에 대한 select 특권과 , salary 컬럼에 대한 update 특권을 user02 사용자에게 부여하십시오 .

db2 "grant select, update (salary) on table kes.empl to user user02"

13. 테이블 공간과 테이블에 관한 특권 중 user02 에게 부여된 것은 무엇인지 확인하십시오 .

db2 "select * from syscat.tbspaceauth where grantee ='user02'"

db2 "select * from syscat.tabauth where grantee ='user02'"

14. mydb 에 user02 사용자를 이용하여 접속한 후 , empl 테이블과 동일한 구조를 가진 empl4를 생성하십시오 .

db2 connect to mydb user user02 using user02

db2 create table empl4 like kes.empl in ts04

15. 테이블 empl4 에 관한 권한 부여 상황을 확인하십시오 .

db2 "select * from syscat.tabauth where tabname ='EMPL4'"

16. 아래의 select 문을 실행하십시오 .

db2 "select * from empl4"

db2 "select * from kes.empl"

17. mydb 에 user01 사용자를 이용하여 접속하십시오 .

db2 connect to mydb user user01 using user01

db2 "select * from user02.empl4"

18. kes.empl 테이블에 대한 select 특권을 user02 사용자로부터 제거하십시오 .

db2 revoke select on table kes.empl from user user02

19. mydb 에 user02 사용자를 이용하여 접속한 후 , 다음의 SQL 이 실행되는지 확인하십시오 .

db2 connect to mydb user user02 using user02

db2 "select * from kes.empl"

20. user01 사용자에게서 DBADM 권한을 제거한 후 , 그 정보를 확인하십시오 .

db2 revoke dbadm on database from user user01

db2 "select * from syscat.dbauth where grantee ='user01'"

Page 32: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 32IBM DB2 UDB Admin Workshop Lab

Security

21. mydb 에서 인덱스 , 스키마 , 팩키지 , 테이블 공간 등에 관한 권한 부여 상황을 확인하십시오 .

db2 connect to mydb

db2 "select * from syscat.colauth where tabschema ='KES'and tabname='EMPL'"

db2 "select * from syscat.indexauth where indschema ='KES'and indname='DEPT_X'"

db2 "select * from syscat.schemaauth where schemaname='KES'"

db2 "select * from syscat.packageauth where pkgname='MYAPP'"

db2 "select * from syscat.tbspaceauth where tbspace='TS01'"

22. Inst01 에 설정된 인증 (Authentication) 유형이 SERVER 임을 확인하십시오 .

db2 get dbm cfg | find " "AUTHENTICATION"

Page 33: IBM Software Group ® © 2004 IBM Corporation

IBM Software Group®

Page 33IBM DB2 UDB Admin Workshop Lab