2.1 DB2 Instance ÀÛ¼º (AIX)
|
AIX (¶Ç´Â ±âŸ UNIX) ȯ°æ¿¡¼ Instance¸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ý¿¡´Â ´ÙÀ½°ú
°°ÀÌ µÎ °¡Áö°¡ ÀÖ´Ù.
1) db2setup À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇÏ´Â ¹æ¹ý
2) db2icrt ¸í·É¾î¸¦ »ç¿ëÇÏ´Â ¹æ¹ý |
| ¢º db2setup À¯Æ¿¸®Æ¼¸¦ ÀÌ¿ëÇÑ Instance Á¤ÀÇ |
¢¹ db2setup À¯Æ¿¸®Æ¼´Â ÀϹÝÀûÀ¸·Î Á¦Ç°À» »õ·Î ¼³Ä¡ÇÏ´Â °æ¿ì À̿ܿ¡µµ Instance¸¸À»
»õ·Î ¶Ç´Â
Ãß°¡·Î ÀÛ¼ºÇÏ´Â °æ¿ì¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
¢¹ db2setup À¯Æ¿¸®Æ¼´Â DB2 UDB V7 CD-ROM ¹× DB2°¡ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´Â °æ¿ì
/usr/lpp/db2_07_01/install µð·ºÅ丮¿¡¼ ½ÇÇà½Ãų ¼ö ÀÖ´Ù.
¢¹ root user·Î login ÇÑ´Ù.
# login root
¢¹ DB2 UDB V7 CD¸¦ cdrom drive¿¡ ³Ö°í mountÇÑ ÈÄ¿¡ /cdrom µð·ºÅ丮¿¡¼ db2setup ¸í·É
¾î¸¦ ½ÇÇàÇÑ´Ù.
# mount /cdrom
# cd /cdrom
# ./db2setup
¢¹ DB2°¡ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖÀ¸¸é /usr/lpp/db2_07_01/install µð·ºÅ丮·Î À̵¿ÇÏ¿© db2setupÀ»
½ÇÇàÇØµµ µÈ´Ù.
# cd /usr/lpp/db2_07_01/install
# ./db2setup
¢¹ ¾Æ·¡ ȸ鿡¼ [ÀÛ¼º]À» ¼±ÅÃÇϰí Enter.
|
 |
| ¢¹ È»ìÇ¥ ۸¦ ÀÌ¿ëÇÏ¿© Ä¿¼¸¦ 'DB2 ÀνºÅϽº ÀÛ¼º'¿¡ À§Ä¡½ÃŲ ÈÄ Enter |
 |
¢¹ ´ÙÀ½°ú °°Àº Instance Á¤ÀÇ È¸é¿¡¼ ÇÊ¿äÇÑ ÇʵåÀÇ ³»¿ëÀ» ÀÔ·ÂÇÑ´Ù. '»ç¿ëÀÚ
À̸§'Àº Instance
¼ÒÀ¯ÀÚ user IDÀ̸ç, '±×·ì À̸§', 'Ȩ µð·ºÅ丮', '¾ÏÈ£' µîÀÇ ÇʵåµéÀ» ÀÔ·ÂÇÑ
ÈÄ 'È®ÀÎ'¿¡¼
Enter.
¢¹ ¿©±â¼´Â Instance ID´Â 'db2inst2', ±×·ì À̸§Àº 'db2iadm1'À¸·Î¼ ù ¹øÂ° Instance IDÀÇ ±×·ì
À»
ÇÔ²² »ç¿ëÇÏ¿´´Ù. ¹Ì¸® 'db2inst2'¶ó´Â ID°¡ ¸¸µé¾îÁ® ÀÖ´Â °æ¿ì¿¡´Â ÇØ´ç ID¸¦ ¸í½ÃÇϰí, ±×
·¸Áö ¾ÊÀº °æ¿ì '±âº» UID
»ç¿ë' Çʵ带 üũÇÏ¿© »õ·Î user ID°¡ ¸¸µé¾î Áú ¼ö ÀÖµµ·Ï ÇÑ´Ù. |
 |
¢¹ fenced user´Â ÀúÀå ÇÁ·Î½ÃÁ® ¹× »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö¸¦ ÀÛ¼ºÇϴµ¥ ÇÊ¿äÇÑ
ID·Î¼ ±âÁ¸ÀÇ ID¸¦ °ø
À¯ÇÏ¿© »ç¿ëÇϰųª ¶Ç´Â Ãß°¡·Î ¸¸µé¾î ÁÙ ¼ö ÀÖ´Ù. |
 |
¢¹ DB2 ¿þ¾îÇϿ콺 Á¦¾î µ¥ÀÌÅͺ£À̽º ¹× DB2 Distributed Join±â´ÉÀº
ÇÊ¿äÇÑ °æ¿ì, ¼³Ä¡¸¦ ¼±ÅÃÇÏ
¸é ÀνºÅϽº¿Í ÇÔ²² ÀÛ¼ºµÈ´Ù. ÇÊ¿ä¾ø´Â °æ¿ì´Â ¼³Ä¡ÇÏÁö ¾Ê´Â´Ù. |
 |
 |
| ¢¹ ¸ðµç ¼³Á¤ÀÌ ¿Ï·áµÇ¸é Ä¿¼¸¦ [È®ÀÎ]¿¡ À§Ä¡½Ã۰í Enter |
 |
¢¹ ´ÙÀ½°ú °°ÀÌ °ü¸® ¼¹ö°¡ ÀÛ¼ºµÇÁö ¾Ê¾Ò´Ù´Â °æ°í ¸Þ½ÃÁö´Â ¹«½ÃÇϰí È®ÀÎÀ» ´©¸¥´Ù.
¢¹ °ü¸® ¼¹ö´Â ÃÖÃÊ DB2 ¼³Ä¡ ¹× Instance ÀÛ¼º½Ã ¸¸µé¾îÁ³À¸¸é Ãß°¡·Î ÀÛ¼ºÇÒ Çʿ䰡 ¾ø´Ù.
Áï °ü¸® ¼¹ö´Â ÇÑ ½Ã½ºÅÛ¿¡ 1°³ ÀÌ»ó ÀÖÀ» ÇÊ¿ä´Â ¾ø´Ù.
¢¹ ¾ÆÁ÷ ÀÛ¼ºµÈ °ü¸® ¼¹ö°¡ ¾ø¾î ÃÖÃÊÀÇ °ü¸® ¼¹ö ÀÛ¼ºÀÌ ÇÊ¿äÇÑ °æ¿ì¿¡´Â 1.1.2ÀåÀ» ÂüÁ¶ÇÑ´Ù. |
 |
| ¢¹ ¼³Ä¡¿¡ µé¾î°¡±â¿¡ ¾Õ¼ ¿ä¾àº¸°í¼¿¡¼ ÀԷ»çÇ×À» È®ÀÎÇÑ´Ù. |
 |
¢¹ ¼³Ä¡°¡ ¿Ï·áµÇ¸é ´ÙÀ½°ú °°Àº »óź¸°í¼¿¡¼ ¼º°ø¿©ºÎ¸¦ È®ÀÎÇϰí [·Î±×º¸±â]¸¦ ¼±ÅÃÇÏ¿©
·Î±×¸¦ Á¶È¸ÇÒ ¼ö ÀÖ´Ù. |
 |
| ¢º db2icrt ¸í·É¾î¸¦ ÀÌ¿ëÇÑ Instance Á¤ÀÇ |
| a. DB2 Instance ÀÛ¼º |
¢¹ db2icrt ¸í·É¾î´Â DB2¿¡¼ ÀνºÅϽº¸¦ ÀÛ¼ºÇÏ´Â ¸í·ÉÀÌ´Ù. db2icrt¸¦
»ç¿ëÇÏ¿© ÀνºÅϽº¸¦ »ý¼º
ÇϰíÀÚ ÇÏ´Â °æ¿ì¿¡´Â »ç¿ëÇÒ User-ID ¹× Group-ID¸¦ ¹Ì¸® ¸¸µé¾î ³õ¾Æ¾ß ÇÑ´Ù. |
¢¹ db2icrt ¸í·É¹®
# login root
# cd /usr/lpp/db2_07_01/instance
# db2icrt -u fenced_user_id InstName
|
| ¢Ñ ¿©±â¼ InstNameÀº ÀνºÅϽº ¼ÒÀ¯ÀÚ(Instance owner)ÀÇ User-ID¸¦
ÀÔ·ÂÇÑ´Ù. |
| b. °ü¸® ¼¹ö ÀÛ¼º |
¢¹ °ü¸®¼¹ö ÀνºÅϽº¸¦ »ý¼ºÇϱâ À§ÇÑ ¸í·É¾î´Â dasicrt ÀÌ´Ù.
¢¹ db2setup À¯Æ¿¸®Æ¼¸¦ ÀÌ¿ëÇÏ´Â °æ¿ì¿Í ¸¶Âù°¡Áö·Î, ½Ã½ºÅÛ¿¡ ÀÛ¼ºµÈ °ü¸®¼¹ö°¡ ¾ø´Â °æ¿ì¿¡¸¸ ¾Æ
·¡ ¸í·É¹®À» ÀÌ¿ëÇÏ¿© °ü¸®¼¹ö¸¦ ÀÛ¼ºÇÑ´Ù.
¢¹ dasicrt ¸í·É¹®
# cd /usr/lpp/db2_07_01/instance
# dasicrt DasName
|
 |
|
|
2.2 DataBase ÀÛ¼º
|
| ¢º Database ÀÛ¼º ±¸¹® |
¢¹ Syntax
Create Database database-name [On path] [Alias alias-name]
[Using codeset(970)] [Numsegs 10] [DFT_Extente_Size 32]
[Catalog Tablespace tblspace-defn]
¢¹ Syntax ³»¿ë¿¡ ´ëÇÏ¿©
[On path] => Systm TablespaceµîÀ» ÀÛ¼ºÇϱâ À§ÇÑ Directory
[Using codeset(970)] => Language code set
[DFT_Extente_Size 32] => Directory extent size
[Catalog Tablespace tblspace-defn] => Tablespace °ü·Ã Á¤º¸
¢¹ Sample Script
-- data base »ý¼º
create database db7
-- connect database
connect to db7
-- dssba1¿¡ ´ëÇÑ ±ÇÇÑ ºÎ¿©
revoke createtab on database from public
revoke bindadd on database from public
grant dbadm on database to user db7dba1
grant dbadm on database to user db7dba2
<< ±ÇÇÑ ºÎ¿© ³»¿ë >>
db2inst1 (Database ÀÛ¼ºÀÚ) => DBADM ±ÇÇÑ
Inidzp1, Inidzp2 => DBADM 񀀥
public => create table¹× bind application ±ÇÇÑ ¹ÚÅ»
connect ±ÇÇѸ¸ ÀÚµ¿ ºÎ¿©µÊ
|
| ¢º Windows ȯ°æ |
| ¢¹ ¸í·É¼¾ÅÍ¿¡¼ ½ºÅ©¸³Æ®¸¦ ÀÔ·ÂÇÏ¿© ½ÇÇàÇÑ´Ù |
 |
| ¢¹ ½ºÅ©¸³Æ®°¡ ¿Ï·áµÈ ÈÄ Á¦¾î ¼¾ÅÍ¿¡ º¸¸é »õ·Î¿î DataBase°¡ »ý¼º µÈ °ÍÀ»
È®ÀÎÇÒ ¼ö ÀÖ´Ù.
|
| ¢º AIX ȯ°æ |
¢¹ Script¸¦ file·Î ÀÛ¼ºÇÏ¿© Command Line¿¡¼ ½ÇÇà
$ db2 -svtf Script File¸í
|
 |
|
|
2.3 Table Space ÀÛ¼º
|
2.3.1 Table Space ÀÛ¼º
|
| ¢º Table Space ÀÛ¼º ±¸¹® |
- SMS : SMS(System Managed Space) Å×ÀÌºí °ø°£Àº ¿î¿µ üÁ¦
ÆÄÀÏ¿¡ µ¥ÀÌÅ͸¦ ÀúÀåÇÑ´Ù.
ÀϹÝÀûÀ¸·Î ÀÛÀº Å×À̺íÀÌ ¸¹À» ¶§ ÀûÇÕÇÏ°í °ø°£ ÇÒ´çÀº Ãß°¡ °ø°£¿¡ ´ëÇÑ ¿ä±¸°¡ ÀÖÀ» ¶§
¼öÇàµÈ´Ù.¶ÇÇÑ °ü¸®¿¡´Â ¿ëÀÌÇϳª, DB2°¡ Á¦°øÇÏ´Â ¿©·¯°¡Áö ¿É¼ÇÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù.
- DMS : DMS(Database Managed Space)Å×ÀÌºí °ø°£Àº µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥ÀÌ ÀúÀå
°ø°£À» Á¦¾îÇÑ´Ù. SMS¿¡ ºñÇØ Áö¼ÓÀûÀÎ °ü¸®°¡ ÇÊ¿äÇÏÁö¸¸, long µ¥ÀÌŸ, indexµîÀ» µû·Î ÀúÀåÇÒ
¼ö ÀÖ°í, ÇϳªÀÇ Å×À̺íÀ» ¿©·¯ Å×ÀÌºí °ø°£¿¡ ÀúÀåÇÒ ¼ö ÀÖ´Â µî ¼º´É¸é¿¡¼ ÀÌÁ¡ÀÌ ÀÖ´Ù. |
¢¹ Syntax
-. Windows ȯ°æ Create tablespace TS-name managed by database
using ( 'x:\...\...' 1000, file 'x:\...\...' 2000)
extentsize 10
-. AIX ȯ°æ Create tablespace TS-name managed by database
using (device '/dev/raaa' 1000, device '/dev/rbbb' 2000)
extentsize 10
¢¹ Syntax ³»¿ë¿¡ ´ëÇÏ¿©
-. 2°³ÀÇ TableSpace·Î ±¸¼ºµÈ DMS TalbeSpace
-. 1000, 2000 : TableSpace¿¡¼ »ç¿ëÇÒ Page(4K´ÜÀ§) °³¼ö·Î Logical Volumnº¸´Ù
Å©¸é Error ¹ß»ý
-. extentsize : º¹¼ö ÄÁÅ×ÀÌ³Ê »ç¿ë½Ã ÄÁÅ×À̳ʰ£ À̵¿ °£°Ý
(¿¹, ÄÁÅ×ÀÌ³Ê 1¿¡¼ 10°³ÀÇ content¿¡ data¸¦ ÀûÀçÇßÀ» °æ¿ì
´ÙÀ½ºÎÅÍ´Â ÄÁÅ×ÀÌ³Ê 2¿¡ ÀûÀç, ÄÁÅ×ÀÌ³Ê 1°ú 2°¡ ¹Ýº¹ÇÏ¿© data ÀúÀå)
|
¢Ñ Tablespace¿¡ ÇÒ´çµÇ´Â ÆäÀÌÁö¼ö¿Í ¹°¸®ÀûÀÎ Size
Table Space¿¡ ÇÒ´çµÇ´Â ÆäÀÌÁö °³¼ö´Â 4K(4, 8, 16, 31k °¡´É) ´ÜÀ§À̸ç,
Logical Volum ÀÛ¼º½Ã
ºÎ¿©ÇÑ L/VÀÇ Sizeº¸´Ù Å©°Ô ÁöÁ¤ÇÒ °æ¿ì Error°¡ ¹ß»ýÇϸç Àû°Ô ÁöÁ¤ÇÒ °æ¿ì ÀûÀº
Size¸¸ÅÀº »ç
¿ëÀÌ ºÒ°¡´É Çϱ⠶§¹®¿¡ Á¤È®ÇÏ°Ô °è»êÇÏ¿© ÁöÁ¤ÇØ¾ß ÇÔ |
| ¢º Windows ȯ°æ |
¢¹ Sample Script
-- connect to database
connect to DB01
-- Table Space »ý¼º
create tablespace TS01 managed by database using
(file 'd:\container\cont1' 2500)
create tablespace TS02 managed by database using
(file 'd:\container\cont2' 2500)
create tablespace TS03 managed by database using
(file 'd:\container\cont3' 2500)
create tablespace TS04 managed by database using
(file 'd:\container\cont4' 2500)
|
- managed by database : DMS ¹æ½ÄÀ¸·Î Å×ÀÌºí °ø°£À» °ü¸®.
- file : container·Î fileÀ» »ç¿ë.
- d:\container\cont1 : fileÀÌ À§Ä¡ÇÒ °æ·Î¸¦ ÁöÁ¤.
- 2500 : »ç¿ëÇÒ fileÀÇ Å©±â¸¦ page´ÜÀ§·Î ÁöÁ¤ |
| ¢º AIX ȯ°æ |
¢¹ Sample Script
-- connect to database
connect to DB01
-- Table Space »ý¼º
create tablespace TS01 managed by database using
(device '/dev/rd001' 6144);
create tablespace TS02 managed by database using
(device '/dev/rd002' 13312);
create tablespace TS03 managed by database using
(device '/dev/rd003' 25600);
create tablespace TS04 managed by database using
(device '/dev/rd004' 13312);
|
| - device : container·Î raw device¸¦ »ç¿ë. |
 |
|
|
2.3.2 Table Space È®Àå
|
| ¢º Table Space Size È®Àå ¹æ¹ý |
¢¹ TableSpace¿¡ °ø°£ ºÎÁ·½Ã ¹ß»ýÇÏ´Â Error
¡æ SQL3306N : Table¿¡ ÇàÀ» »ðÀÔÇÏ´Â µ¿¾È sql ¿À·ù¹ß»ý "-289"
¡æ SQL0289N : TableSpace¿¡ »õ·Î¿î ÆäÀÌÁö¸¦ ÀÛ¼ºÇÒ¼ö ¾ø½À´Ï´Ù.
¢¹ TableSpaceÀÇ °ø°£ È®ÀÎ
- connect to DB01
- list tablespaces show detail | more
¡æ '»óÅÂ'Çʵ尡 0x0000À¸·Î ³ª¿À´ÂÁö È®ÀÎ
¡æ '°¡¿ë ÆäÀÌÁö ¼ö'°¡ ÃæºÐÇÑÁö È®ÀÎ
¡æ ¸¸¾à °¡¿ëÆäÀÌÁö ¼ö°¡ ÃæºÐÇÏÁö ¸øÇϸé Table SpaceÀÇ Å©±â¸¦ È®Àå |
¢Ñ Table Space°¡ FullÀÏ °æ¿ì Logical Volumn(L/V) Size¸¦
È®´ëÇÏ¿© ±× L/V¿¡ ÀÛ¼ºµÈ Table Space
Size¸¦ È®´ëÇÏ´Â ¹æ¹ýÀº ¾ø´Ù. µû¶ó¼ º°µµÀÇ L/V(ÄÁÅ×À̳Ê)¸¦ ÀÛ¼ºÇÏ¿© ÇØ´çTableSpace¿¡
Ãß
°¡ÇÏ´Â ¹æ¹ýÀ¸·Î ÇØ°áÇÑ´Ù. ÀÌ·² °æ¿ì Table Space°¡ º¹¼ö°³ÀÇ ÄÁÅ×À̳ʷΠ±¸¼ºµÈ´Ù. |
¢¹ 󸮳»¿ë
1) Alter Tablespace ±â´ÉÀ» ÀÌ¿ëÇÑ Size È®ÀåÀÛ¾÷
(°¡) logical volumnÀ» ÀÛ¼ºÇÑ´Ù.
(³ª) logical volumnÀÇ owner, groupÀ» º¯°æÇÑ´Ù.
(Owner = db2inst1, Group = db2grp)
(´Ù) alter tablespace tsblespace¸í
add (device '/dev/new_dev' 1000)
¡æ /dev/new_dev : tablespace¿¡ »õ·Î Ãß°¡ÇϰíÀÚ ÇÏ´Â Raw Device¸í
¡æ 10000 : Ãß°¡ÇϰíÀÚ ÇÏ´Â size (±âÁ¸ tablespaceÀÇ page Å©±â¸¦ µû¶ó°¨)
ex) TS01ÀÇ °ø°£ÀÌ ºÎÁ·ÇÒ °æ¿ì
# su - root
smit¿¡¼ datavg1¿¡ Logical Volume 64M Â¥¸®(lv002)¸¦ Çϳª ¸¸µë
# cd /dev
# chown db2inst1:db2iadm1 lv002
$ su - db2inst1
$ db2 connect to DB01
$ db2 "alter tablespace TS01
add (device '/dev/lv002' 16000)"
|
 |
|
|
2.4 Table ¹× Index ÀÛ¼º
|
| ¢º Table ÀÛ¼º ±¸¹® |
¢¹ Syntax
-- create table table-name
(column .... ,
column .... ,
column .... )
in table-space-name;
-- create unique index index-name on table-name(column, column);
create index index-name on table-name(column, column) (asc | desc);
¢¹ Syntax ³»¿ë¿¡ ´ëÇÏ¿©
- Table ÀÛ¼º½Ã 'in table-space-name'À» ºÎ¿©ÇÏÁö ¾ÊÀ» °æ¿ì
Userspace¿¡ TableÀÌ ÀÛ¼ºµÈ´Ù.
- create table¹® ³»¿¡¼ primary key¸¦ ÁöÁ¤Çϰí ÀÛ¼ºÇÒ °æ¿ì unique Index°¡
ÀÚµ¿À¸·Î ÀÛ¼º(name È®ÀκҰ¡)µÇ±â ¶§¹®¿¡ º°µµ·Î primary key¿Í µ¿ÀÏÇÑ
unique index ÀÛ¼º½Ã Warning Error ¹ß»ý µû¶ó¼ Primary key¸¦ ÁöÁ¤ÇÏ¿© ó¸®Çϰųª,
ÁöÁ¤ÇÏÁö ¾Ê°í Unique index¸¦ ÀÛ¼ºÇÏ¿© ó¸®
- Index¸¦ ½Å±Ô·Î ÀÛ¼ºÇßÀ» °æ¿ì¿¡´Â Package¸¦ RebindÇØ¾ß »õ·Î¿î Path°¡ ÁöÁ¤µÇ¾î
󸮼ӵµ°¡ Çâ»óµÈ´Ù.
¢¹ Sample Script
-- create table db2usr.tab01
(cpagjym dec(7,0) not null with default,
cpabrno char(3) not null with default,
cpaspid char(9) not null with default,
cpagjcd char(6) not null with default,
cpajs dec(9,0) not null with default,
cpajanak dec(15,0) not null with default,
cpagyeak dec(15,0) not null with default,
cpawpjan dec(15,0) not null with default,
cpagpjan dec(15,0) not null with default)
in tablespace1;
-- index ÀÛ¼º
create unique index db2admin.idx01 on
db2admin.tab01(cpagjym, cpabrno, cpaspid);
create index db2admin.idx02 on
db2admin.tab01(cpagjym, cpabrno, cpagjcd);
-- ±ÇÇѺο©
grant select on db2usr.tab01 to public;
grant insert on db2usr.tab01 to user db2usr;
grant delete on db2usr.tab01 to user db2usr ;
grant update on db2usr.tab01 to user db2usr ;
|
 |
|
|
2.5 ±ÇÇÑ ºÎ¿© ¹× °ü¸®
|
2.5.1 Database 񀀥
|
| ¢º DB2 Start |
¢¹ select * from syscat. dbauth
Grantor Grantee Granteetype dbadmauth createtabauth bindaddauth
connectaut create_not_fenced
sysibm db2inst1 U Y Y Y Y Y
sysibm public G N Y Y Y Y
1. Create database½Ã Creator user-id¿¡ ¸ðµç±ÇÇÑÀÌ ºÎ¿©µÇ°í,
2. pulic group¿¡µµ »ó±â¿Í °°Àº ±ÇÇÑÀÌ ÀÚµ¿ ºÎ¿©µÈ´Ù.
3. µû¶ó¼ create databaseÈÄ public¿¡ ÀÚµ¿ ºÎ¿©µÈ ±ÇÇÑÀ» revokeÇÑÈÄ user-id ¶Ç´Â group-idº° Á¤´çÇÑ ±ÇÇÑÀ» ºÎ¿©ÇؾßÇÔ.
¢¹ ±ÇÇÑ revoke
1. connect to database ¸í
2. revoke createtab on database from public
3. revoke bindadd on database from public
4. revoke connect on database from public
5. revoke create_not_fenced on database from public
¢¹ °¢ user-idº° Á¤´çÇÑ ±ÇÇÑ ºÎ¿©
1. connect to database ¸í
2. grant connect on database to public
(¸ðµç »ç¿ëÀÚ¿¡°Ô DB¿¡ Connect ±ÇÇѸ¸ ºÎ¿©ÇÏ´Â ¿¹ÀÓ)
¢Ñ Á¾·ù
Connect ±ÇÇÑ : »ç¿ëÀÚ°¡ DB¸¦ AccessÇÒ ¼ö ÀÖ´Â ±âÃʱÇÇÑ
Bindadd ±ÇÇÑ : »ç¿ëÀÚ°¡ DB¸¦ »õ·Î¿î Package¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ´Â ±ÇÇÑ
Createtab±ÇÇÑ : »ç¿ëÀÚ°¡ DB¿¡ TableÀ» ÀÛ¼ºÇÒ ¼ö ÀÖ´Â ±ÇÇÑ
Create_not_fenced : »ç¿ëÀÚÇÔ¼ö(UDF)¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖ´Â ±ÇÇÑ
|
 |
|
|
2.5.2 Index 񀀥
|
¢¹ select * from syscat.indexauth
grantor grantee granteetype indschema indname controlauth
sysibm db2inst1 u svrba xsba001u y
¢¹ ÇÊ¿äÇÑ user-id¿¡ Control ±ÇÇÑ ºÎ¿©
1. connect to database ¸í
2. grant control on index to user-id
¢Ñ Create index user-id¿¡¸¸ control ±ÇÇÑÀÌ ÀÚµ¿ ºÎ¿©µÈ´Ù.
|
 |
|
|
2.5.3 Package 񀀥
|
¢¹ select * from syscat.packageaut
Grantor Grantee Granteetype pkgschema pkgname controlauth bindauth executeauth
ysibm svrba U svrba brpb001 y y y
¢Ñ ´ÙÀ½°ú °°Àº Ư±ÇÀ» »ç¿ëÇϱâ À§ÇØ DB¿¡ Connect ±ÇÇÑÀÌ ÇÊ¿äÇÔ
Control ±ÇÇÑ : »ç¿ëÀÚ¿¡°Ô Package¿¡ ´ëÇÑ Á¦¾î±ÇÀ» Á¦°ø
Bind ±ÇÇÑ : ±âÁ¸ Package¸¦ Rebind ÇÒ ¼ö ÀÖ´Â ±ÇÇÑ
Execute ±ÇÇÑ : »ç¿ëÀÚ°¡ ±âÁ¸ Package¸¦ ½ÇÇàÇÒ ¼ö ÀÖ´Â ±ÇÇÑ
|
 |
|
|
2.5.4 Table / View 񀀥
|
¢¹ Select * from syscat. tabauth
Grantor Grantee Granteetype tabschema tabname control alter delete_index
insert select replace
°¡. create table user-id¿¡¸¸ ¸ðµç±ÇÇÑ(control, alter, delete, index, insert, select,
refauth, update)ÀÌ ÀÚµ¿ ºÎ¿©µÈ´Ù.
³ª. µû¶ó¼, tableº°·Î ÇÊ¿äÇÑ user-idº°·Î ±ÇÇÑÀ» ºÎ¿©ÇÏ¿©¾ß ÇÑ´Ù.
¢Ñ ´ÙÀ½°ú °°Àº Ư±ÇÀ» »ç¿ëÇϱâ À§ÇØ DB¿¡ Connect ±ÇÇÑÀÌ ÇÊ¿äÇÔ
1. grant all on table Table¸í to user-id·Î ±ÇÇÑÀ» ºÎ¿©ÇÒ °æ¿ì
¡æ ControlÀ» Á¦¿ÜÇÑ ¸ðµç ±ÇÇÑÀÌ ºÎ¿©µÊ
2. grant control on table Table¸í to user-id
3. grant (all | alter | control | delete | index | insert |
reference | select | update) on table (Table¸í | View ¸í)
to (user | group | public) (Userid | Group-id)
¡æ Alter, index, reference Ư±ÇÀº View¿¡ Àû¿ëµÇÁö ¾ÊÀ½
|
 |
|
|
2.6 ¿ÀºêÁ§Æ® ÀÛ¼º ¹× °ü¸®¸¦ À§ÇÑ SQL
|
2.6.1 Table/Table Space Á¤º¸ Á¶È¸
|
(1) Tablespace Á¤º¸ Á¶È¸
- connect to DB01
- list tablespaces | more
or
- list tablespace show detail | more
(2) Table ¸ñ·Ï Á¶È¸
- connect to DB01
- list tables for all | more
(3) TableÀÇ Column Á¤º¸ Á¶È¸
- connect to DB01
- select tabschema, tabname, colname, typename,
length, scale, default, nulls
from syscat.columns
¶Ç´Â Á¦¾î¼¾Å¸ ÀÌ¿ë
|
 |
|
|
2.6.2 Table/Table Space Ư¼º º¯°æ
|
(1) Alter Table ¹® : TableÀÇ Á¤ÀǸ¦ º¯°æ
°¡. Table¿¡ Ä®·³ Ãß°¡
-- alter table TAB01 add COL09 char(20)
³ª. Primary key, foreign key Ãß°¡ ¹× »èÁ¦
-- alter table TAB01 add constraint RI01
foreign key(COL001) reference TAB02 on delete set null
´Ù. Á¡°Ë °Á¦ ±ÔÁ¤ Á¤ÀÇ »èÁ¦
-- alter table TAB01 drop constraint RI01
(2) Alter TableSpace ¹® : TableSpaceÀÇ Á¤ÀǸ¦ º¯°æ
°¡. ÄÁÅ×À̳ʸ¦ DMS TableSpace¿¡ Ãß°¡ (2.3.2 ÂüÁ¶)
-- alter tablespace TS01 add(device 'ÄÁÅ×À̸í` 10000)
³ª. TableSpace¿¡ ´ëÇØ Prefetchsize ¼³Á¤°ª ¼öÁ¤
´Ù. TableSpace¿¡ ´ëÇØ Overhead ¼³Á¤°ª ¼öÁ¤
-- alter tablespace TS01
prefetchsize 64
overhead 19.3
¶ó. TableSpace¿¡ ´ëÇØ Transferrate ¼³Á¤°ª ¼öÁ¤
|
 |
|
|
2.6.3 ±ÇÇÑ °ü¸®¸¦ À§ÇÑ SQL
|
(1) Grant : Àüü Database¿¡ Àû¿ëµÇ´Â ±ÇÇÑÀ» ºÎ¿©
°¡. DataBase ±ÇÇÑ
-- connect to database-name ;
-- grant (bindadd | connect | createtab | create_not_fenced | dbadm)
on database to (user | group | public)
±ÇÇѸí(group-id, user-id)
³ª. »öÀΠƯ±Ç
-- connect to database-name
-- grant control on index index-name to (user | group | public)
±ÇÇѸí(group-id, user-id)
´Ù. Package Ư±Ç
-- connect to database-name
-- grant (bind | control | excute) on package
package-name to (user | group | public)
±ÇÇѸí(group-id, user-id)
¡æ alter, index, reference Ư±ÇÀº View¿¡´Â Àû¿ëµÇÁö ¾ÊÀ½
¡æ all Ư±ÇÀ» ºÎ¿©ÇÒ °æ¿ì
alter, delete, index, insert, reference, select, updateÀÇ Æ¯±ÇÀÌ µ¿½Ã¿¡ ºÎ¿©µÊ
(2) Revoke : Àüü DataBase¿¡ Àû¿ëµÇ´Â ±ÇÇÑÀ» Ãë¼Ò
°¡. DataBase ±ÇÇÑ
-- connect to database-name
-- revoke (bindadd | connect | createtab | create_not_fenced |dbadm) on database
from (user | group | public)
±ÇÇѸí(group-id, user-id)
³ª. »öÀÎÆ¯±Ç
-- connect to database-name
-- revoke control on index index-name
from (user | group | public)
±ÇÇѸí(group-id, user-id)
´Ù. Package Ư±Ç
-- connect to database-name
-- revoke (bind | control | excute) on package package-name
from (user | group | public)
±ÇÇѸí(group-id, user-id)
¡æ runÀº excute¿¡ ´ëÇÑ µ¿ÀǾî, package´Â Program¿¡ ´ëÇÑ µ¿ÀǾî·Î »ç¿ë°¡´É
¶ó. Table/ View Ư±Ç
-- connect to database-name
-- revoke (all | alter | control | delete | index | insert | reference | select | update)
on table (table¸í | view¸í)
from (user | group | public)
±ÇÇѸí (group-id, user-id)
|
 |
|
|
2.6.4 ±âŸ ¿ÀºêÁ§Æ® °ü¸®¸¦ À§ÇÑ SQL
|
(1) Create Trigger
ƯÁ¤ Table¿¡ ´ëÇÑ »èÁ¦, »ðÀÔ ¶Ç´Â °»½Å Á¶À۽à ¼öÇàµÇ´Â ¶Ç´Â Á¶ÀÛÀ¸·Î
Æ®¸®°ÅµÇ´Â Á¶Ä¡¼¼Æ®¸¦ Á¤ÀÇ
-- Create Trigger New_Tirgger¸í
After Insert On EMPLOYEE
For Each Row Mode DB2SQL
Update COMPANY_STATS set nbemp = nbemp + 1
¡æ EMPLOYEE Table¿¡ »õ·Î¿î Row°¡ InsertµÈ ´ÙÀ½¿¡´Â COMPANY_STATS TableÀÇ nbemp
Column¿¡ 1À» ÀÚµ¿ AddÇÏ´Â TriggerÀÓ
(2) Create View
-- Create View JJ-VIEW
as select HENGBUN, NAME, JUSO, DEPTNO, SALARY,
SALARY+BONUS+COMM as TOTAL_PAY
from INSATBL, PAYTABLE
(3) Drop
°¢ Object(Alias, distinct, event,
function, index, package, table, tablespace, trigger, view,
database)¸¦ »èÁ¦ÇÏ´Â ±â´É |
|
|
 |
|
|