第85回 åˆå¿ƒè€…æ“迎ï¼DB2ã®ä½¿ã„æ–¹ - ã€ç®¡ç†ãƒ„ール編】 (2009/09/19)
カテゴリー: DBã«ã¤ã„ã¦
投稿者: shinichi
Club DB2ナイト・サークルã«å‚åŠ ã—ã¦ãã¾ã—ãŸã€‚講師ã¯ç”Ÿç²‹ã®(?)åƒè‘‰ã£åã€é«˜æ©‹ã•ん。
ã€ç®¡ç†ãƒ„ール編】ã¨ã„ã†å‹Ÿé›†ã ã£ãŸã®ã§ã™ãŒã€å®Ÿã¯ã€é‹ç”¨ç®¡ç†ç·¨ã€‘ã§ã—ãŸã€‚
ã‚ã¾ã‚Šè©³ã—ã知らãªã„ã®ã«é‹ç”¨ç®¡ç†ãªã‚“ã¦ãƒ»ãƒ»ãƒ»ã¨æ€ã„ã¾ã—ãŸãŒã€å‹‰å¼·ã—ãŸã“ã¨ã¯ãŸã£ãŸã®ä¸‰ã¤ã€‚
・ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(backup)
・表ã®å†ç·¨æˆ(reorg)
ãƒ»çµ±è¨ˆæƒ…å ±ã®æ›´æ–°(runstats)
DB2ã®è³‡æ ¼ç ”ä¿®ã§å‹‰å¼·ã—ãŸã“ã¨ãŒã‚ã‚‹ã®ã§ãŠãŠã‚ˆãã®å‹•ãを知ã£ã¦ã„る言葉é”ã ã£ãŸã®ã§è‰¯ã‹ã£ãŸã§ã™ã€‚
åˆã£ã±ãªã«ã€Œãšãã£ã€ã¨æ¥ãŸè¨€è‘‰ã€‚
『DB管ç†è€…ã®ä»•事ã§ä¸€ç•ªå¤§åˆ‡ãªã®ã¯ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã§ã™ã€‚ã§ã€RAIDã¯ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã§ã¯ã‚りã¾ã›ã‚“。ã€
よ~ã知ã£ã¦ãŠã‚Šã¾ã™ã€‚知ã£ã¦ã„ã¾ã™ã‘ã©ãŸã¶ã‚“ã†ã¡ã®ç¾å ´ã§ã¯ã€å¤–部ディスク装置を使ã„å§‹ã‚ã¦ã‹ã‚‰ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã‚’ã¨ã£ã¦ã„ãªã„ã®ã§ã¯ãªã„ã‹ãªã¨æ€ã‚れã¾ã™ï¼ˆç½å¯¾æ©Ÿã«ãƒ‡ãƒ¼ã‚¿ã‚’移行ã™ã‚‹ãŸã‚ã«ãƒ€ãƒ³ãƒ—ã‚’ã¨ã£ã¦ã„ã¾ã™ãŒã€ãれã¯ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã«å…¥ã‚‹ã‹ã—ら?)。
ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã®åç§°ãŒå°‘ã—æ°—ã«ãªã‚Šã¾ã—ãŸã€‚
通常ã€ãƒ•ルãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(full backup)ã®å¾Œã«å·®åˆ†ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(incremental backup)ã¨å¢—分ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(differential backup)ã‚’å˜ç‹¬ã‚‚ã—ãã¯çµ„ã¿åˆã‚ã›ã§ä½¿ã†ã¨æ€ã„ã¾ã™ãŒã€DB2ã§ã¯ã“ã“ã§è¨€ã†å·®åˆ†ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を「デルタãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(incremental delta)ã€ã¨å‘¼ã³ã€å¢—分ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を「累ç©ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(incremental)ã€ã¨å‘¼ã¶ã‚“ã ãã†ã§ã™ã€‚
表ã®å†ç·¨æˆã¯ã™ãã«ã‚³ãƒžãƒ³ãƒ‰ãŒå‡ºã¦ãã‚‹ãã‚‰ã„æ°—ã«ãªã‚‹ä½œæ¥ã§ã™ã€‚ãŸã¾ï½žã«ã“ã®è¨€è‘‰ãŒèžã“ãˆã¦ãã‚‹ã¨ã†ãã†ãã—ã¦ãã¾ã™ã€‚実作æ¥ã‚’見ãŸã“ã¨ã¯ãªã„ã‚“ã§ã™ãŒã€‚
表ã®å†ç·¨æˆã«ã¯äºŒç¨®é¡žã‚ã£ã¦ã€ä¸€ã¤ã¯ã€ãƒ†ãƒ¼ãƒ–ãƒ«ã‚’ä¸€æ™‚é ˜åŸŸã«ã‚³ãƒ”ーã—ã€å†ç·¨æˆã‚’ã—ãªãŒã‚‰å…ƒã®é ˜åŸŸã«æˆ»ã—ã¦ã„ã「シャドー・コピーã€ã€‚ã‚‚ã†ä¸€ã¤ã¯ã€PCã®ãƒ‡ãƒ•ラグã®ã‚ˆã†ã«ç©ºãスペースを少ã—ãšã¤å‹•ã‹ã—ãªãŒã‚‰è¡Œã†ã€Œã‚¤ãƒ³ãƒ—レースã€ã€‚
çµ±è¨ˆæƒ…å ±ã®æ›´æ–°ã«ã¤ã„ã¦ã¯ã‹ãªã‚Šé§†ã‘è¶³ã§ã—ãŸãŒã€DB2 9.1ã‹ã‚‰è‡ªå‹•runstatsã¯ãƒ‡ãƒ•ォルトONã ãã†ã§ã™ã€‚
å¤§è¦æ¨¡DBãªã©ã«ãŠã„ã¦ã‚¢ã‚¯ã‚»ã‚¹ãƒ»ãƒ—ランãŒå¤‰ã‚ã£ã¦ã—ã¾ã†ã®ãŒã„ã‚„ã§ã‚れã°å¿˜ã‚Œãšã«è‡ªå‹•化機能をOFFã«ã™ã‚‹ã‚ˆã†ã«ã¨æ³¨æ„ãŒã‚りã¾ã—ãŸã€‚"db2look -m"ã§çµ±è¨ˆæƒ…å ±ã®DDLã‚’ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã§ãã‚‹ã®ã§runstatsã™ã‚‹å ´åˆã«ã¯ã¨ã£ã¦ãŠãã®ã‚‚手ã ã¨è¨€ã†ã“ã¨ã§ã™ã€‚
å¤§è¦æ¨¡DBを触ã£ãŸã“ã¨ãŒãªã„ã®ã§ã‚¤ãƒ¡ãƒ¼ã‚¸ãŒã¤ãã¾ã›ã‚“ãŒã€ã‚¢ã‚¯ã‚»ã‚¹ãƒ»ãƒ—ランãŒå¤‰ã‚ã‚‹ã“ã¨ã§ã©ã‚Œãらã„SQLã®ãƒ‘フォーマンスãŒå¤‰ã‚ã‚‹ã®ã‹ä½“感ã—ã¦ã¿ãŸã„ã§ã™ï¼ˆãã‚‚ãã‚‚ã“ã“ã§è¨€ã†å¤§è¦æ¨¡ã£ã¦ã©ã®ãらã„ã®DBãªã®ã ã‚ã†ï¼Ÿï¼‰ã€‚
ã“ã®é€£ä¼‘ä¸ã«ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—・リストアãらã„ã¯è©¦ã—ã¦ã¿ã‚ˆã†ã‹ãªã€‚
ã€ç®¡ç†ãƒ„ール編】ã¨ã„ã†å‹Ÿé›†ã ã£ãŸã®ã§ã™ãŒã€å®Ÿã¯ã€é‹ç”¨ç®¡ç†ç·¨ã€‘ã§ã—ãŸã€‚
ã‚ã¾ã‚Šè©³ã—ã知らãªã„ã®ã«é‹ç”¨ç®¡ç†ãªã‚“ã¦ãƒ»ãƒ»ãƒ»ã¨æ€ã„ã¾ã—ãŸãŒã€å‹‰å¼·ã—ãŸã“ã¨ã¯ãŸã£ãŸã®ä¸‰ã¤ã€‚
・ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(backup)
・表ã®å†ç·¨æˆ(reorg)
ãƒ»çµ±è¨ˆæƒ…å ±ã®æ›´æ–°(runstats)
DB2ã®è³‡æ ¼ç ”ä¿®ã§å‹‰å¼·ã—ãŸã“ã¨ãŒã‚ã‚‹ã®ã§ãŠãŠã‚ˆãã®å‹•ãを知ã£ã¦ã„る言葉é”ã ã£ãŸã®ã§è‰¯ã‹ã£ãŸã§ã™ã€‚
åˆã£ã±ãªã«ã€Œãšãã£ã€ã¨æ¥ãŸè¨€è‘‰ã€‚
『DB管ç†è€…ã®ä»•事ã§ä¸€ç•ªå¤§åˆ‡ãªã®ã¯ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã§ã™ã€‚ã§ã€RAIDã¯ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã§ã¯ã‚りã¾ã›ã‚“。ã€
よ~ã知ã£ã¦ãŠã‚Šã¾ã™ã€‚知ã£ã¦ã„ã¾ã™ã‘ã©ãŸã¶ã‚“ã†ã¡ã®ç¾å ´ã§ã¯ã€å¤–部ディスク装置を使ã„å§‹ã‚ã¦ã‹ã‚‰ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã‚’ã¨ã£ã¦ã„ãªã„ã®ã§ã¯ãªã„ã‹ãªã¨æ€ã‚れã¾ã™ï¼ˆç½å¯¾æ©Ÿã«ãƒ‡ãƒ¼ã‚¿ã‚’移行ã™ã‚‹ãŸã‚ã«ãƒ€ãƒ³ãƒ—ã‚’ã¨ã£ã¦ã„ã¾ã™ãŒã€ãれã¯ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã«å…¥ã‚‹ã‹ã—ら?)。
ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã®åç§°ãŒå°‘ã—æ°—ã«ãªã‚Šã¾ã—ãŸã€‚
通常ã€ãƒ•ルãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(full backup)ã®å¾Œã«å·®åˆ†ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(incremental backup)ã¨å¢—分ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(differential backup)ã‚’å˜ç‹¬ã‚‚ã—ãã¯çµ„ã¿åˆã‚ã›ã§ä½¿ã†ã¨æ€ã„ã¾ã™ãŒã€DB2ã§ã¯ã“ã“ã§è¨€ã†å·®åˆ†ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を「デルタãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(incremental delta)ã€ã¨å‘¼ã³ã€å¢—分ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を「累ç©ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—(incremental)ã€ã¨å‘¼ã¶ã‚“ã ãã†ã§ã™ã€‚
表ã®å†ç·¨æˆã¯ã™ãã«ã‚³ãƒžãƒ³ãƒ‰ãŒå‡ºã¦ãã‚‹ãã‚‰ã„æ°—ã«ãªã‚‹ä½œæ¥ã§ã™ã€‚ãŸã¾ï½žã«ã“ã®è¨€è‘‰ãŒèžã“ãˆã¦ãã‚‹ã¨ã†ãã†ãã—ã¦ãã¾ã™ã€‚実作æ¥ã‚’見ãŸã“ã¨ã¯ãªã„ã‚“ã§ã™ãŒã€‚
表ã®å†ç·¨æˆã«ã¯äºŒç¨®é¡žã‚ã£ã¦ã€ä¸€ã¤ã¯ã€ãƒ†ãƒ¼ãƒ–ãƒ«ã‚’ä¸€æ™‚é ˜åŸŸã«ã‚³ãƒ”ーã—ã€å†ç·¨æˆã‚’ã—ãªãŒã‚‰å…ƒã®é ˜åŸŸã«æˆ»ã—ã¦ã„ã「シャドー・コピーã€ã€‚ã‚‚ã†ä¸€ã¤ã¯ã€PCã®ãƒ‡ãƒ•ラグã®ã‚ˆã†ã«ç©ºãスペースを少ã—ãšã¤å‹•ã‹ã—ãªãŒã‚‰è¡Œã†ã€Œã‚¤ãƒ³ãƒ—レースã€ã€‚
çµ±è¨ˆæƒ…å ±ã®æ›´æ–°ã«ã¤ã„ã¦ã¯ã‹ãªã‚Šé§†ã‘è¶³ã§ã—ãŸãŒã€DB2 9.1ã‹ã‚‰è‡ªå‹•runstatsã¯ãƒ‡ãƒ•ォルトONã ãã†ã§ã™ã€‚
å¤§è¦æ¨¡DBãªã©ã«ãŠã„ã¦ã‚¢ã‚¯ã‚»ã‚¹ãƒ»ãƒ—ランãŒå¤‰ã‚ã£ã¦ã—ã¾ã†ã®ãŒã„ã‚„ã§ã‚れã°å¿˜ã‚Œãšã«è‡ªå‹•化機能をOFFã«ã™ã‚‹ã‚ˆã†ã«ã¨æ³¨æ„ãŒã‚りã¾ã—ãŸã€‚"db2look -m"ã§çµ±è¨ˆæƒ…å ±ã®DDLã‚’ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã§ãã‚‹ã®ã§runstatsã™ã‚‹å ´åˆã«ã¯ã¨ã£ã¦ãŠãã®ã‚‚手ã ã¨è¨€ã†ã“ã¨ã§ã™ã€‚
å¤§è¦æ¨¡DBを触ã£ãŸã“ã¨ãŒãªã„ã®ã§ã‚¤ãƒ¡ãƒ¼ã‚¸ãŒã¤ãã¾ã›ã‚“ãŒã€ã‚¢ã‚¯ã‚»ã‚¹ãƒ»ãƒ—ランãŒå¤‰ã‚ã‚‹ã“ã¨ã§ã©ã‚Œãらã„SQLã®ãƒ‘フォーマンスãŒå¤‰ã‚ã‚‹ã®ã‹ä½“感ã—ã¦ã¿ãŸã„ã§ã™ï¼ˆãã‚‚ãã‚‚ã“ã“ã§è¨€ã†å¤§è¦æ¨¡ã£ã¦ã©ã®ãらã„ã®DBãªã®ã ã‚ã†ï¼Ÿï¼‰ã€‚
ã“ã®é€£ä¼‘ä¸ã«ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—・リストアãらã„ã¯è©¦ã—ã¦ã¿ã‚ˆã†ã‹ãªã€‚