DTO を使用した Zen サーバーの監視
以下のトピックでは、Distributed Tuning Objects の監視グループを構成するオブジェクトについて説明します。
DtoMonitor オブジェクト
このオブジェクトは Zen サーバーに関する使用情報を提供します。このオブジェクトは、その他すべての監視操作のルート オブジェクトです。
プロパティ
CurClients
セッションの現在のクライアント数を返します。
CurFilesInUse
セッションで現在使用中のファイル数を返します。
CurHandlesInUse
セッションで現在使用中のハンドル数を返します。
CurLicensesInUse
セッションで現在使用中のライセンス数を返します。
CurLicDataInUseMB
使用データの現在値をメガバイト(MB)単位で返します。DTO2 のみ。
CurLocksInUse
セッションで現在使用中のロック数を返します。
CurSessionCountInUse
現在使用中のセッション数(現在のセッション数)を返します。DTO2 のみ。
CurThreads
セッションのスレッド数を返します。
CurTransInUse
セッションで現在開いているトランザクションの数を返します。
EngineUpTimeSecs
データベース エンジンの実行時間を秒数で返します。DTO2 のみ。
MaxClients
セッションの最大クライアント数を返します。
MaxFiles
セッションの最大ファイル数を返します。
MaxHandles
セッションの最大ハンドル数を返します。
MaxLicenses
セッションのユーザー ライセンス数を返します。
MaxLicDataMB
使用データの許容最大サイズ(使用データの制限値)をメガバイト(MB)で返します。16 進値 0xFFFFFFFF は無制限を意味します。DTO2 のみ。
MaxSessionCount
ライセンスによって許可される最大セッション数(セッション数の制限値)を返します。16 進値 0xFFFFFFFF は無制限を意味します。DTO2 のみ。
MaxThreads
セッションの最大スレッド数を返します。
MaxTrans
セッションの最大トランザクション数を返します。
PeakClients
セッションのクライアント数のピーク値を返します。
PeakFilesInUse
セッションで使用中のファイル数のピーク値を返します。
PeakHandlesInUse
セッションで使用中のハンドル数のピーク値を返します。
PeakLicensesInUse
セッションで使用中のライセンス数のピーク値を返します。
PeakLicDataInUseMB
同時に使用されているデータの最大値をメガバイト(MB)単位で返します。DTO2 のみ。
PeakLocksInUse
セッションで使用中のロック数のピーク値を返します。
PeakSessionCountInUse
同時に使用されているセッションの最大数を返します。DTO2 のみ。
PeakThreads
セッションのスレッド数のピーク値を返します。
PeakTransInUse
セッションで使用中のトランザクション数のピーク値を返します。
コレクション
オブジェクト
メソッド
なし
'セッションのインスタンスを作成し、サーバーに接続する
Dim my_session as new DtoSession
Dim result as DtoResult
result = my_session.Connect("myserver", "username", "password")
 
'DtoSession から DtoMonitor オブジェクトを取得する
Dim session_monitor as DtoMonitor
Set session_monitor = my_session.Monitor
 
'現在使用中のファイルを取得する
Dim current_files as long
current_files = session_monitor.CurFilesInUse
関連項目
DtoOpenFiles コレクション
現在開いているファイルを表す DtoOpenFile オブジェクトのコレクションです。
プロパティ
Count
コレクション内のメンバー数を返します。
Item
DtoOpenFiles コレクションの特定のメンバーを返します。
メソッド
なし
備考
Count プロパティを使用してコレクション内のメンバー数を調べます。
DtoMonitor オブジェクトのプロパティを使って DtoOpenFiles コレクションを取得することができます。
'セッションのインスタンスを作成して接続する
Dim my_session as new DtoSession
Dim result as DtoResult
result = my_session.Connect("myserver", "username", "password")
 
'セッションからモニター オブジェクトを取得する
Dim my_monitor as DtoMonitor
Set my_monitor = my_session.Monitor
 
'モニターから開いているファイルを取得する
Dim my_openfiles as DtoOpenFiles
Set my_openfiles = my_monitor.OpenFiles
関連項目
DtoOpenFile オブジェクト
開いているファイルを表すオブジェクトです。
プロパティ
ActiveCursors
開いているファイルのアクティブ カーソル数を返します。
AFLIndex
開いているファイルの AFL Index を返します。
ContinuousOps
開いているファイルが Continuous オペレーションを使用しているかどうかを返します。
FileName
開いているファイルに関連付けられているファイル名を返します。
IsLocked
開いているファイルがロックされているかどうかを返します。
0 = ロックされていません
1 = ロックされています
IsReadOnly
開いているファイルが読み取り専用かどうかを返します。
0 = 読み取り専用ではありません
1 = 読み取り専用です
IsTrans
開いているファイルがトランザクション状態かどうかを返します。
0 = No
1 = Yes
Monitor
開いているファイルに関連付けられている DtoMonitor オブジェクトを返します。
OpenMode
開いているファイルのオープン モードを返します。
OpenModeName
OpenMode のテキスト バージョンを返します。
PageSize
開いているファイルのページ サイズを返します。
PhysFileSizeKB
ファイルの物理サイズをキロバイト(KB)で返します。DTO2 のみ。
ReferentialIntegrity
開いているファイルに参照整合性が設定されているかどうかを返します。
0 = No
1 = Yes
TimeStamp
開いているファイルのタイム スタンプを返します。
TTSFlag
今後の使用に備えて予約されています。
メソッド
なし
コレクション
備考
このオブジェクトは現在開いているファイルを表します。開いているすべてのファイルのコレクションの場合は、DtoOpenFiles コレクションを使用します。
Dim my_session as new DtoSession
Dim is_read_only as Boolean
Dim my_monitor as DtoMonitor
Dim my_openfiles as DtoOpenFiles
Dim first_file as DtoOpenFile
Dim result as DtoResult
 
result = my_session.Connect("myserver", "username", "password")
Set my_monitor = my_session.Monitor
Set my_openfiles = my_monitor.OpenFiles
Set first_file = my_openfiles(1)
is_read_only = first_file.IsReadOnly
関連項目
DtoFileHandles コレクション
開いているファイルのすべてのファイル ハンドルを表す DtoFileHandle オブジェクトのコレクションです。
プロパティ
Count
コレクション内のメンバー数を返します。
Item
DtoFileHandles コレクションの特定のメンバーを返します。
メソッド
なし
備考
Count プロパティを使用してコレクション内のメンバー数を調べます。
Dim my_session as new DtoSession
Dim my_monitor as DtoMonitor
Dim my_openfiles as DtoOpenFiles
Dim first_file as DtoOpenFile
Dim my_handles as DtoFileHandles
Dim result as DtoResult
 
result = my_session.Connect("myserver", "username", "password")
Set my_monitor = my_session.Monitor
Set my_openfiles = my_monitor.OpenFiles
Set first_file = my_openfiles.Item(1)
Set my_handles = first_file.FileHandles
関連項目
DtoFileHandle オブジェクト
開いているファイルのファイル ハンドルを表すオブジェクトです。
プロパティ
ClientIndex
ファイル ハンドルのインデックスを返します。
IsLocked
ファイル ハンドルがロックされているかどうかを返します。
IsWaiting
ファイル ハンドルのウェイト状態を返します。
OpenMode
ファイル ハンドルのオープン モードを返します。
OpenModeName
OpenMode のテキスト バージョンを返します。
TransState
トランザクション状態を返します。
UserName
ファイル ハンドルに関連付けられているユーザー名を返します。
メソッド
なし
備考
DtoFileHandles コレクションを使って、開いているファイルのすべてのファイル ハンドルを取得します。
Dim my_session as new DtoSession
Dim my_openfiles as DtoOpenFiles
Dim first_file as DtoOpenFile
Dim my_handles as DtoFileHandles
Dim first_handle as DtoFileHandle
Dim locked_state as Boolean
Dim result as DtoResult
 
result = my_session.Connect("myserver", "username", "password")
Set my_monitor = my_session.Monitor
Set my_openfiles = my_monitor.OpenFiles
Set first_file = my_openfiles.Item(1)
Set my_handles = first_file.FileHandles
Set first_handle = my_handles.Item(1)
locked_state = first_handle.IsLocked
関連項目
DtoMkdeClients コレクション
MicroKernel エンジン クライアント オブジェクトのコレクションです。
プロパティ
Count
コレクション内のメンバー数を返します。
Item
DtoMkdeClients コレクションの特定のメンバーを返します。
メソッド
なし
備考
Count プロパティを使用してコレクション内のメンバー数を調べます。
'セッションのインスタンスを作成して接続する
Dim my_session as new DtoSession
Dim result as DtoResult
 
result = my_session.Connect("myserver", "username", "password")
 
'セッションからモニター オブジェクトを取得する
Dim my_monitor as DtoMonitor
Set my_monitor = my_session.Monitor
 
'モニターから MicroKernel エンジン クライアントを取得する
Dim my_mkdeclients as DtoMkdeClients
Set my_mkdeclients = my_monitor.MkdeClients
関連項目
DtoMkdeClient オブジェクト
アクティブな MicroKernel エンジン クライアントを表すオブジェクトです。
プロパティ
BtrvID
MicroKernel エンジン クライアントの Btrieve ID を返します。
CacheAccesses
MicroKernel エンジン クライアントのキャッシュ アクセス数を返します。
ClientPlatform
MicroKernel エンジン クライアントのクライアント プラットフォーム列挙を返します。可能な値については、クライアント プラットフォームを参照してください。
ClientPlatformName
ClientPlatform のテキスト バージョン返します。
ClientSite
MicroKernel エンジン クライアントのクライアント サイトを返します。
ConnectionNumber
MicroKernel エンジン クライアントの接続番号を返します。
CurrentLocks
MicroKernel クライアントの現在のロック数を返します。
DiskAccesses
MicroKernel エンジン クライアントのディスク アクセス数を返します。
NetAddress
MicroKernel エンジン クライアントのアドレスを返します。
NumCursors
MicroKernel エンジン クライアントのカーソル数を返します。
RecordsDeleted
MicroKernel エンジン クライアントの削除済みレコード数を返します。
RecordsInserted
MicroKernel エンジン クライアントの挿入レコード数を返します。
RecordsRead
MicroKernel エンジン クライアントの読み取りレコード数を返します。
RecordsUpdated
MicroKernel エンジン クライアントの更新レコード数を返します。
ServiceAgentID
MicroKernel エンジン クライアントのサービス エージェント ID を返します。
TaskNumber
MicroKernel エンジン クライアントのタスク番号を返します。
TransLevel
MicroKernel エンジン クライアントのトランザクション レベルを返します。
TransState
トランザクション状態の列挙を返します。可能な値については、トランザクション タイプを参照してください。
UserName
MicroKernel エンジン クライアントのユーザー名を返します。
コレクション
メソッド
備考
すべての MicroKernel エンジン クライアントを取得するには、DtoMkdeClients コレクションを使用します。
'セッションのインスタンスを作成して接続する
Dim my_session as new DtoSession
Dim result as DtoResult
result = my_session.Connect("myserver", "username", "password")
'セッションからモニター オブジェクトを取得する
Dim my_monitor as DtoMonitor
my_monitor = my_session.Monitor
 
'モニターから MicroKernel エンジン クライアントを取得する
Dim my_mkdeclients as DtoMkdeClients
Set my_mkdeclients = my_monitor.MkdeClients
 
'最初のクライアントを取得し、プロパティを照会する
Dim first_client as DtoMkdeClient
Dim num_locks as long
Set first_client = my_mkdeclients.Item(1)
num_locks = first_client.CurrentLocks
関連項目
メソッドの詳細
Disconnect
特定の MicroKernel エンジン クライアントの接続を切断します。
構文
result = Object.Disconnect
引数
In
Object
DtoMkdeClient オブジェクト
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
接続を切断する MicroKernel エンジン クライアントごとにこのメソッドを呼び出します。
Dim result as DtoResult
result = my_mkdeclient.Disconnect
DtoMkdeClientHandles コレクション
DtoMkdeClientHandle オブジェクトのコレクションです。
プロパティ
Count
コレクション内のメンバー数を返します。
Item
DtoMkdeClientHandles コレクションの特定のメンバーを返します。
メソッド
なし
備考
Count プロパティを使用してコレクション内のメンバー数を調べます。
'セッションのインスタンスを作成して接続する
Dim my_session as new DtoSession
Dim result as DtoResult
result = my_session.Connect("myserver", "username", "password")
 
'セッションからモニター オブジェクトを取得する
Dim my_monitor as DtoMonitor
Set my_monitor = my_session.Monitor
 
'モニターから MicroKernel エンジン クライアントを取得する
Dim my_mkdeclients as DtoMkdeClients
Set my_mkdeclients = my_monitor.MkdeClients
 
'最初のクライアントを取得し、そのクライアント ハンドルを取得する
Dim first_client as DtoMkdeClient
Dim my_clienthandles as DtoMkdeClientHandles
Set first_client = my_mkdeclients(1)
'すべてのハンドルを取得する場合は、ClientHandles コレクションを使用する
Set my_clienthandles = first_client.ClientHandles
 
'コレクション内のメンバー数を調べる
Dim num_clienthandles as Long
num_clienthandles = my_clienthandles.Count
関連項目
DtoMkdeClientHandle オブジェクト
MicroKernel クライアント ハンドルを表すオブジェクトです。
プロパティ
FileName
MicroKernel クライアント ハンドルに関連付けられているファイル名を返します。
LockType
MicroKernel クライアント ハンドルのロック状態の列挙を返します。可能な値については、ロック タイプを参照してください。
OpenMode
MicroKernel クライアント ハンドルのオープン モードの列挙を返します。可能な値については、オープン モードを参照してください。
OpenModeName
OpenMode のテキスト バージョンを返します。
TransState
トランザクション状態を返します。
WaitState
MicroKernel クライアント ハンドルのウェイト状態の列挙を返します。可能な値については、ウェイト状態を参照してください。
メソッド
なし
備考
特定のクライアントのすべての MicroKernel クライアント ハンドルを取得するには、DtoMkdeClientHandles コレクションを使用します。
'セッションのインスタンスを作成して接続する
Dim my_session as new DtoSession
Dim result as DtoResult
result = my_session.Connect("myserver", "username", "password")
 
'セッションからモニター オブジェクトを取得する
Dim my_monitor as DtoMonitor
Set my_monitor = my_session.Monitor
 
'モニターから MicroKernel エンジン クライアントを取得する
Dim my_mkdeclients as DtoMkdeClients
Set my_mkdeclients = my_monitor.MkdeClients
 
'最初のクライアントを取得し、そのクライアント ハンドルを取得する
Dim first_client as DtoMkdeClient
Dim my_clienthandles as DtoMkdeClientHandles
Set first_client = my_mkdeclients(1)
Set my_clienthandles = first_client.MkdeClientHandles
 
'コレクション内のメンバー数を調べる
Dim num_clienthandles as long
num_clienthandles = my_clienthandles.Count
 
'最初のクライアント ハンドルを取得し、ファイル名を照会する
Dim first_clienthandle as DtoMkdeClientHandle
Dim fileName as string
Set first_clienthandle = my_clienthandles(1)
fileName = first_clienthandle.FileName
関連項目
DtoCommStat オブジェクト
サーバーの使用情報を表すオブジェクトです。
プロパティ
CurActiveThreads
セッションの現在のアクティブ スレッド数を返します。
CurQueuedRequests
セッションの待ち行列に入れられるリクエスト数を返します。
CurRemoteSessions
セッションまたはプロトコルの待ち行列に入れられるリクエスト数を返します。
MaxActiveThreads
セッションの最大アクティブ スレッド数を返します。
MaxQueuedRequests
セッションの待ち行列に入れられるリクエスト数の最大値を返します。
MaxRemoteSessions
セッションの最大リモート セッション数を返します。
PeakActiveThreads
セッションのアクティブ スレッド数のピーク値を返します。
PeakQueuedRequests
セッションの待ち行列に入れられるリクエスト数のピーク値を返します。
PeakRemoteSessions
セッションのリモート セッション数のピーク値を返します。
RequestsProcessed
セッションで処理されるリクエストの総数を返します。
TotalTimeOuts
DTO2 のみ:通信タイム アウトの総数を返します。
TotalRecoveries
DTO2 のみ:Zen Auto Reconnect(自動再接続の有効化)機能を使用して再接続する総数を返します。詳細については、『Advanced Operations Guide』を参照してください。
コレクション
オブジェクト
メソッド
なし
備考
このオブジェクトのすべてのプロパティは Long 型整数の値を返します。
'セッションのインスタンスを作成して接続する
Dim my_session as new DtoSession
Dim result as DtoResult
result = my_session.Connect("myserver", "username", "password")
 
'セッションからモニター オブジェクトを取得する
Dim my_monitor as DtoMonitor
Set my_monitor = my_session.Monitor
 
'CommStat オブジェクトを取得する
Dim my_commstat as DtoCommStat
Set my_commstat = my_monitor.MkdeCommStat
 
'処理されたリクエストの総数を取得する
Dim requests as long
requests = my_commstat.RequestsProcessed
関連項目
DtoProtocolStats コレクション
DtoProtocolStat オブジェクトのコレクションです。
プロパティ
Count
コレクション内のメンバー数を返します。
Item
コレクションの特定のメンバーを返します。
メソッド
なし
備考
Count プロパティを使用してコレクション内のメンバー数を調べます。
'セッションのインスタンスを作成して接続する
Dim my_session as new DtoSession
Dim result as DtoResult
result = my_session.Connect("myserver", "username", "password")
 
'セッションからモニター オブジェクトを取得する
Dim my_monitor as DtoMonitor
Set my_monitor = my_session.Monitor
 
'モニター オブジェクトから CommStat オブジェクトを取得する
Dim my_commstat as DtoCommStat
Set my_commstat = my_monitor.MkdeCommStat
 
'CommStat から ProtocolStats コレクションを取得する
Dim my_protocols as DtoProtocolStats
Set my_protocols = my_commstat.ProtocolStats
関連項目
DtoProtocolStat オブジェクト
通信プロトコルに関する情報を提供します。
プロパティ
CurRemoteSessions
セッションまたはプロトコルの待ち行列に入れられるリクエスト数を返します。
PeakRemoteSessions
セッションまたはプロトコルのリモート セッション数のピーク値を返します。
ProtocolID
プロトコルの ID を返します。現在は次のリターン コードのみがサポートされています。4 – WINSOCK TPC/IP
RequestsProcessed
セッションまたはプロトコルで処理されるリクエストの総数を返します。
メソッド
なし
備考
このオブジェクトを使って特定のプロトコルにアクセスするには、まず DtoMonitor オブジェクトDtoCommStat オブジェクトを使用して DtoProtocolStats コレクションを取得します。
このオブジェクトのすべてのプロパティは Long 型整数の値を返します。
このプロパティを使用して処理されたリクエスト数を取得するには、次のように記述します。
num_requests = Object.RequestsProcessed
現在のリモート セッション数を取得するには、次のように記述します。
RemoteSess_count = Object.CurRemoteSessions
関連項目
DtoSqlClients コレクション
サーバーのすべての SQL クライアントを表す DtoSqlClient オブジェクトのコレクションです。
プロパティ
Count
コレクション内のメンバー数を返します。
Item
コレクションの特定のメンバーを返します。
メソッド
なし
備考
Count プロパティを使用してコレクション内のメンバー数を調べます。
'セッションのインスタンスを作成して接続する
Dim my_session as new DtoSession
Dim result as DtoResult
result = my_session.Connect("myserver", "username", "password")
 
'セッションからモニター オブジェクトを取得する
Dim my_monitor as DtoMonitor
Set my_monitor = my_session.Monitor
 
'モニター オブジェクトから SQL クライアントを取得する
Dim my_sqlclients as DtoSqlClients
Set my_sqlclients = my_monitor.SqlClients
関連項目
DtoSqlClient オブジェクト
SQL クライアントに関する情報の照会および SQL クライアントの接続を切断することができます。
プロパティ
AppDesc
SQL クライアントを作成したアプリケーションの説明を返します。
ConnectTime
SQL クライアントの接続時間を返します。
CurStatusTime
最後のステータス以降の経過時間を返します。
DSN
SQL クライアントに関連付けられる DSN を返します。
HostName
SQL クライアントのホスト名を返します。
IP
SQL クライアントの IP を返します。
ProcessID
SQL クライアントのプロセス ID を返します。
Status
SQL クライアントの状態を返します。
ThreadId
SQL クライアントのスレッド ID を返します。
UserName
SQL クライアントに関連付けられているユーザー名を返します。
メソッド
備考
現在の SQL クライアントをすべて取得するには、DtoSqlClients コレクションを使用します。
'セッションのインスタンスを作成して接続する
Dim my_session as new DtoSession
Dim result as DtoResult
result = my_session.Connect("myserver", "username", "password")
 
'セッションからモニター オブジェクトを取得する
Dim my_monitor as DtoMonitor
Set my_monitor = my_session.Monitor
 
'モニター オブジェクトから SQL クライアントを取得する
Dim my_sqlclients as DtoSqlClients
Set my_sqlclients = my_monitor.SqlClients
 
'コレクションから最初のクライアントを取得し、
'それに関連付けられている DSN を見つける
Dim first_sqlclient as DtoSqlClient
Dim DSNname as string
Set first_sqlclient = my_sqlclients(1)
DSNname = first_sqlclient.DSN
関連項目
メソッドの詳細
Disconnect
特定の SQL クライアントの接続を切断します。
構文
result = Object.Disconnect
引数
Object
DtoSqlClient オブジェクト
戻り値
result
メソッド呼び出しの結果を示す DtoResult(Long 型の値)。DtoSession オブジェクトError プロパティを使って結果の説明を取得します。
備考
接続を切断する SQL クライアントごとにこのメソッドを呼び出します。
result = my_sqlclient.Disconnect
DtoMkdeVersion オブジェクト
DTO2 のみ:MicroKernel エンジンのバージョンを表すオブジェクトです。
プロパティ
MajorVersion
エンジンのメジャー バージョンを返します。
MinorVersion
エンジンのマイナー バージョンを返します。
BuildNumber
MicroKernel エンジン リリースのビルド番号
OSTarget
対象オペレーティング システムが Windows の場合は NTSV、Unix システムの場合は UXSV を返します。
メソッド
なし
備考
DtoMonitor オブジェクトのプロパティを使って DtoMkdeVersion オブジェクトを取得することができます。
'セッションのインスタンスを作成して接続する
Dim my_session as new DtoSession
Dim result as DtoResult
result = my_session.Connect("myserver", "username", "password")
 
'セッションからモニター オブジェクトを取得する
Dim my_monitor as DtoMonitor
Set my_monitor = my_session.Monitor
 
'モニターから MkdeVersion オブジェクトを取得する
Dim my_mkdeversion as DtoMkdeVersion
MajorVer = my_mkdeversion.MajorVersion
関連項目
DtoEngineInformation オブジェクト
DTO2 のみ:データベース エンジンに関する情報を表すオブジェクトです。
プロパティ
MajorVersion
エンジンのメジャー バージョンを返します。
MinorVersion
エンジンのマイナー バージョンを返します。
dbuApiVersion
DTI/DTO インターフェイスのバージョン
IsServerEngine
ターゲットが(ワークグループ エンジンではなく)サーバー エンジンの場合は True を返します。
ServerClientType
次のいずれか 1 つが返されます。
0 = UNKNOWN_ENGINE_CLIENT
1 = NT_SERVER
3 = WIN32_CLIENT
4 = UNIX_SERVER
5 = CACHE_ENGINE_CLIENT
6 = VXWIN_SERVER
7 = VXLINUX_SERVER
9 = REPORT_ENGINE
メソッド
なし
備考
DtoSession オブジェクトのプロパティを使って DtoEngineInformation オブジェクトを取得することができます。
'セッションのインスタンスを作成して接続する
Dim my_session as new DtoSession
Dim result as DtoResult
result = my_session.Connect("myserver", "username", "password")
 
'セッションからエンジン情報を取得する
Dim my_engineInfo as DtoEngineInformation
Set my_engineInfo = my_session.EngineInformation
 
'エンジン情報のオブジェクトからクライアントのタイプを取得する
clientType = my_engineInfo.ServerClientType
関連項目
最終更新日: 2024年07月08日