SYSCS_DIAG 診断表�よ�関数

Derbyã?«ã?¯ã‚·ã‚¹ãƒ†ãƒ è¡¨å¼?ã?Œç”¨æ„?ã?•れã?¦ã?Šã‚Šã€?データベースã?®çŠ¶æ…‹ã‚„ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã?¸ã?®æŽ¥ç¶šã?®è¨ºæ–­æƒ…報をå?–å¾—ã?§ã??ã?¾ã?™ã€‚

Derby��二種類�診断表���り��。
診断表
Derbyã?®ä¸€èˆ¬çš„ã?ªè¡¨ã?¨å?Œæ§˜ã?ªã‚‚ã?®ã?§ã?™ã€‚ 表å??ã‚’ç½®ã??ã?“ã?¨ã?Œã?§ã??る場所ã?ªã‚‰ã?©ã?“ã?«ã?§ã‚‚診断表ã?®å??å‰?ã‚’ã?Šã?‘ã?¾ã?™ã€‚
診断表関数
Derbyã?®ä¸€èˆ¬çš„ã?ªé–¢æ•°ã?¨å?Œæ§˜ã?ªã‚‚ã?®ã?§ã?™ã€‚診断表関数ã?«ã?¯é–¢æ•°ã?«å¿œã?˜ã?¦ã€?0ã?‚ã‚‹ã?„ã?¯ã??れ以上ã?®å¼•æ•°ã‚’å?–ã‚‹ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚SQLã?«å®šç¾©ã?•れã?Ÿè¡¨é–¢æ•°ã?®æ§‹æ–‡ã?«åŸºã?¥ã??ã€?ã?“れらã?®é–¢æ•°ã‚’使ã?†å¿…è¦?ã?Œã?‚りã?¾ã?™ã€‚

以下ã?®è¡¨ã?«ã?¯Derbyã?®è¨ºæ–­è¡¨å¼?ã?®å??ç§°ã?¨ç¨®é¡žã‚’記ã?—ã?¾ã?™ã€‚

表 1. Derby�システム診断表�
診断表� ��種類
SYSCS_DIAG.ERROR_LOG_READER 表関数
SYSCS_DIAG.ERROR_MESSAGES 表
SYSCS_DIAG.LOCK_TABLE 表
SYSCS_DIAG.SPACE_TABLE 表関数
SYSCS_DIAG.STATEMENT_CACHE 表
SYSCS_DIAG.STATEMENT_DURATION 表関数
SYSCS_DIAG.TRANSACTION_TABLE 表
制約事項: DDLや圧縮ã?®æ‰‹ç¶šã??ã?«ã?¦è¨ºæ–­è¡¨ã‚’å?‚ç…§ã?—ã?Ÿå ´å?ˆã€?Derbyã?¯ä¾‹å¤–ã‚’è¿”ã?—ã?¾ã?™ã€‚

SYSCS_DIAG.ERROR_LOG_READER 診断表関数

SYSCS_DIAG.ERROR_LOG_READER診断表関数�ら��derby.logファイルや指定��任��ログファイル��る全��SQL文�得られ��。

ã?“ã?®è¨ºæ–­è¡¨é–¢æ•°ã‚’使ã?†ã?“ã?¨ã?§ã€?活動中ã?®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã?Šã‚ˆã?³ä»»æ„?ã?®æ™‚点ã?®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’知るã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚ã?Ÿã?¨ã?ˆã?°ãƒ‡ãƒƒãƒ‰ãƒ­ãƒƒã‚¯ã‚„ロックã?®æ™‚間切れã?Œç™ºç”Ÿã?—ã?Ÿå ´å?ˆã€?エラーログã?‹ã‚‰ã‚¿ã‚¤ãƒ ã‚¹ã‚¿ãƒ³ãƒ—(timestampConstant)を見ã?¤ã?‘ã‚‹ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚

SYSCS_DIAG.ERROR_LOG_READER診断表関数を使ã?†ã?«ã?¯ã€?SQL表関数ã?®æ§‹æ–‡ã?«åŸºã?¥ã??å¿…è¦?ã?Œã?‚りã?¾ã?™ã€‚

例を挙���。:
SELECT * 
    FROM TABLE (SYSCS_DIAG.ERROR_LOG_READER()) 
    AS T1
ã?“ã?“ã?§T1ã?¯ãƒ¦ãƒ¼ã‚¶ã?ŒæŒ‡å®šã?—ã?Ÿè¡¨ã?®å??å‰?ã?§ã€?ã?“れã?¯ä»»æ„?ã?®è­˜åˆ¥å­?ã?§ã?™ã€‚

SYSCS_DIAG.ERROR_LOG_READER診断表関数ã?«ã?¯ã€?éš?æ„?ã?§æŒ‡å®šã?™ã‚‹å¼•æ•°ã?¨ã?—ã?¦ãƒ­ã‚°ãƒ•ァイルã?®å??å‰?を与ã?ˆã‚‹ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚ログファイルã?®å??å‰?を指定ã?™ã‚‹å ´å?ˆã€?ファイルå??ã?¯Javaã?§æ–‡å­—列ã?¨ã?¿ã?ªã?›ã‚‹å¼?ã?§ã?ªã?‘れã?°ã?ªã‚Šã?¾ã?›ã‚“。

For example:
SELECT * 
    FROM TABLE (SYSCS_DIAG.ERROR_LOG_READER('myderbyerrors.log')) 
    AS T1
ヒント: 既定ã?§ã?¯Derbyã?®ãƒ­ã‚°ãƒ•ァイルã?«ã?¯èµ·å‹•ã€?終了ã€?エラーメッセージã?—ã?‹ã?‚りã?¾ã?›ã‚“。 より詳細ã?ªæƒ…報をDerbyã?®ãƒ­ã‚°ãƒ•ァイルã?«å‡ºåŠ›ã?™ã‚‹æ–¹æ³•ã?¯ã€?Derbyã?®ãƒ?ューニングガイドã?®derby.stream.error.logSeverityLevel属性ã?¨ã€?derby.language.logStatementText属性を読んã?§ã??ã? ã?•ã?„。

SYSCS_DIAG.ERROR_MESSAGES 診断表

SYSCS_DIAG.ERROR_MESSAGES診断表ã?«ã?¯ã€?å…¨ã?¦ã?®SQLStateã€?地域ã?«å¯¾å¿œã?—ã?Ÿã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã€? Derbyデータベースã?§ã?®ä¾‹å¤–深刻度ã?Œè¨˜è¿°ã?•れã?¾ã?™ã€‚ æ–‡ã?«ã?¦ç›´æŽ¥ã?«SYSCS_DIAG.ERROR_MESSAGES診断表をå?‚ç…§ã?™ã‚‹ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚

例を挙���。
SELECT * FROM SYSCS_DIAG.ERROR_MESSAGES

SYSCS_DIAG.LOCK_TABLE 診断表

SYSCS_DIAG.LOCK_TABLE診断表ã?«ã?¯ã€?ç?¾åœ¨æ™‚点ã?®Derbyデータベースã?®å…¨ãƒ­ãƒƒã‚¯ã?Œè¨˜è¿°ã?•れã?¾ã?™ã€‚ SYSCS_DIAG.LOCK_TABLE診断表ã?¯æ–‡ã?«ã?¦ç›´æŽ¥å?‚ç…§ã?™ã‚‹ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚

例を挙���。
SELECT * FROM SYSCS_DIAG.LOCK_TABLE

SYSCS_DIAG.LOCK_TABLE診断表�文���照�れる場��表�ロック�スナップショット�撮られ��。 ��スナップショット�診断表を�照��も�アプリケーション�通常処�時間や処���れ�影響�出��よ��用��れるも���。 ��スナップショット�撮られる時�ロック�状態�移中��る�能性��り��。

SYSCS_DIAG.SPACE_TABLE 診断表関数

SYSCS_DIAG.SPACE_TABLE診断表関数ã?§ã?¯ã€?指定ã?—ã?Ÿè¡¨ã?¨ã??ã?®ç´¢å¼•ã?Œåˆ©ç”¨ã?—ã?¦ã?„る領域を表示ã?§ã??ã?¾ã?™ã€‚ ã?“ã?®è¨ºæ–­è¡¨é–¢æ•°ã?«ã‚ˆã‚Šè¡¨ã‚„索引を圧縮ã?™ã‚‹ã?“ã?¨ã?§ã€?ã?©ã‚Œã? ã?‘領域を節約ã?§ã??ã‚‹ã?‹çŸ¥ã‚‹ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚

SYSCS_DIAG.SPACE_TABLE診断表関数を使ã?†ã?«ã?¯ã€?SQL表関数ã?®æ§‹æ–‡ã?«å¾“ã?†å¿…è¦?ã?Œã?‚りã?¾ã?™ã€‚ ã?“ã?®è¨ºæ–­è¡¨é–¢æ•°ã?¯äºŒã?¤ã?®å¼•æ•°ã‚’ã?¨ã‚Šã?¾ã?™ã€‚スキーマå??ã?¨è¡¨å??ã?§ã?™ã€‚ 表å??ã?¯å¿…é ˆã?§ã?™ã€‚スキーマå??を指定ã?—ã?ªã?‹ã?£ã?Ÿå ´å?ˆã€?ç?¾åœ¨ã?®ã‚¹ã‚­ãƒ¼ãƒžã?Œé?©ç”¨ã?•れã?¾ã?™ã€‚

����以下���������データベース��る全ユーザ表�索引�利用�る領域を返���。
SELECT T2.*
    FROM 
        SYS.SYSTABLES systabs,
        TABLE (SYSCS_DIAG.SPACE_TABLE(systabs.tablename)) AS T2
    WHERE systabs.tabletype = 'T'
ã?“ã?“ã?§T2ã?¯ãƒ¦ãƒ¼ã‚¶æŒ‡å®šã?®è¡¨å??ã?§ã€?ä»»æ„?ã?®è­˜åˆ¥å­?を指定ã?§ã??ã?¾ã?™ã€‚

スキーマå??ã?¨è¡¨å??ã?¯ã€?何れもJavaã?®æ–‡å­—列型ã?¨ã?¿ã?ªã?•れるå¼?ã?§ã?ªã?‘れã?°ã?ªã‚Šã?¾ã?›ã‚“。 スキーマå??ã?¨è¡¨å??ã?Œãƒ‡ãƒªãƒŸãƒˆã?•れã?ªã?„識別å­?ã?§ã?‚ã?£ã?Ÿå ´å?ˆã€?å??å‰?ã?¯å¤§æ–‡å­—ã?§æŒ‡å®šã?—ã?ªã?‘れã?°ã?ªã‚Šã?¾ã?›ã‚“。

例を挙���。
SELECT * 
    FROM TABLE (SYSCS_DIAG.SPACE_TABLE('MYSCHEMA', 'MYTABLE')) 
    AS T2

SYSCS_DIAG.STATEMENT_CACHE 診断表

SYSCS_DIAG.STATEMENT_CACHE診断表ã?«ã?¯SQL文キャッシュã?®å†…容ã?Œè¨˜è¿°ã?•れã?¾ã?™ã€‚ SYSCS_DIAG.STATEMENT_CACHE診断表ã?¯æ–‡ã?‹ã‚‰ç›´æŽ¥å?‚ç…§ã?§ã??ã?¾ã?™ã€‚

例を挙���。
SELECT * FROM SYSCS_DIAG.STATEMENT_CACHE

SYSCS_DIAG.STATEMENT_DURATION 診断表関数

SYSCS_DIAG.STATEMENT_DURATION診断表関数を使ã?£ã?¦ã€?derby.logファイルや指定ã?—ã?Ÿãƒ­ã‚°ãƒ•ァイルã?«ã?‚ã‚‹SQLæ–‡ã?®å®Ÿè¡Œæ™‚間を知るã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚

ã?“ã?®è¨ºæ–­é–¢æ•°ã‚’使ã?†ã?“ã?¨ã?§ã€?アプリケーションã?®JDBCコードã?®ã?©ã?“ã?«ãƒœãƒˆãƒ«ãƒ?ックã?Œã?‚ã‚‹ã?‹ã?®ã€?手ã?Œã?‹ã‚Šã‚’å¾—ã‚‹ã?“ã?¨ã?Œã?§ã??ã?¾ã?™ã€‚

SYSCS_DIAG.STATEMENT_DURATION診断表関数を使ã?†ã?«ã?¯ã€?SQLã?®è¡¨é–¢æ•°æ§‹æ–‡ã?«åŸºã?¥ã??å¿…è¦?ã?Œã?‚りã?¾ã?™ã€‚

例を挙���。
SELECT * 
    FROM TABLE (SYSCS_DIAG.STATEMENT_DURATION()) 
    AS T1
ã?“ã?“ã?§T1ã?¯ãƒ¦ãƒ¼ã‚¶ã?ŒæŒ‡å®šã?—ã?Ÿè¡¨å??ã?§ã€?ä»»æ„?ã?®è­˜åˆ¥å­?を指定ã?§ã??ã?¾ã?™ã€‚
制約事項: ��表���個々�トランザクションID���る最後�文毎��行�対応�����ん。トランザクション�よる情報�変更����場��トランザクションID�コミットやロール�ンク��後�値�変�り��。

SYSCS_DIAG.STATEMENT_DURATION診断表関数ã?«ã?¯éš?æ„?ã?®å¼•æ•°ã?¨ã?—ã?¦ãƒ­ã‚°ãƒ•ァイルを指定ã?§ã??ã?¾ã?™ã€‚ ログファイルå??を指定ã?—ã?Ÿå ´å?ˆã€?ファイルå??ã?¯Javaã?®æ–‡å­—列ã?¨ã?¿ã?ªã?›ã‚‹å¼?ã?§ã?ªã?‘れã?°ã?ªã‚Šã?¾ã?›ã‚“。

例を挙���。
SELECT * 
    FROM TABLE (SYSCS_DIAG.STATEMENT_DURATION('somederby.log')) 
    AS T1
ヒント: 既定ã?§ã?¯Derbyã?®ãƒ­ã‚°ãƒ•ァイルã?«ã?¯èµ·å‹•ã€?終了ã€?エラーメッセージã? ã?‘ã?Œå‡ºåŠ›ã?•れã?¾ã?™ã€‚ より詳細ã?ªæƒ…報をDerbyã?®ãƒ­ã‚°ãƒ•ァイルã?«å‡ºåŠ›ã?™ã‚‹æ–¹æ³•ã?¯ã€?Derbyã?®ãƒ?ューニングガイドã?®derby.stream.error.logSeverityLevel属性ã?¨ã€?derby.language.logStatementText属性を読んã?§ã??ã? ã?•ã?„。 ã??れ以外ã?®æƒ…報もã?‚れã?°ã€?SYSCS_DIAG.STATEMENT_DURATION診断表関数ã?§å•?ã?„å?ˆã‚?ã?›å?¯èƒ½ã?§ã?™ã€‚

SYSCS_DIAG.TRANSACTION_TABLE 診断表

SYSCS_DIAG.TRANSACTION_TABLE診断表ã?«ã?¯ç?¾åœ¨ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã?«å­˜åœ¨ã?™ã‚‹å…¨ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã?Œè¨˜è¿°ã?•れã?¾ã?™ã€‚SYSCS_DIAG.TRANSACTION_TABLE診断表ã?¯æ–‡ã?‹ã‚‰ç›´æŽ¥å?‚ç…§ã?§ã??ã?¾ã?™ã€‚

例を挙���。
SELECT * FROM SYSCS_DIAG.TRANSACTION_TABLE

文��SYSCS_DIAG.TRANSACTION_TABLE診断表��照�れる��トランザクション表�スナップショット�撮られ��。スナップショット�診断表を�照��も�アプリケーション�通常処�時間や処���れ�影響�出��よ�用��れ��。トランザクション�スナップショット�作�時�状態�移中��る場�も�り��。