3.1 Backup & Recovery
|
3.1.1 Logging
|
|
(1) ±âº»¿ë¾î |
°¡. Transaction ¿©·¯°³ÀÇ SQL¹®À¸·Î ±¸¼ºµÇ´Â ±âº»ÀûÀÎ ÀÛ¾÷´ÜÀ§·Î Unit
of Work(UOW)À̶ó°íµµ
ÇÑ´Ù. ÇÑ UOW³»ÀÇ SQL¹®µéÀº UOWÁ¾·á½Ã±îÁö ±× ½ÇÇàÀÌ º¸·ùµÇ¾ú´Ù°¡ Á¾·á½Ã¿¡
ÀϰýÀûÀ¸·Î
Database¿¡ ¹Ý¿µµÇ°Å³ª ȤÀº Ãë¼ÒµÈ´Ù. Áï, ÇÑ UOW³»ÀÇ SQL¹®µéÀº
ÀüºÎ ¼º°øÀûÀ¸·Î ¼öÇàµÇ°Å
³ª, ȤÀº ¸ðµÎ ±× ½ÇÇàÀÌ Ãë¼ÒµÇ¾î¾ß ÇÑ´Ù. UOWÀÇ Á¾·á¸¦ Ç¥½ÃÇÏ´Â ½ÃÁ¡À»
Consistency Point
¶ó°í ÇÑ´Ù.
³ª. Commit
UOW³»ÀÇ ¸ðµç SQL¹®ÀåÀÌ Ã³¸®Çß´ø ³»¿ëÀ» Database¿¡ ¹Ý¿µÇÑ ÈÄ UOW¸¦ Á¾·áÇÑ´Ù.
´Ù. Rollback
UOW³»ÀÇ ¸ðµç SQL¹®ÀåÀÇ Ã³¸® ³»¿ëÀ» Ãë¼ÒÇÑ ÈÄ UOW¸¦ Á¾·áÇÑ´Ù.
¶ó. Log
UOW³»ÀÇ ¸ðµç SQL¹®ÀåÀÌ Ã³¸®Çß´ø ³»¿ëÀ» Database¿¡ ½ÇÁ¦·Î ¹Ý¿µÇϱâ
Àü¿¡ ±× º¯°æ ÀüÈÄÀÇ
Image¸¦ Àӽ÷Π±â·ÏÇØ µÎ´Â File
¸¶. Recoverable
Database Recovery¿¡ Log fileÀÌ Àû¿ëµÉ ¼ö ÀÖ´Â °æ¿ì¸¦
Recoverable Database¶ó°íÇÏ°í ±×·¸
Áö ¸øÇÑ °æ¿ì¸¦ Non-Recoverable Database¶ó°í ÇÑ´Ù.
|
|
(2) LogÀÇ Á¾·ù |
°¡. Active Log : Log file³»¿¡ ¾ÆÁ÷ database¿¡ ¹Ý¿µµÇÁö
¾ÊÀº Á¤º¸°¡ ÀÖ´Â log
³ª. Inactive Log : Log file³»ÀÇ ¸ðµç Á¤º¸°¡ Database¿¡ ¹Ý¿µµÈ log
´Ù. On-line Archived Log : Inactiva½Ã Database log Directory¿¡ ÀúÀåµÇ´Â Log
¶ó. Off-line Archived Log : Inactive½Ã Database log Directory ÀÌ¿ÜÀÇ Directory¿¡
ÀúÀåµÇ´Â log |
| (3) Logging ¹æ½Ä |
| ºñ±³Ç׸ñ |
Circular Logging |
Archival Logging |
| Á¤ÀÇ |
Inactive log¸¦ Àç»ç¿ëÇÏ´Â
Logging ¹æ¹ý |
Inactive log¸¦ Àç»ç¿ëÇÏÁö ¾Ê°í º¸°üÇØ
µÒÀ¸·Î½á Recovery¿¡ log¸¦ Àû¿ë½ÃŰ´Â
logging ¹æ¹ý |
| ¼³Á¤¹æ¹ý |
logretain off À̰íuserexit off
»óÅÂÀÓ
(Database Configuration) |
logretain onÀ̰íuserexit on or
off(Database Configuration) |
| Log file ÇÒ´ç |
preallocate |
dynamic allocate |
| Inactive logó |
Reuse |
Archive |
| Log full Á¶°Ç |
activr log =logprimary + logsecond |
active log = logprimary |
| ¿¬°ü parameter |
logprimary / logsecond |
logprimary / loghead / lognext |
| Backup ¹æ¹ý |
Off LineFull Database |
Off Line / On LineFull Database
/
Tablespace |
| Recovery ¹æ¹ý |
Crash / Restore |
Crash / Restore /
Rollforward |
|
| (4) Log FileÀÇ °ü¸® |
°¡. Log fileÀº S0000000.LOG¿¡¼ S9999999.LOG±îÁö ¼øÂ÷ÀûÀ¸·Î »ç¿ëµÈ´Ù.
³ª. Logging ¹æ¹ýÀÌ Archival¿¡¼ Circular·Î, ¶Ç´Â Circular¿¡¼ Archival·Î º¯°æµÇ¸é Log fileÀº
S0000000.LOG¿¡¼ºÎÅÍ ´Ù½Ã »ç¿ëµÈ´Ù.
´Ù. 10,000,000°³ÀÇ log fileÀ» ´Ù »ç¿ëÇÑ °æ¿ì¿¡´Â S0000000.LOG¿¡¼ºÎÅÍ ´Ù½Ã »ç¿ëµÈ´Ù.
¶ó. Recovery¿¡ log fileÀÌ Àû¿ëµÇ¸é Àû¿ëµÈ ¸¶Áö¸· log fileÀº TruncateµÇ°í, ´ÙÀ½ ¹øÈ£ÀÇ log fileºÎÅÍ
´Ù½Ã »ç¿ëµÈ´Ù.
¸¶. Archive Log¸¦ deleteÇϸé Error
|
| (5) Logging ¹æ½Ä º¯°æ |
°¡. Circular LoggingÀ¸·Î ¼³Á¤
$ db2 update db cfg db¸í using logretain off
$ db2 update db cfg db¸í using userexit off
³ª. Archival LoggingÀ¸·Î ¼³Á¤
$ db2 update db cfg db¸í using logretain on
$ db2 update db cfg db¸í using userexit on
or db2 update db cfg db¸í using userexit off
´Ù. DataBase Directory È®ÀÎ
$ db2 get db directory on $HOME
Local Database Directory on /home/db2inst1
Number of entries in the directory = 1
Database 1 entry :
Database alias = SAMPLE
Database name = SAMPLE
Database directory = SQL00001
Database relese level = 6.00
Commit =
Directory entry type = Home
¶ó. DataBase Log file È®ÀÎ
$ Is - lia $HOME/db2inst1/SQL00001/SQLLOGDIR
|
 |
|
|
3.1.2 User Exit
|
°¡. Archival logging ¹æ½ÄÀ» ÃëÇÏ·Á¸é Logretainº¯¼ö¸¦ ÀÌ¿ëÇϴµ¥,
Userexitº¯¼ö¸¦ ÇÔ²² ¾²¸é
Archival fileÀ» ´Ù¸¥ device·Î À̵¿½Ãų ¼ö ÀÖ´Ù.
³ª. Database Configuration Parameter Á¶Á¤
$ db2 update db cfg db¸í using logprimary 10
$ db2 update db cfg db¸í using logretain on
$ db2 update db cfg db¸í using userexit on
´Ù. db2uexit Program ½ÇÇà module »ý¼º
- $HOME/sqllib/samples/c/db2uexit.cdisk¸¦ ÀÛ¾÷ Directory¿¡
db2uexit.c·Î º¹»çÇÑ´Ù.
- db2uexit.c fileÀ» Àû´çÇÏ°Ô ¼öÁ¤ÇÑ´Ù.
- xlc Compiler¸¦ ÀÌ¿ëÇÏ¿© db2uexit ½ÇÇà moduleÀ» »ý¼ºÇÑ´Ù.
$ vi db2uexit.c
#define ARCHIVE_PATH "/archive/"
#define RETRIEVE_PATH "/retrieve/"
#define AUDIT_ACTIVE 1
#define ERROR_ACTIVE 1
#define AUDIT_ERROR_PATH "/logback/"
#define AUDIT_ERROR_ATTR "a"
$ xlc -o db2uexit db2uexit.c
$ mv db2uexit $HOME/sqllib/bin
|
 |
|
|
3.1.3 Backup
|
| (1) Backup °³¿ä |
°¡. ±â´É : Local ȤÀº Remote node¿¡ ÀÖ´Â DatabaseÀÇ Image¸¦ CopyÇØÁÖ´Â utility
³ª. ±ÇÇÑ : SYSADM, SYSCTRL, SYSMAINT Authority°¡ ÇÊ¿ä
´Ù. Backup Level
(°¡) Full DB backup : ƯÁ¤ Database ÀüüÀÇ Image¸¦ backup
(³ª) Tablespace backup : ƯÁ¤ Database³»ÀÇ 1°³ ÀÌ»óÀÇ Tablespace Image¸¦ backup
¶ó. Backup Mode
(°¡) On-Line backup : Share Mode »óÅ¿¡¼ backup ½ÇÇà
(³ª) Off-Line backup : Exclusive Mode¿¡¼ backup ½ÇÇà
¸¶. Configuration Parameter
(°¡) backbufsz : backupÀ» ½ÇÇàÇÏ´Â µ¿¾È »ç¿ëµÇ´Â bufferÀÇ Å©±â·Î¼ ±âº»°ªÀº
1024 pageÀÌ´Ù.
(³ª) num_ioservers : backupÀ» ½ÇÇàÇÏ´Â µ¿¾È Data prefetch ³ª Asynchronous I/O¸¦
´ã´çÇÏ´Â I/O ServerÀÇ °³¼ö·Î¼ ±âº»°ªÀº 3ÀÌ´Ù.
¹Ù. Specific Processor
(°¡) Buffer Manipulator : database·ÎºÎÅÍ backup buffer·Î backup image¸¦ I/OÇÏ´Â
processor·Î¼ database´ç 1°³¾¿ Á¸ÀçÇÑ´Ù.
(³ª) Media I/O Controller : backup buffer·ÎºÎÅÍ TapeµîÀÇ Æ¯Á¤ device·Î backup
image¸¦ I/OÇÏ´Â processor·Î¼ database´Ù 1°³¾¿
Á¸ÀçÇÑ´Ù.
ȍ. Backup Image
(°¡) Database alias : backupÀÇ ´ë»óÀÌ µÇ´Â database alias¸íÀ» ³ªÅ¸³½´Ù
(³ª) Type : backupÀÇ typeÀ¸·Î `0'Àº full database, '3'Àº tablespace,
'4'´Â load copy¸¦ ³ªÅ¸³½´Ù.
(´Ù) Instance Name : database°¡ ¼ÓÇÑ Instance¸íÀ» ³ªÅ¸³½´Ù.
(¶ó) Reserved : Reserved field·Î¼ °ªÀº `0'ÀÌ´Ù.
(¸¶) Timestamp : backupÀÌ ½ÇÇàµÈ timestamp¸¦ ³ªÅ¸³½´Ù.
(¹Ù) Sequential Number : FileÀÇ extensionÀ» ³ªÅ¸³»´Â ÀϷùøÈ£
|
<< Âü°í»çÇ× >>
1. Temporary Container¸¦ Æ÷ÇÔÇÑ Tablespace´Â BackupÇÒ ¼ö ¾ø´Ù.
2. Tablespace Backup, On-Line, BackupÀº Archival Logging»óÅ¿¡¼¸¸ °¡´ÉÇÏ´Ù.
|
| (2) Backup ¹æ¹ý |
| °¡. Full DB Off-line Backup
|
¢¹ Circular loggingÀ̰ųª Archival loggingÀ̰ųª ¹«°ü
$ db2 backup database SAMPLE
Backup successful. The timestamp for the backup
image is : 1996090988811
$ Is -lia SAMPLE*
6212 -rw ------- | inst1 4242424 9¿ù 01
SAMPLE.0.inst1. 1996090988811
|
| ³ª. Full DB On-line Backup |
¢¹ Archival loggingÀ̾î¾ß ÇÔ
$ db2 backup database SAMPLE online
Backup successful. The timestamp for the backup
image is : 1996090988811
$ Is -lia SAMPLE *
6212 -rw ------- | inst1 4242424 9¿ù 01
SAMPLE. 0. inst1. 1996090988811.001
|
| ´Ù. Tablespace Off-line Backup |
¢¹ Archival loggingÀ̾î¾ß ÇÔ
$ db2 backup database SAMPLE tablespace xx01dept
Backup successful. The timestamp for the backup
image is : 1996090988811
$ Is -lia SAMPLE *
6212 -rw ------- | inst1 4242424 9¿ù 01
SAMPLE. 0. inst1. 1996090988811.001
|
| ¶ó. Tablespace On-line Backup |
¢¹ Archival loggingÀ̾î¾ß ÇÔ
$ db2 backup database SAMPLE tablespace
xx01det online
Backup successful. The timestamp for the backup
image is : 1996090988811$ ls -lia SAMPLE*
6212 -rw ------ | inst1 4242424 9¿ù 01
SAMPLE. 0. inst1. 1996090988811.001
|
 |
|
|
3.1.3 Backup
|
| (1) Recovery Á¾·ù |
- Crash Recovery
- Restore Recovery
- Roll Forward Recovery
|
°¡. Crash Recovery
(°¡) ±â´É : System Power failure³ª Application error ¹ß»ý µîÀ¸·Î ÀÎÇØ Database°¡
InconsistentÇÑ »óŰ¡ µÈ °æ¿ì Active Log¸¦ ´Ù½Ã Àû¿ëÇÔÀ¸·Î½á Database »óŸ¦
ConsistentÇÏ°Ô À¯Áö½ÃŰ´Â Utility
(³ª) ±ÇÇÑ : Ưº°ÇÑ Authority´Â ÇÊ¿ä¾øÀ½
(´Ù) Configuration Parameter : autorestart ±âº»°ªÀº `on'À¸·Î Crash recovery°¡ ÇÊ¿äÇÑ
°æ¿ì ÀÚµ¿ÀûÀ¸·Î recoveryÀÛ¾÷À» ½ÇÇàÇÑ´Ù.
³ª. Restore Recovery
(°¡) ±â´É : ƯÁ¤ ½Ã°£¿¡ »ý¼ºµÈ backup image¸¦ ÀÌ¿ëÇÏ¿© database¸¦ backup ´ç½ÃÀÇ image¿Í
µ¿ÀÏÇÏ°Ô º¹±¸ ȤÀº »õ·Î »ý¼ºÇØÁÖ´Â Utility
(³ª) ±ÇÇÑ
¤¡. ±âÁ¸º¹±¸ : SYSADM, SYSCTRL, SYSMAINT ±ÇÇÑÇÊ¿ä
¤¤. ½Å±Ô»ý¼º : SYSADM, SYSCTRL ±ÇÇÑÇÊ¿ä
(´Ù) Restore Level
¤¡. Full DB backup : ƯÁ¤ database ÀüüÀÇ image¸¦ restore
¤¤. Tablespace backup : ƯÁ¤ database ³»ÀÇ 1°³ ÀÌ»óÀÇ Tablespace image¸¦ restore
¤§. Recovery History File : ƯÁ¤ databaseÀÇ recovery History file¸¸ restore
(¶ó) Restore Mode
¤¡. On-Line restore : Share Mode »óÅ¿¡¼ restore
¤¤. Off-Line restore : Exclusive Mode »óÅ¿¡¼ restore
(¸¶) Configuration Parameter
¤¡. restbufsz : restore¸¦ ½ÇÇàÇÏ´Â µ¿¾È »ç¿ëµÇ´Â bufferÀÇ Å©±â·Î¼ ±âº»°ªÀº 1024
ÆäÀÌÁöÀÌ´Ù.
¤¤. num_ioservers : restore¸¦ ½ÇÇàÇÏ´Â µ¿¾È data prefetch³ª asyncronous I/O¸¦ ´ã´ç
ÇÏ´Â I/O serverÀÇ °³¼ö·Î¼ ±âº»°ªÀº 3ÀÌ´Ù.
(¹Ù) Specific Processor
¤¡. Buffer Mainpulator : restore buffer·ÎºÎÅÍ database·Î backup image¸¦ I/OÇÏ´Â
processor·Î¼ database´ç 1°³¾¿ Á¸ÀçÇÑ´Ù.
¤¤. Media I/O Controller : TapeµîÀÇ Æ¯Á¤ device·ÎºÎÅÍ restore buffer·Î backup
image¸¦ I/OÇÏ´Â processor·Î¼ database´ç 1°³¾¿ Á¸Àç
ÇÑ´Ù.
(ȍ) Redirected Restore Recovery
¤¡. Container º¯°æ : tablespace¿¡ ÇÒ´çµÈ containers¸¦ Àç¹è¿ÇÒ ¶§
´Ù. Rollforward Recovery
(°¡) ±â´É : ƯÁ¤ ½Ã°£¿¡ »ý¼ºµÈ backup image¿Í Active Log¸¦ ÀÌ¿ëÇÏ¿© database¸¦ backup
»ý¼º ÀÌÈÄÀÇ Æ¯Á¤ ±â°£À̳ª °¡Àå ÃÖ±ÙÀÇ image·Î º¹±¸ ȤÀº »õ·Î »ý¼ºÇØÁÖ´Â
recovery ¹æ¹ý
(³ª) ±ÇÇÑ
¤¡. ±âÁ¸º¹±¸ : SYSADM, SYSCTRL, SYSMAINT±ÇÇÑ ÇÊ¿ä
¤¤. ½Å±Ô»ý¼º : SYSADM, SYSCTRL ±ÇÇÑ ÇÊ¿ä
(´Ù) Rollforward Level
¤¡. Log Àû¿ë ¾ÈÇÔ : Log¸¦ ÇÑ °³µµ Àû¿ëÇÏÁö ¾Ê´Â ¹æ½ÄÀ¸·Î Off-line Full database
backup image¿¡¸¸ Àû¿ë°¡´É
¤¤. ƯÁ¤½Ã°£±îÁö Àû¿ë : Log ³»¿ëÁß Æ¯Á¤½Ã°£±îÁöÀÇ ³»¿ë¸¸ Àû¿ëÇÏ´Â ¹æ¹ý
¤§. Log ³¡±îÁö Àû¿ë : °¡Àå ÃÖ±Ù±îÁöÀÇ Log³»¿ëÀ» Àû¿ëÇÏ´Â ¹æ¹ý
|
| (1) Recovery ¹æ¹ý |
|
°¡. CRASH Recovery |
¢¹ Autorestart option È®ÀÎ
$ db2 get db cfg for DB ¸í | grep
AUTOAuto restart enabled (AUTORESTART) = on
¢¹ ½ÇÇà¸í·É¾î
$ db2 restart db DB¸í
|
|
³ª. RESTORE Recovery |
¢¹ ÇöÀçÀÇ Logging»óŰ¡ Circular LoggingÀÎÁö È®ÀÎ
$ db2 get db cfg for DB¸í
Log retain for recovery enabled (LOGRETAIN) = OFF
User exit for logging enabled (USEREXIT) = OFF
¢¹ Full DB off-line backup imageÀÎ °æ¿ì
$ db2 restore database SAMPLE
$ db2 restore database from / dbbackup
$ db2 restore database taken at 1996090988811
$ db2 restore database to / xx
$ db2 restore database into xxdb
|
|
´Ù. ROLLFORWARD Recovery |
¢¹ ÇöÀçÀÇ Logging»óŰ¡ Archival LoggingÀÎÁö È®ÀÎ
$ db2 get db cfg for DB¸í
Log retain for recovery enabled (LOGRETAIN) = ON
User exit for logging enabled (USEREXIT) = OFF
¢¹ Full DB off-line backup imageÀÎ °æ¿ì
<< log¸¦ ÀüÇô Àû¿ë½ÃŰÁö ¾Ê´Â °æ¿ì >>
$ db2 restore database sample without rolling forward
<< ƯÁ¤ CPU ½Ã°£±îÁöÀÇ log¸¸ Àû¿ëÇÏ´Â °æ¿ì >>
$ db2 restore database SAMPLE
$ db2 rollforward database sample to 1996-09-09-09:30:00
and stop
<< ÇöÀç±îÁöÀÇ log¸¦ ¸ðµÎ Àû¿ë½ÃŰ´Â °æ¿ì >>
$ db2 restore database sample
$ db2 restore database sample to end of logs and stop
¢¹ Tablespace backup imageÀÎ °æ¿ì¿¡´Â ÇöÀç±îÁöÀÇ log¸¦ ¸ðµÎ
Àû¿ë½ÃÄÑ¾ß ÇÑ´Ù.
$ db2 restore database SAMPLE
$ db2 restore database sample to end of logs and stop
|
<< Âü°í»çÇ× >>
¢¹ CPU Time : ÇöÀç½Ã°£¿¡¼ 9½Ã°£À» »©¾ßÇÔ.
(ÇöÀç½Ã°£ - 9 = CPU Time) |
| (3) Recovery History File |
°¡. ±â´É : ƯÁ¤ database¿¡ ÇàÇÑ Backup / Restore / Load ÀÛ¾÷¿¡
´ëÇÑ Á¤º¸¸¦ ±â·ÏÇÏ´Â file
³ª. Rcovery History FileÀÇ ±¸Á¶ |
| Column
¸í |
Type |
¼³ ¸í |
| OPERATION |
Char(1) |
ÀÛ¾÷ÇüÅ : B = Backup
R = Restore
U = Unload
L = Load |
| OBJECT |
Char(1) |
ÀÛ¾÷¹üÀ§ : D = Full Database
P
= Tablespace
T = Table |
| OBJECT_PART |
Char(17) |
ÀÛ¾÷¹üÀ§ : timestamp(14char)
+ sequence(3char) |
| OPTYPE |
Char(1) |
F=off-lienbackup
N=on-line backup
R=load replace
A=load append
C=load copy
blank = ±âŸ |
| DEVICE_TYPE |
Char(1) |
D=disk, K=diskette, T=tape
A=ADSM, U=userexit, O=other |
| FIRST_LOG |
Char(12) |
rollforward recovery½Ã »ç¿ëµÉ ÃÖÃÊÀÇ
log ¹øÈ£ |
| LAST_LOG |
Char(12) |
back´ç½Ã ¸¶Áö¸· log ¹øÈ£ |
| BACK_ID |
Char(14) |
backup id |
| SCHEMA |
Char(8) |
unload/load ÀÛ¾÷½Ã »ç¿ëµÇ´Â table name
Qualifies |
| TABLE_NAME |
Char(18) |
" table name |
| NUM_TABLESPACE |
Char(3) |
backup/restore½Ã Æ÷Ç﵃ Tablespace
°¹¼ö |
| LOCATION |
Char(255) |
backup/load copy/unloadÀÇ °á°ú file |
| COMMENT |
Char(30) |
ÁÖ¼® |
|
´Ù. ±ÇÇÑ : SYSADM, SYSCTRL, SYSMAINT³ª DBADM ±ÇÇÑÀÌ ÇÊ¿äÇÏ´Ù.
¶ó. History fileÀÇ ³»¿ë È®ÀÎ
¤¡. List History command¸¦ ÀÌ¿ëÇÏ¿© Recovery History fileÀÇ ³»¿ëÀ» È®ÀÎÇÑ´Ù.
¤¤. ƯÁ¤½Ã°£±îÁö Àû¿ë : Log ³»¿ëÁß Æ¯Á¤½Ã°£±îÁöÀÇ ³»¿ë¸¸ Àû¿ëÇÏ´Â ¹æ¹ý
¤§. Log ³¡±îÁö Àû¿ë : °¡Àå ÃÖ±Ù±îÁöÀÇ Log³»¿ëÀ» Àû¿ëÇÏ´Â ¹æ¹ý
¸¶. History fileÀÇ °ü¸®
¤¡. Prune History command : History fileÁß Æ¯Á¤ Timestamp ÀÌÀüÀÇ Á¤º¸¸¦»èÁ¦ÇÑ´Ù.
¤¤. Update History command : history fileÀÇ ³»¿ëÀ» ¼öÁ¤ÇÑ´Ù.
¤§. REC_HIS_RETENTN parameter : history fileÀÇ size¸¦ ÁöÁ¤ÇÑ´Ù.
¹Ù. History fileÀÇ º¹±¸
¤¡. Database Recovery ÀÛ¾÷½Ã Recovery History file¸¸À» º¹±¸ÇÏ´Â OptionÀ» ÀÌ¿ëÇÑ´Ù.
»ç. Recovery History fileÀÇ ³»¿ë È®ÀÎ
|
¢¹ list backup command
$ db2 list backup all for DB¸í
$ db2 list backup since 199609 for DB¸í
$ db2 list backup containing for DB¸í, Table¸í
¢¹ list history command
$ db2 list history all for DB¸í
$ db2 list history since 199609 for DB¸í
$ db2 list history containing for DB¸í. Table¸í
|
| ¾Æ. Recovery History fileÀÇ ³»¿ë °ü¸® |
¢¹ prune history comand
$ db2 prune history timestamp
$ db2 prune history 199609
$ db2 prune history 199609 with force option
¢¹ update history command
$ db2 update history for object_part with
new_location device type new_device_type
cmment new_coment
$ db2 update history for 1996090988881101 with
location / dbbackup device type D comment testing
¢¹ update REC_HIS_RETENTN command
$ db2 update db cfg db¸í using
REC_HIS_RETENTN 100
|
 |
|
|
3.2 Data Moving
|
3.2.1 Export
|
¢¹ tableÀÇ µ¥ÀÌÅÍ ³»¿ëÀ» DEL, IXF, WSF ÇüÅ·Π¹ÝÃâÇÒ ¼ö ÀÖ´Ù.
¹ÝÃâµÈ ³»¿ëÀº import ³ª
load À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇÏ¿© Å×À̺í·Î ´Ù½Ã ¹ÝÀÔÇÒ ¼ö ÀÖ´Ù.
<¿¹ : org Å×À̺íÀÇ µ¥ÀÌÅ͸¦ edu.exp ¶ó°í ÇÏ´Â ixf ÇüÅÂÀÇ ÆÄÀÏ·Î export>
$ db2 export to educ.exp of ixf messages msg
select * from org
|
 |
|
|
3.2.2 Import
|
¢¹ ÀÏ´Ü export ¸í·ÉÀ¸·Î ¹ÝÃâµÈ ÆÄÀÏÀ̳ª ÀÌ¹Ì DEL,ASC,IXF,WSF
ÇüÅ·ΠÁ¸ÀçÇÏ´Â ÆÄÀÏÀº
LOAD ¸í·É(WSFÀ¯Çü¸¸ Áö¿ø ¾ÈµÊ)À̳ª IMPORT ¸í·ÉÀ¸·ÎDBÀÇ TABLE·Î µ¥ÀÌŸ¸¦ À̵¿½Ãų ¼ö
ÀÖ´Ù.
<¿¹ : org Å×À̺íÀÇ µ¥ÀÌÅ͸¦ edu.exp ¶ó°í ÇÏ´Â ixf ÇüÅÂÀÇ ÆÄÀÏ·Î export>
$ db2 import from educ.exp of ixf messages
¢¹ method n ( column ¸í) ¿É¼ÇÀ» ºÎ¿©ÇÒ ¼öµµ ÀÖ´Ù. ±× ¿É¼ÇÀº exportµÈ table°ú ´Ù¸¥ columnÀ»
ÁÖ´Â °æ¿ì¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â option ÀÓ |
 |
|
|
3.2.3 Load
|
¢¹ LOAD´Â ´ë·®ÀÇ µ¥ÀÌÅ͸¦ ºü¸¥ ¼Óµµ·Î Å×À̺í·Î ¿Å±â´Âµ¥ »ç¿ëµÇ´Â utility ÀÌ´Ù.
<¿¹ : educ.exp ÆÄÀϷκÎÅÍ orggÅ×À̺í·Î µ¥ÀÌÅ͸¦ LOAD>
$ db2 load from educ.exp of ixf messages
msg.load remote file educ
¢¹ LOAD´Â IMPORT º¸´Ù ¼Óµµ°¡ ºü¸£´Ù. ¿Ö³ÄÇϸé, ¿ì¼± Load utility´Â log¸¦ ±â·ÏÇÏÁö ¾Ê°í
¹°¸®ÀûÀÎÆäÀÌÁö ´ÜÀ§·Î µ¥ÀÌÅ͸¦ ¿Ã¸®´Â ¹Ý¸é Import´Â log¸¦ ±â·ÏÇÏ¸ç ³»ºÎÀûÀ¸·Î´Â
SQL
Insert ¹®ÀåÀÌ ¹Ýº¹ÀûÀ¸·Î ¼öÇàÇÏ¿© µ¥ÀÌÅ͸¦ ¿Ã¸°´Ù. INDEX °¡ »ý¼ºµÇ´Â ¹æ¹ý¿¡ À־µ
IMPORT´Â
IMPORT µÇ´Â ·¹ÄÚµå ´ÜÀ§·Î Çѹø¿¡ ÇϳªÀÇ INDEX¸¦ ¸¸µéÁö¸¸, LOAD´Â µ¥ÀÌŸÀÇ
LOAD ´Ü°è°¡
¸ðµÎ ³¡³ ÀÌÈÄ¿¡BUILD ´Ü°è¿¡¼ ÇѲ¨¹ø¿¡ INDEX¸¦ ¸¸µå´Â Ư¡À» °®°í ÀÖ±â
¶§¹®ÀÌ´Ù.
¢¹ Ư±âÇÒ ¸¸ÇÑ ¿É¼ÇÀº ´ÙÀ½°ú °°Àº °ÍµéÀÌ ÀÖ´Ù.
method ( L : Ä÷³ÀÇ À§Ä¡ (start,end)
N : Ä÷³ÀÇ À̸§
P : Ä÷³ÀÇ ¼ø¼ )
restart ( B : index creation
D : error ÀÎ ·¹ÄÚµå Á¦°Å
N : N ¹øÂ° ·¹ÄÚµå ºÎÅÍ ½ÃÀÛ )
¡Ü v7¿¡¼´Â restart ¸í·ÉÀ» ¹ßÇàÇÒ ¶§ optionÀ» ÁÖÁö ¾Ê¾Æµµ
ÀÚµ¿ÀûÀ¸·Î error°¡ ¹ß»ýÇÑ ½ÃÁ¡À¸·ÎºÎÅÍ ½ÃÀÛÀ» ÇÑ´Ù.
|
 |
|
|
3.3 REORG & RUNSTATS
|
3.3.1 REORGCHK
|
¢¹ REORG utility´Â ·¹ÄÚµåÀÇ insert/deleteµîÀ¸·Î ÀÎÇÏ¿© µ¥ÀÌÅÍ
¹× index ÆäÀÌÁöÀÇ ¹°¸®ÀûÀÎ Á¤¿
¼ø¼°¡ ¾ûŰ´Â °ÍÀ» »õ·Ó°Ô Á¤¿½ÃÄÑÁÖ´Â utilityÀÌ´Ù. REORGCHK unility´Â
µ¥ÀÌÅͺ£À̽º¸¦ °Ë»çÇÏ
¿© REORG¸¦ ÇÒ Çʿ䰡 ÀÖ´ÂÁö¸¦ üũÇÏ´Â utilityÀÌ´Ù. µ¥ÀÌÅÍ ÆäÀÌÁö¿Í index
ÆäÀÌÁöÀÇ ¼ø¼°¡ ¼
·Î ¸ÂÁö ¾ÊÀ¸¸é ¼º´ÉÀÇ ÀúÇϸ¦ À¯¹ßÇÏ°Ô µÇ¹Ç·Î REORGCHK¸¦ Á¤±âÀûÀ¸·Î ¼öÇàÇÏ¿© µ¥ÀÌÅͺ£À̽º
ÀÇ
¹°¸®ÀûÀÎ »óŸ¦ È®ÀÎÇÏ´Â °ÍÀÌ ÇÊ¿äÇÏ´Ù.
¢¹ Syntax
db2 -r out_file reorgchk current statistics on table tbl_name ¶Ç´Â
db2 reorgchk update statistics on table system
¢¹ Sample Result
Table statistics:
F1: 100*OVERFLOW/CARD < 5
F2: 100*TSIZE / ((FPAGES-1) * 4020) > 70
F3: 100*NPAGES/FPAGES > 80
CREATOR NAME CARD OV NP FP TSIZE F1 F2 F3 REORG
-------------------------------------------------------------------------------
SYSIBM SYSCHECKS - - - - - - - - ---
SYSIBM SYSDATATYPES 13 0 1 1 1027 0 - 100 ---
SYSIBM SYSFUNCTIONS 104 0 8 8 728 0 2 100 -*-
SYSIBM SYSINDEXES 57 17 3 5 9063 29 56 60 ***
Index statistics:
F4: CLUSTERRATIO or normalized CLUSTERFACTOR > 80
F5: 100*(KEYS*(ISIZE+10)+(CARD-KEYS)*4) / (NLEAF*4096) > 50
F6: 90*(4000/(ISIZE+10)**(NLEVELS-2))*4096/ (KEYS*(ISIZE+10)+(CARD-
KEYS)*4)<100
CREATOR NAME CARD LEAF LVLS ISIZE KEYS F4 F5 F6 REORG
-------------------------------------------------------------------------------
Table: SYSIBM.SYSCHECKS
SYSIBM IBM37 - - - - - - - - ---
¢¹ À§ÀÇ °á°ú¿¡¼ REORGÄ÷³ÀÇ ³»¿ëÀÌ º°Ç¥(*) ÀÌ¸é ±× Å×À̺íÀº reorg°¡ ÇÊ¿äÇϰí ÇÏÀÌÆù(-)À̸é
Á¤»óÀ̹ǷΠreorg¸¦ ÇÒ Çʿ䰡 ¾ø´Ù. |
 |
|
|
3.3.2 REORG
|
¢¹ REORG¸í·ÉÀº ÇØ´ç Å×À̺íÀÇ µ¥ÀÌÅ͸¦ Physical ÇÏ°Ô ÀçÁ¤·ÄÇÏ¿© Á¶È¸ÀÇ
Performance¸¦ Çâ»ó½Ã
Ų´Ù.
¢¹ Syntax
db2 reorg table Å×À̺í¸í [INDEX »öÀθí] [USE Å×ÀÌºí°ø°£¸í]
db2 reorg table tbl_name index idx_name use tempspace1
|
 |
|
|
3.3.3 RUNSTATS
|
¢¹ RUNSTATS ´Â µ¥ÀÌÅͺ£À̽ºÀÇ Åë°èÁ¤º¸¸¦ ÃֽŠ»óÅ·Π°»½ÅÇϴµ¥ »ç¿ëµÈ´Ù.
DB2 optimizer´Â
access path¸¦ °áÁ¤ÇÒ ¶§ ¹Ù·Î ÀÌ Åë°èÁ¤º¸¸¦ ÂüÁ¶ÇϹǷΠ´ë·®ÀÇ µ¥ÀÌÅͰ¡ »ðÀԵǰųª
¶Ç´Â Áö¿ö
Á³À» °æ¿ì Ç×»ó RUNSTATS¸¦ ½ÇÇà½ÃÄѼ Åë°èÁ¤º¸¸¦ °»½ÅÇÏ´Â °ÍÀÌ Áß¿äÇÏ´Ù. ¶ÇÇÑ REORGCHK
utilityµµ ÀÌ Åë°èÁ¤º¸¸¦ ÂüÁ¶ÇÏ¿© REORG ÇÊ¿ä À¯¹«¸¦ ÆÇ´ÜÇϹǷΠREORGCHK¸¦ ¼öÇàÇϱâÀü¿¡
Ç×
»ó RUNSTATS¸¦ ¸ÕÀú ¼öÇàÇÏ´Â °ÍÀÌ ÁÁ´Ù.
¢¹ Áï RUNSTATS a REORGCHK a REORG a RUNSTATS ¼ø¼·Î Ç×»ó ÇÔ²² »ç¿ëÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ
´Ù.
db2 runstats on table Å×À̺í¸í [WITH DISTRIBUTION
[AND [DETAILED] {INDEXES ALL | INDEX »öÀθí}] |
{AND | FOR} [DETAILED] {INDEXES ALL | INDEX »öÀθí}]
|
 |
|
|