2009³â 1¿ù 6ÀÏ DB ±¸Ãࡤ¿î¿µ Á¾ÇÕÁ¤º¸ »çÀÌÆ®¿¡ ¿À½Å °ÍÀ» ȯ¿µÇÕ´Ï´Ù.
Çà»çÀÏÁ¤()
 
 
Home >DB2 ¿î¿µ °¡À̵å
 
 
     

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 ¼³Ä¡ À¯Æ¿¸®Æ¼
¢¹ È­»ìÇ¥ ۸¦ ÀÌ¿ëÇÏ¿© Ä¿¼­¸¦ 'DB2 ÀνºÅϽº ÀÛ¼º'¿¡ À§Ä¡½ÃŲ ÈÄ Enter
DB2 ¼­ºñ½º ÀÛ¼º
¢¹ ´ÙÀ½°ú °°Àº Instance Á¤ÀÇ È­¸é¿¡¼­ ÇÊ¿äÇÑ ÇʵåÀÇ ³»¿ëÀ» ÀÔ·ÂÇÑ´Ù. '»ç¿ëÀÚ À̸§'Àº Instance
    ¼ÒÀ¯ÀÚ user IDÀ̸ç, '±×·ì À̸§', 'Ȩ µð·ºÅ丮', '¾ÏÈ£' µîÀÇ ÇʵåµéÀ» ÀÔ·ÂÇÑ ÈÄ 'È®ÀÎ'¿¡¼­
    Enter.
¢¹ ¿©±â¼­´Â Instance ID´Â 'db2inst2', ±×·ì À̸§Àº 'db2iadm1'À¸·Î¼­ ù ¹øÂ° Instance IDÀÇ ±×·ì
    À» ÇÔ²² »ç¿ëÇÏ¿´´Ù. ¹Ì¸® 'db2inst2'¶ó´Â ID°¡ ¸¸µé¾îÁ® ÀÖ´Â °æ¿ì¿¡´Â ÇØ´ç ID¸¦ ¸í½ÃÇϰí, ±×
    ·¸Áö ¾ÊÀº °æ¿ì '±âº» UID »ç¿ë' Çʵ带 üũÇÏ¿© »õ·Î user ID°¡ ¸¸µé¾î Áú ¼ö ÀÖµµ·Ï ÇÑ´Ù.
DB2 ¼­ºñ½º ÀÛ¼º
¢¹ fenced user´Â ÀúÀå ÇÁ·Î½ÃÁ® ¹× »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö¸¦ ÀÛ¼ºÇϴµ¥ ÇÊ¿äÇÑ ID·Î¼­ ±âÁ¸ÀÇ ID¸¦ °ø
    À¯ÇÏ¿© »ç¿ëÇϰųª ¶Ç´Â Ãß°¡·Î ¸¸µé¾î ÁÙ ¼ö ÀÖ´Ù.
ºÐ¸®(fenced) »ç¿ëÀÚ
¢¹ DB2 ¿þ¾îÇϿ콺 Á¦¾î µ¥ÀÌÅͺ£À̽º ¹× DB2 Distributed Join±â´ÉÀº ÇÊ¿äÇÑ °æ¿ì, ¼³Ä¡¸¦ ¼±ÅÃÇÏ
    ¸é ÀνºÅϽº¿Í ÇÔ²² ÀÛ¼ºµÈ´Ù. ÇÊ¿ä¾ø´Â °æ¿ì´Â ¼³Ä¡ÇÏÁö ¾Ê´Â´Ù.
DB2 ¿þ¾îÇϿ콺 Á¦¾î µ¥ÀÌÅͺ£À̽º
DB2 µ¥ÀÌÅÍ ¼Ò½º¿ë DB2 Distributed Join
¢¹ ¸ðµç ¼³Á¤ÀÌ ¿Ï·áµÇ¸é Ä¿¼­¸¦ [È®ÀÎ]¿¡ À§Ä¡½Ã۰í Enter
DB2 ¼­ºñ½º ÀÛ¼º
¢¹ ´ÙÀ½°ú °°ÀÌ °ü¸® ¼­¹ö°¡ ÀÛ¼ºµÇÁö ¾Ê¾Ò´Ù´Â °æ°í ¸Þ½ÃÁö´Â ¹«½ÃÇϰí È®ÀÎÀ» ´©¸¥´Ù.
¢¹ °ü¸® ¼­¹ö´Â ÃÖÃÊ DB2 ¼³Ä¡ ¹× Instance ÀÛ¼º½Ã ¸¸µé¾îÁ³À¸¸é Ãß°¡·Î ÀÛ¼ºÇÒ Çʿ䰡 ¾ø´Ù.
    Áï °ü¸® ¼­¹ö´Â ÇÑ ½Ã½ºÅÛ¿¡ 1°³ ÀÌ»ó ÀÖÀ» ÇÊ¿ä´Â ¾ø´Ù.
¢¹ ¾ÆÁ÷ ÀÛ¼ºµÈ °ü¸® ¼­¹ö°¡ ¾ø¾î ÃÖÃÊÀÇ °ü¸® ¼­¹ö ÀÛ¼ºÀÌ ÇÊ¿äÇÑ °æ¿ì¿¡´Â 1.1.2ÀåÀ» ÂüÁ¶ÇÑ´Ù.
DB2 ¼­ºñ½º ÀÛ¼º
¢¹ ¼³Ä¡¿¡ µé¾î°¡±â¿¡ ¾Õ¼­ ¿ä¾àº¸°í¼­¿¡¼­ ÀԷ»çÇ×À» È®ÀÎÇÑ´Ù.
DB2 ¼³Ä¡ À¯Æ¿¸®Æ¼
¢¹ ¼³Ä¡°¡ ¿Ï·áµÇ¸é ´ÙÀ½°ú °°Àº »óź¸°í¼­¿¡¼­ ¼º°ø¿©ºÎ¸¦ È®ÀÎÇϰí [·Î±×º¸±â]¸¦ ¼±ÅÃÇÏ¿©
    ·Î±×¸¦ Á¶È¸ÇÒ ¼ö ÀÖ´Ù.
DB2 ¼³Ä¡ À¯Æ¿¸®Æ¼
¢º 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)¸¦ »èÁ¦ÇÏ´Â ±â´É