この章では、まず、次の各項で、大多数のTimesTenユーティリティの概要を説明し、その後にリファレンス情報を示します。
TimesTen Scaleoutでのみサポートされるユーティリティの詳細は、第4章「TimesTen Scaleoutのユーティリティ」を参照してください。
TimesTenユーティリティのオプションでは、1文字のオプションを除いて、大/小文字は区別されません。-connstrと-connStrは同じ意味で使用できます。ただし、-vと-Vはそれぞれ一意のオプションです。
すべてのユーティリティでは、成功した場合は0が返され、エラーが発生した場合は0以外が返されます。
|
ノート: この章に示されているユーティリティ名およびオプションでは、大/小文字は区別されません。これらは、例および構文の記述をわかりやすくするために、大/小文字混在で示されています。 |
表5-1にリストされているユーティリティの詳細は、第4章「TimesTen Scaleoutのユーティリティ」を参照してください。
表5-2にリストされているユーティリティについては、この章で説明します。
表5-1 TimesTen Scaleoutでのみサポートされるユーティリティの説明
| 名前 | 説明 |
|---|---|
|
|
TimesTen Scaleoutグリッドを管理します。 |
|
|
新規グリッドおよびデータベースを作成します。 |
| 名前 | 説明 | TimesTen Scaleoutでの使用 |
|---|---|---|
|
|
データベース・ポリシーを指定または変更します。 |
No |
|
|
TimesTenインストールのデータベースを、メジャー・リリースが同じでマイナー・リリースが異なる新しいTimesTenインストールに移動します。 |
No |
|
|
データベースのバックアップ・コピーを作成します(これにより、後で |
No |
|
|
TimesTen表とASCIIファイルとの間でデータをコピーします。 |
No |
|
|
TimesTenの状態に関する情報を取得します。 |
No |
|
|
TimesTenデータベースの内部一貫性チェックを行います。 |
No |
|
|
Oracle Clusterwareの高可用性フレームワークを利用するTimesTenアクティブ・スタンバイ・ペアを管理します。 |
No |
|
|
TimesTenのメイン・デーモンおよびサーバーを起動および停止します。 |
No |
|
|
デーモン・ログ・メッセージを制御および表示します。 |
No |
|
|
すべてのチェックポイント・ファイル、トランザクション・ログおよびデーモン・カタログ・エントリを含むデータベースを破棄します。 |
No |
|
|
TimesTenのインストールに含まれるすべてのファイルを調べ、インストールのシグネチャを生成します。 |
Yes |
|
|
指定された入力ファイルにリストされている1つ以上のエントリに対して、WindowsクライアントDSNを生成して、ODBCパネルにシステムDSNとしてインストールします。 |
Yes |
|
|
新しいTimesTenインスタンスを作成します。 |
Yes |
|
|
既存のTimesTenインスタンスを破棄します。 |
Yes |
|
|
インスタンスの特定の属性を変更します。 |
Yes |
|
|
SQL文を対話型で実行します。 |
Yes |
|
|
TimesTenオブジェクトを保存およびリストアします。 |
可。ただし、TimesTen ClassicからTimesTen Scaleoutへの移行の場合のみ。 |
|
|
既存のレプリケーション定義とステータスを表示、設定、変更および監視します。 |
No |
|
|
|
No |
|
|
データベースのスキーマまたは選択されたオブジェクトを出力します。 |
Yes |
|
|
指定した表(データベース内のビューを含む)に指定された数の行が追加されて、サイズが大きくなったときの領域の消費量を見積もります。 |
Yes |
|
|
データベース・メトリックを監視するか、メトリックのスナップショットを取得して比較します。 |
Yes |
|
|
TimesTenの現在の状態を説明する情報を表示します。 |
No |
|
|
データベースからTimesTenの内部トレース情報をフェッチして、 |
No |
|
|
TimesTenの内部トレース機能を有効または無効にします。 |
No |
|
|
パスワードの入力を要求し、暗号化されたパスワードを返します。 |
なし |
|
|
TimesTenリリース情報をリストします。 |
Yes |
|
|
未処理の各トランザクションの所有者、ステータス、ログおよびロックの情報を表示します。 |
No |
|
|
TimesTenトランザクション・ログのコンテンツの形式が整えられたダンプを表示します。 |
No |
説明
このユーティリティを使用すると、次の操作を実行できます。
ttAdminのオプション、バージョンおよび設定に関する情報を取得する。help、versionおよびqueryオプションを参照してください。
データベースのロードおよびRAMロード・ポリシーの設定を指定する。データベース・ロード・ポリシーの設定を参照してください。
ユーザー接続に対するデータベースをオープンまたはクローズします。「データベースのオープンまたはクローズ」を参照してください。
既存のデータベース接続に対して強制的な切断処理を実行します。強制切断を参照してください。
Oracle Database表からデータをキャッシュするために、TimesTenキャッシュ・エージェントの開始と停止を行う。キャッシュ・エージェントは、TimesTenデータベースのために、Oracle Databaseへのアクセスを行うプロセスです。また、TimesTenデータベース内のキャッシュ・グループのエージングと自動リフレッシュも行います。キャッシュ・ポリシーの設定を参照してください。
指定したデータベースのレプリケーション・エージェントを自動または手動で開始および停止する設定を指定する。レプリケーション・ポリシーの設定を参照してください。
必要な権限
このユーティリティでは、データベースを問い合せるための権限は必要ありません。
オープン・オプションとクローズ・オプションには、インスタンス管理者権限が必要です。
レプリケーション・オプションにはADMIN権限が必要です。
キャッシュ・オプションには、CACHE_MANAGER権限が必要です。
それ以外のオプションには、ADMIN権限が必要です。
構文
ttAdmin {-h | -help | -?}
ttAdmin {-V | -version}
ttAdmin -query {-connStr connection_string | DSN}
ttAdmin [-ramPolicy always | manual | inUse [-ramGrace secs]]
[-ramLoad | -ramUnload]
[-autoreload | -noautoreload]
{-connStr connection_string | DSN}
ttAdmin [-open | -close]
[-ramLoad]
{-connStr connection_string | DSN}
ttAdmin [-disconnect urgency [granularity]] {-connStr connection_string | DSN}
urgency: -transactional | -immediate | -abort
granularity: -users | -unload
ttAdmin [-repPolicy always | manual | norestart]
[-repStart | -repStop]
[-repQueryThresholdSet secs]
[-repQueryThresholdGet]
{-connStr connection_string | DSN}
ttAdmin [
[-cacheUidGet] |
[-cacheUidPwdSet -cacheUid uid [-cachePwd pwd]] |
[-cachePolicy always | manual | norestart] |
[-cacheStart] | [-cacheStop [-stopTimeout secs]]
]
{-connStr connection_string | DSN}
ノート
次のノートは、ttAdmin使用時のすべてのモードに適用されます。
TimesTenデータベースの場所は常にフルパスで指定します。相対パスが指定された場合、TimesTenではデーモンの作業ディレクトリtimesten_home/infoに相対的に参照します。
設定する環境変数の詳細は、Oracle TimesTen In-Memory Databaseインストレーション、移行およびアップグレード・ガイドの環境変数を参照してください。
このユーティリティはTimesTen Data Manager DSNでのみ使用できます。TimesTen Client DSNではサポートされていません。
オプション
ttAdminには、ヘルプ、バージョンおよび情報の設定のための次のオプションがあります。
| オプション | 説明 |
|---|---|
-h -help
|
使用方法の情報、構文およびオプションの説明を出力します。 |
-V | -version |
ttAdminのTimesTenリリース番号を出力し、終了します。 |
-query |
指定されたデータベースに対するポリシー設定のサマリーを表示します。 |
-connStr connection_string |
-queryの場合、データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列。 |
DSN |
-queryの場合、管理するデータベースのODBCデータソース名。 |
例
ttAdminのバージョンを取得するには、次のコマンドを実行します。
% ttAdmin -version TimesTen Release 18.1.4.1.0
ttAdminのヘルプを表示するには、次のコマンドを実行します。
% ttAdmin -help
Usage:
ttAdmin [-h | -help | -?]
ttAdmin [-V | -version]
ttAdmin [-ramUnload | -ramLoad [-open | -close]]
[-ramPolicy always | manual | inUse [-ramGrace <secs>]]
[-autoreload | -noautoreload]
[-disconnect { -transactional | -immediate | -abort }
[-users | -unload]
]
[-repPolicy always | manual | norestart]
[-repStart | -repStop]
[-repQueryThresholdSet <seconds>]
[-repQueryThresholdGet]
[
[-cacheUidGet] |
[-cacheUidPwdSet -cacheUid <uid> [-cachePwd <pwd>]] |
[-cachePolicy always | manual | norestart] |
[-cacheStart] |
[-cacheStop [-stopTimeout <secs>]]
]
[-query]
{<DSN> | [-connstr] <connStr>}
options:
[...Option descriptions not shown...]
database1 DSNのポリシーの設定のサマリーを表示するには、次のコマンドを実行します。
% ttAdmin -query database1 RAM Residence Policy : inUse Replication Agent Policy : manual Replication Manually Started : False Cache Agent Policy : manual Cache Agent Manually Started : False Database State : Open
オプション
ttAdminには、データベースのロードおよびRAMのロードのための次のオプションがあります。
例
database1をRAMにロードするかどうかを手動で制御し、すぐにロードするには、次のコマンドを実行します。
% ttAdmin -ramPolicy manual -ramLoad database1
通常、database1データベースは、RAMに常駐しています。ただし、これは常に使用されるわけではないため、アプリケーションが接続するときにのみロードすることをお薦めします。RAMポリシーを変更するには、次のコマンドを実行します。
ttAdmin -ramPolicy inUse database1
ここで、database1は常に使用されるわけではないとします。これを永続的にRAMにロードしていると、不必要にメモリーが使用されることがあります。このデータベースは、長期にわたりアイドル状態にありますが、使用される場合は、連続して複数のユーザーから接続されます。パフォーマンスを向上させるには、アプリケーションからの接続時にデータベースをRAMに格納し、最後のユーザーが切断した後、RAM内でそれを5分間(300秒間)保持するようにします。このRAMポリシーでは、アプリケーションがデータベースに接続している場合には、データベースはRAMに保持されます。このポリシーを設定するには、次のコマンドを実行します。
% ttAdmin -ramPolicy inUse -ramGrace 300 History
パフォーマンスが重要な一部のアプリケーションでは、DSN database1によって参照されるデータベースが使用されています。データベースがディスクからRAMにロードされるのをアプリケーションが待機する必要がないように、このデータベースは常時RAMに存在している必要があります。これを行うには、次のコマンドを実行します。
% ttAdmin -ramPolicy always database1
ノート
データベースのサイズが大きい本番システム用のRAMポリシーをinUseに設定すると、パフォーマンスの問題が発生し、データベースのアンロードや再ロードが予期せず行われる可能性があります。
一時データベースをサポートする-ramPolicy値は、-ramLoadオプションを同時に使用した-ramPolicy manualのみです。
ttAdminに-ramPolicy alwaysオプションを指定して使用すると、データベースに永続的なシステム接続が作成されます。
RAMポリシーalwaysは、強制切断のgranularityのunloadと競合します(強制切断を参照)。両方を同時に使用するとエラーが発生し、切断要求は無視されます。
always RAMポリシーは注意して使用する必要があります。障害が発生した場合、データベースを自動的にリロードすることが有益であるとはかぎりません。また、システムのブート時にすべてのデータベースが同時にロードされると、システム起動のパフォーマンスに影響を与える場合があります。
詳細は、Oracle TimesTen In-Memory Databaseオペレーション・ガイドのRAMポリシーの指定に関する項を参照してください。
オプション
ttAdminには、データベースをオープンまたはクローズするための次のオプションがあります。
| オプション | 説明 |
|---|---|
-close |
ユーザー接続に対してデータベースをクローズします。
データベースがユーザー接続に対してクローズされると、新しい接続の試行は失敗しますが、既存の接続に影響はありません。 |
-connStr connection_string |
データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列。 |
DSN |
管理するデータベースのODBCデータソース名。 |
-open |
ユーザー接続に対してデータベースをオープンします。
作成時、デフォルトでデータベースはユーザー接続に対してオープンです。 |
-ramLoad |
-ramPolicyがmanualの場合にのみ有効です。これにより、データベースがRAMにロードされます。 |
オプション
ttAdminには、強制切断のための次のオプションがあります。
| オプション | 説明 |
|---|---|
-connStr connection_string |
データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列。 |
DSN |
管理するデータベースのODBCデータソース名。 |
-disconnect urgency [granularity] |
接続されているアプリケーションをデータベースから非同期に切断します。必要に応じて、アイドル状態または応答しないものを含めます。
ノート: 推奨されるベスト・プラクティスは、必要に応じて urgencyレベルのabortは、transactionalレベルおよびimmediateレベルですべての接続が閉じられない場合に、最終手段としてのみ使用します。中断するとデータが失われる可能性があります。突然中断すると、データベースに接続されているすべてのユーザーおよび
ノート: RAMポリシー |
例
このサンプル・スクリプトでは、-disconnectを使用してdatabase1へのすべての接続を切断します。urgencyレベルを最初はtransactional、次にimmediateにして実行します。
#!/bin/sh # close the databae ttAdmin -close database1 # disconnect users and unload the database ttAdmin -disconnect -transactional -unload database1 # wait 10 seconds for the disconnects to finish COUNT = 0 while [ ttStatus | grep "pending disconnection" ] || [ $COUNT -ne 10 ] do sleep 1 COUNT=$((COUNT+1)) done # increase urgency to immediate if [ ttStatus | grep "pending disconnection" ]; then ttAdmin -disconnect -immediate -unload database1 fi
ttStatusを使用して進捗状況を確認します。強制切断中、出力には保留中の切断が示されます。
TimesTen status report as of Wed Jul 18 09:55:20 2018
Daemon pid 10457 port 6627 instance user1
TimesTen server pid 10464 started on port 6629
------------------------------------------------------------------------
------------------------------------------------------------------------
Closed to user connections
Data store /databases/database1
Daemon pid 10457 port 6627 instance user1
TimesTen server pid 10464 started on port 6629
There are 14 connections to the data store, ***14 pending disconnection***
Shared Memory KEY 0x0210679b ID 949092358
PL/SQL Memory KEY 0x0310679b ID 949125127 Address 0x5000000000
Type PID Context Connection Name ConnID
Process 10484 0x00007f3ddfeb4010 database1 1
...
ノート
強制切断機能を有効にするには、TimesTen接続属性設定ForceDisconnectEnabled=1を使用します。ForceDisconnectEnabledを参照してください。
-disconnectオプションは非同期です。制御はコマンド・プロンプトにすぐに戻りますが、強制切断操作は完了までに数秒または数分かかることがあります。このため、前述のスクリプトではttStatusを使用して強制切断操作のステータスを監視しています。
granularityレベルをusersにすると、サブデーモン以外のすべての接続が含まれます。たとえば、ユーザー接続に加えて、ttcserverおよびttstatsの接続も含まれます。
強制的な切断プロセスを試行する前に、データベースをクローズします。強制的な切断プロセス中、メイン・デーモンによってすべての新規接続リクエストが拒否されます。ただし、強制的な切断が完了した後は、データベースがクローズ状態でない場合、接続リクエストが再度受け付けられます。
オプション
ttAdminには、キャッシュ用の次のオプションがあります。
例
DSN database1に参照されるデータベースには、Oracle Databaseからキャッシュされたデータが含まれます。次のttAdminコマンドを実行して、database1用のキャッシュ・エージェントを開始します。
% ttAdmin -cacheStart database1
また、-cachePolicyオプションを使用して、TimesTen Data Managerデーモンに、Data Managerが起動するたびにキャッシュ・エージェントを開始させるように設定できます。
% ttAdmin -cachePolicy always database1
キャッシュ・エージェントの自動開始をオフにするには、次のコマンドを実行します。
% ttAdmin -cachePolicy manual database1
キャッシュ管理のユーザーIDとパスワードを設定するには、-cacheUidおよび-cachePwdを指定して-cacheUidPwdSetを使用します。次に例を示します。
% ttAdmin -cacheUidPwdSet -cacheUid scott -cachePwd tiger database1
database1の現在のキャッシュ管理ユーザーIDを取得するには、次のようにします。
% ttAdmin -cacheUidGet database1
ノート
いずれのキャッシュ機能も、キャッシュ・エージェントを開始してから使用する必要があります。キャッシュ・オプションを使用するには、DSNにOracleNetServiceNameの値を指定する必要があります。
自動リフレッシュまたは非同期ライトスルー・キャッシュ・グループを使用する場合は、キャッシュ管理ユーザーIDとパスワードを指定する必要があります。このユーザー・アカウントで、自動リフレッシュおよび非同期ライトスルー処理が実行されます。
Oracle Databaseからデータをロードするには、TimesTenキャッシュ・エージェントを実行している必要があります。このためには、ORACLE_HOME環境変数にOracleインストールのパスが設定されている必要があります。詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュ・エージェントの管理に関する説明を参照してください。
オプション
ttAdminには、レプリケーション用の次のオプションがあります。
例
レプリケーション・オプションの使用方法を次に示します。
% ttAdmin -repPolicy always rep1 RAM Residence Policy : inUse Replication Agent Policy : always Cache Agent Policy : manual Cache Agent Manually Started : False Database State : Open % ttAdmin -repPolicy manual rep1 RAM Residence Policy : inUse Replication Agent Policy : manual Replication Manually Started : True Cache Agent Policy : manual Cache Agent Manually Started : False Database State : Open % ttAdmin -repPolicy norestart rep1 RAM Residence Policy : inUse Replication Agent Policy : norestart Replication Manually Started : True Cache Agent Policy : manual Cache Agent Manually Started : False Database State : Open % ttAdmin -repQueryThresholdSet 100 rep1 RAM Residence Policy : inUse Replication Agent Policy : norestart Replication Manually Started : True Cache Agent Policy : manual Cache Agent Manually Started : False Database State : Open % ttAdmin -repQueryThresholdGet rep1 QueryThreshold in seconds : 100 RAM Residence Policy : inUse Replication Agent Policy : norestart Replication Manually Started : True Cache Agent Policy : manual Cache Agent Manually Started : False Database State : Open
ノート
ttAdminが-repStartを指定してコールされたときに、レプリケーション定義が見つからない場合、レプリケーション・エージェントは開始されず、ttAdminによってエラー・メッセージが出力されます。次に例を示します。
% ttAdmin -repstart repl1 *** [TimesTen][TimesTen 18.1.1.0 ODBC Driver][TimesTen]TT8191: This store (repl1 on my_host) is not involved in a replication scheme -- file "eeProc.c", lineno 11016, procedure "RepAdmin()" *** ODBC Error = S1000, TimesTen Error = 8191
-repPolicy manual(デフォルト)または-repPolicy alwaysを指定してttAdminを使用する場合は、-ramPolicy alwaysオプションも使用する必要があります。これによって、障害発生後できるかぎり迅速にレプリケーション・エージェントでリカバリが開始されます。
説明
UNIXおよびLinuxシステム上で、TimesTenインスタンスのデータベースを、メジャー・リリースが同じだがパッチセットまたはパッチ・リリースが異なる新しいTimesTenインスタンスに移動します。たとえば、TimesTen 18.1.1.1.0のデータをTimesTen 18.1.2.1.0に移動できます。
|
ノート: リリース番号の最初の2つの部分(18.1以上)は、メジャー・リリースを表します。リリース番号の3番目の部分は、パッチセット・リリースを表します。 |
このユーティリティは、既存のデータベースを使用してTimesのパッチ・セットまたはパッチ・リリースをテストするのに役立ちます。TimesTenの新しいリリースをインストールし、1つ以上のデータベースを新しいリリースに移行して、TimesTenの旧リリースをアンインストールせずにテストできます。
ttAdoptStoresユーティリティは、移行先のインスタンスで実行する必要があります。
構文
ttadoptstores {-h | -help | -?}
ttadoptstores {-V | -version}
ttadoptstores [-quiet] -dspath path
ttadoptstores [-quiet] -instpath path
オプション
ttAdoptStoresには次のオプションがあります。
| オプション | 説明 |
|---|---|
-dspath path |
1つのデータベースを移行します。path引数は、データベース・ファイル(拡張子は含みません)のパスであることが必要です。 |
-h
|
使用方法のメッセージを出力して終了します。 |
-instpath path |
インスタンスの全データベースを移行します。path引数は、デーモンの作業ディレクトリ(infoディレクトリ)のパスである必要があります。
使用中のデータベースがある場合は、ユーティリティは変更を行わずに失敗します。操作全体が完了するまで、ソース・インスタンスのデータベースには新規に接続できません。 |
-quiet |
冗長メッセージは返されません。 |
-V | -version |
ttAdoptStoresのリリース番号を出力し、終了します。 |
例
データベース/my/data/stores/dsを移行するには、次のコマンドを実行します。
% ttadoptstores -dspath /my/data/stores/ds
ディレクトリ/opt/TimesTen/instance1のデータベースすべてを移行するには、次のコマンドを実行します。
% ttadoptstores -instpath /opt/TimesTen/instance1
ノート
一時データベースは移行できません。
移行しようとしているインスタンスがレプリケーション・スキームの一部である場合、ttRepAdmin -duplicateの操作時に、-remoteDaemonPortオプションにポート番号が指定されていないかぎり、移行する側とされる側のレプリケーション・スキームのポート番号は一致している必要があります。通常、レプリケーション・スキームに含まれるインスタンスは、すべて同時に更新する必要があります。
このユーティリティで、sys.odbc.iniのエントリはコピーされません。これらのファイルは手動で移動する必要があります。
説明
データベースのバックアップ・コピーを作成します(これにより、後でttRestoreユーティリティを使用してそのデータベースをリストアできます)。
TimesTenのバックアップおよびリストア機能の詳細は、Oracle TimesTen In-Memory Databaseインストレーション、移行およびアップグレード・ガイドのTimesTen Classicでのデータのバックアップ、リストアおよび移行を参照してください。
構文
ttBackup {-h | -help | -?}
ttBackup {-V | -version}
ttBackup -dir directory [-type backupType]
[-fname fileprefix] [-force]
{-connStr connection_string | DSN}
オプション
ttBackupには次のオプションがあります。
| オプション | 説明 |
|---|---|
-connStr connection_string |
データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列。 |
DSN |
バックアップするデータベースのODBCデータソース名を指定します。 |
-dir directory |
バックアップ・ファイルが格納されるディレクトリを指定します。 |
-fname fileprefix |
バックアップ・ディレクトリのバックアップ・ファイルのファイル接頭辞を指定します。このオプションのデフォルト値は、データベースのODBC定義のDataStoreパラメータのファイル名の部分です。 |
-force |
指定したディレクトリにバックアップを強制的に作成します。そのディレクトリにバックアップが存在している場合は、ttBackupによって上書きされます。このオプションが指定されておらず、指定したディレクトリに前にバックアップしたデータベース以外のデータベースからバックアップを作成する場合、ttBackupは既存のファイルを上書きせずに終了メッセージを返して終了します。 |
-h -help -? |
使用方法のメッセージを出力して終了します。 |
-type backupType |
実行するバックアップの種類を指定します。有効な値は、次のとおりです。
|
-V | -version |
ttBackupのリリース番号を出力し、終了します。 |
例
FastInsデータベースのファイルの完全バックアップをバックアップ・ディレクトリ/users/pat/TimesTen/backupsに対して実行するには、次のコマンドを使用します。
% ttBackup -type fileFullEnable -dir /users/pat/TimesTen/backups FastIns
FastInsデータベースをFastIns.backファイルにコピーするには、次のコマンドを実行します。
% ttBackup -type streamFull FastIns > FastIns.back
UNIXおよびLinuxシステムでFastInsデータベースをバックアップ・テープに保存するには、次のコマンドを実行します。
% ttBackup -type streamFull FastIns | dd bs=64k of=/dev/rmt0
origDSNというデータベースをディレクトリ/users/rob/tmpにバックアップし、それをrestoredDSNというデータベースにリストアするには、次のコマンドを実行します。
% ttBackup -type fileFull -dir /users/rob/tmp -fname restored origDSN ttRestore -dir /users/rob/tmp -fname restored restoredDSN
ノート
ttBackupユーティリティおよびttRestoreユーティリティは、TimesTenリリースとプラットフォームの2つの部分が同じ場合にのみ、データベースのバックアップおよびリストアを行います。たとえば、TimesTenリリース18.1.1.1.0と18.1.2.10間ではファイルをバックアップし、リストアできます。リリース11.2.2.8.35と18.1.2.1.0の間ではファイルのバックアップとリストアはできません。ttBulkCpユーティリティまたはCSユーティリティ(UNIXおよびLinuxのみ)を使用して、各メジャー・リリースまたは各種オペレーティング・システムをまたいでデータベースを移行できます。
増分バックアップが有効になっている場合、TimesTenではトランザクション・ログ・ファイルにバックアップ保持が作成されます。ttLogHolds組込みプロシージャをコールして、この保持に関する情報を確認します。バックアップ保持は、後続の増分バックアップでバックアップするログ・レコードを判断する場合に使用されます。前回の増分バックアップ以降の変更内容のみが更新されます。ただし、バックアップ保持を作成すると、その保持が別の増分バックアップの実行によって進められるまで、または増分バックアップを無効にすることによって削除されるまで、チェックポイント処理時にトランザクション・ログ・ファイルを消去できなくなります。
バックアップ操作の開始後にコミットされたトランザクションは、バックアップに反映されません。
最大で、1つのチェックポイントおよび1つのバックアップを同時にアクティブにできますが、次の制限があります。
チェックポイントが完了するまでバックアップを待機させる必要はありません。
別のバックアップが完了するまでバックアップを待機させる必要があります。
バックアップが完了するまでチェックポイントを待機させる必要があります。
キャッシュ・グループを含むデータベースは、ttBackupユーティリティを使用して正常にバックアップできます。ただし、そのようなバックアップをリストアする場合は、キャッシュ・グループ内のリストアされたデータが古くなっていたり、バックエンドOracle Databaseのデータと同期していないことがあるため、特別な注意が必要です。詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュ・グループを持つデータベースのバックアップとリストアに関する説明を参照してください。
一時データベースはバックアップできません。
説明
TimesTen表とASCIIファイル間でデータをコピーします。ttBulkCpには、次の2つのモードがあります。
コピーイン・モード(ttBulkCp -i)では、1つ以上のASCIIファイル(またはstdin)から、既存のTimesTen表に行がコピーされます。
コピーアウト・モード(ttBulkCp -o)では、TimesTen表全体が単一のASCII出力ファイル(またはstdout)にコピーされます。
UNIXおよびLinuxシステムでは、このユーティリティはTimesTen Data Manager DSNでサポートされます。クライアントDSNでは、ttBulkCpCSユーティリティを使用します。
このユーティリティは、その実行者であるユーザーが所有するオブジェクトおよび所有者がSELECT権限を持っているオブジェクトのみコピー・アウトします。ユーティリティを実行している所有者がADMIN権限を持っている場合、ttBulkCpはすべてのオブジェクトをコピー・アウトします。
必要な権限
このユーティリティを使用するには、情報のコピー先となる表に対するINSERT権限が必要です。また、情報のコピー元となる表に対するSELECT権限が必要です。
接続文字列またはDSNに認証情報が指定されていない場合、続行する前にユーザーIDおよびパスワードの入力が求められます。
構文
ttBulkCp {-h | -help | -? | -helpfull}
ttBulkCp {-V | -version}
ttBulkCp -i [-cp numTrans | final] [-d errLevel]
[-e errorFile] [-m maxErrs] [-sc] [-t errLevel]
[-u errLevel] [-v 0|1] [-xp numRows | rollback]
[-Cc | -Cnone] [-tformat timeFormat] [-tsformat timeStampFormat]
[-dformat | -D dateFormat] [-F firstRow] [-L lastRow]
[-N ncharEncoding] [-Q 0|1] [-S errLevel] [-dateMode dateMode]
[-[no]tblLock] [-localOnly] {-connStr connection_string | DSN}
[owner.]tableName [dataFile ...]
ttBulkCp -directLoad [-cp numTrans|final] [-d errLevel] [-e errorFile]
[-m maxErrs] [-sc] [-t errLevel] [-u errLevel]
[-v 0|1] [-xp numRows|rollback] [-Cc | -Cnone]
[-dformat formatStr] [-tformat formatStr]
[-tsformat formatStr] [-F firstRow] [-L lastRow]
[-N ncharEncoding] [-Q 0|1] [-S errLevel] [-dateMode mode]
{DSN | [-connstr] connection_string}
[owner.]tblName [dataFile ...]
ttBulkCp -o [-sc] [-v 0|1] [-A 0|1] [-Cc | -Cnone]
[-nullFormat formatStr] [-localOnly]
[-tformat timeFormat] [-tsformat timeStampFormat]
[-dateMode dateMode] [-dformat | -D dateFormat]
[-N ncharEncoding] [-noForceSerializable | -forceSerializable]
[-tsprec precision] [-Q 0|1] [-localOnly]
{-connStr connection_string | DSN} [owner.]tblName
[dataFile]
オプション
ttBulkCpには次のオプションがあります。
| オプション | 説明 |
|---|---|
-Cnone
|
-Cnoneは出力ファイルでのコメントの使用を無効にします。-Ccは、デフォルトのコメント文字をcに設定します。デフォルトのコメント文字を指定しない場合、シャープ記号(#)が使用されます。-Cオプションの値は、\t(タブ)または~ ! @ # % ^ & * ( ) = : ; | < > ? , /のいずれかの文字をとります。このオプションはCOMMENTCHARファイル属性を上書きします。 |
-connStr connection_string |
データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列。 |
DSN |
コピーするデータベースのODBCデータソース名を指定します。 |
-D | -dformat
|
日付書式を設定します。指定できる固定値の一覧は、「日付、時刻およびタイムスタンプの値」を参照してください。このオプションはDFORMATファイル属性を上書きします。デフォルトはODBCです。
関連項目: |
dataFile |
コピーイン・モードでは、表に挿入する行を含む1つ以上のASCIIファイルのパス名を指定します。ファイルを指定しないと、標準入力が使用されます。単一のハイフン(-)は標準入力を意味します。
コピーアウト・モードでは、行のコピー先のファイルのパス名を指定します。ファイルを指定しないと、標準出力が使用されます。単一のハイフン( |
-dateMode dateMode |
ttBulkCpでOracle DatabaseのDATE型が(時間、分および秒フィールドのない)単純な日付として扱われるか、(時間、分および秒フィールドのある)タイムスタンプとして扱われるかを指定します。
コピーイン・モードでは、入力のデフォルトの動作は日付です。 コピーアウト・モードでは、出力のデフォルトの動作はタイムスタンプです。 出力モードで このオプションは |
-directLoad |
データをASCIIファイルからデータベース表にコピーするコピーイン・モードを選択します。ただし、直接接続を使用するクライアントでのみ使用できます。クライアント/サーバー接続を使用する際に必要なオーバーヘッドの一部が回避され、-iモードよりもパフォーマンスが向上します。TimesTen Classicでのみ使用できます。 |
-h -help
|
使用方法についての短いメッセージを出力して終了します。 |
-helpfull |
使用方法についての長いメッセージを出力して終了します。 |
-i |
データをASCIIファイルからデータベース表にコピーするコピーイン・モードを選択します。直接接続またはクライアント/サーバー接続のいずれかを使用するクライアントで使用できます。 |
-localonly |
このオプションは、特定のインスタンスの行のみをロードします。グリッドに特定のインスタンスをロードしてから、このオプションを使用します。このオプションを使用すると、ttBulkCPは表のすべての行を選択しますが、特定のインスタンスにハッシュされていない行は無視します。
このオプションは、TimesTen Scaleoutでのみサポートされます。 デフォルト値は |
-N ncharEncoding |
NCHAR型の入力および出力に使用する文字エンコードを指定します。有効な値はUTF8、UTF-8またはASCIIです。 |
-o |
コピーアウト・モードを選択します。 |
owner |
保存またはロードする表の所有者を指定します。ownerを省略すると、TimesTenは、まずユーザー名で、次にユーザー名SYSで表を検索します。このパラメータでは大/小文字は区別されません。 |
-Q [0 | 1] |
文字列値を二重引用符で囲むかどうかを示します。
|
-s c |
デフォルトのフィールド区切り文字をcに設定します。デフォルトのフィールド区切り文字を指定しない場合、カンマ(,)が使用されます。-sオプションの値は、\t(タブ)または~ ! @ # % ^ & * ( ) = : ; | < > ? , /のいずれかの文字をとります。このオプションはFSEPファイル属性を上書きします。 |
tableName |
保存またはロードする表の名前を指定します。このパラメータでは大/小文字は区別されません。 |
-tformat
|
時刻書式を設定します。指定できる固定値の一覧は、「日付、時刻およびタイムスタンプの値」を参照してください。デフォルト値はODBCです。このオプションはTSFORMATファイル属性を上書きします。
関連項目: |
-tsformat
|
タイムスタンプ書式を設定します。指定できる固定値の一覧は、「日付、時刻およびタイムスタンプの値」を参照してください。デフォルト値はDF*TF+FFで、これは、日付書式、時間書式および小数秒を連結したものです。このオプションはTFORMATファイル属性を上書きします。
関連項目: |
-V | -version |
ttBulkCpのリリース番号を出力し、終了します。 |
-v [0 | 1] |
冗長レベルを設定します。
|
次のオプションは、コピーアウト・モード(-o)でのみ使用します。指定した表に対するSELECT権限が必要です。
| オプション | 説明 |
|---|---|
-A [0 | 1] |
ttBulkCpが出力ファイルの属性行を抑制するかどうかを示します。
|
-forceSerializable -noForceSerializable |
-forceSerializableオプションは、DSNまたは接続文字列の設定にかかわらず、ttBulkCpでシリアライズ可能な分離が使用されることを示します。これは、デフォルトの動作です。
Warning: This output was produced using a non-serializable isolation level. It may therefore not reflect a transaction-consistent state of the table. 分離モードの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のトランザクションの分離レベルに関する説明を参照してください。 |
-nullFormat formatStr |
NULL値の出力書式を指定します。有効な値は、次のとおりです。
空のLOBは、引用符なしのモードでは |
-tsprec precision |
-oオプションとともに使用した場合、タイムスタンプ値がprecisionに切り捨てられます。ttBulkCpでは、小数秒フィールドに最大6桁を入力できます。他のRDBMSを使用してタイムスタンプをコピーする場合、切捨てが必要な場合があります。 |
次のオプションは、コピーイン・モード(-i)およびダイレクトロード・モード(-directload)でのみ使用します。指定した表に対するINSERT権限が必要です。
| オプション | 説明 |
|---|---|
-cp numTrans
|
コピーインのチェックポイント・ポリシーを設定します。
0以外の値は、numTransトランザクションごとに、さらにコピー全体が完了した後に、
デフォルト値は 定期的なコミットも有効になっている場合にのみ、定期的なチェックポイントを有効にできます。 ノート: このオプションは、TimesTen Scaleoutではサポートされません。 |
-d error
|
デフォルトでは、ttBulkCpは、一意列や索引での制約違反が原因で拒否される行を、エラーとはみなしません。
|
-e errFile |
エラーのためにTimesTen表にコピーできない行に関する情報を、ttBulkCpが記録するファイルの名前を示します。このようなエラーには、解析エラー、型変換エラーおよび制約違反が含まれます。errFileのデフォルト値はstderrです。エラー・ファイルの書式は入力ファイルの書式(「データファイルの書式」を参照)と同じであるため、エラー・ファイルのエラーを修正して、その後のttBulkCpの実行時に、修正したエラー・ファイルを入力ファイルとして使用することもできます。 |
-F firstRow |
コピーする最初の行の番号を示します。TimesTen表に行のサブセットをコピーするには、このオプションを(任意で-Lとともに)使用します。行には、1から始まる番号が付けられます。複数の入力ファイルを指定した場合、行には、すべてのファイルをとおした連続番号が付けられます。デフォルト値は1です。 |
-L lastRow |
コピーする最後の行の番号を示します。-Fの説明を参照してください。0の値は最後の入力ファイルの最後の行を指定します。デフォルト値は0です。 |
-m maxErrors |
レポートするエラーの最大数を指定します。
デフォルトは
|
-S error
|
デフォルトでは、ttBulkCpによってその最大スケールを超える値が検出されると、エラーが発行されます。このエラーは、スケールがその列の最大スケールを超える10進値、または小数秒が6桁を超える(サブマイクロ秒の粒度)のTIMESTAMP値に対して発行されます。
|
-t error
|
デフォルトでは、CHAR、VARCHAR2、NCHAR、NVARCHAR2、BINARY、VARBINARY、BLOB、CLOBまたはNLOBの値がその最大列幅を超えている場合、ttBulkCpによってエラーが発行されます。
|
-[no]tblLock |
TimesTen表に行をコピーする際に、表レベル・ロックを使用するか行レベル・ロックを使用するかを指定します。
表への単一の入力ストリームの場合、 |
-u error
|
デフォルトでは、real、floatまたはdouble属性のアンダーフロー時に、ttBulkCpはエラーを発行します。アンダーフローは、浮動小数点数が非常に小さく、0(ゼロ)に切り捨てられる場合に発生します。
|
-xp numRows
|
ロードのトランザクション・ポリシーを設定します。0の値は、ttBulkCpがロード全体を単一のトランザクションとして実行し、ロードの成功、失敗にかかわらず、そのトランザクションをコミットすることを示します。
0(ゼロ)以外の値は、行が デフォルト値は データベースの定期的なチェックポイントを有効にするには、 |
データファイルの書式
この項では、dataFileパラメータの書式について説明します。
ttBulkCp入力ファイルの各行は、空白行、コメント行、属性行またはデータ行のいずれかです。
空白行とは、空白文字(スペースとタブ)を含む、文字がまったくない行のことです。空白行はttBulkCpによって無視されます。
コメント行はコメント文字で始まります。デフォルトのコメント文字は#で、このデフォルトは、-Cコマンドライン・オプションまたはCOMMENTCHARファイル属性(「属性行の書式」を参照)で上書きできます。コメント文字は行の先頭文字である必要があります。コメント行はttBulkCpによって無視されます。データ行の最後にあるコメントは、サポートされません。
ファイル属性行は、データファイルの書式を制御するファイル属性の設定に使用されます。属性行は10文字からなる文字列##ttBulkCpで始まります。属性行の完全な構文については、項「ファイル属性行の書式」を参照してください。属性行は、データファイルの任意の場所に記述できます。
データ行には、コピー元の表の行が含まれます。データファイルのデータ行と表の行は1対1で対応します(つまり各データ行は、1つの行を完全に記述します)。各データ行は、フィールド・セパレータ文字によって区切られた列値のリストで構成されます。デフォルトのフィールド・セパレータはカンマ(,)です。このデフォルトは、-sコマンドライン・オプションまたはFSEPファイル属性によって上書きできます。データ行の完全な構文については、項「データ行の書式」を参照してください。
ファイル属性行の書式
属性行の書式は次のとおりです。
##ttBulkCp[:attribute=value]...
属性行は、コメント文字が#でない場合であっても、10文字からなる文字列##ttBulkCpで始まります。この文字列の後には、それぞれのファイル属性設定の前にコロンを付けて、0(ゼロ)または1つ以上の属性を指定できます。
ファイル属性設定が有効なのは、入力ファイルの終わりまで、または同じ入力ファイルで他の属性行によって変更されるまでです。属性行で省略されたファイル属性の値はそのままで変更されません。
ほとんどのコマンドライン・オプションは、ttBulkCpでサポートされるファイル属性の値よりも優先されます。CHARACTERSET属性は、コマンド・ライン・オプションを上書きできる唯一の属性です。
次のファイル属性があります。
CHARACTERSET: データファイルを解釈するために使用される文字セットを指定します。ファイル属性が設定されていない場合は、ConnectionCharacterSet接続属性で指定した文字セットがファイルの解釈に使用されます。最適なパフォーマンスを得るためには、DatabaseCharacterSet接続属性の値を、ConnectionCharacterSet接続属性またはこのファイル属性のいずれかと一致させます。ConnectionCharacterSet接続属性またはこのファイル属性で、ファイルの実際の文字セットとは異なる文字セットを指定すると、ttBulkCpはデータを正しく解釈できない場合があります。
VERSION: ファイルで使用されるファイル形式のバージョンを指定します(major.minorとして表されます)。サポートされるバージョンは1.0のみです。
DATEMODE: Oracle DatabaseのDATE型が単純な日付として扱われるか、タイムスタンプとして扱われるかを指定します。
FSEP: ファイルで使用されるフィールド・セパレータ文字を指定します。フィールド・セパレータは、\t (タブ)、または~ ! @ # $ % ^ & * ( ) = : ; | < > ? , /のいずれかの文字に設定できます。
QUOTES: ファイル内の文字列値が二重引用符で囲まれるかどうかを示します。0の値は文字列が引用符で囲まれないことを示し、1の値は文字列が引用符で囲まれることを示します。この値は-Qオプションで上書きされます。
COMMENTCHAR: ファイルで使用されるコメント文字を指定します。コメント文字は、\t (タブ)、または~ ! @ # $ % ^ & * ( ) = : ; | < > ? , /のいずれかの文字に設定できます。
コメント文字は、データファイルでのコメントの使用を無効にする、値noneに設定することもできます。
DFORMAT: 日付書式を設定します。指定できる値の一覧は、「日付、時刻およびタイムスタンプの値」を参照してください。ユーザー定義の書式が使用されている場合は、一重引用符で囲む必要があります。この値は-D/-dformatコマンドライン・オプションで上書きされます。関連項目: TFORMATおよびTSFORMAT。
NCHARENCODING: NCHARとNVARCHAR2データ型に使用するエンコードを示します。値はASCIIまたはUTF-8です。
TFORMAT: 時刻書式を設定します。指定できる値の一覧は、「日付、時刻およびタイムスタンプの値」を参照してください。ユーザー定義の書式が使用されている場合は、一重引用符で囲む必要があります。この値は-tformatコマンドライン・オプションで上書きされます。関連項目: DFORMATおよびTSFORMAT。
TSFORMAT: タイムスタンプ書式を設定します。指定できる値の一覧は、「日付、時刻およびタイムスタンプの値」を参照してください。ユーザー定義の書式が使用されている場合は、一重引用符で囲む必要があります。この値は-tsformatコマンドライン・オプションで上書きされます。関連項目: DFORMATおよびTFORMAT。
例
次のヘッダー行はフィールド・セパレータ文字を$ に設定し、文字列を引用符で囲むことを無効にします。
##ttBulkCp:FSEP=$:QUOTES=0
次のヘッダー行はコメントを無効にし、日付書式をOracle書式に設定します。
##ttBulkCp:COMMENTCHAR=none:DFORMAT=Oracle
次のヘッダー行は、日付書式をカスタム書式に設定します。
##ttBulkCp:DFORMAT='Mon DD, YYYY'
データ行の書式
データ行には、コピー元の表の行データが含まれます。各データ行は表の行に対応します(行は複数の入力ファイル行にまたがることはできません)。データ行は、フィールド・セパレータ文字によって区切られる、列値のリストで構成されます。フィールド・セパレータの前後に、不要な空白文字を置くことはできません。それぞれの値の書式はその型によって決定されます。
NULL値
NULL値は、NULL(すべて大文字、引用符なし)、または空のフィールドとして表すことができます。
文字とUnicode文字列
CHAR、VARCHAR2、NCHAR、NVARCHAR2、CLOB、NCLOB: 文字列を引用符で囲むことが有効になっている場合(デフォルト)、文字列および文字は二重引用符で囲む必要があります。文字列を引用符で囲むことが無効になっている場合、文字列の中の二重引用符文字はどれも文字列自体の一部であるとみなされ、文字列を引用符で囲むことが有効になっているかどうかにかかわらず、ttBulkCpでは文字列の中の次のバックスラッシュ・エスケープ文字が認識されます。
\": 二重引用符文字。文字列を引用符で囲むことが有効になっている場合、文字列のすべての二重引用符文字はバックスラッシュでエスケープされる必要があります。文字列を引用符で囲むことが無効になっている場合、バックスラッシュの使用は許容されますが、必要ではありません。
\t: タブ文字。
\n: 改行文字。
\r: 改行文字。
\\: バックスラッシュ文字。
\xyz(CHARとVARCHAR2のみ): ASCII値がxyzである文字、xyzは、\033のような3文字の8進数です。
\uxyzw(NCHARとNVARCHAR2のみ): Unicode値がxyzwである文字、xyzwは、\ufe4aのような4桁の16進数です。\uxyzw表記法はUTF-8とASCIIの両方のエンコード・モードでサポートされます。
また、~ ! @ # $ % ^ & * ( ) = : ; | < > ? , /文字のいずれもバックスラッシュでエスケープすることができます。多くの場合、これらの文字をエスケープする必要はありませんが、エスケープすると、文字列を引用符で囲むことが無効になっていても、コメント文字やフィールド・セパレータと解釈されるのを回避できます。
引用符で文字列を囲むことが有効になっている場合、空の文字列(" "として表される)はNULLと区別されます。引用符で文字列を囲むことが無効になっている場合、NULLと区別できないため、空の文字列を表すことはできません。
Unicode文字列の場合、UTF-8マルチバイト・シーケンスを使用してエンコードされるUnicode文字は、UTF-8エンコード・モードのみでサポートされます。これらのシーケンスがASCIIエンコード・モードで使用された場合、ttBulkCpはシーケンス内の各バイトを別々の文字として解釈します。
固定長のCHARとNCHARフィールドの場合、フィールド長よりも短い文字列は空白で埋められます。VARCHAR2およびNVARCHAR2フィールドの場合、文字列はデータファイルに指定されているとおり正確にTimesTenに入力されます。後続の空白は追加も削除されません。
バイナリ値
BINARY、VARBINARY, BLOB: 文字列を引用符で囲むことが有効になっている場合(デフォルト)、バイナリ値は中括弧({...})によって区切られます。文字列を引用符で囲むことが無効になっている場合、中括弧は使用されません。文字列を引用符で囲むことが有効か無効かにかかわらず、バイナリ値はオプションの0xまたは0Xで始めることができます。
バイナリ・データの各バイトは、2つの16進数として表されます。たとえば、次のような4バイトのバイナリ文字列があるとします。
01101000 11001010 01001001 11101111
このバイナリ文字列は、次の8文字の16進文字列として表されます。
68CA49EF
AからFの文字によって表される数字は、大文字でも小文字でもかまいません。16進文字列は空白を含むことができません。16進文字列の文字の各対が単一のバイナリ・バイトに変換されるため、16進文字列には偶数個の文字が含まれている必要があります。固定長バイナリ・フィールドでは、指定された値が列長よりも短い場合、値の右側に0(ゼロ)が埋め込まれます。VARBINARY値の場合、バイナリ値はデータファイルに指定されているとおり正確にTimesTenに挿入されます。
文字列を引用符で囲むことが有効になっている場合、長さが0(ゼロ)のバイナリ値({ }として表される)はNULLと区別されます。文字列を引用符で囲むことが無効になっている場合、NULLと区別できないため、長さが0(ゼロ)のバイナリ値を表すことはできません。
整数値
TINYINT、SMALLINT、INTEGER、BIGINT: 整数値は、オプションの符号とその後に続く1つ以上の数字で構成されます。整数値では、E表記法は使用できません。次に例を示します。
-14 98765 +186
浮動小数点値
REAL、FLOAT、DOUBLE: 浮動小数点値は小数点の有無にかかわらず表すことができ、E表記法を使用することもできます。次に例を示します。
3.1415 -0.00004 1.1e-3 5e3 .56 -682 -.62E-4 170.
固定小数点値
DECIMAL、NUMERIC: 10進値は小数点の有無にかかわらず表すことができます。10進値ではE表記法を使用できません。次に例を示します。
5 -19.5 -11 000 -.1234 45. -57.0 0.8888
Inf、-InfおよびNaN値
Inf、-InfおよびNan値: 無限大および数字以外の値は、文字列で表現して対応する定数値を表すことができます(すべて大/小文字は区別されません)。
| 文字列 | 値 |
|---|---|
NAN |
NaN |
[+]INF |
Inf |
-INF |
-Inf |
TimesTenでは、値がNAN、INFおよび-Infとして出力されます。
日付、時刻およびタイムスタンプの値
日付、時刻およびタイムスタンプの値は、固定日時書式を選択するか、カスタムの日時書式を定義することによって指定できます。カスタムの日時書式は、TO_DATEおよびTO_CHAR SQL関数で使用されるものに類似した書式指定子を使用して定義されます。
デフォルトのTimesTenの書式(DF*TF+FF)は日付および時刻書式に関して定義されているため、多くの場合、カスタムの日付または時刻書式が使用されている場合にもタイムスタンプ書式を定義する必要はありません。このため、日付書式を設定すると、日付値の書式のみでなく、タイムスタンプ値の日付部分も設定されます。同様に、タイムスタンプ書式を設定すると、時刻値とタイムスタンプ値の時刻部分の両方が影響を受けます。
| 指定子 | 説明および制限 |
|---|---|
Q |
四半期。コピーイン・モードでは使用できません。 |
YYYY |
年(4桁)。 |
Y,YYY |
年(カンマ付き)。 |
YYY |
年(末尾3桁)。コピーイン・モードでは使用できません。 |
Y |
年(末尾1桁)。コピーイン・モードでは使用できません。 |
MONTH |
月(空白が埋め込まれた9文字の正式名、大/小文字の区別なし)。 |
MON |
月(3文字の接頭辞、大/小文字の区別なし)。 |
MM |
月(01から12)。 |
DD |
日付(01から31)。 |
HH24 |
時刻(00から23)。 |
HH12 |
時刻(01から12)。コピーイン・モードでは、AM/PMを指定する必要があります。 |
HH |
時刻(01から12)。コピーイン・モードでは、AM/PMを指定する必要があります。 |
MI |
分(00から59)。 |
SS |
秒(00から59)。 |
FF |
小数秒。6桁(-tsprecオプションで上書きされる場合を除く)。 |
FFn |
小数秒(nで指定される桁数)。 |
+FF |
コピーイン・モードでは、オプションの小数点に加えて、1つ以上の小数秒と一致します。コピーアウト・モードでは、.FFと同じです。 |
+FFn |
コピーイン・モードでは、+FFと同じです。コピーアウト・モードでは、.FFnと同じです。 |
AM PM |
ドットなしの正午標識。コピーイン・モードでは、これはHH24ではなく、HHまたはHH12とともに使用する必要があります。 |
| A.M.
P.M. |
ドット付きの正午標識。コピーイン・モードでは、これはHH24ではなく、HHまたはHH12とともに使用する必要があります。 |
DF |
現在の日付書式(タイムスタンプ書式でのみ使用できます)。 |
TF |
現在の時刻書式(タイムスタンプ書式でのみ使用できます)。 |
- / ; : |
コピーイン・モードで一致するか、コピーアウト・モードで出力される記号。 |
"text" |
入力モードで一致するか、コピーアウト・モードで出力されるテキスト。 |
* |
コピーイン・モードで0個以上の空白文字(スペースまたはタブ)と一致するか、コピーアウト・モードで1つの空白を出力します。 |
固定の日付、時刻およびタイムスタンプ書式
日付値の場合、固定書式は次のとおりです。
| 書式 | 説明 |
|---|---|
| ODBC | YYYY-MM-DD
例: (デフォルト値) |
| Oracle | DD-Mon-YYYY
例: |
| SYBASE1 | MM/DD/YYYY
例: |
| SYBASE2 | DD-MM-YYYY
例: |
| SYBASE3 | Mon*DD*YYYY
例: |
時刻値の場合、固定書式はODBCのみです。
| 書式 | 説明 |
|---|---|
| ODBC | HH24:MI:SS
例: |
タイムスタンプ値の場合、固定書式は次のとおりです。
| 書式 | 説明 |
|---|---|
| ODBC | YYYY-MM-DD*HH24:MI:SS+FF
例: |
| Oracle | DD-Mon-YYYY*HH24:MI:SS+FF
例: |
| SYBASE1 | MM/DD/YYYY*HH24:MI:SS+FF
例: |
| SYBASE2 | DD-MM-YYYY*HH24:MI:SS+FF
例: |
| SYBASE3 | Mon*DD*YYYY*HH24:MI:SS+FF
例: |
デフォルトのタイムスタンプ値は、「DF*TF+FF」です。
例
次の入力ファイルは、5つの列(2つのCHAR列と、double列、integer列およびVARBINARY列を1つずつ)を持つ表のためのものです。Mountain View行には、最後の3つの列にNULL値が存在します。
##ttBulkCp
# This is a comment.
###### So is this.
# The following line is a blank line.
"New York","New York",-345.09,12,{12EF87A4E5}
"Milan","Italy",0,0,{0x458F}
"Paris","France",1.4E12,NULL,{F009}
"Tokyo","Japan",-4.5E-18,26,{0x00}
"Mountain View","California",,,
上記の入力ファイルと同等の入力ファイルを次に示します。このファイルでは、引用符が無効、コメント文字が「$」、フィールド・セパレータが「|」です。
##ttBulkCp:QUOTES=0:COMMENTCHAR=$:FSEP=| $ This is a comment. $$$$$$ So is this. $ The following line is a blank line. New York|New York|-345.09|12|12EF87A4E5 Milan|Italy|0|0|0x458F Paris|France|1.4E12|NULL|F009 Tokyo|Japan|-4.5E-18|26|0x00 Mountain View|California|||
次のコマンドは、表mytblの内容をデータベースmystoreからファイルmytbl.dumpにダンプします。
% ttBulkCp -o mystore mytbl mytbl.dump
次のコマンドは、mytbl.dumpファイルにリストされている行を、データベースmystoreのmytblという表にロードします。エラー・メッセージは、mytbl.errファイルに格納されます。
% ttBulkCp -i -e mytbl.err mystore mytbl mytbl.dump
前述のコマンドは、最初のエラーの発生後に終了します。入力ファイルの終わりまで(または、リカバリ不能なエラーが発生するまで)コピーを続行させるには、次のように-m 0を使用します。
% ttBulkCp -i -e mytbl.err -m 0 mystore mytbl mytbl.dump
制約違反によって発生するエラーを無視するには、つぎのように-d ignoreを使用します。
% ttBulkCp -i -e mytbl.err -d ignore mystore mytbl mytbl.dump
ノート
データベースの不慮の破損を防ぐため、ttBulkCpではOverwrite接続属性は明示的に0に設定されます。詳細は、「Overwrite」を参照してください。
浮動小数点数が小さい場合、real、floatまたはdoubleの値は0(ゼロ)に切り捨てられる場合があります。
このユーティリティでは、0以外の値を指定したPassThrough接続属性はサポートされていないため、0以外の値を指定するとエラーが返されます。
日付、時刻およびタイムスタンプの書式を設定する場合、入力モードでは不完全または冗長な書式は使用できません。データ型に存在しないフィールド(日付書式の分の指定子など)を参照すると、コピーアウト・モードではエラーを返します。コピーイン・モードでは、それらの指定子の値は無視されます。
ttBulkCpデータファイル内の引用符で囲まれた文字列を無効にする場合は、次の注意事項が適用されます。
NULLと区別できないため、空の文字列と長さが0(ゼロ)のバイナリ値は表すことができません。
フィールド・セパレータ文字が文字列にある場合は、バックスラッシュでエスケープさせる必要があります。そうしないと、実際のフィールド・セパレータとして扱われます。
データ行が文字列で始まり、その文字列がコメント文字で始まる場合、その文字をバックスラッシュでエスケープさせないと、その行はコメントとして扱われます。ファイル内に実際のコメントがない場合、コメント文字をnoneに設定して文字がコメント文字として誤読されないようにします。
UTF-8の場合、NCHARはUTF-8エンコードに変換されてから出力されます。UTF-8入力はNCHARに変換されます。
ASCIIの場合、ASCII文字に対応するNCHAR値はASCIIとして出力されます。ASCII以外のNCHAR値では、エスケープされたUnicode書式が使用されます。
Windowsでは、すべてのTimesTen Data ManagerおよびクライアントDSNで、このユーティリティがサポートされています。
アプリケーションのロックの競合問題を回避するために、ttBulkCp実行中はDDL SQLを実行しないことをお薦めします。
説明
コマンドの使用時にTimesTenの状態に関する情報が収集されます。この情報は、問題を診断する場合に役立つことがあります。TimesTenカスタマ・サポートでは、現場のカスタマの問題を診断するために、繰り返し追加情報の提供をお願いする必要がある場合があります。
TimesTenカスタマ・サポートでは、このユーティリティで収集された情報の提供をお願いする場合があります。この情報は、サポート電子メールで送信できます。
このユーティリティではエラーの解釈は行われません。状態に関する情報のみが収集されて、ttCaptureユーティリティを起動したディレクトリにあるttcapture.date.number.logファイルに出力が送信されます。通常、このユーティリティではサポート事例に関係する一般的な情報が収集されます。
|
ノート: ディレクトリとファイル名は、それらの間にスペースがある場合には常に二重引用符で囲む必要があります。 |
構文
ttCapture {-h | -help | -?}
ttCapture {-V | -version}
ttCapture [-noinstinfo] [-nosysinfo] [-stdout | -dest dir] [-logdir dir]
[dspath | DSN]
ttCapture [-noinstinfo] [-nosysinfo] [-stdout | -dest dir] [-logdir dir]
[-noconnect] [dspath | DSN]
ttCapture -noconnect [dspath | DSN]
オプション
ttCaptureには次のオプションがあります。
| オプション | 説明 |
|---|---|
-dest dir |
指定されたディレクトリに出力ファイルを書き込みます。 |
DSN |
チェックするデータベースのODBCデータソース名を指定します。 |
dspath |
評価するデータベースの完全修飾名を指定します。これは接続に関連付けられたDSNではなく、データベースのODBC定義でDataStore=パラメータに指定した、データベースに関連付けられた完全修飾データベース・パス名です。
たとえば、ファイル ノート: |
-h
|
使用方法のメッセージを出力して終了します。 |
-logdir dir |
ログ・ディレクトリの位置を指定します。-dspathオプションを付けて使用する必要があります。指定しない場合、ログ・ディレクトリを使用できないことがあります。 |
-noconnect |
ユーティリティがDSNに接続せずに、DSNの情報を取得する必要があることを指定します。
指定された場合、 このオプションは、大規模なデータベースをロードすることを望まない場合や接続障害で問題を報告する際に役立ちます。 |
-noinstinfo |
ttCaptureがインストール情報を取得しないことを示します。 |
-nosysinfo |
ttCaptureがシステム情報を取得しないことを示します。 |
-stdout |
UNIXおよびLinuxシステムの場合、すべての出力はファイルに書き込まれるのではなく、ttCaptureによってstdoutに書き込まれます。Windowsでは、ttCaptureによってコマンド・プロンプトに書き込まれます。 |
-V | -version |
ttCaptureのリリース番号を出力し、終了します。 |
構文
ttCheck {-h | -help | -?}
ttCheck {-V | -version}
ttCheck [ [-blkDir] [-compHeap] [-header] [-heap] [-indexHeap] [-log]
[-permBlkDir] [-permHeap] [-tempBlkDir] [-tmpHeap]
[-tables tblName [...]] [-users userName [...]]
[-level levelNum] ] [...]
[-m maxErrors] [-f outFile] [-v verbosity]
{DSN | [-connstr] connection_string | dspath}
オプション
ttCheckには次のオプションがあります。
| オプション | 説明 |
|---|---|
-blkDir |
すべてのブロック・ディレクトリをチェックします。 |
-compHeap |
コンパイル・ヒープ構造をチェックします。 |
-connStr connection_string |
データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列。 |
DSN |
チェックするデータベースのODBCデータソース名を指定します。 |
dspath |
チェックするデータベースの完全修飾名。これは、接続に対応付けられたDSNではありません。データベースのDSNでDataStore= parameter接続属性に指定した、データベースに関連付けられた完全修飾データベース・パス名です。
たとえば、ファイル |
-f outFile |
出力ファイル名を指定します。デフォルトはstdoutです。 |
-h
|
使用方法のメッセージを出力して終了します。 |
-header |
データベース・ヘッダーの内容をチェックします。 |
-heap |
すべてのヒープ構造をチェックします。 |
-indexHeap |
索引ヒープ構造をチェックします。 |
-level levelNum |
ヘッダー、ブロック・ディレクトリ、ヒープおよび表のチェック・レベルを示します。同一コマンドで異なるレベルを使用して異なる構造をチェックできます。レベル指定は、まだレベル指定が行われていない、コマンド文字列の左側に指定されているすべての構造に適用されます。コマンド文字列に構造が指定されていない場合、レベル指定はすべての構造に適用されます。
|
-log |
ログ・バッファをチェックします。 |
-m maxErrors |
レポートするエラーの最大数です。デフォルトは10で、この場合は関連エラーがいくつか追加されてレポートされることもあります。0の場合、ユーティリティは接続のみを行って戻ります。 |
-permBlkDir |
永続パーティションのブロック・ディレクトリをチェックします。 |
-permHeap |
永続ヒープ構造をチェックします。 |
-tables tblName [...] |
tblNameで指定される表をチェックします。 |
-tempBlkDir |
一時パーティションのブロック・ディレクトリをチェックします。 |
-tmpHeap |
一時ヒープ構造をチェックします。 |
-users userName [...] |
userNameで指定されるユーザーの表をチェックします。 |
-V | -version |
ttCheckのリリース番号を出力し、終了します。 |
-v verbosity |
0: 出力なし(プログラムの終了ステータスで、エラーが検出されたかどうかが示されます)。
|
例
test_dbデータベースのすべての構造のチェックを行うには、次のように実行します。
% ttCheck test_db
test_dbデータベースのすべての構造の健全性チェックを行うには、次のように実行します。
% ttCheck -level 1 test_db
test_dbデータベースのすべての表のチェックを行うには、次のように実行します。
% ttCheck -tables test_db
test_dbデータベースのすべての表の物理的構造および行内容のチェックを行うには、次のように実行します。
% ttCheck -tables -level 3 test_db
test_dbデータベースのすべてのヒープ構造、行内容および索引の健全性チェックを行うには、次のように実行します。
% ttCheck -heap -level 1 -tables -level 4 test_db
test_dbデータベースの表tab1およびtab2の物理的構造および行内容のチェックを行うには、次のように実行します。
% ttCheck -tables tab1 tab2 -level 3 test_db
ノート
ttCheckによって返される情報は、主にTimesTenカスタマ・サポートによってTimesTenデータベースの内部データ構造の問題を診断するために使用されますが、システム管理者および開発者にとって役立つ場合があります。
ttCheckユーティリティは、システム上にアクティブなトランザクションがないときに実行する必要があります。
ttCheckユーティリティは、データベースの他の表と同じようにビューのチェックも行います。ただし、ビューの問合せの結果とビューの内容が一致するかどうかは確認できません。
構造を指定しない場合、ttCheckはすべての構造をチェックします。指定した表の名前やユーザーが検出されない場合は、エラーは返されません。
このユーティリティの実行には、時間がかかる場合があります。冗長レベル2によって、進捗状況のレポートを出力できます。
このユーティリティは、TimesTen Data Managerがインストールされている場合にのみサポートされます。
説明
Oracle Clusterwareの高可用性フレームワークを利用するTimesTenアクティブ・スタンバイ・ペアを管理します。このユーティリティは、アクティブ・スタンバイ・ペアおよび対応するClusterwareリソースを管理するために、管理プロセスを起動し、スクリプトを生成し、その他の機能を実行します。
詳細は、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』のOracle Clusterwareを使用したアクティブ・スタンバイ・ペアの管理に関する項を参照してください。
次のコマンドは、高度な高可用性がある場合にのみ使用できます。
ttCWAdmin -addMasterHosts
ttCWAdmin -addSubscriberHosts
ttCWAdmin -createVIPs
ttCWAdmin -delMasterHosts
ttCWAdmin -delSubscriberHosts
ttCWAdmin -dropVIPs
基本的な高可用性の場合、これらのコマンドは失敗します。
必要な権限
Windowsでは、管理者権限を持つどのユーザーもこのユーティリティのすべてのコマンドを実行できます。
UNIXおよびLinuxシステムでは、rootユーザーがこのユーティリティのすべてのコマンドを実行できます。rootユーザーがこれらのコマンドを実行する必要があります。
ttCWAdmin -addMasterHosts
ttCWAdmin -addSubscriberHosts
ttCWAdmin -createVIPs
ttCWAdmin -delMasterHosts
ttCWAdmin -delSubscriberHosts
ttCWAdmin -ocrConfig
ttCWAdmin -dropVIPs
管理ユーザーは、このユーティリティのその他すべてのコマンドを実行できます。
接続文字列またはDSNに認証情報が指定されていない場合、続行する前にユーザーIDおよびパスワードの入力が求められます。
構文
ttCWAdmin {-h | -help | -?}
ttCWAdmin {-V | -version}
ttCWAdmin -init [-hosts "host_name1, host_name2[, ...]"]
ttCWAdmin {-createVIPs | -dropVIPs | -create | -drop | -restore | -start |
-stop | -status} [-ttclusterini path] [-dsn DSN]
ttCWAdmin - [-timeout seconds] -dsn DSN
ttCWAdmin -relocate -dsn DSN
ttCWAdmin -reauthenticate -dsn DSN
ttCWAdmin -ocrConfig
ttCWAdmin -beginAlterSchema -dsn DSN
ttCWAdmin -endAlterSchema -dsn DSN
ttCWAdmin -addMasterHosts [-hosts "host_name1, host_name2[, ...]"] -dsn DSN
ttCWAdmin -delMasterHosts [-hosts "host_name1, host_name2[, ...]"] -dsn DSN
ttCWAdmin -addSubscriberHosts [-hosts "host_name1, host_name2[, ...]"] -dsn DSN
ttCWAdmin -delSubscriberHosts [-hosts "host_name1, host_name2[, ...]"] -dsn DSN
ttCWAdmin -start [-noapp] -dsn DSN
ttCWAdmin -stop -dsn DSN
ttCWAdmin -startapps -dsn DSN
ttCWAdmin -stopapps -dsn DSN
ttCWAdmin -shutdown [-noderegister] [-hosts "host_name1, host_name2[, ...]"]
オプション
ttCWAdminには次のオプションがあります。
| オプション | 説明 |
|---|---|
-addMasterHosts |
高可用性が採用されている場合、マスター・ホストのプールにスペア・ホストを動的に追加します。コマンドラインでは、複数のホスト名をカンマで区切ります。
UNIXおよびLinuxシステムでは、 |
-addSubscriberHosts |
高可用性が採用されている場合に、サブスクライバ・ホストのプールにスペア・ホストを動的に追加します。コマンドラインでは、複数のホスト名をカンマで区切ります。
UNIXおよびLinuxシステムでは、 |
-beginAlterSchema |
アクティブ・スタンバイ・ペア・スキームの新しいスキーマ・オブジェクトを自動的に追加できない場合に、アクティブ・スタンバイ・ペアのレプリケーション・スキームに対するキャッシュ・グループの変更、追加または削除を手動で行うことができます。また、PL/SQLプロシージャ、順序、マテリアライズド・ビュー、データを含む表の索引を作成することも可能です。Oracle Clusterwareで管理されない読取り専用のサブスクライバを追加できます。スキーマにオブジェクトを追加する間、アクティブ・スタンバイ・ペアは停止されます。
関連項目: |
-create |
指定したDSNのアクティブ・スタンバイ・ペアのレプリケーション・スキームを作成し、関連するアクション・スクリプトを作成します。
このコマンドの内容は次のとおりです。
|
-createVIPs |
アクティブ・スタンバイ・ペアの仮想IPアドレスを作成します。DSNを指定しない場合は、そのTimesTenインスタンス管理者が管理する、すべてのアクティブ・スタンバイ・ペアの情報と、Oracle Clusterwareで管理されるTimesTenインスタンス名が表示されます。 |
-delMasterHosts |
高可用性が採用されている場合、マスター・ホストのプールからスペア・ホストを動的に削除します。コマンドラインでは、複数のホスト名をカンマで区切ります。
指定されたホストがスペア・ホストでない場合、コマンドは失敗します。 UNIXおよびLinuxシステムでは、 |
-delSubscriberHosts |
高可用性が採用されている場合に、サブスクライバ・ホストのプールからスペア・ホストを動的に削除します。コマンドラインでは、複数のホスト名をカンマで区切ります。
指定されたホストがスペア・ホストでない場合、コマンドは失敗します。 UNIXおよびLinuxシステムでは、 |
-drop |
アクティブ・スタンバイ・ペアのレプリケーション・スキームを削除し、そのアクション・スクリプトを削除します。 |
-dropVIPs |
アクティブ・スタンバイ・ペアの仮想IPアドレスを削除します。 |
-endAlterSchema |
このオプションは、オプションを使用した操作後に発行されます。オブジェクトがスキーマに追加された後にアクティブ・スタンバイ・ペアをロール・アウトし、新しいレプリケーションのチェックサムを記録します。古いスタンバイは破棄され、複製により再作成されます。 |
-h
|
使用方法のメッセージを出力して終了します。 |
-init |
TimesTenクラスタ・エージェントを起動します。 |
-noderegister |
ttCWAdmin -shutdownコマンドとともに使用します。このコマンド・オプションは、クラスタ・エージェントのClusterwareリソースおよびClusterwareのTimesTenデーモン・モニターとして登録されているすべてのTimesTen登録済プロセスを維持するようシャットダウン・プロセスに指示します。 |
-ocrConfig |
TimesTenクラスタ情報は、Oracle Cluster Registry(OCR)に保存されます。このオプションは管理ユーザーをOCRに登録します。クラスタの初期化ステップを実行する前に、管理ユーザーを登録しておく必要があります。
UNIXおよびLinuxシステムでは、クラスタを作成する前に、 Windowsシステムでは、インスタンス管理者でログインして、このコマンドを実行します。 停止している既存のクラスタを起動する場合は、このステップを実行する必要はありません。 |
-reauthenticate |
このコマンドは、ユーザー名やパスワードが変更された後に、これらを再認証します。1つのパスワードしか変更されない場合でも、このコマンドはすべてのユーザー名およびパスワードの入力を求めます。
詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のOracle Clusterwareを使用した場合のユーザー名またはパスワードの変更に関する説明を参照してください。 |
-relocate |
データベースをローカル・ホストから、cluster.oracle.ini構成ファイル内のMasterHosts属性で指定されている次に使用可能なスペア・ホストに再配置します。使用可能なスペア・ホストがない場合、エラーが返されます。
ローカル・ホスト上でデータベースがアクティブな場合、同一クラスタのリモート・スタンバイ・ストアがアクティブになるように、最初にロールが元に戻されます。スペア・ホスト上に新しく移行されたデータベースは、常にスタンバイ・データベースになります。これは、高可用性が採用されているときに、ホストをオフラインにする必要がある場合、データベースを強制的に再配置するのに役立ちます。基本的な高可用性(HA)が同一クラスタにデプロイされている場合、このコマンドは失敗します。 |
-restore |
RepBackupDirで指定したバックアップからアクティブ・マスター・データベースをリストアします。AutoRecoverが有効なときには、このコマンドを使用しないでください。 |
-shutdown |
オプションの-hosts引数を使用して明確に記述されているか、またはttcrsagent.optionsファイル内で定義されているホスト・セットの、TimesTenデーモン、クラスタ・エージェントおよびレプリケーション・エージェント(レプリケーション・エージェントがまだ稼働している場合)を停止します。また、このコマンドに-noderegisterオプションが含まれていない場合、デフォルトの動作では、クラスタ・エージェントおよびTimesTenデーモン・モニターのClusterwareリソースとして登録されているすべてのTimesTenプロセスをClusterwareから登録解除します。 |
-start [-noapp] |
クラスタ・アクティブ・スタンバイ・ペアを起動します。これにより、アクティブなデータベース上のすべてのエージェントが起動され、必要に応じて複製によりスタンバイ・データベースおよびサブスクライバ・データベース(ある場合)が作成され、続いてそれらのデータベース上のすべてのエージェントが起動します。-noappを指定すると、アプリケーションは起動されません。後ほどアプリケーションを起動するには、-startappsオプションを使用できます。 |
-startapps |
クラスタ内のアプリケーションを起動します。 |
-stopapps |
クラスタのアプリケーションを停止します。 |
-status |
クラスタのリソースのステータスを取得します。 |
-stop |
レプリケーション・エージェントとキャッシュ・エージェントを停止し、アクティブ・スタンバイ・ペアの両方のデータベースからアプリケーションを切断します。 |
- |
クラスタ内でアクティブ・スタンバイ・ペアのロールを元に戻します。スタンバイ・データベースは新たにアクティブになり、既存のアクティブ・データベースがスタンバイ・データベースになります。 |
-timeout seconds |
-オプションのタイムアウト値を指定します。0を超える整数値を指定します。デフォルトは900秒です。
無効な値を入力した場合、TimesTenではデフォルト値の タイムアウト時間が過ぎた場合、TimesTenからエラーメッセージが返され、スタンバイ・データベースの検証に失敗します。 |
-dsn DSN |
アクティブ・スタンバイ・ペアのDSNを指定します。 |
-hosts "host_name1, host_name2[, ...]" |
TimesTenクラスタ・エージェントを起動または停止するホストを指定します。このオプションを指定しない場合、TimesTenクラスタ・エージェントはすべてのホストで起動または停止されます。 |
-ttclusterini path |
cluster.oracle.iniファイルのフルパス名を指定します。デフォルトの場所はデーモン・ホーム・ディレクトリにあります。デフォルトの場所をお薦めします。 |
-V | -version |
ttCWAdminのリリース番号を出力し、終了します。 |
例
DSN clusterDSNを使用して、Oracle Clusterwareで管理されるアクティブ・スタンバイ・ペアを作成および起動するには、次のように入力します。
% ttCWAdmin -create -dsn clusterDSN % ttCWAdmin -start -dsn clusterDSN
DSN clusterDSNを使用して、Oracle Clusterwareで管理されるアクティブ・スタンバイ・ペアを停止および削除するには、次のように入力します。
% ttCWAdmin -stop -dsn clusterDSN % ttCWAdmin -drop -dsn clusterDSN
ノート
Oracle ClusterwareをTimesTenで使用する場合、次のコマンドおよびSQL文は使用できません。
CREATE ACTIVE STANDBY PAIR、ALTER ACTIVE STANDBY PAIRおよびDROP ACTIVE STANDBY PAIR SQL文。
ttAdminユーティリティの-cacheStartおよび-cacheStopオプション(アクティブ・スタンバイ・ペアの作成後)。
ttRepAdminユーティリティの-duplicateオプション。
ttRepStartおよびttRepStop組込みプロシージャ。
ttAdminユーティリティの-repStartおよび-repStopオプション。
また、ttCWAdmin -shutdownをコールする前にttDaemonAdmin -stopをコールしないでください。
Oracle Clusterwareと統合されたTimesTenでは、このような操作は、ttCWAdminユーティリティおよびcluster.oracle.iniファイル内の属性によって行われます。
構文
ttDaemonAdmin {-h | -help | -?}
ttDaemonAdmin {-V | -version}
ttDaemonAdmin [-force] {-start | -stop | -restart}
ttDaemonAdmin [-startserver | -restartserver]
ttDaemonAdmin [-force] -stopserver
ttDaemonAdmin -verbose
オプション
ttDaemonAdminには次のオプションがあります。
| オプション | 説明 |
|---|---|
-h
|
使用方法のメッセージを出力して終了します。 |
-force |
警告が返された場合にも、TimesTenメイン・デーモンを起動または停止します。または-stopserverと併用すると、ただちにサーバー・プロセスを停止します。 |
-restart |
TimesTenメイン・デーモンを再起動します。 |
-restartserver |
TimesTen Serverを再起動します。 |
-start |
TimesTenメイン・デーモンを起動します。 |
-startserver |
TimesTen Serverデーモンを起動します。 |
-stop |
TimesTenメイン・デーモンを停止します。 |
-stopserver |
TimesTen Serverデーモンを停止します。
|
-V | -version |
ttDaemonAdminのリリース番号を出力し、終了します。 |
ノート
TimesTen Serverのオプションに対する変更は一時的なものです。TimesTen Serverのオプションの設定を永続的または無効にするには、timesten.confファイルのオプションを変更する必要があります。
-forceオプションを使用すると、データベースがリカバリ処理を必要とする状態になる場合があるため、注意が必要です。
このユーティリティをWindows上で使用する場合は、Windowsの管理者権限で実行する必要があります。デーモンを停止するときは(ttDaemonAdmin -stop)、まずデータベースに対するすべてのアプリケーション接続を停止します。また、レプリケーション・エージェントとキャッシュ・エージェントを実行している場合は、これらも停止します。これにより、デーモンを再起動する際の起動時間が短縮されます。また、アプリケーションの接続やエージェントを停止しないと、データベースが無効になる可能性があります。
Oracle Clusterwareエージェントを起動中の場合は、TimesTenメイン・デーモン(ttDaemonAdmin -stop)を停止する前に、ローカル・ホスト上でエージェントを停止する必要があります。Clusterwareエージェントを停止しない場合は、このコマンドによってメイン・デーモンは一時的に停止しますが、その後再起動します。Oracle Clusterwareエージェントを停止するには、次のコマンドを使用します。
ttCWAdmin -shutdown -hosts localhost
このユーティリティを使用してサーバーを再起動する場合、TimesTenデーモンはtimesten.confファイルを読み取って、前回の読取り後に変更があったかどうかを確認します。ファイルが変更されていた場合、TimesTenは次のtimesten.confのオプションの値を確認します。
server_port server_shmipc server_shmsize noserverlog
関連項目
timesten.confファイルの変更手順については、このリファレンスの第1章 TimesTenインスタンス構成ファイルおよびOracle TimesTen In-Memory Databaseオペレーション・ガイドのTimesTenデーモンの属性の管理を参照してください。説明
TimesTenデーモン(WindowsではTimesTen Data Managerサービスと呼ばれます)とそのサブデーモンおよびエージェントは、エラーおよびステータス・メッセージを次のデーモン・ログに書き込みます。
実行が必要になる可能性があるアクションなど、注意する必要がある情報を含むユーザー・エラー・ログ
ユーザー・エラー・ログ内のすべての情報およびTimesTenカスタマ・サポートで使用される情報が格納されるデーモン・ログ
ttDaemonLogユーティリティを使用すると、次の操作を実行できます。
ユーザー・エラー・ログで報告されるイベントのタイプとメッセージのカテゴリを管理します。
ログから標準出力にすべてのメッセージまたは選択したカテゴリのメッセージを表示します。
構文
ttDaemonLog {-h | -help | -?}
ttDaemonLog {-V | -version}
ttDaemonLog [-show type] [-b | -r | -s] [-f] [-maxlines]
[-loglevel level [DSN | -connstr connection_string]]
[-[no]logcomponent component [DSN | -connstr connection_string]]
[-logreset] [-msg messagestring] [-setquiet | -setverbose]
[-file filename] [-facility name]
[-n computer]
|
ノート:
|
オプション
ttDaemonLogには次のオプションがあります。
| オプション | 説明 |
|---|---|
-b |
TimesTenによって生成されたすべてのログ・エントリを出力します。 |
-f |
ログの終わりに達しても、ttDaemonLogは終了せずに継続し、定期的にログのポーリングを行って、追加のTimesTenログ・レコードを検索して表示します。これは、リアルタイムで更新されるログ・データを表示する場合などに役立ちます。 |
-facility name |
使用されているsyslog機能名を指定します。
ノート: このオプションはUNIXおよびLinuxでのみ適用されます。 |
-file filename |
TimesTenログ・メッセージを記録するファイルを指定します。
指定しない場合は、システムの ノート: このオプションはUNIXおよびLinuxでのみ適用されます。 |
-h
|
ttDaemonLog使用情報を表示して終了します。 |
-maxlines |
-fが指定された場合、ログの最終行の最大数はデフォルトで40行です。0が指定された場合、最大値はありません。 |
-logcomponent component
|
デフォルトでは、すべてのカテゴリのメッセージがログに記録されますが、-logcomponentを使用して、ログに記録するカテゴリを指定したり、-nologcomponentを使用して、ログに記録しないカテゴリを指定することができます。1つのコンポーネントしか指定できませんが、これらのオプションを指定してttDaemonLogを複数回実行し、目的の一連のメッセージを決定できます。
このオプションは、DSNまたは接続文字列が指定されている場合、指定されたデータベースにのみ適用されます。 サポートされるカテゴリは次のとおりです。
|
-loglevel level |
デーモン・ログに記録されるメッセージのレベルのカットオフを指定します。値が低いほどメッセージ数は少なくなります。(たとえば、レベル5を指定した場合、レベル1、2、3、4または5のメッセージがログに記録されます。)通常、このオプションはカスタマ・サポート使用でのみ適用されます。
このオプションは、DSNまたは接続文字列が指定されている場合、そのデータベースにのみ適用されます。 |
-logreset |
イベント・ロギング・パラメータをリセットします。 |
-msg messagestring |
指定したテキストをTimesTenユーザー・ログに挿入します。 |
-n computer |
異なるコンピュータのログを表示します。対象のコンピュータの汎用命名規則(UNC)名を指定します。
ノート: このオプションは、Windows上で、通常の使用ではないTimesTenログ記録用Windowsイベント・ログを使用している場合にのみ適用されます。 |
-r |
TimesTenレプリケーション・エージェント・ログのみを出力します。(-show replicationと同じです。) |
-s |
TimesTen Serverのログのみを出力します。(-show serverと同じです。) |
-setverbose
|
TimesTen冗長ロギングを有効(-setverbose)または無効(-setquiet)にします。 |
-show type |
ttDaemonLogを使用してログ・メッセージを標準出力に表示する場合、次のタイプのいずれかを指定して-showオプションを使用し、表示されるログ・メッセージをそのタイプのみに限定できます。
ノート: |
-V | -version |
ttDaemonLogのリリース番号を出力し、終了します。 |
例
デフォルトでは、ttDaemonLogユーティリティでは、すべてのTimesTenコンポーネントのメッセージおよびエラーが記録されます。-nologcomponentオプションを設定すると、ログに書き込まれる範囲を絞り込むことができます。このオプションは、選択したデータベースまたはすべてのデータベースに適用できます。
ローカル・コンピュータ上のTimesTenのデーモンおよびサーバーからのすべての出力を表示するには、次のように入力します。
% ttDaemonLog
すべてのデータベースのレプリケーションに関連するメッセージおよびエラーがログに書き込まれないようにするには、次のように入力します。
% ttDaemonLog -nologcomponent replication
masterdsnデータベースのレプリケーションに関連するメッセージおよびエラーがログに書き込まれないようにするには、次のように入力します。
% ttDaemonLog -nologcomponent replication masterdsn
レプリケーションおよびTimesTen Cacheの両方のエラーおよびメッセージがログに書き込まれないようにするには、次のように入力します。
% ttDaemonLog -nologcomponent replication % ttDaemonLog -nologcomponent cache
-nologcomponentオプションを使用してコンポーネントを無効にした後にそれを再度有効にするには、-logcomponentオプションを使用できます。たとえば、前述の例で示したように、レプリケーションおよびTimesTen Cacheのメッセージを無効にした後に、レプリケーション・メッセージを次のように再度有効にできます。
% ttDaemonLog -logcomponent replication
すべてのTimesTenコンポーネントのログへの書込みを再度有効にするには、次のように-logresetオプションを使用します。
% ttDaemonLog -logreset
TimesTen Serverは、アプリケーションがクライアントDSNに接続されるか、またはクライアントDSNから切断されるたびにメッセージを生成します(ただし、インストール時にこれらのメッセージの生成を指定している場合)。サーバー・ログ・メッセージのみを表示するには、次のように入力します。
% ttDaemonLog -show server
レプリケーション・エージェント・メッセージのみを表示するには、次のように入力します。
% ttDaemonLog -show replication
キャッシュ・エージェント・メッセージのみを表示するには、次のように入力します。
% ttDaemonLog -show cache
TimesTenプロセスからのすべてのメッセージを表示するには、次のように入力します。
% ttDaemonLog -show all
UNIXおよびLinuxシステムで、local7機能にロギングを送るには、次のように入力します。
% ttDaemonLog -facility local7
構文
ttDestroy {-h | -help | -?}
ttDestroy {-V | -version}
ttDestroy [[-wait] [-timeout secs]] [-force] {-connStr connection_string |
DSN | dspath}
オプション
ttDestroyには次のオプションがあります。
| オプション | 説明 |
|---|---|
-connStr connection_string |
データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列。 |
DSN |
破棄するデータベースのODBCデータソース名を指定します。 |
dspath |
破棄するデータベースの完全修飾名。
これは接続に関連付けられたDSNではなく、データベースのODBC定義で たとえば、ファイル |
-h
|
使用方法のメッセージを出力して終了します。 |
-force |
TimesTenの互換性のないバージョンまたは異なるインスタンスのファイルであっても破棄します。 |
-timeout seconds |
ttDestroyが待機する時間を秒単位で指定します。タイムアウト値が指定されない場合、TimesTenは破棄の処理を再試行する前に5秒間待機します。 |
-V | -version |
ttDestroyのリリース番号を出力し、終了します。 |
-wait |
データベースが使用中などの一時的な条件によりデータベースを破棄できない場合、成功するまで継続的にttDestroyに破棄の処理を再試行させます。 |
ノート
ttDestroyを使用することが、完全かつ安全にデータベースを削除する唯一の方法です。データベース・チェックポイントやトランザクション・ログ・ファイルを手動で削除しないでください。
このユーティリティは、TimesTen Data Managerがインストールされている場合にのみサポートされます。
ttDestroyでは、自動リフレッシュまたはAWTキャッシュ・グループからのOracle Databaseオブジェクトのクリーンアップは実行されません。データベースに自動リフレッシュまたはAWTキャッシュ・グループがある場合は、cachecleanup.sqlスクリプトを実行してOracle Database内のキャッシュ・オブジェクトをクリーンアップし、データベースが破棄された後にクリーンアップを実行するためのOracle SQLを生成します。
説明
ttInstallationCheckユーティリティは、TimesTenのインストール内のすべてのファイルを調べて、インストールの署名を生成します。2つのインストールの署名を比較できます。インストールに違いがある場合は署名が異なります。
次のいずれかが発生している場合、レポートされる署名が異なります。
ファイルの内容が変更されている
いずれかのファイルの名前が変更されている
新しいファイルがインストールに存在する
インストールからファイルが削除されている
ファイルの権限が正しくない
説明
TimesTen Scaleoutの場合、ttInstallDSNユーティリティは、指定された入力ファイルの1つ以上の各エントリに対してWindowsクライアントDSNを生成し、これらをシステムDSNとしてODBCコントロール・パネルにインストールします。入力ファイルを生成するには、ttGridAdmin gridClientExportコマンドを使用します。
構文
ttInstallDSN [-h | -help | -?] ttInstallDSN [-f file] [Client_DSN_Name | -a | -l] [-force]
オプション
ttInstallDSNには次のオプションがあります。
| オプション | 説明 |
|---|---|
-h
|
ヘルプ情報を表示します。 |
-f file[Client_DSN_Name | -a | -l] |
1つ以上のDSN定義を含むファイル(ttGridAdmin gridClientExportで生成されます)のフルパスおよび名前を指定します。通常は次のいずれかを指定します。
前述の3つの項目のいずれかを指定しない場合、デフォルトの動作では、ファイル内のDSNがリストされ、インストールするDSNを選択するように求められます。 |
-force |
WindowsのレジストリにすでにDSNがある場合は、指定したDSNでオーバーライドできます。
このオプションを指定せず、WindowsのレジストリにDSNがすでに存在する場合、ユーティリティは警告を発行し、新しいDSNをインストールできません。 |
例
この例では、WindowsのレジストリにすでにDSNがあります。ユーザーが最初に-forceなしで試行すると、警告が発行されるので、-forceを使用します。
C:\mydir> ttinstalldsn.bat -f c:\temp\sys.odbc.ini
--------------------------------
.ini File: c:\temp\sys.odbc.ini
--------------------------------
Found the following DSNs in available 'c:\temp\sys.odbc.ini'.
0 : database1CS
[ Please select the DSN to be imported: ]
0
Warning: The following DSNs already existed and were not added:
database1CS
C:\mydir> ttinstalldsn.bat -f c:\temp\sys.odbc.ini -force
--------------------------------
.ini File: c:\temp\sys.odbc.ini
--------------------------------
Found the following DSNs in available 'c:\temp\sys.odbc.ini'.
0 : database1CS
[ Please select the DSN to be imported: ]
0
Modifying DSN 'database1CS'.
説明
ttInstanceCreateユーティリティは、新しいTimesTenインスタンスを作成します。
次の方法のいずれかでオプションを指定できます。
コマンドラインで。
ファイル内に。
ユーティリティが実行されるとき、対話的に。
コマンドラインでオプションを指定しなかった場合、または使用したオプションが-recordまたは-verbose、あるいはその両方のみである場合、ttInstanceCreateは対話モードで実行され、インスタンス管理者は情報の入力を求められます。
コマンドラインで-batchオプションを指定した場合、ttInstanceCreateは対話モードで実行され、-recordオプションを指定した前回の実行で生成された回答を記録されたバッチ・ファイルからフェッチすることによって、質問への回答を試みます。質問に対する回答がバッチ・ファイルに存在しない場合、ユーティリティは質問に対話で回答するようインスタンス管理者に要求します。
コマンドラインでその他のオプションを指定した場合、それらは情報のソースとして使用されます。ttInstanceCreateユーティリティは、不明な値についてユーザーに入力を求めません。
TimesTen Scaleoutでの使用
このユーティリティは、TimesTen Scaleoutでサポートされますが、最初の管理インスタンスを作成するためにのみ使用します。(追加のインスタンスは、ttGridAdmin instanceCreateを使用して作成します。)
構文
ttInstanceCreate {-h | -help | -?} [-verbose]
TimesTen Classicのインスタンスを作成するには、次を使用します。
ttInstanceCreate [-name name] [-location path] [-daemonport port] [-csport port] [-start] [-tnsadmin path] [-force] [-record filename] [-strict] [-verbose]
TimesTen Scaleoutでグリッドの最初の管理インスタンスを作成するには、次を使用します。
ttInstanceCreate [-name name] [-location path] [-daemonport port] [-csport port] [-grid] [-force] [-record filename] [-strict] [-verbose]
クライアントのみのインスタンスを作成するには、次を使用します。
ttInstanceCreate [-name name] [-location path] [-clientonly] [-serverhost host] [-force] [-record filename] [-strict] [-verbose]
ttInstanceCreate [-batch [filename]]
オプション
ttInstanceCreateには次のオプションがあります。
| オプション | 説明 |
|---|---|
-h
|
ヘルプ情報を表示します。 |
-name name |
作成するインスタンスの名前を指定します。 |
-location path |
インスタンスが作成されるディレクトリのパスを指定します。このディレクトリはすでに存在する必要があります。既存のディレクトリに新しいディレクトリが作成されます。新しいディレクトリの名前は-nameオプションで指定します。この新しいディレクトリが新しいインスタンス・ホームになります。 |
-force |
-instanceオプションで指定したインスタンス・ディレクトリがすでに存在する場合、このディレクトリが上書きされることを指定します。ディレクトリは次の場合にのみ上書きされます。
1. 指定したインスタンス・ディレクトリが空である場合、または 2. 指定したインスタンス・ディレクトリに |
-record filename |
インストール時の質問に対する応答を、filenameで指定したファイルに記録します。その後、このファイルを-batchオプションに対するパラメータとして指定できます。 |
-batch [filename] |
ttInstanceCreateユーティリティへの入力を指定するために使用されるファイルを指定します。指定しなかった場合、入力ファイルは使用されません。 |
-strict |
コマンドを実行しているプラットフォームがサポートされていることを確認し、そうでない場合はインスタンスの作成を回避します。 |
-tnsadmin location |
キャッシュを使用する場合、このオプションはTNS_ADMIN設定に使用される場所を構成します。 |
-verbose |
ユーティリティの操作中に追加情報を表示します。 |
-grid |
TimesTen Scaleoutで使用されるようにインスタンスを構成する必要があることを示します。 |
-clientonly |
インスタンスがクライアント専用であることを指定します。他のほとんどの引数は、クライアント専用インスタンスではサポートされません。 |
クライアントおよびサーバー機能を持つインスタンス全体に次のオプションを使用します。
| オプション | 説明 |
|---|---|
-daemonport daemon_port |
このインスタンスのTimesTenデーモン・プロセス(timestend)がリスニングするポート番号。このポートは、システム上の他のアプリケーションまたはインスタンスで未使用であることが必要です。 |
-csport port |
このインスタンスのTimesTenのクライアント/サーバー・ポート番号に使用される値。指定しなかった場合、デフォルトはdaemonport + 1です。 |
このオプションは、TimesTen Classicを対象としたインスタンスの場合に使用します。
| オプション | 説明 |
|---|---|
-start |
インスタンス作成後にそのインスタンスが起動されるように指定します。 |
このオプションは、クライアントのみのインスタンスに使用します。
| オプション | 説明 |
|---|---|
-serverhost host |
TimesTen Clientの場合、TimesTen Serverのホストを指定します。値は、TimesTen Serverが実行されているコンピュータの論理名、ドメイン名またはIPアドレスです。完全なインスタンスの場合、インスタンスの作成場所のホストにデフォルト設定されます。 |
TimesTen Scaleoutでの使用
このユーティリティはTimesTen Scaleoutでサポートされていますが、ほとんどの場合、ttGridAdmin instanceDeleteを使用します。
構文
ttInstanceDestroy {-h | -help | -?} [-verbose]
ttInstanceDestroy [-force]
オプション
ttInstanceDestroyには次のオプションがあります。
| オプション | 説明 |
|---|---|
-h
|
ヘルプ情報を表示します。 |
-force |
指定した場合、操作の確認を要求されません。
|
-verbose |
TimesTenインストールの追加情報を表示します。 |
説明
ttInstanceModifyユーティリティを使用して、インスタンスの、次のような特定の属性を変更します。
このインスタンスに関連付けられているインストール。
デーモンおよびサーバーのポート番号。
インスタンスのTNS_ADMIN
このインスタンスのOracle ClusterwareでのTimesTenレプリケーションの構成。
変更されるインスタンスは、$TIMESTEN_HOMEで参照されるインスタンスです。
このユーティリティでオプションを指定しなかった場合、ttInstanceModifyによって各属性の現在値と、値を保持または変更できるプロンプトが表示されます。
設定のいずれかを変更した場合は、ユーティリティによって次のことが実行されます。
インスタンスのTimesTenデーモンを停止します。
timesten_home/confディレクトリのtimesten.confファイルを編集します。
インスタンスのTimesTenメイン・デーモンを起動します。
TimesTen Scaleoutでの使用
このユーティリティはTimesTen Scaleoutでサポートされていますが、ほとんどの場合、ttGridAdmin instanceModifyを使用します。
構文
ttInstanceModify [-h | -help | -?] [-verbose] ttInstanceModify [-port daemonport] [-serverport cs_port] [-tnsadmin location] [-crs] [-install installation_dir]
オプション
ttInstanceModifyには次のオプションがあります。
| オプション | 説明 |
|---|---|
-h
|
ヘルプ情報を表示します。 |
-daemonport daemonport |
TimesTenメイン・デーモンのポート番号を更新します。 |
-crs |
インスタンスのOracle Clusterware構成を作成または変更します。 |
-install installation_dir |
インスタンスが使用するインストールを変更します。
このオプションは、11.2.2.から18.1.へのアップグレードなど、新しいメジャー・リリースへのアップグレードには使用できません |
-tnsadmin location |
インスタンスのTNS_ADMIN設定(キャッシュ用)を更新します。 |
説明
ttIsqlからSQL文を実行し、TimesTen組込みプロシージャをコールできます。SQLは、コマンドラインから対話形式で実行できます。ttIsqlからのSQLの実行の詳細は、-helpfullオプションを使用してください。また、TimesTen組込みプロシージャをコールするには、call procedure-nameを使用します。
[Ctrl]キーを押しながら[C]キーを押すと、ttIsqlコマンドは実行中のODBC関数を取り消そうとします。
UNIXおよびLinuxシステムでは、このユーティリティはTimesTen Data Manager DSNでサポートされます。クライアント/サーバーDSNには、ttIsqlCSを使用します。
ttIsqlユーティリティは、スクリプトを実行中でもAUTOCOMMITをオンにして起動します。必要に応じてAUTOCOMMITをオフにし、再度オンにできます。
ttIsqlユーティリティの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の章「ttIsqlユーティリティの使用方法」を参照してください。
構文
ttIsql {-h | -help | -? | -helpcmds | - helpfull}
ttIsql {-V | -version}
ttIsql [-f inputFile] [-v verbosity] [-e commands | sql_statement]
[-interactive] [-N ncharEncoding] [-wait] {-connStr connection_string | DSN}
オプション
ttIsqlには次のオプションがあります。
| オプション | 説明 |
|---|---|
-connStr connection_string |
データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列。 |
DSN |
接続するデータベースのODBCデータソース名を指定します。 |
-e commands |
起動時に実行する、セミコロンで区切ったttIsqlコマンドのリストを指定します。 |
-f filename |
filenameからSQLコマンドを読み取ります。 |
-h
-? |
使用方法のメッセージを出力して終了します。 |
-helpcmds |
対話形式コマンドの短いリストを出力します。 |
-helpfull |
対話形式コマンドの完全な説明を出力します。 |
-interactive |
対話形式モードを強制します。これはemacs comintバッファから実行するときに役立ちます。 |
-N ncharEncoding |
NCHARの出力に使用する文字エンコードを指定します。
有効な値は 値を指定しない場合は、TimesTenではシステム固有の言語文字が使用されます。 |
-V | -version |
ttIsqlのリリース番号を出力し、終了します。 |
-v verbosity |
冗長レベルを指定します。次のいずれかです。
|
-wait |
接続に成功するまで待機します。 |
ttIsqlの「属性の設定および表示」のリストも参照してください。
ブール・コマンドでは、ONおよびOFFまたは1および0の値を使用できます。
ttIsqlには次のコマンドがあります。
| コマンド | 説明 |
|---|---|
accept variable[NUM[BER]| CHAR |BINARY_FLOAT | BINARY_DOUBLE] [DEF[AULT]default_value] [PROMPT prompt_text | NOPR[OMPT]] [HIDE] |
ユーザーから入力を取得し、変数をDEFINESを使用して定義します。型が指定されている場合には、型の検証をします。ユーザーが[Enter]を押しただけの場合、デフォルト(引用符で囲まれる)が割り当てられます。入力を待つ間、プロンプトが表示されます(プロンプトの表示は抑制できます。)HIDEオプションを使用すると、入力した文字を端末に表示しません(パスワード用)。
|
allfunctions [[owner_name_pattern.] table_name_pattern] |
SYS.ALL_OBJECTSから選択された特定のパターンに一致するすべてのPL/SQLファンクションの名前が単一の列にリストされます。パターンが指定されていない場合、パターンはデフォルトで%になります。
パススルーが有効になっている場合は、Oracle Database内の、パターンに一致するPL/SQLファンクションがリストされます。
|
allindexes [[owner_name_pattern.] table_name_pattern] |
SYS.ALL_OBJECTSから選択された入力パターンに一致する表で見つかった索引が示されます。パターンが指定されていない場合、パターンはデフォルトで%になります。
パススルーが有効になっている場合は、Oracle Database内の、パターンに一致する表の索引がリストされます。
|
allpackages [[owner_name_pattern.] table_name_pattern] |
SYS.ALL_OBJECTSから選択された特定のパターンに一致するすべてのPL/SQLパッケージの名前が単一の列にリストされます。パターンが指定されていない場合、パターンはデフォルトで%になります。
パススルーが有効になっている場合は、Oracle Database内の、パターンに一致するPL/SQLパッケージがリストされます。
|
allprocedures [[owner_name_pattern.] procedure_name_ pattern] |
SYS.ALL_OBJECTSから選択された特定のパターンに一致するすべてのPL/SQLプロシージャの名前が単一の列にリストされます。パターンが指定されていない場合、パターンはデフォルトで%になります。
パススルーが有効になっている場合は、Oracle Database内の、パターンに一致するPL/SQLプロシージャがリストされます。
|
allsequences [[owner_name_pattern.] table_name_pattern]] |
SYS.ALL_OBJECTSから選択された特定のパターンに一致するすべての順序の名前が単一の列にリストされます。パターンが指定されていない場合、パターンはデフォルトで%になります。
パススルーが有効になっている場合は、Oracle Database内の、パターンに一致する表の順序がリストされます。
|
allsynonyms [[schema_pattern.] object_pattern]] |
特定のパターンに一致するすべてのシノニムの名前が単一の列にリストされます。パターンが指定されていない場合、パターンはデフォルトで%になります。
パススルーが有効になっている場合は、Oracle Database内の、パターンに一致する表のシノニムがリストされます。
|
alltables [[owner_name_pattern.] table_name_pattern]] |
SYS.ALL_OBJECTSから選択された特定のパターンに一致するすべての表の名前が単一の列にリストされます。パターンが指定されていない場合、パターンはデフォルトで%になります。
パススルーが有効になっている場合は、Oracle Database内の、パターンに一致する表がリストされます。
|
allviews [[owner_name_pattern.] view_name_pattern]] |
SYS.ALL_OBJECTSから選択された特定のパターンに一致するすべてのビューの名前が単一の列にリストされます。パターンが指定されていない場合、パターンはデフォルトで%になります。
パススルーが有効になっている場合は、Oracle Database内の、パターンに一致するビューがリストされます。 |
builtins [builtin_name_ pattern] |
特定のパターンに一致するすべてのTimesTen組込みプロシージャの名前が単一の列にリストされます。パターンが指定されていない場合、パターンはデフォルトで%になります。
|
bye
|
ttIsqlを終了します。 |
cachegroups [[cache_group_owner_pattern. cache_group_name_pattern]] |
現在接続されているデータソースに定義されているキャッシュ・グループの情報をレポートします。レポートされる情報には、自動リフレッシュ・キャッシュ・グループを含む停止中のデータベースの状態などがあります。
オプションの引数を指定しない場合は、現在のデータソースのすべてのキャッシュ・グループに関する情報がレポートされます。 |
cachesqlget
|
読取り専用キャッシュ・グループ、増分自動リフレッシュを設定したユーザー管理キャッシュ・グループまたはAWTキャッシュ・グループに関連付けられたOracle Databaseオブジェクトをインストールまたは削除する、Oracle SQL*Plus互換のスクリプトを生成します。
オプションの |
cd directory |
現在のディレクトリを変更します。
これは、対話型シェルの
相対パスに基づく後続のコマンドはこのディレクトリを出発点として使用します。 影響を受けるコマンドの例として、 |
clearhistory |
履歴バッファを消去します。historyおよびsavehistoryも参照してください。 |
clienttimeout
|
現在の接続に対して、クライアントのタイムアウト値を秒単位で設定します。値を指定しなかった場合は、現在の値が表示されます。
クライアント・タイムアウト、SQLタイムアウトおよびPL/SQLタイムアウトの間の関係の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のSQLとPL/SQLのタイムアウト値の選択に関する説明を参照してください。 |
close [connect_id.] command_id]
|
接続名(connect_id)およびコマンドID(command_id)で指定されている準備されたコマンドを閉じます。command_idが指定されていない場合は、最新のコマンドが閉じられます。closeallを選択した場合は、現在開いている準備されたコマンドがすべて閉じられます。
準備されたコマンドを作成するには、 |
cmdcache [[by {sqlcmdid |querytext|owner}] query_subsstring] |
TimesTen SQLコマンド・キャッシュの内容を表示します。
SQL問合せの特定の部分を検索するために、 パススルーが有効になっている場合は、コマンドIDはOracle Databaseには渡されません。 |
commit |
現在のトランザクションを(接続でDurability=1になっている場合は永続的に)コミットします。 |
commitdurable |
現在のトランザクションを永続的にコミットします。 |
compact |
データベースを縮小します。 |
compare varA VarB |
2つの変数の値を比較して、差異がある場合はレポートします。最初の差異がレポートされます。 |
connect[connection_string |[[DSN][as]connid [adding] [connection_string | DSN][as connid] |
指定したODBC connection_stringでデータベースに接続します。
この書式でパスワードを指定しない場合は、 ユーザーを指定しない場合、
|
createandloadfromoraquery [owner_name.]table_name [num_threads] query |
表名、パラレル・ロードのスレッド数およびOracle SELECT文をとります。
表が存在していない場合はTimesTenに表を作成します。次にOracle Databaseからの問合せ結果を表にロードします。コマンドにより表が作成される場合、その表の列名とタイプは問合せ結果から導出されます。 ノート:
必要な権限 指定した表に対する |
define name [= value] |
文字列置換別名を定義します。
値を指定しない場合は、 コマンド置換を有効にするには、 |
describe [[owner_pattern.] name_pattern | procedure_name_pattern |sql_statement | [connect_id.]command_id |*] |
引数が[owner_pattern.]name_patternの場合は、表、シノニム、ビュー、マテリアライズド・ビュー、順序、キャッシュ・グループ、PL/SQLファンクション、PL/SQLプロシージャ、PL/SQLパッケージおよびTimesTen組込みプロシージャに関する情報がこの順でリストされます。それ以外の場合は、特定のパターンに一致する特定のオブジェクトがリストされます。
引数が
説明対象の表またはマテリアライズド・ビューがTimesTen Scaleoutデータベースに含まれている場合は、このコマンドによって分散スキームがレポートされます。 キャッシュ・グループの表示では、接続中のデータソースに定義されているキャッシュ・グループの情報(自動リフレッシュ・キャッシュ・グループを含む停止中のデータベースの状態など)がレポートされます。 コマンドの説明対象がTimesTen Scaleoutデータベース内の順序である場合は、バッチ・フィールドが表示されます。 コマンド別名は 準備されたコマンドを解放するには、 |
disconnect [all] |
データベースから切断します。allが指定されている場合は、すべての接続を切断して閉じます。切断が終了すると、現在の接続は「none」という名前の予約済接続に設定されます。 |
dssize [k|m|g|t] |
サイズ情報をKB、MB、GBまたはTB単位で出力します。TimesTen Scaleoutの場合、要素のサイズを指定します。
デフォルトはMBです。出力は、返された単位を示します。 |
e: msg
|
行末で終了される、指定したメッセージをエコーします。行を終了させるセミコロンは必須ではありません。冗長レベルが0(ゼロ)に設定されている場合、メッセージはエコーされません。 |
edit [ file | !history_search_command ] |
ttIsql editコマンドを使用してファイルを編集するか、またはテキスト・エディタでttIsqlコマンドを編集します。ttIsql editコマンドは、emacs、geditまたはviなどのテキスト・エディタを起動します。
TimesTenは、指定された 現行の
1度に1つのパラメータのみ使用できます。
Command> DEFINE _EDITOR=vi
詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のttIsql editコマンドの使用に関する説明を参照してください。 |
exec [connect_id.] command_id] | PLSQLSTMT |
準備されたコマンドcommand_idを
接続
引数を指定しない場合は、最新のコマンドが実行されます。 準備されたコマンドを解放するには、 |
execandfetch [connect_id.]command_id] |
接続connect_idに対して準備されたコマンドcommand_idを実行し、すべての結果をフェッチします。command_idを指定しない場合は、最新のコマンドが実行され、すべての結果がフェッチされます。
準備されたコマンドを解放するには、 |
explain [plan for] {[ Connid.]ttisqlcmdid | sqlcmdid sqlcmdid | sqlstmt |!history} |
ttisqlcmdid引数またはsqlcmdid引数で指定された準備済のttIsql文を含め、指定したSQL文の計画について説明します。
パススルーが有効になっている場合は、コマンドIDはOracle Databaseには渡されません。 |
fetchall [connect_id.]command_id] |
接続connect_idに対して準備されたコマンドcommand_idからすべての結果をフェッチします。
準備されたコマンドを解放するには、 |
fetchnext num_rowsconnect_id.]command_id] |
接続connect_idに対して準備されたコマンドcommand_idから、最大でnum_rows行がフェッチされます。
準備されたコマンドを解放するには、 |
fetchone [connect_id.]command_id] |
接続connect_idに対して準備されたコマンドcommand_idから1つの結果をフェッチします。
準備されたコマンドを解放するには、 |
free [[connect_name.]connect_id.] command_id] |
接続connect_idに対して準備されたコマンドcommand_idを解放します。
コマンドを指定しない場合は、最新のコマンドが解放されます。 準備されたコマンドを作成するには、 |
functions [object_name_pattern] |
現在のユーザーによって所有されており、特定のパターンに一致するPL/SQLファンクションの名前が単一の列にリストされます。名前パターンが指定されていない場合、パターンはデフォルトで%になります。
パススルーが有効になっている場合は、Oracle Database内の、パターンに一致するPL/SQLファンクションがリストされます。
|
grid stmt |
グリッド・データベースに対して指定されている文を実行します。 |
grid monitor [optional_monitor_column] |
見やすくするためにSYS.GV$MONITOR表の内容を書式化します。
このコマンドは、TimesTen Classicではサポートされていません。 |
help [command [command ...]| all | comments | attributes] |
コマンドの簡単なヘルプ情報または詳細なヘルプ情報を出力します。
引数として特定のコマンドを指定した場合は、各コマンドの詳細なヘルプが出力されます。 コマンドの正確な名前がわからない場合は、コマンド名の一部の可能性がある数文字のみを入力します。 引数として 引数として 引数として 引数を指定しない場合は、すべてのコマンドの簡単なヘルプ情報が出力されます。 |
history [-all] [-h] [-r] [num_commands] |
ttIsqlはcshに類似したコマンド履歴を実現します。
以前に実行されたコマンドを表示します。 このコマンドの出力では、連続した重複コマンドは省略されます。連続した重複コマンドを含めるには、 コマンド数を省略するには、 コマンドを逆の順序でリストするには、 履歴リストには、実行された過去100コマンドが格納されています。
|
host os_command |
オペレーティング・システムのコマンドを実行します。コマンドはttIsqlと同じコンソールで実行されます。
このコマンドは、作成されるプロセスの環境の環境変数 変数の値は、現在の接続の接続文字列です。 コマンドの終了ステータスを参照するには、 |
if-then-else |
if-then-elseコマンド構成によって、ttIsqlセッションに条件分岐ロジックを実装できます。詳細は、「IF-THEN-ELSEコマンド構成の構文」を参照してください。 |
indexes [table_name_pattern] |
現在のユーザーによって所有されており、入力パターンに一致する表で見つかった索引に関する説明が表示されます。名前パターンが指定されていない場合、パターンはデフォルトで%になります。
パススルーが有効になっている場合は、Oracle Database内の、パターンに一致する表の索引がリストされます。
|
monitor [optional_monitor_column] |
見やすくするためにSYS.MONITOR表の内容を書式化します。
|
packages [object_name_pattern] |
現在のユーザーによって所有されており、特定のパターンに一致するPL/SQLパッケージの名前が単一の列にリストされます。名前パターンが指定されていない場合、パターンはデフォルトで%になります。
パススルーが有効になっている場合は、Oracle Database内の、パターンに一致するPL/SQLパッケージがリストされます。
|
prepare [[connid.]command_id]SQL_Statement |
指定したSQL文を準備します。command_id引数を指定しない場合は、command_idが自動的に割り当てられます。
準備されたコマンドを解放するには、 |
print [variable] |
指定したバインド変数の値が出力されます(変数を指定しない場合は、すべての変数の値が出力されます)。変数がREF CURSORの場合は、結果がフェッチされ、出力されます。 |
procedures [procedure_name_ pattern] |
現在のユーザーによって所有されており、特定のパターンに一致するPL/SQLプロシージャの名前が単一の列にリストされます。名前パターンが指定されていない場合、パターンはデフォルトで%になります。
パススルーが有効になっている場合は、Oracle Database内の、パターンに一致するPL/SQLプロシージャがリストされます。
|
quit |
ttIsqlを終了します。 |
remark msg |
行のメッセージをコメントとして扱うことを指定します。行の最初にremまたはremarkがある場合、その行は読み込まれますが、無視されます。 |
repschemes [[scheme_owner_pattern.] scheme_name_pattern] |
現在接続しているデータソースに定義されたレプリケーション・スキームの情報をレポートします。この情報は、レプリケーション・スキームに関連付けられたすべての要素を示します。
オプションの引数を省略した場合は、現在のデータソースに定義されたすべてのレプリケーション・スキームの情報がレポートされます。 |
retryconnect [0|1] |
接続再試行機能を無効(0)または有効(1)にします。
接続再試行機能を有効にすると、最初は一時的な状況のために失敗した、データソースへの接続の試行は成功するまで繰り返されます。たとえば、接続の試行時に、データソース・リカバリが進行している場合は、接続再試行機能によって接続コマンドはリカバリ・プロセスが完了するまで接続を試行し続けます。 オプションの引数を省略した場合は、デフォルトによって接続再試行機能は有効にされます。 |
rollback |
カレント・トランザクションをロールバックします。AutoCommitは無効にする必要があります。このコマンドによって、Oracle Database上でのTimesTen Cache操作が停止されることはありません(このような操作には、PassThrough文、フラッシング、手動ロード、手動リフレッシュ、同期ライトスルー、伝播および動的ロードが含まれます)。 |
rpad varname desiredlength paddingstring |
RPADコマンドの動作は、SQL関数のRPAD()と似ていますが、次の制限があります。
|
run filename [arguments]|
|
filenameからSQLコマンドを読み取って実行します。このコマンドは、最大5レベルまでネストできます。
|
savehistory
|
指定したoutputfileに履歴バッファを書き込みます。
連続した重複コマンドは省略されます。 連続した重複コマンドを含めるには、 コマンド数を省略するには、 既存の出力ファイルに追加するには、
|
sequences [sequence_name_pattern] |
現在のユーザーによって所有されており、特定のパターンに一致する順序の名前が単一の列にリストされます。名前パターンが指定されていない場合、パターンはデフォルトで%になります。
パススルーが有効になっている場合は、Oracle Database内の、パターンに一致する表の順序がリストされます。
|
set attribute [value] |
指定したset/show属性を特定の値に設定します。
値を指定しない場合は、指定した属性の現在の値が表示されます。 指定できる属性の説明は、「属性の設定および表示」を参照してください。 |
setjoinorder tblNames [...] |
オプティマイザに対して結合順序を指定します。AutoCommitは無効にする必要があります。 |
setuseindex index_name,correlation_name,
|
問合せオプティマイザの索引ヒントを設定します。 |
setvariable variable_name := value |
スカラー・バインド変数の値または配列バインド変数の要素を設定します。たとえば、setvariable myvar := 'TimesTen';のように入力します(代入演算子(:=)の両端には空白が1つずつ必要です)。
詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のバインド変数の宣言および設定に関する説明を参照してください。 |
show {all | attribute} |
指定したset/show属性の値、またはすべての属性を表示します。
指定できる属性の説明は、「属性の設定および表示」を参照してください。 |
showjoinorder {0 | 1} |
結合順序の保存を有効または無効にします。
SQLの |
sleep [n] |
実行をn秒間一時停止します。nを指定しない場合、実行は1秒間一時停止されます。 |
spool filename [option | OFF] |
端末出力のコピーをファイルfilenameに書き込みます。
値 スプール・コマンドを指定したものの、スプールがすでに実行中である場合は、そのアクティブなスプールが閉じられ、新しいファイルが開かれます。 |
sqlcolumns [owner_name_pattern.]table_name_pattern |
SQLColumnsへのODBCコールの結果を出力します。 |
sqlgetinfo infotype |
SQLGetInfoへのODBCコールの結果を出力します。 |
sqlstatistics [[owner_name_pattern.]table_name_pattern] |
SQLStatisticsへのODBCコールの結果を出力します。 |
sqltables[[owner_name_pattern.]table_name_pattern] |
SQLTablesへのコールの結果を出力します。パターンは、任意の1文字を表すアンダースコア(_)、または0(ゼロ)文字以上の文字列を表すパーセント記号(%)を含む文字列です。 |
statsclear [[owner_name.]table_name] |
指定した表(または表を指定しない場合はすべての表)の統計を消去します。 |
statsestimate [[owner_name.]table_name] {n rows | p percent} |
指定した表(または表を指定しない場合はすべての表)の統計を見積もります。
システム表を更新する権限がある場合、空の表リストを指定して統計を見積もると、システム表の統計も更新されます。 |
statsupdate [[owner_name_pattern.] table_name_pattern] |
指定した表(または表を指定しない場合はすべての表)の統計を更新します。
|
synonyms [[schema_pattern.] object_pattern]] |
現在のユーザーによって所有されており、特定のパターンに一致するシノニムの名前が単一の列にリストされます。名前パターンが指定されていない場合、パターンはデフォルトで%になります。
Oracle Databaseへのパススルーが有効な場合は、Oracle Database内のパターンに一致する表のシノニムがリストされます。
|
tables [table_name_pattern]] |
現在のユーザーによって所有されており、特定のパターンに一致する表の名前が単一の列にリストされます。名前パターンが指定されていない場合、パターンはデフォルトで%になります。
Oracle Databaseへのパススルーが有効な場合は、Oracle Database内のパターンに一致する表がリストされます。
|
tablesize [[owner_name_pattern.] table_name_pattern]] |
パターンに一致する各表がALL_TAB_SIZESビューの内容にリストされます。
|
undefine name |
文字列置換別名の定義を取り消します。 |
unsetjoinorder |
オプティマイザへの結合順序アドバイスを消去します。AutoCommitは無効にする必要があります。 |
unsetuseindex |
問合せオプティマイザの索引ヒントを消去します。 |
use [conn_id] |
現在の接続とそのIDのリストを表示します。connidを指定した場合は、特定の接続IDに切り替えられます。
初期接続の名前を使用するには、元の完全な接続名を指定するのではなく、
|
variable [variable_name [data_type] [:= value]]
variable array_name
'[' array_size ']'
|
型が指定されていない場合、文で参照可能なバインド変数を宣言するか、または変数の定義を表示します。型は、(n)、NUMBER、CHAR(n)、NCHAR(n)、VARCHAR2(n)、NVARCHAR2(n)、BLOB、CLOB、NCLOBまたはREFCURSORのいずれかです。(n)のみが指定されている場合には、VARCHAR2 (n)としてみなされます。
1つの変数には1つの値を割り当て、データ型が配列型の場合には複数の値を割り当てます。 詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のバインド変数の宣言および設定に関する説明を参照してください。 |
version |
バージョン情報をレポートします。 |
views [table_name_pattern] |
現在のユーザーによって所有されており、特定のパターンに一致するビューの名前が単一の列にリストされます。名前パターンが指定されていない場合、パターンはデフォルトで%になります。
Oracle Databaseへのパススルーが有効な場合は、Oracle Database内のパターンに一致するビューがリストされます。
|
waitfor expected_result timeoutseconds sqlstatement |
問合せで期待された結果が返されるまたはタイムアウトが起こるまで、指定された文を1秒に1度実行します。問合せは1列のみで正確に1列を返す必要があります。問合せでエラーが発生すると、ループは終了します。 |
waitforresult expected_result timeoutseconds searchrow searchcol sqlstatement |
結果が1以上の列の場合を除き、waitforコマンドと同様です。また、結果は0行を返すこともあります。
問合せで期待された結果が返されるまたはタイムアウトが起こるまで、指定された文を1秒に1度実行します。 |
whenever sqlerror |
ttIsqlでエラーが発生したときの処理方法を指定します。詳細は、WHENEVER SQLERRORコマンドの構文を参照してください。 |
xlabookmarkdelete id |
永続XLAブックマークを削除します。
削除するブックマークを指定しない場合は、現在のすべてのXLAブックマークの状態がレポートされます。 『Oracle TimesTen In-Memory Database C開発者ガイド』のttXlaDeleteBookmarkに関する説明も参照してください。
|
この項では、IF-THEN-ELSE構成の構文を示します。IF-THEN-ELSEコマンド構成の使用方法については、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のIF-THEN-ELSEコマンド構成を使用した条件制御に関する説明を参照してください。
IF [NOT]
{ Literal1 | :BindVariable1 }
{ = | IN }
{ Literal2 | :BindVariable2 | SelectStatement }
THEN "ThenCommands"
[ ELSE "ElseCommands" ] ;
ttIsqlのIF-THEN-ELSEコマンドには次のパラメータがあります。
| パラメータ | 説明 |
|---|---|
IF |
IFコマンドはセミコロン(;)で終わる必要があります。
不適切な構文( |
NOT |
NOTを使用すると、条件で期待される結果が逆になります。 |
Literal1, Literal2 |
比較対象になる値。 |
BindVariable1, BindVariable2 |
バインド変数はパラメータと同義です。:BindVariable1表記法を使用して、この構成にバインド変数を渡すことができます。変数の作成と設定には、variableまたはsetvariable ttIsqlコマンドを使用します。 |
= | IN |
IN演算子はSelectStatementとともにのみ使用できます。IN演算子を使用すると、0行以上の行を返すことができます。等号(=)演算子は、単一の行を返す場合にのみ使用します。 |
SelectStatement |
指定するSELECT文はSELECTで始まる必要があります。SELECT文で返すことができるのは、1つの列のみです。また、等号(=)演算子を指定すると、1つの行のみを返すことができます。
データベースに接続していない場合は、 |
ThenCommands, ElseCommands |
THEN句またはELSE句のすべてのコマンドはセミコロンで区切る必要があり、二重引用符を含めることはできません。これらの句を使用すると、PL/SQLでは実行できないhostやrunなどのttIsqlコマンドを条件付きで実行できます。THEN句またはELSE句内では、CALL文を使用できます。PL/SQLブロックは使用できません。 |
IF-THEN-ELSE構成には次の制約があります。
LOBデータ型の変数は比較できません。
値は、strcmpを使用して大/小文字を区別して比較されます。文字が埋め込まれた値は、その埋込みが原因でVARCHAR2と一致しない場合があります。
SQLエラーが発生したときの対処方法は、WHENEVER SQLERRORコマンドを実行して規定できます。WHENEVER SQLERRORコマンドの詳細と使用例は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のWHENEVER SQLERRORコマンドを使用したエラー・リカバリに関する説明を参照してください。
WHENEVER SQLERROR { ExitClause | ContinueClause | SUPPRESS |
SLEEP Number | ExecuteClause }
EXITを指定すると、エラーが発生した場合にttIsqlが常に終了します。ExitClauseは次のように設定します。
EXIT [ SUCCESS | FAILURE | WARNING | Number | :BindVariable ]
[ COMMIT | COMMIT ALL | ROLLBACK ]
CONTINUEを指定すると、エラーが発生した場合でもttIsqlによって次のコマンドが続行されます。ContinueClauseは次のように設定します。
CONTINUE [ COMMIT | COMMIT ALL | ROLLBACK | NONE ]
処理を継続する前に指定のコマンドを実行します。ExecuteClauseは次のように設定します。
EXECUTE "Cmd1;Cmd2;...;"
WHENEVER SQLERRORコマンドには次のオプションがあります。
EXIT: エラーが発生した場合は常にttIsqlが終了します。ttIsqlの終了前に実行する処理を、次のいずれかで指定します。SUCCESSはEXITのデフォルト・オプションです。
SUCCESS、FAILUREまたはWARNING: ttIsqlがすべてのSQLエラーを終了した後で、SUCCESS(値0)、FAILURE(値1)またはWARNING(値2)をオペレーティング・システムに返します。
Number: リターン・コードとしてオペレーティング・システムに返す、0から255の数値を指定します。ttIsqlが終了した場合は、適切なオペレーティング・システム・コマンドでエラーのリターン・コードを取得できます。たとえば、Cシェル(csh)でecho $statusを使用するか、Bourneシェル(sh)でecho $?を使用して、リターン・コードを表示できます。
リターン・コードはバッチ・コマンド・ファイル内で取得および処理できるため、想定外のイベントをプログラムで検出し、そのイベントに対応することができます。
:BindVariable: variableコマンドによってttIsqlで以前に作成した値をバインド変数に返します。Numberオプションと同様に、エラーの発生時に変数の値をオペレーティング・システムに返します。
|
ノート: WHENEVER SQLERRORコマンド内で使用するバインド変数は、LOB、REFCURSOR、または配列関連のデータ型として定義することはできません。 |
また、ttIsqlの終了前に、すべての変更をコミットするか、またはロールバックするかを指定できます。
COMMIT: 終了前にCOMMITを実行し、現在の接続で行われた変更のみを保存します。その他の接続は通常の切断処理で終了し、コミット前のすべての変更はロールバックされます。
COMMIT ALL: 終了前にCOMMITを実行し、すべての接続で行われた変更を保存します。
ROLLBACK: 終了前にROLLBACKを実行し、(デフォルトでは)現在の接続と他のすべての接続で行われた変更を破棄します。その他の接続は通常の切断処理で終了し、コミット前のすべての変更は自動的にロールバックされます。
CONTINUE: エラーが発生しても終了しません。SQLエラーが表示されますが、そのエラーによってttIsqlが終了することはありません。次のオプションでは、後続のttIsqlコマンドを実行する前の処理を指定できます。
NONE: これがデフォルトです。処理を継続する前のアクションはありません。
COMMIT: 処理を継続する前にCOMMITを実行し、現在の接続で行われた変更を保存します。
COMMIT ALL: 処理を継続する前にCOMMITを実行し、すべての接続で行われた変更を保存します。
ROLLBACK: 処理を継続する前にROLLBACKを実行し、(デフォルトでは)現在の接続と他のすべての接続で行われた変更を破棄します。その他の接続は通常の切断処理で終了し、コミット前のすべての変更は自動的にロールバックされます。
SUPPRESS: すべてのエラー・メッセージを非表示にして、処理を継続します。
SLEEP: 処理を継続する前に、指定した時間(秒)だけスリープ状態になります。
EXECUTE: 処理を継続する前に、指定したコマンドを実行します。複数のコマンドは、それぞれセミコロン(;)で区切ります。その他のエラーでトリガーされるコマンドがある場合は、それらのエラーが別のアクションを引き起こす可能性があり、場合によってはループ状態に陥ることもあります。
ttIsqlの「コマンド」のリストも参照してください。一部のコマンドは、setコマンドの属性として使用されます。その場合、それらの属性はsetコマンドがあってもなくても使用できます。
ブール属性では、ONおよびOFFまたは1および0の値を使用できます。
ttIsqlのsetコマンドには次の属性があります。
| 属性 | 説明 |
|---|---|
all |
showコマンドのみを使用します。すべてのttIsqlコマンドの設定を表示します。 |
autocommit [1|0] |
AutoCommitを無効および有効にします。引数を指定しない場合は、現在の設定が表示されます。 |
autovariables [1|0] |
autovariablesをオフまたはオンにします。最後にフェッチした行の各列と同じ名前を使用して自動バインド変数が作成されます。自動バインド変数は他のバインド変数と同様に使用できます。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』の取得された列のバインド変数の自動作成に関する説明を参照してください。 |
columnlabels [0 | 1] |
columnlabels機能の無効(0)と有効(1)を切り替えます。
引数を指定しない場合は、 データ・ソースに接続した後の 値が有効(
|
connstr |
SQLDriverConnectコールによって、ドライバから返された接続文字列を出力します。これは、ttIsqlによるデータベースへの接続が成功した場合に出力される文字列と同じ文字列です。 |
define [&|c|on|off] |
置換変数の接頭辞に使用する文字をcに設定します。
|
dynamicloadenable [1|0] |
Oracle DatabaseからTimesTenの動的キャッシュ・グループへのデータの動的ロードを有効または無効にします。デフォルトでは、Oracle Databaseからのデータの動的ロードが有効になっています。 |
echo [on | off] |
setコマンドで使用した場合、run、@または@@スクリプトに指定されているコマンドを実行すると、そのコマンドが端末に出力されます。
|
editline [0 | 1] |
editline機能の無効と有効を切り替えます。デフォルトでは、editlineは有効です。
|
err | error |errors [objecttype [schema.]name] |
showコマンドを使用して、指定したPL/SQLオブジェクトに関するエラー情報を表示します。オブジェクト・タイプまたはオブジェクト名を指定しない場合は、ttIsqlは最後に作成しようとしたPL/SQLオブジェクトとみなし、そのオブジェクトのエラーが取得されます。指定のオブジェクトに関連付けられたエラーが見つからないか、または以前のPL/SQL DDLが存在しない場合は、ttIsqlによって「No errors」と表示されます。 |
feedback [on | off] rows |
文を実行した後のステータス・メッセージの表示を制御します。
|
isolation [{READ_COMMITTED | 1}| {SERIALIZABLE | 0}] |
分離レベルを設定します。引数を指定しない場合は、現在の値が表示されます。
|
loboffset n |
ttIsqlがLOBの結果値を出力するときに、その開始点として適用するオフセットを指定します。たとえば、LOBの値がABCEDFGで、オフセットが4の場合、ttIsqlは最初の3バイトをスキップしてDEFGを出力します。
この動作はSQL*Plusの |
long n |
フェッチ時や出力時に表示するCLOB/BLOBデータの最大文字数、またはBLOBデータの最大バイト数をレポートまたは制御します。
デフォルト値は このコマンド設定は、セッション内のすべての接続に対して有効です。 |
longchunksize n |
ttIsqlでLOBデータを取得するときに使用するチャンク・サイズを指定します。 |
multipleconnections [1 | ON] mc [1 | ON] |
複数の接続の処理をレポートまたは可能にします。デフォルトでは、ttIsqlではユーザーは1つずつ接続をオープンすることができます。
引数 値が指定されていない場合、コマンドには
|
ncharencoding [encoding] |
NCHARの出力に使用する文字エンコードを指定します。有効な値はLOCALEまたはASCIIです。
値を指定しない場合は、TimesTenではシステム固有の言語文字が使用されます。
|
nulldisplaystring "string" |
NULL値が結果セットに出現した場合に表示する文字列を設定または表示します。
このオプションはSQLユーザーには影響せず、単に結果セットに |
optfirstrow [1|0] |
First Rowオプティマイザを有効または無効にします。
オプション引数を指定しない場合、First Rowオプティマイザが有効になります。
|
optprofile |
現在のオプティマイザ・フラグの設定と結合順序を出力します。
この属性は |
passthrough [0|1|2|3] |
現在のトランザクションにTimesTen Cacheのパススルー・レベルを設定します。このコマンドを実行するにはAutoCommitを無効にする必要があるため、パススルー・レベルを設定する場合、ttIsqlは一時的にAutoCommitを無効にします。
オプション引数を指定しない場合は、現在の設定が表示されます。 トランザクションが完了すると、パススルー値は、接続文字列またはDSNに定義されている値にリセットされます。いずれの値も指定されていなかった場合は、デフォルト設定にリセットされます。 setコマンドを指定しないでこの属性を有効にすることもできます。 ノート: 一部のOracleオブジェクトは、 |
prefetchcount [prefetch_count_size] |
現在の接続のプリフェッチ・カウント・サイズを設定します。オプション引数を省略した場合は、現在のプリフェッチ・カウント・サイズがレポートされます。プリフェッチ・カウント・サイズを設定した場合は、結果セットのフェッチ速度を改善できます。prefetch_count_size引数には0から128までの整数を指定できます。
プリフェッチ数を
|
prompt [string] |
Command>プロンプトを指定した文字列に置き換えます。
プロンプトに空白を指定する場合は、文字列を引用符で囲む必要があります。先行する引用符および後続の引用符は削除されます。 プロンプトには、文字列書式指定子( |
querythreshold [seconds] |
showコマンドで使用した場合は、QueryThreshold初期接続属性の値が表示されます。
問合せの実行可能秒数を示す値を秒単位で指定します。この秒数を超えると、警告がデーモン・ログに書き込まれます。 |
rowdelimiters [0|off] | [ {1|on} [begin [ end]]] |
結果セットの行デリミタを制御します。onの場合、ユーザー問合せはbeginおよびendが指定されないかぎり、行が<および>で区切られます。すべての結果セットがこの制御の影響を受けるわけではありません。
デフォルトは |
serveroutput [on | off] |
setコマンドでonに設定して使用した場合は、SQL文を実行するたびに、出力可能な情報がすべて表示されます。出力を保存するようにPL/SQL DBMS_OUTPUTパッケージを設定して、このコマンドで出力を取得できるようにしている場合は、この出力をI/Oのデバッグに使用できます。
このコマンドを使用するとパフォーマンスが低下することがあるため、デフォルトでは
このコマンドは、 |
showcurrenttime [1|true|on] | [0|false|off] |
現在のウォール・クロック時間の出力を有効または無効にします。 |
showplan [0 | 1] |
このトランザクションの選択/更新/削除の計画の表示を有効(1)または無効(0)にします。引数を省略した場合、計画の表示は有効になります。AutoCommitは無効にする必要があります。
|
sqlquerytimeout [seconds] |
アプリケーションでの後続のコールに戻る前にSQL文の実行を待機する秒数を指定します。
時間を指定しなかった場合または
setコマンドを指定しないでこの属性を有効にすることもできます。 クライアント・タイムアウト、SQLタイムアウトおよびPL/SQLタイムアウトの間の関係の詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のSQLとPL/SQLのタイムアウト値の選択に関する説明を参照してください。 |
timing [1|0] |
問合せタイミングの出力を有効または無効にします。
|
tryhash [1|0] |
オプティマイザによるトランザクション・レベルでのハッシュ索引の使用を有効または無効にします。AutoCommitは無効にする必要があります。
|
trymaterialize [1|0] |
オプティマイザによるトランザクション・レベルでの実体化を有効または無効にします。AutoCommitは無効にする必要があります。
|
trymergejoin [1|0] |
オプティマイザによるトランザクション・レベルでのマージ結合の使用を有効または無効にします。AutoCommitは無効にする必要があります。
|
trynestedloopjoin [1|0] |
オプティマイザによるトランザクション・レベルでのネステッド・ループ結合の使用を有効または無効にします。AutoCommitは無効にする必要があります。
|
tryrowid [1|0] |
オプティマイザによるトランザクション・レベルでのrowIDスキャン・ヒントを有効または無効にします。 |
tryrowlocks [1|0] |
オプティマイザによるトランザクション・レベルでの行レベル・ロックの使用を有効または無効にします。AutoCommitは無効にする必要があります。
|
tryserial [1|0] |
オプティマイザによるトランザクション・レベルでのシリアル・スキャンの使用を有効または無効にします。AutoCommitは無効にする必要があります。
|
trytmphash [1|0] |
オプティマイザによる一時的なハッシュ索引の使用を有効または無効にします。AutoCommitは無効にする必要があります。
|
trytbllocks [1|0] |
オプティマイザによるトランザクション・レベルでの表レベル・ロックの使用を有効または無効にします。AutoCommitは無効にする必要があります。
|
trytmptable [1|0] |
オプティマイザによるトランザクション・レベルでの一時表の使用を有効または無効にします。AutoCommitは無効にする必要があります。
setコマンドを指定しないでこの属性を有効にすることもできます。 |
trytmprange [1|0] |
オプティマイザによるトランザクション・レベルでの一時範囲索引の使用を有効または無効にします。AutoCommitは無効にする必要があります。
|
tryrange [1|0] |
オプティマイザによるトランザクション・レベルでの範囲索引の使用を有効または無効にします。AutoCommitは無効にする必要があります。
|
verbosity [level] |
冗長レベルを変更します。冗長レベル引数は0、1、2、3または4の整数値です。オプションの引数を省略すると、現在の冗長レベルがレポートされます。
|
vertical [{0 | off} | {1 | on} | statement] |
vertical設定の現在の値を設定または表示します。デフォルト値は0(無効)です。
statementを指定した場合、コマンドでは指定された文に対して一時的にverticalを有効にします。この形式は、verticalフラグが無効になっている場合にのみ有効です。
|
コメント・マーカーのタイプは、次のとおりです。
-- [comment_text] /* [comment_text] */
先頭の/*および末尾の*/で示されるCスタイルのコメントは、複数の行にまたがることができます。
コメントの区切りに次の文字が使用されている場合
-
この場合は、複数の行にまたがることができません。行の処理中にコメント・マーカーが検出されると、ttIsqlは行の残りを無視します。
'--'(行の先頭)はSQLコメントとみなされます。その行はコメントとみなされ、行のいずれの部分もSQL文の処理に含まれません。「--+」で始まる行は、SQL文のセグメントとして解釈されます。
コメント・マーカーは行の途中で使用できます。
例:
monitor; /*this is a comment after a ttIsql command*/
ttIsqlでは、デフォルトでコマンド入力時のキーストロークのショートカットがサポートされています。この機能を無効にするには、次のように入力します。
Command> set editline=0;
ttIsqlのキーストロークのショートカットは次のとおりです。
| キーストローク | 操作 |
|---|---|
| [←] | 挿入点を左に移動(後退)します。 |
| [→] | 挿入点を右に移動(前進)します。 |
| [↑] | 表示されているコマンドの1つ前のコマンドにスクロールします。カーソルは行末に移動します。
履歴に追加されるコマンドが最後に追加されたコマンドと同一である場合、このコマンドはスキップされます。 |
[↑]<RETURN> |
表示されているPL/SQLブロックの1つ前のPL/SQLブロックにスクロールします。 |
| [↓] | 最新のコマンド履歴項目までスクロールします。カーソルは行末に移動します。
履歴に追加されるコマンドが最後に追加されたコマンドと同一である場合、このコマンドはスキップされます。 |
[↓]<RETURN> |
表示されているPL/SQLブロックの1つ後のPL/SQLブロックにスクロールします。 |
[Ctrl] + [A] |
挿入点を行の先頭まで移動します。 |
[Ctrl] + [E] |
挿入点を行末まで移動します。 |
[Ctrl] + [K] |
コマンドライン上の現在の位置から行末までの文字を保存して削除(Kill)します。 |
[Ctrl] + [Y] |
以前保存した文字をリストア(Yank)して現在の挿入点に挿入します。 |
[Ctrl] + [F] |
カーソルを右に1文字移動します。([→]を参照。) |
[Ctrl] + [B] |
カーソルを左に1文字移動します。([←]を参照。) |
[Ctrl] + [P] |
前の履歴に移動します。([↑]を参照。) |
[Ctrl] + [N] |
次の履歴に移動します。([↓]を参照。) |
動的パラメータによって、個別の行で各パラメータへの入力が求められます。パラメータの値は、SQLで1つのリテラルを指定するのと同じ方法で指定します。
SQL_TIMESTAMP列は、動的パラメータを使用して追加できます。(たとえば、「1998-09-08 12:1212」のような値)。
パラメータ値はセミコロン文字で終了する必要があります。
指定可能な値の種類は次のとおりです。
数値リテラル。例: 1234.5
一重引用符で囲まれた時刻リテラル、日付リテラルまたはタイムスタンプ・リテラル。次に例を示します。
'12:30:00''2000-10-29''2000-10-29 12:30:00''2000-10-29 12:30:00.123456'
先頭が「N」で始まる、一重引用符で囲まれたUnicode文字列リテラル。例: N'abc'
NULL値。例: NULL
パラメータ入力処理が停止されることを示す「*」文字。例: *
パラメータ入力ヘルプ情報を出力する「?」文字。例: ?
コマンド文字列置換のパラメータの例
Command> select * from dual where :a > 100 and :b < 100;
Type '?' for help on entering parameter values.
Type '*' to end prompting and abort the command.
Type '-' to leave the parameter unbound.
Type '/;' to leave the remaining parameters unbound and execute the command.
Enter Parameter 1 'A' (NUMBER) > 110
Enter Parameter 2 'B' (NUMBER) > 99
< X >
1 row found.
Command> var a number;
exec :a := 110;
PL/SQL procedure successfully completed.
Command> print a
A : 110
Command> var b number;
exec :b := 99;
PL/SQL procedure successfully completed.
Command> select * from dual where :a > 100 and :b < 100;
< X >
1 row found.
Command> print
A : 110
B : 99
Command> select * from dual where :a > 100 and :b < 100 and :c > 0;
Enter Parameter 3 'C' (NUMBER) > 1
< X >
1 row found.
デフォルト・オプション
環境変数TTISQLをエクスポートすることによって、デフォルトのコマンドライン・オプションを設定できます。TTISQL環境変数の値は、TTISQLコマンドラインと同じ構文要件を備えた文字列です。TTISQL環境変数とコマンドラインに同じオプションが存在している場合は、コマンドラインに指定されているオプションが常に優先されます。
例
ttIsql.inpからコマンドを実行します。
% ttIsql -f ttIsql.inp
すべての出力を有効にします。DSN RunDataに接続し、データベースが存在していない場合は作成します。
% ttIsql -v 4 -connStr "DSN=RunData;AutoCreate=1"
対話形式のコマンドで出力します。
% ttIsql -helpcmds
ヘルプ・テキスト全体を出力します。
% ttIsql -helpfull
すべてのttIsql set/show属性の設定を表示します。
Command> show all;
Connection independent attribute values:
autoprint = 0 (OFF)
columnlabels = 0 (OFF)
define = 0 (OFF)
echo 1 (ON)
FEEDBACK ON
multipleconnections =0 (OFF)
ncharencoding = LOCALE (US7ASCII)
prompt = 'COMMAND>'
timing = 0 (OFF)
verbosity = 2
vertrical = 0 (OFF)
Connection specific attribute values:
autocommit = 1 (ON)
Client timeout = 0
Connection String DSN=repdb1_1121;UID=timesten; DataStore=/DS/repdb1_1121;
DatabaseCharacterSet=AL32UTF8; ConnectionCharacterSet=US7ASCII;
DRIVER=/sw/tthome/install/lib/libtten.so; PermSize=20;TempSize=20;
No errors.
isolation = READ_COMMITTED
Prefetch count = 5
Query threshold = 0 seconds (no threshold)
Query timeout = 0 seconds (no timeout)
serveroutput OFF
Current Optimizer Settings:
Scan: 1
Hash: 1
Range: 1
TmpHash: 1
TmpTable: 1
NestedLoop: 1
MergeJoin: 1
GenPlan: 0
TblLock: 1
RowLock: 1
Rowid: 1
FirstRow: 1
IndexedOr: 1
PassThrough: 0
BranchAndBound: 1
ForceCompile: 0
CrViewSemCheck: 1
ShowJoinOrder: 0
CrViewSemCheck: 1
UserBoyerMooreStringSearch: 0
DynamicLoadEnable: 1
DynamicLoadErrorMode: 0
NoRemRowIdOpt: 0
Current Join Order:
<>
Command
SQL文を準備して実行します。
% ttIsql -connStr "DSN=RunData"
ttIsql (c) 1996-2011, TimesTen, Inc. All rights reserved.
Type ? or "help" for help, type "exit" to quit ttIsql.
(Default setting AutoCommit=1)
Command> prepare 1 SELECT * FROM my_table;
exec 1;
fetchall;
verticalコマンドの例:
Command> call ttlogholds; < 0, 265352, Checkpoint , DS.ds0 > < 0, 265408, Checkpoint , DS.ds1 > 2 rows found. Command> vertical call ttlogholds; HOLDLFN: 0 HOLDLFO: 265352 TYPE: Checkpoint DESCRIPTION: DS.ds0 HOLDLFN: 0 HOLDLFO: 265408 TYPE: Checkpoint DESCRIPTION: DS.ds1 2 rows found. Command>
新しいユーザーを作成するには、内部ユーザーのパスワード名を一重引用符で囲んで入力します。
% ttIsql -connStr "DSN=RunData" ttIsql (c) 1996-2000, TimesTen, Inc. All rights reserved. Type ? or "help" for help, type "exit" to quit ttIsql. (Default setting AutoCommit=1) Command> CREATE USER terry IDENDTIFIED BY `secret';
mybookmarkというXLAブックマークを削除するには、次のように入力します。
% ttIsql -connStr "DSN=RunData" ttIsql (c) 1996-2000, TimesTen, Inc. All rights reserved. Type ? or "help" for help, type "exit" to quit ttIsql. (Default setting AutoCommit=1) Command> xlabookmarkdelete; XLA Bookmark: mybookmark Read Log File: 0 Read Offset: 268288 Purge Log File: 0 Purge Offset: 268288 PID: 2004 In Use: No 1 bookmark found. Command> xlabookmarkdelete mybookmark; Command> xlabookmarkdelete; 0 bookmarks found.
結果「X」が返されるまで、または問合せが10秒でタイムアウトになるまでSELECT問合せを実行するには、次のように入力します。
% ttIsql -connStr "DSN=RunData" ttIsql (c) 1996-2000, TimesTen, Inc. All rights reserved. Type ? or "help" for help, type "exit" to quit ttIsql. (Default setting AutoCommit=1) Command> waitfor X 10 select * from dual;
xlabookmarkdeleteコマンドを使用して、現在のXLAブックマークのステータスの確認およびブックマークの削除の両方を実行できます。このコマンドには、XLA権限またはオブジェクト所有権が必要です。
たとえば、XLAアプリケーションxlaSimpleを実行している場合は、次のように入力してブックマークのステータスを確認できます。
Command> xlabookmarkdelete; XLA Bookmark: xlaSimple Read Log File: 0 Read Offset: 630000 Purge Log File: 0 Purge Offset: 629960 PID: 2808 In Use: No 1 bookmark found.
ブックマークxlaSimpleを削除するには、次のように入力します。
Command> xlabookmarkdelete xlaSimple;
変数および出力を使用したパラメータの例
ttIsqlの置換は、SQL*Plusの置換をモデルにしています。置換機能を有効にするには、set define onまたはset define substitution_charを使用します。ユーザーがonを指定した場合の置換文字は&です。無効にするには、set define offを使用します。デフォルトでは、置換はoffになっています。デフォルトがoffになっているのは、置換文字に&を選択するとTimesTenがビットAND演算子として使用するアンパサンドと競合するためです。有効にすると、置換文字に続く英数字の識別子はその識別子に割り当てられている値に置き換えられます。無効にすると、このような展開は実行されません。置換がoffのときでも、新しい定義を指定できます。ttIsqlに事前定義されている定義をリストするには、defineコマンドを使用します。
Command> show define
define = 0 (OFF)
Command> define
DEFINE _PID = "9042" (CHAR)
DEFINE _O_VERSION = "TimesTen Release 11.2.1.0.0" (CHAR)
Command> select '&_O_VERSION' from dual;
< &_O_VERSION >
1 row found.
Command> set define on
SELECT '&_O_VERSION' FROM DUAL;
< TimesTen Release 11.2.1.0.0 >
1 row found.
値を定義しない場合は、ttIsqlによって値の入力が求められます。このとき、識別子の前に指定される置換文字が1つのみの場合、識別子は1つの文の存続期間のみ定義済になります。置換文字を2つ使用し、値の入力が求められた場合は、識別子を明示的に定義したかのように機能します。
Command> SELECT '&a' FROM DUAL; Enter value for a> hi < hi > 1 row found. Command> define a symbol a is UNDEFINED The command failed. Command> SELECT '&&a' FROM DUAL; Enter value for a> hi there < hi there > 1 row found. Command> define a DEFINE a = "hi there" (CHAR)
追加の定義を作成するには、defineコマンドを使用します。
Command> define tblname = sys.dual
define tblname
DEFINE tblname = "sys.dual" (CHAR)
Command> select * from &tblname;
< X >
1 row found.
runコマンドの引数は、次のスクリプトに示すように、引数をrunコマンドまたは@(および@@)コマンドに追加すると、'&1'、'&2'などに対して自動的に定義されます。
CREATE TABLE &1 ( a INT PRIMARY KEY, b CHAR(10) ); INSERT INTO &1 VALUES (1, '&2'); INSERT INTO &1 VALUES (2, '&3');SELECT * FROM &1;
次のようにスクリプトを使用します。
Command> SET DEFINE ON Command> @POPULATE mytable Joe Bob; CREATE TABLE &1 ( a INT PRIMARY KEY, b CHAR(10) ); INSERT INTO &1 VALUES (1, '&2'); 1 row inserted. INSERT INTO &1 VALUES (2, '&3'); 1 row inserted. SELECT * FROM &1; < 1, Joe > < 2, Bob > 2 rows found.
この例では、variableコマンドを使用しています。このコマンドは、employee表から従業員を削除します。empidおよびnameをemployee_idおよびlast_nameと同じデータ型の変数として宣言します。行を削除し、employee_idおよびlast_nameを変数内に戻します。正しい行が削除されたことを確認します。
Command> VARIABLE empid NUMBER(6) NOT NULL;
VARIABLE name VARCHAR2(25) INLINE NOT NULL;
DELETE FROM employees WHERE last_name='Ernst'
RETURNING employee_id, last_name INTO :empid,:name;
1 row deleted.
Command> PRINT empid name;
EMPID : 104
NAME : Ernst
ノート
ttIsqlユーティリティは汎用のREF CURSOR変数のみをサポートし、特定のREF CURSORタイプはサポートしません。
ttIsqlユーティリティのコマンドラインでは、無名ブロックなど複数行にわたるPL/SQL文を使用できます(この場合は「/」のみの行で終了します)。次に例を示します。
Command> set serveroutput on
BEGIN
dbms_ouput.put_line ('Hi There');
END;
/
Hi There
PL/SQL block successfully executed.
Command>
UTF-8の場合、NCHAR値はUTF-8エンコードに変換されてから出力されます。
ASCIIの場合、ASCII文字に対応するNCHAR値はASCIIとして出力されます。ASCII以外のNCHAR値では、エスケープされたUnicode書式が使用されます。次に例を示します。
U+3042 HIRAGANA LETTER A
これは、次のように出力されます。
Command> SELECT c1 FROM t1; < a\u3042 >
NCHARパラメータは、先頭がASCII Nで始まる一重引用符で囲まれたリテラルとして入力する必要があります。
Command> prepare SELECT * FROM t1 WHERE c1 = ?;
exec;
パラメータ値の入力についてヘルプを表示するには、?;を入力してください。パラメータ入力処理を終了するには、*;を入力します。
Enter Parameter 1> N'XY';
Windowsでは、すべてのTimesTen Data ManagerおよびクライアントDSNで、このユーティリティがサポートされています。
説明
次の操作のいずれかを実行します。
移行オブジェクトをTimesTenデータベースからバイナリ・データファイルに保存します。
移行オブジェクトをバイナリ・データファイルからTimesTenデータベースにリストアします。
このユーティリティで作成されたバイナリ・データファイルの内容を調査します。
移行オブジェクトには次のものがあります。
表
キャッシュ・グループ定義
ビューおよびマテリアライズド・ビュー
順序
レプリケーション・スキーム
ユーザーおよびユーザー情報
データベース・チェックポイントおよびログ・ファイルにはメジャー・リリース間で互換性がないため、TimesTenのメジャー・リリースをアップグレードするときはttMigrateユーティリティを使用します。『Oracle TimesTen In-Memory Databaseインストレーション、移行およびアップグレード・ガイド』のTimesTen Classicの別のメジャー・リリースへの移動に関する項を参照してください。
データベースをリリース7.0以前から移行する場合、TimesTenはユーザーおよびユーザー権限を移行しません。
このユーティリティで作成されるバイナリ・ファイルはプラットフォーム依存です。たとえば、Windowsで生成されたバイナリ・ファイルはWindowsにリストアする必要があります。クライアント/サーバー・モードでは、プラットフォーム間でデータをコピーするには、ttMigrateCSユーティリティ(UNIXおよびLinuxシステムのみ)を使用します。
デフォルトでは、ttMigrateにより、1つのスレッドを使用してデータベースがリストアされます。リストア時には、-numThreadsオプションを指定して複数のスレッドを使用してデータファイルをリストアできるため、パフォーマンスが向上する可能性があります。
このユーティリティで作成されるバイナリ・ファイルはプラットフォーム固有です。たとえば、Windows 64ビットで生成されたバイナリ・ファイルはWindows 64ビットにリストアする必要があります。プラットフォーム間またはビット・レベル間でデータをコピーするには、ttMigrateをttMigrateCSクライアント/サーバー・バージョンとともに使用します(またはWindowsでの同等の処理)。Windowsシステムでは、ttMigrateを使用して同等の処理を実行し、定義済TimesTenクライアントDSNを通じてターゲット・システムからソース・システムに接続します。
UNIXおよびLinuxシステムでは、このユーティリティはTimesTen Data Manager DSNでサポートされます。TimesTenクライアントDSNでは、ttMigrateCSユーティリティを使用します。
必要な権限
このユーティリティを使用するには、指定したオプションに応じて様々な権限が必要です。通常、ユーザーがこのユーティリティを使用するには、インスタンス管理者であるか、またはADMIN権限を持っている必要があります。
-rオプションでは、通常、データベースが作成されるため、このオプションを使用するにはインスタンス管理者の権限が必要です。このオプションを使用する時点ですでにデータベースが作成されている場合は、CREATE ANY TABLE、CREATE ANY SEQUENCE、CREATE ANY VIEW、CREATE ANY MATERIALIZED VIEW、CREATE ANY CACHE GROUP、CREATE ANY INDEXの各権限が必要であり、さらにユーザーの自動作成が必要になる場合にはADMIN権限も必要です。データベースでレプリケーションまたはTimesTen Cacheを使用する場合は、CACHE_MANAGERも必要になります。
-cオプションを使用してデータベース全体を収集するには、ADMIN権限が必要です。データベースでレプリケーションまたはTimesTen Cacheを使用する場合は、CACHE_MANAGERも必要になります。-cオプションを使用して、データベース・オブジェクト(表、ビュー、マテリアライズド・ビュー、キャッシュ・グループ、順序)のサブセットを収集するには、SELECT ANY TABLE権限およびSELECT ANY SEQUENCE権限が必要です。
TimesTen Scaleoutでの使用
このユーティリティは、TimesTen ClassicからTimesTen Scaleoutへの移行でサポートされます。最初の移行後は、このユーティリティはサポートされません。
構文
ttMigrate {-h | -help | -?}
ttMigrate {-V | -version}
バイナリ・データファイルを作成または追加するには、次のように入力します。
ttMigrate {-a | -c} [-v verbosity] [-nf] [-nr] [-fixNaN] [-saveAsCharset charset]
[-relaxedUpgrade | -exactUpgrade]
[-activeDML | -noActiveDML]
{DSN | -connStr connection_string} data file [[objectOwner.]objectName...]
このユーティリティで作成されたバイナリ・データファイルからデータベースをリストアするには、次のように入力します。
ttMigrate -r [-C ckptFreq] [-v level] [-nf] [-nr] [-fixNaN] [-numThreads n] [-updateStats | -estimateStats percent] [-relaxedUpgrade | -exactUpgrade] [-inline rule] [-noCharsetConversion] [-cacheUid uid [-cachePwd pwd]] [-autorefreshPaused] [-restorePublicPrivs] [-localhost host] [-resizeHashIndexes] {DSN | -connstr connection_string} dataFile [objectOwner.objectName...]
このユーティリティで作成されたバイナリ・データファイルの内容をリストまたは表示するには、次のように入力します。
ttMigrate {-l | -L | -d | -D} dataFile [[objectOwner.]objectName...]
オプション
|
ノート: 追加(-a)または作成(-c)モード、リスト(-l/-L)または説明(-d/-D)モード、およびリストア・モード(-r)は、相互に排他的です。これらのオプションのいずれか2つを同じ行に指定することはできません。 |
ttMigrateには次のオプションがあります。
| オプション | 説明 |
|---|---|
-a |
追加モードの選択: ttMigrate -cを使用して作成された、すでに存在しているバイナリ・データファイルにデータを追加します。詳細は、「作成モード(-c)と追加モード(-a)」を参照してください。 |
-activeDML |-noActiveDML |
単一のトランザクションで外部キー階層内のすべての表を保存して、ttMigrate -c操作中にアクティブなDMLがある場合にこれらの表の一貫性を維持します。
デフォルトは |
-c |
作成モード: 新規にバイナリ・データファイルを作成します。詳細は、「作成モード(-c)と追加モード(-a)」を参照してください。 |
-cacheUid |
非同期ライトスルー・キャッシュ・グループおよびAUTOREFRESH属性が設定されたキャッシュ・グループのリストア時に使用するキャッシュ管理ユーザーID。 |
-cachePwd |
自動リフレッシュ・キャッシュ・グループ、非同期ライトスルー・キャッシュ・グループおよびAUTOREFRESH属性が設定されたキャッシュ・グループのリストア時に使用するキャッシュ管理パスワード。
コマンドラインにキャッシュ管理ユーザーIDを入力したが、キャッシュ管理パスワードを入力しなかった場合は、 |
-connStr connection_string |
データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列。 |
-d |
説明モードを選択します。データファイル内のオブジェクトの簡単な説明が表示されます。詳細は、「説明モード(-d)」を参照してください。 |
-D |
詳細説明モードを選択します。データファイル内のオブジェクトの詳細な説明が表示されます。詳細は、「詳細説明モード(-D)」を参照してください。 |
dataFile |
移行オブジェクトの保存先または移行オブジェクトのリストア元のデータファイルのパス名です。 |
DSN |
移行するデータベースのODBCデータソース名を指定します。 |
-estimateStats percent |
ttMigrateで、リストアされた表およびマテリアライズド・ビューの指定された割合の行の統計を見積もることを指定します。percentRowsの適切な値は、0から100です。
このフラグを使用すると、マテリアライズド・ビューのリストアのパフォーマンスと、リストアされた表およびビューに対する問合せのパフォーマンスが向上する場合があります。 |
-fixNaN |
移行オブジェクト内で検出されたNaN、Inf、-Infの値をすべて0.0に変換します。NaN、Inf、-Infの値がサポートされていないTimesTenのリリースにデータを移行する場合に役立ちます。 |
-h
|
使用方法のメッセージを出力して終了します。 |
-inline rule |
リストア・モードで可変長列をINLINEに変換するために使用するruleを指定します。ruleの値は次のいずれかです。
|
-l |
リスト・モードを選択します。指定されたデータファイル内のデータベース・オブジェクトの名前が表示されます。詳細は、「リスト・モード(-l)と詳細リスト・モード(-L)」を参照してください。 |
-L |
詳細リスト・モードを選択します。指定されたデータファイル内のデータベース・オブジェクトの名前と、データベース・オブジェクトに関するその他の詳細が表示されます。詳細は、「リスト・モード(-l)と詳細リスト・モード(-L)」を参照してください。 |
-r |
リストア・モードを選択します。このユーティリティで作成されたバイナリ・データファイルからデータベースをリストアします。詳細は、「リストア・モード(-r)」を参照してください。 |
name |
保存またはリストアするデータベース・オブジェクトの名前。 |
-nf |
通常の(キャッシュされていない)表の保存またはリストア時に、ttMigrateが外部キー情報の保存またはリストアを行わないことを指定します。 |
-nr |
通常の(キャッシュされていない)表の保存またはリストア時に、ttMigrateが表の行の保存またはリストアを行わないことを指定します。 |
-relaxedUpgrade |
TABLE DEFINITION CHECKING RELAXEDを使用するレプリケーション・スキームと互換性のある方法で、表を保存またはリストアします。
このオプションは、 デフォルトは |
-numThreads n |
データベース・ファイルのリストア時に使用するスレッドの数を指定します。指定しない場合、1つのスレッドを使用して、データファイルからオブジェクトがリストアされます。
有効な値は1から32までです。 |
owner |
移行オブジェクトの所有者です。 |
-exactUpgrade |
TABLE DEFINITION CHECKING EXACTを使用するレプリケーション・スキームと互換性のある方法で、表を保存またはリストアします。
このオプションは、 これはデフォルトです。 |
-saveAsCharset
|
指定された接続文字セットにオブジェクトを保存します。接続文字セットがデータベース文字セットと異なる場合、ttMigrateによって情報メッセージが返されます。
このオプションが設定されない場合、 |
-updateStats |
ttMigrateで、リストアされた表およびマテリアライズド・ビューの統計を更新することを指定します。
このフラグを使用すると、マテリアライズド・ビューのリストアのパフォーマンスと、リストアされた表およびビューに対する問合せのパフォーマンスが向上する場合があります。 |
-v verbosity |
ttMigrateがデータベースの保存またはリストアを行うときに出力されるメッセージの冗長レベルを指定します。次のいずれかです。
|
-V | -version |
ttMigrateのリリース番号を出力し、終了します。 |
次のttMigrateのオプションは、リストア・モード(-r)でのみ使用できます。
| オプション | 説明 |
|---|---|
-autorefreshPaused |
自動リフレッシュ状態をPAUSEDにして、AUTOREFRESH属性が設定されているキャッシュ・グループをリストアします。これ以外の場合、この状態はOFFに設定されます。 |
-C ckptFreq |
ckptFreqの値(MB)のデータをリストアするたびに、ttMigrateがデータベースのチェックポイントを行うことを指定します。0(ゼロ)の値(デフォルト)は、ttMigrateがデータベースのチェック・ポイントを行わないことを指定します。
ノート: このオプションは、TimesTen Scaleoutではサポートされません。 |
-convertCGTypes |
次の項目を使用して、基礎となるOracle Database表からTimesTenキャッシュ表への最適な型のマッピングを決定します。
|
-gridRestoreFinale |
索引および外部キーをリストアします。
このオプションは、TimesTen ClassicからTimesTen Scaleoutへの移行にのみ使用します。『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のTimesTen ClassicからTimesTen Scaleoutへのデータベースの移行に関する項を参照してください。 |
-gridRestoreRows |
行を表にリストアします。
このオプションは、TimesTen ClassicからTimesTen Scaleoutへの移行にのみ使用します。『Oracle TimesTen In-Memory Database Scaleoutユーザーズ・ガイド』のTimesTen ClassicからTimesTen Scaleoutへのデータベースの移行に関する項を参照してください。 |
-localhost hostName |
レプリケートされた表をリストアする際に、ローカル・ホストの名前またはIPアドレスを明示的に指定します。 |
-noCharsetConversion |
データファイルに保存された接続文字セットを保持したまま、データをリストアします。ttMigrateは、データベース文字セットに合うように接続文字セットを変換することはありません。
設定しない場合、 関連項目: このオプションは、 |
-resizeHashIndexes |
リストア時に、ユーザー・ハッシュ索引を表の行数に基づいて最適なサイズに変更します。 |
-restorePublicPrivs |
データベースが作成された後、PUBLICに付与された権限をリストアします。ttMigrateユーティリティでは、デフォルトではPUBLICに付与された権限はリストアされません。PUBLICに対する権限をリストアするには、このオプションを明示的に指定する必要があります。 |
モード
作成モード(-c)と追加モード(-a)
作成モードでは、ttMigrateが移行オブジェクトをTimesTenデータベースから新規のバイナリ・データファイルに保存します。データファイルがない場合には、ttMigrateが作成します。それ以外の場合は、ttMigrateは既存のファイルを上書きして、その内容を破棄します。
ttMigrateによって使用されるデータファイル形式は、TimesTenのいずれのリリースにも依存していないため、あるTimesTenリリースから別のリリースへデータを移行する場合にttMigrateを使用できます。
追加モードでは、ttMigrateは移行オブジェクトをTimesTenデータベースから既存のデータファイルに追加します。データファイルがない場合には、ttMigrateが作成します。
通常の(キャッシュされていない)各表について、ttMigrateは次のものを保存します。
表の説明: 主キーとNULL値可能に関する情報を含む、表の列ごとの名前と型。
表の索引定義: 各索引と索引に含まれる列の名前。ttMigrateは、索引の実際の内容は保存せず、表のリストア時に索引を再作成するために必要となる情報のみを保存します。
表の外部キー定義。-nfオプションを使用して、外部キー定義の保存を無効にできます。
表の行。-nrオプションを使用して行の保存を無効にできます。
各キャッシュ・グループについて、ttMigrateは次のものを保存します。
キャッシュ・グループの定義: キャッシュ・グループの所有者と名前、キャッシュ・グループ内のすべての表の名前、関連するキャッシュ・グループの設定(キャッシュ・グループの時間など)。
|
ノート: ttMigrateを使用してデータベースをリストアした後は、ソース・データベースでのAUTOREFRESH STATEの設定方法に関係なく、リストアされたデータベースのすべての自動リフレッシュ・キャッシュ・グループでAUTOREFRESHの状態がOFFに設定されます。ttMigrate -rを使用してキャッシュ・グループをリストアした後は、ALTER CACHE GROUP文を使用して、AUTOREFRESH STATEをONにリセットしてください(この操作はプログラムで実行することも、ttIsqlユーティリティで実行することもできます)。 |
キャッシュ・グループ内のすべてのキャッシュされた表: 表名、列情報、表の属性(伝播または読取り専用)、WHERE句(存在する場合)、外部キー定義、索引定義。
各ビューについて、ttMigrateは次のものを保存します。
通常の表と同一のすべての情報。
ビューを定義する問合せ。
各順序について、ttMigrateは次のものを保存します。
順序の完全な定義。
順序の現在の値。
(インスタンス管理者を除く)ユーザーごとに、ttMigrateは次のものを保存します。
ユーザーの名前。
ユーザーの暗号化されたパスワード。
ユーザーに付与されている権限。
PUBLICの場合、ttMigrateはデータベース作成後にPUBLICに付与されたすべての権限を保存します。
レプリケーション・スキームが定義されている場合、ttMigrateはレプリケーション・スキームを含むすべてのTTREP表を保存します。レプリケーション・スキームは、他のすべてのデータストア・オブジェクトとは別の一意の名前である必要があります。他のデータベース・オブジェクトと同じ名前のレプリケーション・スキームは移行できません。
|
ノート: ttMigrateユーティリティは、-nrオプションを指定しなかった場合でも、キャッシュされた表の行をデータファイルに保存しません。キャッシュされた表の外部キー定義は、キャッシュ・グループの整合性を保つために必要となるため、-nfオプションの使用にかかわらず、常に保存されます。 |
デフォルトでは、ttMigrateは、表、ビュー、キャッシュ・グループ、順序、ユーザー、レプリケーション・スキームなど、データベース内のすべてのデータベース・オブジェクトおよびユーザーをデータファイルに保存します。また、レプリケーション・スキームを除き、保存するデータベース・オブジェクトのリストをコマンドラインに指定することもできます。このリスト内の名前には、ワイルド・カード文字の%(1文字以上に一致)と_(単一の文字に一致)を含めることができます。ttMigrateは、指定されたパターンのいずれかに一致する、すべてのデータベース・オブジェクトを保存します。名前を完全修飾する必要はなく、所有者なしで名前を指定すると、ttMigrateは、その名前またはパターンに一致するすべてのデータベース・オブジェクトについて、所有者を考慮せずに保存します。
キャッシュされた表は、キャッシュ・グループから独立させて保存することはできません。キャッシュされた表をコマンドラインでリストしても、対応するキャッシュ・グループもリストしなければ、ttMigrateはエラーを発行します。
-vオプションを使用して、保存の処理中にttMigrateによって出力される情報を制御します。
リストア・モード(-r)
リストア・モードでは、ttMigrateはすべてのデータベース・オブジェクトをデータファイルからTimesTenデータベースにリストアします。
通常の(キャッシュされていない)各表について、ttMigrateは次のものをリストアします。
表(元の所有者、表名、列名、型、NULL値可能に関する設定、オリジナルの主キーを使用)。
表の外部キー。-nfフラグを使用して、外部キーのリストアを無効にできます。
表のすべての索引。
表のすべての行。-nrフラグを使用して、行のリストアを無効にできます。
各キャッシュ・グループについて、ttMigrateは次のものをリストアします。
キャッシュ・グループ定義(元のキャッシュ・グループ所有者と名前を使用)。
キャッシュ・グループ内のすべてのキャッシュされた表(元の表名、列名、型、NULL値可能、元の主キー、表属性(PROPAGATEまたはREADONLY)、およびWHERE句(存在する場合)を使用)。
キャッシュされた表の外部キー定義。
キャッシュされた表のすべての索引。
|
ノート: ttMigrateユーティリティは、-nrオプションを指定しなかった場合でも、キャッシュされた表の行をリストアしません。キャッシュされた表の外部キー定義は、キャッシュ・グループの整合性を保つために必要となるため、-nfオプションの使用にかかわらず、常にリストアされます。 |
デフォルトでは、リストア中に-exactUpgradeオプションが設定されます。
デフォルトでは、ttMigrateはデータファイル内のすべての表とキャッシュ・グループをリストアします。また、リストアする特定の表とキャッシュ・グループをコマンドラインにリストすることもできます。このリスト内の名前は完全修飾する必要があり、ワイルド・カード文字は使用できません。
キャッシュされた表は、キャッシュ・グループから独立させてリストアすることができません。キャッシュされた表をコマンドラインでリストしても、対応するキャッシュ・グループもリストしなければ、ttMigrateはエラーを発行します。
-vオプションを使用して、リストアの処理中にttMigrateによって出力される情報を制御します。
-inlineオプションを使用すると、可変長列をINLINEとしてリストアするか、NOT INLINEとしてリストアするかを制御できます。詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス・ガイド』のデータ型の仕様に関する説明を参照してください。デフォルト・モード(-inlinepreserve)では、ttMigrateはすべての可変長列を、それらが保存されたときと同じINLINEまたはNOT INLINE設定でリストアします。その他の2つのモード(-inlinedsDefaultおよび-inlinemaxlen)では、ttMigrateはしきい値長以下の可変長列をINLINEとしてリストアし、他の可変長列をすべてNOT INLINEとしてリストアします。-inlinedsDefaultでは、このしきい値はTimesTenデータベースのデフォルトの自動INLINE長です。-inlinemaxlenモードでは、ユーザー定義のしきい値長(maxlen)を持つ可変長列は、INLINEとしてリストアされ、その他のすべての可変長列は、INLINEとして保存されている場合でも、NOT INLINEとしてリストアされます。maxlenが0の場合、すべての可変長列はNOT INLINEとしてリストアされます。
リスト・モード(-l)と詳細リスト・モード(-L)
リスト・モードでは、ttMigrateは、キャッシュされた表およびレプリケーション・スキームTTREP表などの、指定したデータファイル内のデータベース・オブジェクトの名前を表示します。
詳細リスト・モードでは、ttMigrateは、キャッシュされた表およびレプリケーション・スキームTTREP表などのデータファイル内の、データベース・オブジェクトの名前の他に、各表の行数と各表の索引定義、各ビューを定義する問合せ、および各順序の仕様を表示します。
デフォルトでは、ttMigrateは、レプリケーション・スキーム名およびファイル内のすべてのデータベース・オブジェクトを表示します。また、コマンドラインにデータベース・オブジェクト名のリストを指定することもできます。このリスト内の名前は完全修飾する必要があり、ワイルド・カード文字は使用できません。
説明モード(-d)
説明モードでは、ttMigrateは、指定したファイル内のデータベース・オブジェクトに関する簡単な説明を提供します。
各表について、ttMigrateは表名、表の行数、表の列定義、主キーおよび外部キーを表示します。キャッシュされた表については、ttMigrateは、表の属性(PROPAGATEまたはREADONLY)および表のWHERE句(存在する場合)も表示します。
ビューについて、ttMigrateはビューを定義する問合せも表示します。
キャッシュ・グループについて、ttMigrateはキャッシュ・グループ名、キャッシュ・グループ内の表の数、キャッシュ・グループの持続時間を表示し、キャッシュ・グループ内のキャッシュされた各表について説明します。
レプリケーション・スキームについて、ttMigrateは、レプリケーション・スキーム名およびすべてのTTREPレプリケーション・スキーム表をユーザー表と同様の方法で表示します。
デフォルトでは、ttMigrateは、ファイル内のデータベース・オブジェクトをすべて示します。また、コマンドラインにデータベース・オブジェクト名のリストを指定することもできます。このリスト内の名前は完全修飾する必要があり、ワイルド・カード文字は使用できません。
詳細説明モード(-D)
詳細説明モードでは、ttMigrateは指定したファイル内のデータベース・オブジェクトに関する詳細な説明を提供します。
各表について、ttMigrateは表名、表の行数、表の列定義、主キー、外部キーおよび索引定義を表示します。キャッシュされた表については、ttMigrateは、表の属性(PROPAGATEまたはREADONLY)および表のWHERE句(存在する場合)も表示します。
キャッシュ・グループについて、ttMigrateはキャッシュ・グループ名、キャッシュ・グループ内の表の数、キャッシュ・グループの持続時間を表示し、キャッシュ・グループ内のキャッシュされた各表について説明します。
順序について、ttMigrateは順序の現在の値に加えて、その順序の定義に使用されたすべての値を表示します。
レプリケーション・スキームについて、ttMigrateは、すべてのTTREPレプリケーション・スキーム表をユーザー表と同様の方法で表示します。
デフォルトでは、ttMigrateは、ファイル内のデータベース・オブジェクトをすべて示します。また、コマンドラインにデータベース・オブジェクト名のリストを指定することもできます。このリスト内の名前は完全修飾する必要があり、ワイルド・カード文字は使用できません。
キャッシュ・グループのデータ型の変換
リリース7.0より前のTimesTenからキャッシュ・グループを含むデータベースをリストアする場合は、-convertCGTypesオプションを使用して、7.0より前の型と、キャッシュ・グループに関連付けられているOracle Databaseの列のデータ型を正確にマッピングして、列のデータ型を変換します。
次の表に、型のマッピングを示します。
| 7.0より前のTimesTen型 | Oracle型 | 変換後の型 |
|---|---|---|
TINYINT |
NUMBER(p,s) when s > 0 |
NUMBER(p,s) |
TINYINT |
NUMBER(p,s) when s <= 0 |
TT_TINYINT |
SMALLINT |
NUMBER(p,s) when s > 0 |
NUMBER(p,s)
|
SMALLINT |
NUMBER(p,s) when s <= 0 |
TT_SMALLINT |
INTEGER |
NUMBER(p,s) when s > 0 |
NUMBER(p,s) |
INTEGER |
NUMBER(p,s) when s <= 0 |
TT_INTEGER |
BIGINT |
NUMBER(p,s) when s > 0 |
NUMBER(p,s) |
BIGINT |
NUMBER(p,s) when s <= 0 |
TT_BIGINT |
NUMERIC(p,s)DECIMAL(p,s) |
NUMBER |
NUMBER |
NUMERIC(p,s)DECIMAL(p,s) |
NUMBER(x,y) |
NUMBER(x,y) |
NUMERIC(p,s)DECIMAL(p,s) |
FLOAT(x) |
NUMBER(p,s) |
REAL |
任意 | BINARY_FLOAT |
DOUBLE |
任意 | BINARY_DOUBLE |
FLOAT(x) x <=24 |
任意 | BINARY_FLOAT |
FLOAT(x) x >= 24 |
任意 | BINARY_DOUBLE |
CHAR(x) |
任意 | ORA_CHAR(x) |
VARCHAR(x) |
任意 | ORAVARCHAR2(x) |
BINARY(x) |
任意 | TT_BINARY(x) |
VARBINARY(x) |
任意 | TT_VARBINARY(x) |
DATE |
DATE |
ORA_DATE |
TIMESTAMP |
DATE |
ORA_DATE |
TIME |
DATE |
ORA_DATE |
| Any1 | TIMESTAMP(m) |
ORA_TIMESTAMP(m) |
|
ノート: anyは、型の値が変換後の型に影響しないことを示します。 |
データ型の詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』のデータ型に関する説明および『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のOracle DatabaseとTimesTenデータ型間のマッピングに関する説明を参照してください。
戻りコード
ttMigrateユーティリティのリストア(-r)および作成(-c)コマンドは次の終了コードを返します。
0: すべてのオブジェクトは正常に作成またはリストアされました。
1: 一部のオブジェクトは正常に作成またはリストアされました。エラーのため、一部のオブジェクトは作成またはリストアできませんでした。
2: 致命的エラー。たとえば、データファイルに接続できなかったか、データファイルを開けませんでした。
3: 作成またはリストア処理中に[Ctrl]キーを押しながら[C]キーが押されたか、別のシグナルを受信しました。
例
次のコマンドでは、すべてのデータベース・オブジェクトが、データベースSalesDSからファイルsales.ttmにダンプされます。sales.ttmが存在している場合は、ttMigrateによって上書きされます。
% ttMigrate -c SalesDS sales.ttm
次のコマンドでは、ユーザーMARYが所有するSalesDSデータベース内のすべてのデータベース・オブジェクトをsales.ttmに追加します。
% ttMigrate -a SalesDS sales.ttm MARY.%
次のコマンドでは、sales.ttmのすべてのデータベース・オブジェクトをSalesDSデータベースにリストアします。
% ttMigrate -r SalesDS sales.ttm
次のコマンドでは、sales.ttmのMARY.PENDINGおよびMARY.COMPLETEDをSalesDSデータ・ストアにリストアします(移行オブジェクトでは大/小文字は区別されません)。
% ttMigrate -r SalesDS sales.ttm MARY.PENDINGMARY.COMPLETED
このコマンドでは、sales.ttmに保存されたすべての移行オブジェクトを表示します。
% ttMigrate -l sales.ttm
ノート
現行リリースの機能をサポートしていないOracle TimesTen In-Memory Databaseのリリースに対して下位方向の移行を行う場合、通常、TimesTenは警告を発行し、サポートされていない機能を移行せずに処理を続行します。オブジェクトの変換を実行済の場合、まれに、ttMigrateが失敗し、エラー・メッセージが返されることがあります。データ型、文字セットおよび主キー表現の変換が行われた場合に失敗することがあります。
次の制約、制限およびアドバイスを検討してから、ttMigrateを使用する準備をしてください。
キャッシュ・グループ: リストア・モードでは、表間に外部キーの依存性がある場合は、ttMigrateで表の順番を整理しなおして、子表が親表より先にリストアされないようにすることが必要になる場合があります。
キャッシュされた表内の文字型の列は、長さのみでなくバイト・セマンティクスも、基礎となるOracle Database表と同じであることが必要です。キャッシュされた表に、長さまたは長さセマンティクスの不一致がある場合、キャッシュ・グループの移行は失敗します。
このユーティリティでは、0以外の値を指定したPassThrough接続属性はサポートされていないため、0以外の値を指定するとエラーが返されます。
文字セット: デフォルトでは、-saveAsCharsetオプションを指定しないかぎり、ttMigrateは表データをデータベース文字セットで保存します。異なるデータベース文字セットのデータベースに表を移行することにより、他の文字セットへの変換がリストア時に実行されます。7.0より前のリリースのTimesTenからデータを移行する場合、TimesTenは、データがすでに移行先のデータベース文字セットになっていると想定します。データのデータベース文字セットが移行先のデータベースと同じでない場合、データが正しくリストアされない可能性があります。
NLSがサポートされているがデータベース文字セットが異なる2つのデータベースの間で、BYTE長セマンティクスが指定された列を移行する場合、新しいデータベース内の列の長さが、移行ファイルに含まれる値を保持するのに十分でない場合、移行が失敗する可能性があります。たとえば、移行元データベースでは最大バイト長が4の文字セットを使用していて、移行先データベースでは最大バイト長が2の文字セットを使用している場合に移行が失敗する可能性があります。
TimesTenでは、文字セットの変換が行われる場合に常に警告を発行し、変換によるデータの損失の可能性を知らせます。
外部キーの依存性: リストア・モードでは、表間に外部キーの依存性がある場合は、ttMigrateで表の順番を整理しなおして、子表が親表より先にリストアされないようにすることが必要になる場合があります。このような依存性により、親表が1つでもリストアされなかった場合に子表がリストアされるのを回避することもできます。たとえば、表Bに対して外部キーの依存性を持つ表Aをリストアする場合、ttMigrateは最初に表Bがデータベースに存在することを確認します。表Bが検出されない場合、ttMigrateは表Bがリストアされるまで表Aのリストアを遅らせます。表BがttMigrateセッションの一部としてリストアされない場合、依存性を解決できなかったため表Aがリストアされなかったことを示すエラー・メッセージがTimesTenによって出力されます。
索引: TimesTenでは、この機能をサポートしているTimesTenの各リリースの主キー索引として範囲索引をサポートします。主キー索引としての範囲索引がサポートされていないリリースに下位方向の移行を行う場合、主キーはデフォルト・サイズのハッシュ索引としてリストアされます。主キー索引としての範囲索引がサポートされていないリリースから上位方向の移行を行う場合、主キーは元の索引と同じサイズのハッシュ索引としてリストアされます。
レプリケーション: レプリケートされたデータベース全体の移行を実行する前に、移行元データベースと移行先データベースのホスト名とデータベース名が同じであることを確認する必要があります。
システム・ビュー: TimesTenは移行中にシステム・ビューの定義または内容を保存しません。
その他の注意事項: ttMigrateではバイナリ形式が使用されるため、次の処理には使用できません。
Windowsでは、どのリリースのTimesTenからでもttMigrateを使用してデータベースにアクセスできます。Windowsでは、すべてのTimesTen Data ManagerおよびクライアントDSNで、このユーティリティがサポートされています。
UNIXおよびLinuxシステムでは、ttMigrateのリリースは接続中のデータベースのリリースと一致する必要があります。
アプリケーションのロックの競合問題を回避するために、ttMigrate実行中はDDL SQLを実行しないことをお薦めします。
構文
ttRepAdmin {-h | -help | -?}
ttRepadmin {-V | -version}
ttRepAdmin -self -list [-scheme [owner.]schemeName]
{DSN | -connStr connection_string}
ttRepAdmin -receiver [-name receiverName]
[-host receiverHostName] [-state receiverState] [-reset]
[-list] [-scheme [owner.]schemeName]
{DSN | -connStr connection_string}
ttRepAdmin -log {DSN | -connStr connection_string}
ttRepAdmin -showstatus -detail {-awtmoninfo} {DSN | -connStr connection_string}
ttRepAdmin -showconfig {DSN | -connStr connection_string}
ttRepAdmin -bookmark {DSN | -connStr connection_string}
ttRepAdmin -wait [-name receiverName] [-host receiverHostName]
[-timeout seconds] {DSN | -connStr connection_string}
ttRepAdmin -duplicate -from srcDataStoreName
-host srcDataStoreHost
[-localIP localIPAddress] [-remoteIP remoteIPAddress]
[-setMasterRepStart] [-ramLoad] [-delXla]
[-UID userId] [-PWD pwd | -PWDCrypt encryptedPwd]
[-drop { [owner.]table ... | [owner.]sequence |ALL }]
[-truncate { [owner.]table ... | ALL }]
[-compression 0 | 1] [-bandwidthmax maxKbytesPerSec]
[ ( -activeDataGuard [-cacheUid cacheUid [-cachePwd cachePwd]]
| -initCacheDr [-cacheUid cacheUid [-cachePwd cachePwd]]
[-noDRTruncate] [-nThreads]
| ( -keepCG [-cacheUid cacheUid [-cachePwd cachePwd]]
( [-recoveringNode | -deferCacheUpdate] ))| -nokeepCG ) ]
[-remoteDaemonPort portNo] [-verbosity {0|1|2}]
[-localhost localHostName]
[-open | -close]
{destDSN | -connStr connection_string}
次の形式でttRepAdminを使用すると、ヘルプおよびTimesTenの現在のバージョンを取得できます。
ttRepAdmin {-h | -help | -?}
ttRepadmin {-V | -version}
| オプション | 説明 |
|---|---|
-h
|
ヘルプ情報を表示します。 |
-V | -version |
TimesTenのバージョン情報を表示します。 |
次の形式でttRepAdminを使用すると、データベースに関するサマリー情報を取得できます。
ttRepAdmin -self -list [-scheme [owner.]schemeName] {DSN | -connStr connection_string}
オプション
ttRepAdmin -self -listには、次のオプションがあります。
| オプション | 説明 |
|---|---|
DSN |
マスター・データベースまたはサブスクライバ・データベースのデータソース名。 |
-connStr connection_string |
マスター・データベースまたはサブスクライバ・データベースの接続文字列(データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列)。 |
-self |
指定されたデータベース。 |
-list |
データベース名、ホスト、ポート番号およびブックマークの位置を表示します。 |
-scheme [owner.]schemeName] |
(2つ以上のスキームがある場合)レプリケーション・スキーム名。 |
次の形式のttRepAdminを使用すると、ステータスのチェックまたはサブスクライバ(レシーバ)・データベースの状態の再設定を実行できます。
ttRepAdmin -receiver [-name receiverName] [-host receiverHostName] [-state receiverState] [-reset] [-list] [-scheme [owner.]schemeName] {DSN | -connStr connection_string}
オプション
ttRepAdmin -receiverには、次のオプションがあります。
| オプション | 説明 |
|---|---|
DSN |
マスター・データベースのデータソース名。 |
-connStr connection_string |
マスター・データベースの接続文字列(データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列)。 |
-receiver |
マスター・データベースから更新を受信するサブスクライバ・データベース。-nameおよび-hostを使用すると、特定のサブスクライバ・データベースを指定できます。 |
-name receiverName |
特定のサブスクライバ(受信側)・データベース。receiverNameは、データベース・パス名の最後の部分です。 |
-host receiverHostName |
サブスクライバ・ホストのホスト名またはTCP/IPアドレス。 |
-state start
|
サブスクライバのレプリケーションの状態を設定します。
詳細は、『Oracle TimesTen In-Memory Databaseレプリケーション・ガイド』のサブスクライバのレプリケーション状態の設定に関する説明を参照してください。 |
-reset |
特定のサブスクライバに送信される最新のトランザクションに関する、マスター・データベースのログのブックマークを消去します。このオプションは、たとえば、データベースがttMigrateまたはttBackupを使用して再作成される場合のように、マスター・データベースのトランザクションの番号が変更される場合にのみ、使用してください。マスター・データベースがttBackupおよびttRestoreを使用して、保存およびリストアされる場合は、トランザクションの番号が保持されるため、このオプションは使用しないでください。 |
-list |
レプリケーション定義に関する情報を表示します。 |
-scheme [owner.]schemeName] |
2つ以上のスキームがある場合に、レプリケーション・スキーム名を指定します。 |
例
% ttRepAdmin -receiver -list my_dsn
前述の構文によって、マスター・データベースmy_dsnのすべてのサブスクライバのレプリケーション情報が表示されます。
% ttRepAdmin -receiver -name rep_dsn -list my_dsn
前述の構文によって、マスター・データベースmy_dsnのrep_dsnサブスクライバのレプリケーション情報が表示されます。
% ttRepAdmin -receiver -name rep_dsn -reset my_dsn
前述の構文によって、マスター・データベースのrep_dsnサブスクライバに対するレプリケーションのブックマークが再設定されます。レプリケートされたデータベースをttMigrateまたはttBulkCpで移行する場合にのみ使用してください。
% ttRepAdmin -receiver -name rep_dsn -state Start my_dsn
前述の構文によって、マスター・データベースmy_dsnに対してrep_dsnサブスクライバ・データベースのレプリケーション状態が Start 状態に再設定されます。
次の形式のttRepAdminを使用すると、マスター・データベースと同じコンテンツを持つ新しいデータベースを作成できます。
ttRepAdmin -duplicateを実行するには、次の条件を満たす必要があります。
インスタンス管理者のみがttRepAdmin -duplicateを実行できます。
ttRepAdmin -duplicateを実行するには、インスタンス管理者のオペレーティング・システム・ユーザー名がソース・コンピュータとターゲット・コンピュータで同じである必要があります。
-UIDオプションおよび-PWDオプションを使用して、ソース・データベースに対してADMIN権限を持つ内部ユーザーのユーザー名およびパスワードを指定する必要があります。
ターゲット・ホストに対してttRepAdminを実行する必要があります。
DSNの指定は、サーバーDSNではなく、ダイレクトモードDSNである必要があります。
ttRepAdmin -duplicateコマンドを実行する前に、ttStatusを使用して、ソース・データベースに対してレプリケーション・エージェントが起動していることを確認します。
ttRepAdmin -duplicate -from srcDataStoreName -host srcDataStoreHost [-localIP localIPAddress] [-remoteIP remoteIPAddress] [-setMasterRepStart] [-ramLoad] [-delXla] -UID userId (-PWD pwd | -PWDCrypt encryptedPwd) [-drop { [owner.]table ... | [owner.]sequence |ALL }] [-truncate { [owner.]table ... | ALL }] [-compression 0 | 1] [-bandwidthmax maxKbytesPerSec] [ ( -activeDataGuard [-cacheUid cacheUid [-cachePwd cachePwd]] | -initCacheDr [-cacheUid cacheUid [-cachePwd cachePwd]] [-noDRTruncate] [-nThreads] | ( -keepCG [-cacheUid cacheUid [-cachePwd cachePwd]] ( [-recoveringNode | -deferCacheUpdate] ))| -nokeepCG ) ] [-remoteDaemonPort portNo] [-verbosity {0|1|2}] [-localhost localHostName] [-open | -close] {destDSN | -connStr connection_string}
オプション
ttRepAdmin -duplicateには、次のオプションがあります。
| オプション | 説明 |
|---|---|
-close |
ユーザー接続に対してデータベースをクローズします。
データベースがユーザー接続に対してクローズされると、新しい接続の試行は失敗しますが、既存の接続に影響はありません。 |
-bandwidthmax maxKbytesPerSec |
複製処理によってmaxKbytesPerSec KB/sを超えるデータがネットワークに送信されないように指定します。値0は、帯域幅に制限がないことを示します。デフォルトは0です。最大値は9999999です。 |
-compression 0 | 1 |
複製処理中の圧縮を有効または無効にします。デフォルトは0(無効)です。 |
-connStr connection_string |
複製先データベースの接続文字列(データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列)を指定します。 |
-delXla |
複製処理の一部として、すべてのXLAブックマークを削除します。このオプションは、複製データベースにブックマークをコピーしない場合に使用します。 |
destDSN |
新しいデータベースのデータソース名を示します。 |
-drop {[owner.]table ... |[owner.]sequence |ALL |
-duplicate処理中にコピーされたものの、レプリケーション・スキームには含まれていない表または順序を破棄します。表がキャッシュ・グループ表の場合には、ttRepAdminはオプションを無視します。 |
-duplicate |
ネットワーク間でデータベースの内容を転送するために、指定したデータベースの複製をレプリケーションを使用して作成します。『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のデータベースの複製に関する説明を参照してください。 |
-from srcDataStoreName |
-duplicateとともに使用して、送信側データベース(またはマスター・データベース)の名前を指定します。srcDataStoreNameは、データベース・パス名の最後の部分です。 |
-host srcDataStoreHost |
送信側データベース(またはマスター・データベース)のホスト名またはTCP/IPアドレスを定義します。 |
-initCacheDr [-cacheUid cacheUid -cachePwd cachePwd] |
障害時リカバリを初期化します。キャッシュ管理者のユーザーIDとパスワードを指定する必要があります。
パスワードを指定しなかった場合、 |
( -keepCG [-cacheUid cacheUid -cachePwd cachePwd] ([-recoveringNode | -deferCacheUpdate])) | -noKeepCG |
-keepCGおよび-noKeepCGでは、キャッシュ・グループの表をキャッシュ・グループ表として維持するか、またはターゲット・データベースの通常の表に変換するかを指定します。デフォルトは-noKeepCGです。
パスワードを指定しなかった場合、 Oracle Databaseに接続できない場合またはOracle Databaseが停止している場合は、 |
-localhost hostName |
-duplicateおよび-setMasterRepStartとともに使用して、ローカル・ホストの名前またはIPアドレスを明示的に指定します。 |
-localIP localIPAddress |
使用するローカル・ネットワーク・インタフェースの別名またはIP(IPv4またはIPv6)アドレスを指定します。指定しない場合は、ttRepAdminによって互換性のあるインタフェースが選択されます。 |
-noDRTruncate |
-initCacheDrオプションとともに使用した場合、-noDRTruncateは障害時リカバリ・サイトでのリモート・サブスクライバの初期導入プロセスにおけるOracle表の切捨てを無効にします。–noDRTruncateを指定した場合、TimesTenはアクティブ・スタンバイ・ペアのレプリケーション・スキームの非同期のWRITETHROUGHキャッシュ・グループ表に対応するOracle Database表を切り捨てません。 |
-nThreads n |
-initCacheDrオプションとともに使用した場合、-nThreadsは、初期化プロセスにおけるOracle Database表の切捨ておよびOracleへのキャッシュ・データのプッシュに使用するスレッドの数を示します。 |
-open |
ユーザー接続に対してデータベースをオープンします。
作成時、デフォルトでデータベースはユーザー接続に対してオープンです。 |
-PWD pwd |
-UIDオプションに指定した内部ユーザーのパスワード。 |
-PWDCrypt encryptedPwd |
-UIDオプションに指定したユーザーの暗号化されたパスワード。 |
-ramLoad |
複製処理の完了時に、メモリー内にデータベースを保持します。このオプションによって、大規模なデータベースをコピーする場合にデータベースのアンロードとリロードのサイクルが回避され、複製処理のパフォーマンスが改善されます。複製オプションの後、データベースのRAMポリシーはmanualに設定されます。RAMポリシーをさらに変更するには、ttAdminユーティリティを使用します。 |
-remoteDaemonPort portNo |
リモート・メイン・デーモンのポート番号。
このオプションの引数に指定された値が0(ゼロ)以外の場合、その値をポート番号として使用します。値が0(ゼロ)の場合は、デフォルトの動作を使用してポート番号を決定します。
|
-remoteIP remoteIPAddress |
使用するリモート/接続先ネットワーク・インタフェースの別名またはIP(IPv4またはIPv6)アドレスを指定します。指定しない場合は、ttRepAdminによって互換性のあるインタフェースが選択されます。 |
-setMasterRepStart |
-duplicateとともに使用した場合、このオプションは、新しく作成されたデータベースのレプリケーション状態を、ネットワーク間でデータベースがコピーされる直前にStart状態に設定します。これにより、複製処理の後にソース・データベースに行われたすべての更新が、新しく複製されたローカル・データベースに確実にレプリケートされます。データベースの不要なトランザクション・ログ・ファイルは削除されます。 |
-truncate [owner.]table ...| ALL |
-duplicate処理中にコピーされたものの、レプリケーション・スキームには含まれていない表を切り捨てます。表がキャッシュ・グループ表の場合には、ttRepAdminはオプションを無視します。 |
-UID userid |
ソース・データベースに対してADMIN権限を持つユーザーのユーザーIDを指定する必要があります。これは内部ユーザーである必要があります。 |
-verbosity {0 | 1 | 2} |
複製処理で実行される通信段階の詳細を表示し、複製の転送の進捗情報をレポートします。
|
例
例5-1 データベースの複製
ソース・データベースで、次のように入力してユーザーを作成し、そのユーザーにADMIN権限を付与します。
CREATE USER ttuser IDENTIFIED BY ttuser; User created. GRANT admin TO ttuser;
インスタンス管理者のユーザー名が、複製元と複製先のインスタンスで同じである必要があります。インスタンス管理者としてログインして、server1のds1データベースをds2データベースに複製します。
% ttRepAdmin -duplicate -from ds1 -host "server1"
-UID ttuser -PWD ttuser
-connStr "dsn=ds2;UID=ttuser;PWD=ttuser"
例5-2 キャッシュ・グループのあるデータベースの複製
データベースを複製するときにキャッシュ・グループ表を保持するには、-keepCGオプションを使用します。-cacheuidオプションおよび-cachepwdオプションで、キャッシュ管理ユーザーIDおよびパスワードを指定します。キャッシュ管理ユーザーのパスワードを指定しなかった場合は、ttRepAdminからパスワードの入力が求められます。
キャッシュ管理ユーザーIDがorauserで、パスワードがorapwdである場合、host1のデータベースdsn1を複製します。
% ttRepAdmin -duplicate -from dsn1 -host host1 -uid ttuser -pwd ttuser
-keepCG -cacheuid orauser -cacheuid orapwd "DSN=dsn2;UID=;PWD="
dsn2のUIDおよびPWDは、インスタンス管理者である現在のオペレーティング・システム・ユーザーとして接続が確立されるように、接続文字列でNULL値として指定されます。インスタンス管理者のみがttRepAdmin -duplicateを実行できます。dsn2がPWDではなくPWDCryptで構成されている場合は、接続文字列がDSN=dsn2;UID=;PWDCrypt=となります。
例5-3 ソース・データベースのレプリケーション状態の設定
-setMasterRepStartオプションによって、srcDataStoreNameデータベースのレプリケーション状態がネットワーク間でコピーされる前にStart状態に設定にされ、メモリー内にデータベースが保持されます。これにより、複製処理後にマスターに対して行われた更新がサブスクライバに確実にコピーできます。
ローカル・ホストをホスト名またはIPアドレスで識別するには、-localhostオプションを使用します。これらのオプションを使用すると、複製処理後にリモート・データベースで行われたすべての更新が、新しく作成またはリストアされたローカル・データベースにレプリケートされます。
ttRepAdmin -duplicate -from srcDataStoreName -host srcDataStoreHost -setMasterRepStart -ramLoad -UID timesten_user -PWD timesten_user] -localhost localHostName [destDSN | -connStr connection_string ]
次の形式のttRepAdminを使用すると、コールが戻る前に、ログ内のすべての更新をすべてのサブスクライバにレプリケートできます。
ttRepAdmin -wait [-name receiverName] [-host receiverHostName] [-timeout seconds] {DSN | -connStr connection_string}
オプション
ttRepAdmin -waitには、次のオプションがあります。
| オプション | 説明 |
|---|---|
DSN |
マスター・データベースのデータソース名を示します。 |
-connStr connection_string |
マスター・データベースの接続文字列(データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列)を指定します。 |
-wait |
レプリケーションがカレントになるまで待機してから続行します。 |
-name receiverName |
データベースを指定します。データベース名は、データベース・パス名の最後の部分です。 |
-host receiverHostName |
サブスクライバ・ホストのホスト名またはTCP/IPアドレスを定義します。 |
-timeout seconds |
タイムアウト値(秒)を指定します。ttRepAdminは、サブスクライバへのすべての更新が完了していない場合でも、この時間内で返されます。 |
例
% ttRepAdmin -wait -name receiverName -host receiverHostName -timeout seconds -dsn DSN
前述の構文によって、このプログラムの起動時にコミットされたすべての更新がサブスクライバreceiverNameに転送され、このサブスクライバによってそれらのすべての更新がサブスクライバ・データベースで永続コミットされたことが確認されたことを確認する方法が提供されます。タイムアウトで待機時間(秒)が制限されます。
|
ノート: すべての書込みトランザクション・アクティビティがストアで静止された後にttRepAdmin -waitが起動された場合(アクティブなトランザクションおよび開始済のトランザクションがない状態)、すべての更新がサブスクライバで永続的にコミットされていることを示す確認応答をサブスクライバが送信するまでに、60秒以上かかる可能性があります。 |
% ttRepAdmin -wait -dsn DSN
前述の構文では、タイムアウトおよびサブスクライバ名が指定されていない場合、ttRepAdminは、このプログラムの起動時にコミットされたすべての更新がすべてのサブスクライバに転送され、それらのすべての更新がサブスクライバ・データベースで永続コミットされたことがすべてのサブスクライバによって確認されるまで戻されません。
次の形式のttRepAdminを使用すると、トランザクション・ログ・ファイルのサイズ、ブックマークの位置、またはマスター・データベースのレプリケーション構成を確認できます。
ttRepAdmin -log {DSN | -connStr connection_string}
ttRepAdmin -showstatus -detail {-awtmoninfo} {DSN | -connStr connection_string}
ttRepAdmin -showconfig {DSN | -connStr connection_string}
ttRepAdmin -bookmark {DSN | -connStr connection_string}
オプション
ttRepAdmin監視処理には、次のオプションがあります。
| オプション | 説明 |
|---|---|
DSN |
マスター・データベースのデータソース名を示します。 |
-awtmoninfo |
AwtMonitorConfigプロシージャをコールして、AWTキャッシュ・グループの監視を有効にした場合は、このオプションを使用して監視結果を表示できます。
AWT監視を有効にした場合、
|
-connStr connection_string |
マスター・データベースの接続文字列(データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列)を指定します。 |
-detail |
レプリケーション・エージェントのトランスミッタとレシーバがTLSを使用しているかどうか(SSLとして示される) |
-log |
他のデータベースに更新を転送するためにレプリケーションによって保持される、トランザクション・ログ・ファイルの数とサイズを表示します。 |
-showconfig |
レプリケーション構成をすべて表示します。
詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のレプリケートされたデータベースの構成の表示に関する説明を参照してください。 |
-showstatus |
指定したレプリケートされたデータベースの現在のステータスをレポートします。
詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のttRepAdminを使用したレプリケーション・ステータスの表示に関する説明を参照してください。 |
-bookmark |
レプリケーションでログを読み取る必要のある最新のマーカー・レコード、作成された最新のログ順序番号およびレコードがディスクにフラッシュされた最新のログ順序番号をレポートします。
パラレル・レプリケーションを設定している場合、ブックマークはサポートされません。 詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のレプリケートされたログ・レコードの表示に関する説明を参照してください。 |
結果セット
AWT監視を有効にした場合、このユーティリティは他のttRepAdmin -showstatusの出力に加え、次の情報も表示します。
TimesTenの処理時間: 監視の有効化以降にAWTトランザクション・データの処理に費やされた合計時間(ミリ秒単位)。
Oracleブックマークの時間: 監視の有効化以降にOracleでのAWTメタデータの管理に費やされた合計時間(ミリ秒単位)。
Oracle実行時間: 監視の有効化以降にAWT SQL処理のOCI準備、バインディングおよび実行に費やされた合計時間(ミリ秒単位)。この統計には、TimesTenとOracle Databaseの間のネットワーク待機時間が含まれます。
Oracleコミット時間: 監視の有効化以降にOracleに対するAWT更新のコミットに費やされた合計時間(ミリ秒単位)。この統計には、TimesTenとOracle Databaseの間のネットワーク待機時間が含まれます。
監視の開始以降の時間。
TimesTen行処理の合計数: 監視の有効化以降にAWTキャッシュ・グループで更新された行の合計数。
TimesTenトランザクションの合計数: 監視の有効化以降にAWTキャッシュ・グループで実施されたトランザクションの合計数。
Oracleへのフラッシュの合計数: TimesTenデータがOracle Databaseに送信された回数の合計。
出力には、TimesTenの処理、Oracleのブックマーク、Oracleの実行およびOracleのコミットにかかった時間の割合も含まれます。
詳細は、『Oracle TimesTen In-Memory Database開発者および管理者ガイド』のttRepAdminを使用したレプリケーション・ステータスの表示に関する説明を参照してください。
例
% ttRepAdmin -log DSN
前述の構文によって、他のデータベースに更新を転送するためにレプリケーションで保持されるトランザクション・ログ・ファイルの数がレポートされます。レプリケーション・エージェントは、トランザクション・ログ・ファイル内のすべての更新が各サブスクライバ・データベースに正常に転送されるまでそのトランザクション・ログ・ファイルを保持します。
% ttRepAdmin -showconfig DSN
前述の構文によって、レプリケーション構成がすべてレポートされます。指定したDSNのすべてのサブスクライバ、レプリケートされている表の名前と詳細、およびすべてのサブスクリプションが表示されます。
% ttRepAdmin -showstatus DSN
前述の構文によって、指定したDSNのデータベースの現在の状態がレポートされます。出力には、レプリケートされたデータベースのレプリケーション・エージェント内のすべてのスレッド、ブックマークの位置、ポート番号および通信プロトコルの状態が含まれます。
たとえば、ttRepAdmin -showstatusユーティリティを使用してrep1データベースからrep2データベースへの一方向のレプリケーション・スキームのステータスを表示する方法を考えてみます。
最初のttRepAdmin -showstatus出力は、rep1データベースおよびそのTRANSMITTERスレッドのステータスを示します。2つ目の出力はrep2データベースおよびそのRECEIVERスレッドのステータスを示します。
% ttRepAdmin -showstatus rep1
DSN : rep1
Process ID : 1980
Replication Agent Policy : MANUAL
Host : MYHOST
RepListener Port : 1113 (AUTO)
Last write LSN : 0.1487928
Last LSN forced to disk : 0.1487928
Replication hold LSN : 0.1486640
Replication Peers:
Name : rep2
Host : MYHOST
Port : 1154 (AUTO)
Replication State : STARTED
Communication Protocol : 12
TRANSMITTER thread(s):
For : rep2
Start/Restart count : 2
Send LSN : 0.1485960
Transactions sent : 3
Total packets sent : 10
Tick packets sent : 3
MIN sent packet size : 48
MAX sent packet size : 460
AVG sent packet size : 167
Last packet sent at : 17:41:05
Total Packets received: 9
MIN rcvd packet size : 48
MAX rcvd packet size : 68
AVG rcvd packet size : 59
Last packet rcvd'd at : 17:41:05
Earlier errors (max 5):
TT16060 in transmitter.c (line 3590) at 17:40:41 on 08-25-2004
TT16122 in transmitter.c (line 2424) at 17:40:41 on 08-25-2004
rep2データベースのレプリケーション・ステータスは、次のようになります。
> ttRepAdmin -showstatus rep2 DSN : rep2 Process ID : 2192 Replication Agent Policy : MANUAL Host : MYHOST RepListener Port : 1154 (AUTO) Last write LSN : 0.416464 Last LSN forced to disk : 0.416464 Replication hold LSN : -1.-1 Replication Peers: Name : rep1 Host : MYHOST Port : 0 (AUTO) Replication State : STARTED Communication Protocol : 12 RECEIVER thread(s): For : rep1 Start/Restart count : 1 Transactions received : 0 Total packets sent : 20 Tick packets sent : 0 MIN sent packet size : 48 MAX sent packet size : 68 AVG sent packet size : 66 Last packet sent at : 17:49:51 Total Packets received: 20 MIN rcvd packet size : 48 MAX rcvd packet size : 125 AVG rcvd packet size : 52 Last packet rcvd'd at : 17:49:51
% ttRepAdmin -bookmark DSN
前述の構文によって、レプリケーションで必要な最も古いログ・レコード、ディスクに書き込まれた最後のログ・レコードおよび最後に生成されたログ・レコードのログ順序番号が出力されます。
% ttRepAdmin -showstatus -awtmoninfo database1
[other -showstatus output]
...
AWT Monitoring statistics
--------------------------
TimesTen processing time : 0.689000 millisecs (0.164307 %)
Oracle bookmark time : 3.229000 millisecs (0.770027%)
Oracle execute time : 342.908000 millisecs (81.774043 %)
Oracle commit time : 72.450000 millisecs (17.277315 %)
Time since monitoring was started: 8528.641000 millisecs
Cache-connect Operational Stats :
Total Number of TimesTen row operations : 2
Total Number of TimesTen transactions : 2
Total Number of flushes to Oracle : 2
前述の構文および出力によって、AWT監視ステータスが表示されます。
ノート
ttRepAdminユーティリティはTimesTen Data Manager DSNでのみサポートされています。TimesTen Client DSNではサポートされていません。
2つ以上のレプリケーション・スキームを指定する場合、または2つ以上のスキームが特定のデータベースを含む場合、-schemeオプションを使用する必要があります。
SQLの構成を使用すると、同じデータベースに複数のレプリケーション・スキームを作成できます。レプリケーション・スキームが1つしかない場合、ttRepAdminユーティリティは、自動的にスキームを検出します。2つ以上のスキームがある場合は、ttRepAdmin -schemeオプションを使用して、使用するスキームを指定する必要があります。
異なるホスト上の同じ名前のデータベースにレプリケーションを構成する場合、-hostを使用して、どのデータベースを処理するのかを指示できます。たとえば、すべてのサブスクライバがDATAという名前を持つ場合、ホストSW1のレプリケーション状態を設定するには、次のように実行します。
% ttRepAdmin -receiver -name DATA -host SW1 -state start DSN
説明
ttBackupユーティリティを使用して作成されたバックアップからデータベースを作成します。データベースが存在する場合は、ttRestoreはデータベースを上書きしません。
ttRestoreの接続文字列中の属性には、初期接続属性または一般接続属性を使用できます。また、データ・ストア属性のLogDirも使用できます。その他のすべてのデータ・ストア属性は、バックアップ・ファイルからコピーされます。LogDir属性を使用すると、リストアされたデータベースを再配置できます。
ttRestoreによる操作は、データベースを移動させることができるため、初期接続よりも強力です。ただし、他のデータ・ストア属性(LogDir属性を除く)を上書きできないため、データベースの新規作成ほど強力ではありません。
TimesTenのバックアップおよびリストア機能の詳細は、Oracle TimesTen In-Memory Databaseインストレーション、移行およびアップグレード・ガイドのTimesTen Classicでのデータのバックアップ、リストアおよび移行を参照してください。
構文
ttRestore {-h | -help | -?}
ttRestore {-V | -version}
ttRestore [-fname filePrefix] [-noconn] -dir directory
[-open | -close] {DSN | -connStr connection_string}
ttRestore -i [-noconn] [-open | -close] {DSN | -connStr connection_String}
オプション
ttRestoreには、次のオプションがあります。
| オプション | 説明 |
|---|---|
-connStr connection_string |
データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列。 |
-close |
ユーザー接続に対してデータベースをクローズします。
データベースがユーザー接続に対してクローズされると、新しい接続の試行は失敗しますが、既存の接続に影響はありません。 |
DSN |
管理するデータベースのODBCデータソース名を指定します。 |
-dir directory |
バックアップ・ファイルが保存されているディレクトリを指定します。 |
-fname filePrefix |
バックアップ・ディレクトリのバックアップ・ファイルのファイル接頭辞を指定します。バックアップ・ファイルは、この接頭辞を使用してバックアップ・ディレクトリに保存される必要があります。
このパラメータのデフォルト値は、データベースのODBC定義の |
-h
|
使用方法のメッセージを出力して終了します。 |
-i |
バックアップ・データの標準入力を読み取ります。-dirまたは-fnameオプションは、-iと組み合せて使用できません。 |
-noconn |
リストアが成功したことを確認するために、最後のステップとしてttRestoreはデータベースに接続します。このオプションは、この最後の接続を無効にします。最大限のパフォーマンスを得るためには、このオプションを指定することを推奨します。このオプションを指定しない場合、データベースはメモリーにロードされ、メモリーからアンロードされます。 |
-open |
ユーザー接続に対してデータベースをオープンします。
作成時、デフォルトでデータベースはユーザー接続に対してオープンです。 |
-V | -version |
ttRestoreのリリース番号を出力し、終了します。 |
例
% ttRestore -dir /users/pat/TimesTen/backups -fname FastInsBkup FastIns
origDSNというデータベースをディレクトリ/users/rob/tmpにバックアップし、それをrestoredDSNというデータベースにリストアするには、次のコマンドを実行します。
% ttBackup -dir /users/rob/tmp -fname restored origDSN % ttRestore -dir /users/rob/tmp -fname restored restoredDSN
fnameの値は、バックアップ・ファイル名の接頭辞部分に使用する名前です。
UNIXおよびLinuxシステムでテープ・バックアップをFastInsデータベースにリストアするには、次のコマンドを実行します。
% dd bs=64k if=/dev/rmt0 | ttRestore -i FastIns
ノート
ttBackupユーティリティおよびttRestoreユーティリティは、TimesTenリリース番号の最初の2つの部分とプラットフォームが同じ場合にのみ、データベースのバックアップおよびリストアを行います。たとえば、リリース18.1.1.1.0とリリース18.1.1.2.0または18.1.2.1.0の間ではファイルをバックアップし、リストアできます。リリース11.2.2.8.0とリリース18.1.1.1.0の間またはリリース18.1.2.1.0とリリース18.2.1.1.0の間では、ファイルのバックアップおよびリストアは実行できません。ttBulkCpユーティリティまたはttMigrateCSユーティリティ(UNIXおよびLinuxシステムのみ)を使用して、各メジャー・リリースまたは各種オペレーティング・システムをまたいでデータベースを移行できます。
キャッシュ・グループを含むデータベースは、ttBackupユーティリティを使用してバックアップできます。ただし、そのようなバックアップをリストアする場合は、キャッシュ・グループ内のリストアされたデータが古くなっていたり、バックエンドOracle Databaseのデータと同期していないことがあるため、特別な注意が必要です。詳細は、『Oracle TimesTen Application-Tier Database Cacheユーザーズ・ガイド』のキャッシュ・グループを持つデータベースのバックアップとリストアに関する説明を参照してください。
説明
データベースのスキーマまたは選択されたオブジェクトを出力します。このユーティリティは、SQL CREATE文で使用される次のスキーマ・オブジェクトを表示できます。
表
索引
キャッシュ・グループ定義
順序
ビュー
パーティション情報などの列の定義
PL/SQLプログラム・ユニット
ユーザーおよびユーザー情報
表示される詳細のレベルおよびオブジェクトは、オプションを使用して制御できます。出力は、データベースがALTER文などにより現在の状態に達するまでの履歴ではなく、ある時点のデータベースの状態のスナップショットを表しています。データベース全体(データを含む)は、ttSchemaの出力から完全に再作成することはできません。ttIsqlユーティリティでは、データベースの全スキーマを再作成するために、ttSchemaの出力を再生できます。
UNIXおよびLinuxシステムでは、このユーティリティはTimesTen Data Manager DSNでサポートされます。TimesTenクライアントDSNでは、ttSchemaCSユーティリティを使用します。
必要な権限
このユーティリティを使用するには、データベース・オブジェクトに対して記述操作を実行するために必要な権限があれば十分です。それ以上の権限は必要ありません。
このユーティリティは、その実行者であるユーザーが所有するオブジェクトおよび所有者がSELECT権限を持っているオブジェクトについてのみ情報を出力します。ユーティリティを実行している所有者がADMIN権限を持っている場合には、ttSchemaによってすべてのオブジェクトについて情報が出力されます。
構文
ttSchema {-h | -help | -?}
ttSchema {-V | -version}
ttSchema [-userinfo] [-includePassword]
ttSchema [-l] [-c] [-fixedTypes] [-st | -systemTables]
[ -list {all | tables | views | sequences |
cachegroups | repschemes |synonyms | plsql | userinfo} [,...] ]
[-plsqlAttrs | -noplsqlAttrs]
[-plsqlCreate |-[no]plsqlCreateOrReplace]
[-includePassword]
{-connStr connection_string | DSN }
[[owner.]object_name][...]
オプション
ttSchemaには、次のオプションがあります。
| オプション | 説明 |
|---|---|
-connStr connection_string |
データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列。 |
-c |
互換性モード。TimesTen固有およびリリース固有のキーワードと拡張子の使用を制限します。このことは、ttSchemaの出力が、TimesTenの以前のリリースまたはOracle Databaseのような他のデータベース・システムへの入力として使用されている場合に役立つ可能性があります。
|
DSN |
スキーマの取得元となるデータベースのODBCデータソース名を指定します。 |
-fixedTypes |
完全修飾されたデータ型名を使用します。 |
-h
|
使用方法のメッセージを出力して終了します。 |
-includePassword |
ユーザーのエクスポート可能なパスワード情報が含まれます。ユーザーDDLが新しいデータベースで実行される場合、ユーザーは同じパスワードを持つことができます。 |
-l |
データベースのオブジェクトを1行に1項目ずつ表示します。 |
-list {all | tables | views | sequences | cachegroups | repschemes |synonyms | plsql |userinfo}[,...] |
生成するオブジェクトのカンマ区切り(カンマの後にスペースなし)リスト。指定されたタイプのオブジェクトのみを表示します。デフォルトは、-list allです。 |
[owner.]object_name |
出力の有効範囲を、指定したデータベース・オブジェクトに制限します。 |
-plsqlAttrs |-noplsqlAttrs |
ttSchemaがPL/SQLプログラム・ユニットに対してCREATE文とともにALTER SESSION文を発行するかどうかを制御します。
|
-plsqlCreate | -[no]plsqlCreateOrReplace |
-plsqlCreateを指定した場合、ttSchemaはPL/SQLプログラム・ユニットに対してCREATE PROCEDURE文、CREATE PACKAGE文またはCREATE FUNCTION文を発行します。
|
-st | -systemTables |
システム表を含めます。デフォルトではシステム表は省略されます。 |
-V | -version |
ttSchemaのリリース番号を出力し、終了します。 |
例
orderdsnデータベースのオブジェクトを作成するには、次のSQL文を使用します。
CREATE TABLE ttuser.customer (
cust_num INTEGER NOT NULL PRIMARY KEY,
region CHAR(2) NOT NULL,
name VARCHAR2(80),
address VARCHAR2(255) NOT NULL);
CREATE SEQUENCE ttuser.custid MINVALUE 1 MAXVALUE 1000000;
CREATE TABLE ttuser.orders (
ord_num INTEGER NOT NULL PRIMARY KEY,
cust_num INTEGER NOT NULL,
when_placed TIMESTAMP NOT NULL,
when_shipped TIMESTAMP,
FOREIGN KEY(cust_num) REFERENCES ttuser.customer (cust_num));
CREATE MATERIALIZED VIEW ttuser.order_summary AS
SELECT cust.name, ord.ord_num, count(*) ord_count
FROM ttuser.orders ord, ttuser.customer cust
WHERE ord.cust_num = cust.cust_num
GROUP BY cust.name, ord.ord_num;
例5-4 データベースに対するttSchema
orderdsnデータベースのスキーマを返します。
% ttSchema orderdsn
-- Database is in Oracle type mode
create table TTUSER.CUSTOMER (
CUST_NUM NUMBER(38) NOT NULL,
REGION CHAR(2 BYTE) NOT NULL,
"NAME" VARCHAR2(80 BYTE) INLINE NOT NULL,
ADDRESS VARCHAR2(255 BYTE) NOT INLINE NOT NULL,
primary key (CUST_NUM));
create table TTUSER.ORDERS (
ORD_NUM NUMBER(38) NOT NULL,
CUST_NUM NUMBER(38) NOT NULL,
WHEN_PLACED TIMESTAMP(6) NOT NULL,
WHEN_SHIPPED TIMESTAMP(6),
primary key (ORD_NUM),
foreign key (CUST_NUM) references TTUSER.CUSTOMER (CUST_NUM));
create sequence TTUSER.CUSTID
increment by 1
minvalue 1
maxvalue 1000000
start with 1
cache 20;
create materialized view TTUSER.ORDER_SUMMERY as
SELECT CUST.NAME "NAME", ORD.ORD_NUM "ORD_NUM", COUNT(*) "ORD_COUNT"
FROM TTUSER.ORDERS ORD, TTUSER.CUSTOMER CUST WHERE ORD.CUST_NUM =
CUST.CUST_NUM GROUP BY CUST.NAME, ORD.ORD_NUM ;
例5-5 特定のオブジェクトのリスト表示
マテリアライズド・ビューのみとorderdsnデータベースの順序を返します。
% ttSchema -list views,sequences orderdsn
-- Database is in Oracle type mode
create sequence TTUSER.CUSTID
increment by 1
minvalue 1
maxvalue 1000000
start with 1
cache 20;
create materialized view TTUSER.ORDER_SUMMERY as
SELECT CUST.NAME "NAME", ORD.ORD_NUM "ORD_NUM", COUNT(*) "ORD_COUNT"
FROM TTUSER.ORDERS ORD, TTUSER.CUSTOMER CUST WHERE ORD.CUST_NUM =
CUST.CUST_NUM GROUP BY CUST.NAME, ORD.ORD_NUM ;
例5-6 オブジェクトの指定
orderdsnデータベースのorders表のスキーマ情報を返します。
% ttSchema orderdsn ttuser.orders
-- Database is in Oracle type mode
Warning: tables may not be printed in an order that can satisfy foreign key
reference constraints
create table TTUSER.ORDERS (
ORD_NUM NUMBER(38) NOT NULL,
CUST_NUM NUMBER(38) NOT NULL,
WHEN_PLACED TIMESTAMP(6) NOT NULL,
WHEN_SHIPPED TIMESTAMP(6),
primary key (ORD_NUM),
foreign key (CUST_NUM) references TTUSER.CUSTOMER (CUST_NUM));
例5-7 固定データ型の指定
固定データ型名を使用して、orderdsnデータベースのスキーマ情報を返します。
% ttSchema -fixedTypes orderdsn
-- Database is in Oracle type mode
create table TTUSER.CUSTOMER (
CUST_NUM NUMBER(38) NOT NULL,
REGION ORA_CHAR(2 BYTE) NOT NULL,
"NAME" ORA_VARCHAR2(80 BYTE) INLINE NOT NULL,
ADDRESS ORA_VARCHAR2(255 BYTE) NOT INLINE NOT NULL,
primary key (CUST_NUM));
create table TTUSER.ORDERS (
ORD_NUM NUMBER(38) NOT NULL,
CUST_NUM NUMBER(38) NOT NULL,
WHEN_PLACED ORA_TIMESTAMP(6) NOT NULL,
WHEN_SHIPPED ORA_TIMESTAMP(6),
primary key (ORD_NUM),
foreign key (CUST_NUM) references TTUSER.CUSTOMER (CUST_NUM));
create sequence TTUSER.CUSTID
increment by 1
minvalue 1
maxvalue 1000000
start with 1
cache 20;
create materialized view TTUSER.ORDER_SUMMERY as
SELECT CUST.NAME "NAME", ORD.ORD_NUM "ORD_NUM",
COUNT(*) "ORD_COUNT" FROM TTUSER.ORDERS ORD, TTUSER.CUSTOMER CUST
WHERE ORD.CUST_NUM = CUST.CUST_NUM
GROUP BY CUST.NAME, ORD.ORD_NUM ;
ノート
生成されたSQLでは、ALTER文による変換履歴は生成されません。また、出力には表のパーティションに関する情報がSQLコメントの形式で示されますが、表のパーティションは保持されません。ttSchemaユーティリティは、初期パーティションにない列のパーティション番号を出力します。初期パーティションは0のため、ttSchemaで出力されるパーティション1は2番目のパーティション1で、初期パーティションではありません。パーティションの詳細は、『Oracle TimesTen In-Memory Database SQLリファレンス』のALTER TABLEに関する説明のALTER TABLEを使用する場合のパーティションの理解に関する説明を参照してください。
このユーティリティでは、0以外の値を指定したPassThrough接続属性はサポートされていないため、0以外の値を指定するとエラーが返されます。
出力に、TimesTenの以前のリリースによって認識されるDDLと互換性があることは保証できません。
アプリケーションのロックの競合問題を回避するために、ttSchema実行中はDDL SQLを実行しないことをお薦めします。
説明
指定した表(データベース内のビューを含む)にrows行が追加されて、サイズが大きくなったときの領域の消費量を見積もります。このユーティリティは既存の表に対して使用したり、表の作成時に表サイズを見積もる場合に使用できます。所有者を指定しない場合、ttSizeは指定された表名のすべての表についてのサイズ情報を出力します。サイズ情報には、表に定義された索引によって占有される領域が含まれています。
可変長列に必要なメモリーは、最終的な表の列の平均長として、現在の表の列の平均長を使用して見積もります。現在の表に行がまったく存在しない場合、ttSizeは、平均列長を最大列長の半分であると推定します。
LOB列に必要なメモリーは、最終的な表の列の平均長として、現在の表の列の平均長を使用して見積もります。表に行が挿入されない場合、計算にLOB列は含まれません。
このユーティリティをコールすると表がスキャンされます。オプションのNULL以外のfrac値(0と1の間)を指定することによって、表のスキャンを回避します。ttSizeユーティリティはこの値を使用して、可変長列の平均サイズを見積もります。fracを各可変長列の最大サイズに掛けて、VARBINARY列またはVARCHAR列の推定平均サイズを計算します。fracオプションを指定しないと、表内の既存の行がスキャンされ、既存の行における可変長列の平均長が使用されます。fracを指定しなかった場合、表に行が存在しないと、fracの値は0.5であると想定されます。
構文
ttSize {-h | -help | -?}
ttSize {-V | -version}
ttSize -tbl [owner.][tableName] [-rows rows] [- frac fraction]
{-connStr connection_string | DSN}
オプション
ttSizeには、次のオプションがあります。
| オプション | 説明 |
|---|---|
-connStr connection_string |
データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列。 |
DSN |
ttSizeが表の情報を検索するために接続するデータソースの名前を指定します。 |
-frac frac |
使用されるVARCHARまたはVARBINARYの表外の列のサイズの推定平均端数を指定します。このオプションが省略され、表に表外の可変サイズの列が含まれる場合、平均サイズを求めるために表スキャンが行われます。表が空の場合には、端数に0.5 (50%)が埋められていると推定されます。 |
-h
|
使用方法のメッセージを出力して終了します。 |
-tbl [owner.][tableName] |
サイズの見積りに定義が使用される表の名前を指定します。所有者を省略すると、ユーザーのログイン名として試行されます。これが見つからない場合は、SYSユーザーが使用されます。tableNameはオプション・パラメータです。tableNameパラメータを省略した場合、ttSizeの出力はあまり役立ちません。 |
-rows rows |
表内の予想される行数を指定します。TimesTenの表を保存するために必要な領域には、実データのための領域に加え、ブックキーピング、動的メモリー割当ておよび索引のオーバーヘッドが含まれています。
メモリーの断片化、問合せの実行中に割り当てられる一時領域、およびコンパイルされたSQL文を保持するための領域が原因で、TimesTenは追加の領域を消費する可能性があります。 このオプションを省略すると、 |
-V | -version |
ttSizeのリリース番号を出力し、終了します。 |
例
表に必要な領域を推定するには、TimesTenで表を作成し、代表的な行のサンプルをその表に移入し、必要な索引を作成し、それらの定義でttSizeを実行します。たとえば、200,000行まで大きくなったときのデータソースFixedDsのNAMEIDのサイズを見積もるには、次のコマンドを実行します。
% ttSize -tbl Nameid -rows 200000 FixedDs Rows = 200000 Total in-line row bytes = 7139428 Total = 7139428
ノート
表に行が挿入されない場合を除いて、LOB列は可変長型の列と同様に扱われます。表に行が挿入されない場合は、平均サイズの計算にLOB列は含まれません。
PERM_ALLOCATED_SIZEおよびPERM_IN_USE_SIZEは、現在割り当てられているデータベースのサイズ(単位はKB)および使用中のデータベースのサイズを示します。接続を確立または解放するたびに、またトランザクションがコミットまたはロールバックされるたびに、この情報はシステムによって更新されます。
このユーティリティはTimesTen Data Manager DSNでのみ使用できます。TimesTen Client DSNではサポートされていません。
ttStatsユーティリティはTimesTen ClassicおよびTimesTen Scaleoutでサポートされていますが、それぞれ異なる構文およびオプションをサポートしています。次の項でそれぞれのttStatsユーティリティについて説明します。
表5-3は、ttStatsユーティリティの機能について、TimesTen ClassicとTimesTen Scaleoutの主な違いを示しています。
表5-3 TimesTen ClassicとTimesTen ScaleoutのttStatsの相違点
| 操作 | TimesTen Classic |
TimesTen Scaleout |
|---|---|---|
|
スナップショットの作成 |
|
TimesTen Scaleoutで |
|
スナップショットの削除 |
|
|
|
スナップショットに関する情報の表示 |
引数を指定せずに |
|
|
2つのスナップショット間のレポートの生成 |
|
TimesTen Scaleoutではテキスト・バージョンのレポートのみ生成できます。 |
この項では、TimesTen ClassicのttStatsユーティリティの機能について説明します。
説明
ttStatsユーティリティでは、データベース・メトリック(統計、状態およびその他の情報)を監視し、メトリックのスナップショットを取得して比較します。このユーティリティでは次のことができます。
データベースのパフォーマンス・メトリックをそれぞれの前の間隔での変更率を計算することにより、リアルタイムで監視および表示します。
メトリックのスナップショットを収集してデータベースに保存し、指定されたスナップショットのペアの値と変更率を使用してレポートを生成します。(これらの機能は、TT_STATS PL/SQLパッケージへのコールにより実行されます。)
ttStatsユーティリティは、TimesTen Classicのシステム表、ビューおよび組込みプロシージャからメトリックを収集します。レポートには、メモリー使用量、接続およびロード・プロファイルの概要などの情報に続き(必要に応じて) SQL文、トランザクション、PL/SQLメモリー、レプリケーション、ログとログの保持、チェックポイント、キャッシュ・グループ、ラッチ、ロック、XLAおよびTimesTen接続属性に関するメトリックが含められます。監視では、この項で後述するように、キーとなる小セットのデータが表示されます。
クライアントDSNに対しては、ユーティリティのttStatsCSバージョン(UNIXおよびLinuxシステムまたはWindows)を使用します。
動作モードには次の3つがあります。
モニター・モード(デフォルトのモード): 定義済のメトリックのセットを監視することによってデータベースのパフォーマンスをリアルタイムで追跡し、それらのメトリックを(前回の表示から値に変更のあったものをメインで)表示し、適切な場合値の変更率を算出します。情報はユーザーに対する表示のための標準出力に出力され、ディスクには保存されません。
期間または反復回数が指定されない場合、[Ctrl]キーを押しながら[C]キーを押すことにより実行が中断されるまで、監視は実行されます。
|
ノート: モニター・モードで表示されるメトリックのセットは、メトリックが収集されたシステム表および組込みプロシージャへの変更により、変更されることがあります。 |
スナップショット・モード: 取得レベルに応じてメトリックのスナップショットを取得し、それらをデータベースのSYS.SNAPSHOT_XXXXシステム表に保存します。スナップショットが取得されると、そのID番号が標準出力に表示されます。取得レベルはSYS.SYSTEMSTATSからのメトリックに対してのみ適用されます。他のソースからのメトリックについては、取得レベルにかかわらず同じデータが収集されます。
デフォルトでは、多くの目的に適した一般的なメトリックのセットが収集されますが、数の少ない基本的なメトリックのセット、すべての使用可能なメトリックまたはSYSTEMSTATS以外のソースからのメトリックのみも指定できます。
レポート・モード: 指定した2つのメトリックのスナップショットからレポートを生成します。レポートはデフォルトでHTML形式ですが、プレーン・テキスト形式を要求することもできます。出力ファイルを指定することも、標準出力に出力を表示することもできます。ttStatsレポートは、Oracle Databaseのパフォーマンス分析ツールに例えた場合、Oracle Automatic Workload Repository (AWR)レポートに類似しています。
モニター・モードでは、データベースからの読取りによるオーバーヘッドは回避されます。スナップショット・モードおよびレポート・モードでは、ttStatsユーティリティはTimesTenで提供されるTT_STATS PL/SQLパッケージに対する便利なフロント・エンドとなります。このパッケージの詳細は、『Oracle TimesTen In-Memory Database PL/SQLパッケージ・リファレンス』のTT_STATSに関する説明を参照してください。
|
ノート: ttStatsユーティリティには、次の依存および制限があります。
|
前述の組込みプロシージャおよびそれらが収集するデータの詳細は、第3章「組込みプロシージャ」を参照してください。
必要な権限
モニター・モード: モニター・モードを実行するには特別な権限は必要ありませんが、ttSQLCmdCacheInfo組込みプロシージャおよびtransaction_log_api (XLA)表からのデータを含める監視情報には、ADMIN権限が必要です。
スナップショット・モードおよびレポート・モード: デフォルトで、TT_STATS PL/SQLパッケージのセキュリティ制限のため、インスタンス管理者のみがスナップショット・モードまたはレポート・モードで実行する権限があります。ADMINユーザーを含む他のユーザーは、次の例に示すように、インスタンス管理者またはADMINユーザーによってTT_STATSパッケージに対するEXECUTE権限を付与される必要があります。
GRANT EXECUTE ON SYS.TT_STATS TO scott;
構文
サポートされている名前と値のペアは次のとおりです。
ttStats [-h | -help] ttStats [-V | -version] ttStats [-monitor] [-interval seconds] [-duration seconds] [-iterations count] {DSN | -connStr connection_string} ttStats -snapshot [-level capture_level] [-description snap_desc] {DSN | -connStr connection_string} ttStats -report [-snap1 snapid1 -snap2 snapid2] [-html | -text] [-outputFile filename] {DSN | -connStr connection_string} ttStats -drop [-begin_snap snapid1 [-end_snap snapid2]] {DSN | -connStr connection_string}
|
ノート: -monitor、-snapshotまたは-reportのいずれか1つのみを指定します。 |
オプション
TimesTen ScaleoutのttStatsユーティリティでサポートされているオプションは次のとおりです。
| オプション | 説明 |
|---|---|
-h
|
オプションのリストを出力し終了します。
ノート: |
-V
|
TimesTenのリリース番号を出力し終了します。 |
-monitor |
リアルタイムのモニター・モードを実行します。定義済のメトリックのセットを監視し、メトリックおよび変更率を繰り返し表示します。スナップショット・モードとは異なり、データベースには何も保存されません。
ノート: これは |
-interval seconds |
モニター・モードでは、これは表示されるメトリックのセット間の時間間隔(秒)です。デフォルトは10秒です。間隔が短いとシステムのパフォーマンスにマイナスの影響を与える場合があります。 |
-duration seconds |
モニター・モードでは、これはttStatsを実行する継続時間(秒)です。この継続時間後に、ユーティリティは終了します。
|
-iterations count |
モニター・モードでは、これはttStatsがメトリックの収集および表示を実行する反復の回数です。これらの回数の反復後に、ユーティリティは終了します。
ノート: |
-snapshot |
メトリックのスナップショットを取得レベルに応じて収集し、それらのメトリックをデータベースに保存します。スナップショットが取得されると、そのID番号が表示されます。
ノート:
|
-level capture_level |
スナップショット・モードでは、これは取得するメトリックのレベルです。次の設定が可能です。
レポートで任意の2つのスナップショットを使用する場合は、各スナップショットに同じレベルを使用します。 ノート:
|
-description snap_desc |
スナップショット・モードで、他のスナップショットと区別するなどスナップショットに説明またはノートを付与するには、このオプションを任意で使用します。 |
-report |
指定した2つのスナップショットから、デフォルトでHTML形式でレポートを生成します。同じ取得レベルで取得されるスナップショットを使用します。
ノート:
|
-snap1 snapid1 |
レポート・モードにおいて、これは1つ目のスナップショットのスナップショットIDです。 |
-snap2 snapid2 |
レポート・モードにおいて、これは2つ目のスナップショットのスナップショットIDです。 |
-outputFile filename |
レポート・モードにおいて、レポートが書き込まれるファイル・パスおよびファイル名を任意で指定します。ファイルが指定されていない場合、TimesTenはレポートを標準出力に書き込みます。 |
-html | -text |
レポート・モードにおいて、HTMLまたはプレーン・テキストの出力形式を指定します。
ノート: |
-drop |
-begin_snapおよび-end_snap (この値を含む)で指定された範囲のスナップショットをシステムから削除します。
このオプションは、255というデータベース内のスナップショット数の制限下で、スナップショット記憶域を保持するために役立ちます。 |
-begin_snap snapid1 |
-dropオプションの場合、削除するスナップショットの範囲の最初のスナップショットIDを指定します。 |
-end_snap snapid2 |
-dropオプションの場合、削除するスナップショットの範囲の最後のスナップショットIDを指定します。
|
-connStr connection_string
または
|
メトリックを収集するデータベースを指定し接続します。次のいずれかを行います。
TimesTen DSNの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTenデータベースを識別するためのデータ・ソース名の指定方法に関する説明を参照してください。 |
例
この項では、ttStatsの監視およびレポート出力の例を紹介します。
|
ノート: これらの例は一例にすぎません。詳細は変更される場合があります。 |
この項では、モニター・モードからのサンプル出力を示します。
% ttStats database1 Connected to TimesTen Version 18.1.4.1.0 TimesTen Cache version 18.1.4.1.0. Waiting for 10 seconds for the next snapshot Description Current Rate/Sec Notes date.2016-Feb-20 16:49:25 -869676175380467200 1 sample #, not rate connections.count 12 db.size.temp_high_water_mark.kb 7153 7 lock.locks_granted.immediate 832 1 log.log_bytes_per_transaction 0 loghold.bookmark.log_force_lsn 0/12027904 loghold.bookmark.log_write_lsn 0/12050944 loghold.checkpoint_hold_lsn 0/12025856 database1.ds0 loghold.checkpoint_hold_lsn 0/12023808 database1.ds1 stmt.executes.count 44 1 stmt.executes.selects 32 1
|
ノート: 日付および時刻の後の数値はスナップショットの時刻の数値表現であり、無視できます。 |
次のコマンドライン例では、監視は2回の反復後に停止し、接続属性値の設定に接続文字列を使用することを指定しています。
% ttStats -iterations 2 -connStr "DSN=database1;PLSQL_MEMORY_ADDRESS=20000000"
次の例では、デフォルトの一般的レベルで2つのスナップショットを取得します。
% ttStats -snapshot database1 Connected to TimesTen Version 18.01.01.0001 TimesTen Cache version 18.1.4.1.0. Snapshot 1 at TYPICAL level was successfully captured. % ttStats -snapshot database1 Connected to TimesTen Version 18.1.4.1.0 TimesTen Cache version 18.1.4.1.0 Snapshot 2 at TYPICAL level was successfully captured.
次の例では、前の項で生成したスナップショットからレポートを作成します。
% ttStats -report -outputFile testreport.html -snap1 1 -snap2 2 database1 Connected to TimesTen Version 18.01.01.0001 TimesTen Cache version 18.1.4.1.0. Report testreport.html was created.
この項の以降の説明では、ttStatsレポートが生成するメトリックの表からの引用を紹介します。この出力は、デフォルトのHTML形式を使用して生成されたものです。
|
ノート: SWTキャッシュ・グループ・メトリック、ローカル・キャッシュ・グループ・メトリック、動的グローバル・キャッシュ・グループ・メトリック、グリッド・メトリックおよびラッチ・メトリックについての例は示されていません。ラッチ・メトリックを含むには、次のように
% ttXactAdmin -latchstats on DSN
|
サマリー 図5-1はレポート・サマリーの大部分を示しています。サマリーは、次に続く表に詳細が記されており、データベース・メトリックをすばやく確認するのに適しています。内容は次のとおりです。
メモリーの使用率と接続: この情報にはメモリー使用率(db.sizeメトリック)、およびクライアント/サーバー接続と直接接続の数を含む確立された接続(connections.establishedメトリック)についての情報が含まれます。connections.established.threshold_exceededの値がゼロでない場合には、接続が多すぎることを示しています。
ロード・プロファイル: チェックポイント、ソート(ORDER BY文など)、ログ・バッファ待機(ログ・バッファが一杯になり、ディスクにフラッシュするときの遅延)、挿入、更新、削除、解析(準備など)、コミットおよびロールバックなどの数を示し、ワークロードの概念を示します。解析が多すぎるか、永続コミット(非永続コミットよりも高負荷)が多すぎるかどうかを検討します。
インスタンス効率: Command Cache Hit %、Non-Parse/Execs %、Lock Hit %およびLog Buffer No Wait %が表示されます。すべてがほぼ100%になる必要があります。
Lock Hit %: 待機することなく認められたロック要求の割合を推定します。
Non-Parse/Execs %: 準備または再準備の必要のないSQL文の割合を表します。
Command Cache Hit %: コマンド・キャッシュで見付からなかったSQLコマンドの実行の割合を推定します。
Log Buffer No Wait %: ログ・バッファの待機のため、待機する必要のないログ挿入の割合を推定します。
文統計 図5-2ではレポートからの文メトリックが示されています。外部メトリック(stmt.executes、stmt.preparesおよびstmt.repreparesメトリック)および増分メトリック(zzinternalメトリック)の両方が示されています。外部メトリックの方が一般的に関心度が高くなります。stmt.executes.countの値は、他のすべてのstmt.executes値の合計となります。
トランザクション統計 図5-3ではレポートからのトランザクション・メトリックが示されています。txn.commits.count値は、txn.commits.durableの値とtxn.commits.nondurableの値との合計です。表示されている他のメトリックは、これらのメトリックのサブセットです。
SQL統計: 実行でソート 図5-4では、レポートのSQL統計部分からのSQL実行メトリックの引用を示しています。「実行でソート」メトリックおよび「準備でソート」メトリック(次の項で示す)を見ると、よく使用される文がどれであるか、準備数、各文の実行回数がわかります。文は何度も準備されないことが理想です。
SQL統計: 準備でソート 図5-5では、レポートのSQL統計部分からのSQL準備メトリックの引用を示しています。前述の「実行でソート」の項の説明を参照してください。
SQL統計: コマンド・テキスト 図5-6では、レポートのSQL統計部分からのSQL文の引用を示しています。このレポートは、前述の「実行でソート」および「準備でソート」のレポートにリストされた、各文の完全なテキストを示しています。ここでは長い文は省略されています。
PL/SQLメモリー統計 図5-7ではレポートからのPL/SQLメモリー・メトリックが示されています。これらは、ttPLSQLMemoryStats組込みプロシージャからのメトリックです。GetHitRatioまたはPinHitRatioの開始値と終了値には著しい差はありません。
レプリケーション統計 図5-8ではレポートからのレプリケーション・メトリックが示されています。各トランスミッタに対し(1つのマスターに複数のトランスミッタがある場合もある)、このメトリックはレシーバに送信されたレコード数など、ログを介した進捗を示します。Repl_Peerはサブスクライバを示します。Repl_Log_BehindおよびRepl_Latencyは、レプリケーションがデータベース・ワークロードに対応しているかどうかを示す上で重要です。
パラレル・レプリケーション/AWT統計 図5-9ではレポートからのパラレル・レプリケーション/AWT・メトリックが示されています。Repl_Peerはサブスクライバを示します。パラレル・レプリケーション/AWTの構成時に、レプリケーション・メトリック(前項で説明)がワークロードに対応することが難しいことが示された場合、パラレル・レプリケーション/AWTメトリックにより原因を表示できます。各値はすべてのトラックの集計ですが、「詳細の表示」(メトリック表の最後にあります。ここでは図示されていません)をクリックすると、各トラックのデータを表示できます。トラック切替えのswitchinおよびswitchoutメトリックの値が高いと、競合を示している場合があります。waitsメトリックの値が高くても問題があり、あるトランザクションが開始またはコミットできるようになる前に、前のトランザクションがコミットするのを待機しなければならないなどの状況を示しています。
ログ統計 図5-10ではレポートからのログ・メトリックが示されています。レポート出力では、log.file.earliestおよびlog.file.latestの数字は、スナップショットの開始および終了の値を示しています。log.buffer.waitsメトリックは、特に関心の高い値です。ログ・バッファ待機は、アプリケーション処理が、トランザクション・データをログ・バッファに挿入できず、停止してログ・バッファ領域が解放されるのを待機する必要があるときに発生します。通常この理由は、ログ・フラッシャ・スレッドが十分な速さでデータをクリアしていなかったためです。これは、ログ・バッファ領域が不十分、ディスク帯域幅が不十分、ディスクへの書込みに時間がかかりすぎる、またはログ・フラッシャがCPUの能力に依存していることを示していることが考えられます。(また、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のトランザクション・ログ・バッファおよびファイルの管理に関する項およびログ・バッファおよびログ・ファイル・サイズのパラメータの構成に関する項も参照してください。)
ログの保持 図5-11ではレポートからのログの保持情報が示されています。ここでは、各チェックポイント・ファイルに対するチェックポイント・ログ保持のブックマーク位置と、各レプリケーション・サブスクライバに対するレプリケーション・ログ保持のブックマーク位置が示されています。また、このレポートではバックアップ、XLA、長時間実行トランザクションについてのログ保持情報も示されることがあります。開始と終了の値が同じ場合には、何も動きがなかったことを示します。
ログ・ファイル全体にわたり、順調に進行した証拠があることが理想です。(この追跡にはttStatsの監視情報がさらに役立ちます。)
チェックポイント統計 図5-12ではレポートからのチェックポイント・メトリックが示されています。
キャッシュ・グループ統計: AWTキャッシュ・グループ 図5-13ではレポートからのAWTキャッシュ・グループ・メトリックが示されています。値はすべてのAWTキャッシュ・グループから集計されます。情報には、Oracle Databaseへのコール数、Oracleに対するコミット、ロールバックおよび再試行の数、PL/SQL操作およびSQL操作によって挿入、削除および更新された行数が含まれます。
キャッシュ・グループ統計: 自動リフレッシュ・キャッシュ・グループ 図5-14ではレポートからの自動リフレッシュ・キャッシュ・グループ・メトリックが示されています。値はすべての自動リフレッシュ・キャッシュ・グループから集計されます。キャッシュ・グループが完全リフレッシュ・モードであるか増分リフレッシュ・モードであるかは、cg.autorefresh.cycles.completed値(リフレッシュの合計回数)に対するcg.autorefresh.full_refreshes値により反映されます。
データベース・アクティビティ統計 図5-15ではレポートからのデータベース・アクティビティ・メトリックが示されています(索引アクティビティ、メモリー・アクティビティ、表アクティビティ)。ハッシュ索引および範囲索引については、削除、挿入、フェッチされた行およびスキャンの情報が含まれます。メモリー使用量については、サイズ・データを示します。表については、読取り、削除、挿入および更新された行を示します。
ロック統計 図5-16ではレポートからのロック・メトリックが示されています。デッドロック、取得したロック、付与されたロック、タイムアウトに関する情報が提供されます。特に、lock.deadlocks、lock.locks_granted.waitおよびlock.timeoutsはロック競合を示すことがあります。
XLA情報 図5-17ではレポートからのXLAブックマーク情報が示されています。各ブックマークについて、情報が削除される前のログ・ファイルの場所を示すPurge_LSNおよびXLAトランザクションの位置と最新のログ・ファイルの位置間にずれがないかどうかを示すLog_Behindに対する開始と終了の値が示されます。
構成パラメータ 図5-18ではレポートからのデータベース構成パラメータ設定が示されています。参考のため、各レポートには各TimesTen接続属性の開始値および終了値が示されています。
接続属性の詳細は、第2章「接続属性」を参照してください。
この項では、TimesTen ScaleoutのttStatsユーティリティの機能について説明します。
説明
ttStatsユーティリティでは、データベース・メトリック(統計、状態およびその他の情報)を監視し、メトリックのスナップショットを取得して比較します。このユーティリティでは次のことができます。
データベースのパフォーマンス・メトリックをそれぞれの前の間隔での変更率を計算することにより、リアルタイムで監視および表示します。
ttStatsユーティリティは、TimesTenシステム表、ビューおよび組込みプロシージャからメトリックを収集します。レポートには、メモリー使用量、接続およびロード・プロファイルの概要などの情報に続き(必要に応じて) SQL文、トランザクション、PL/SQLメモリー、レプリケーション、ログとログの保持、チェックポイント、キャッシュ・グループ、ラッチ、ロックおよびTimesTen接続属性に関するメトリックが含められます。監視では、この項で後述するように、キーとなる小セットのデータが表示されます。
クライアントDSNに対しては、ユーティリティのttStatsCSバージョン(UNIXおよびLinuxシステムまたはWindows)を使用します。
動作モードには次の3つがあります。
モニター・モード(デフォルトのモード): 定義済のメトリックのセットを監視することによってデータベースのパフォーマンスをリアルタイムで追跡し、それらのメトリックを(前回の表示から値に変更のあったものをメインで)表示し、適切な場合値の変更率を算出します。情報はユーザーに対する表示のための標準出力に出力され、ディスクには保存されません。
期間または反復回数が指定されない場合、[Ctrl]キーを押しながら[C]キーを押すことにより実行が中断されるまで、監視は実行されます。
|
ノート: モニター・モードで表示されるメトリックのセットは、メトリックが収集されたシステム表および組込みプロシージャへの変更により、変更されることがあります。 |
スナップショット・モード: TimesTen Scaleoutでは、ttStatsデーモンがttStatsConfig組込みプロシージャのパラメータに基づいて、TimesTen Scaleoutデータベースのスナップショットを自動的に取得します。
ttStatsユーティリティの-snapshotオプションを使用する場合、-descriptionオプションは必須です。ttStats -snapshot -description descriptionを実行すると、システム生成された最新のスナップショットに説明を関連付けることができます。他のスナップショットと区別するなどのために、スナップショットに説明またはノートを付与します。
レポート・モード: 指定した2つのスナップショットまたは指定したメトリックの2つのタイムスタンプからレポートを生成します。レポートはプレーン・テキスト形式でのみ使用できます。-outputFileオプションを使用して出力ファイルを指定する必要があります。ttStatsレポートは、Oracle Databaseのパフォーマンス分析ツールに例えた場合、Oracle Automatic Workload Repository (AWR)レポートに類似しています。
モニター・モードでは、データベースからの読取りによるオーバーヘッドは回避されます。スナップショット・モードおよびレポート・モードでは、ttStatsユーティリティはTimesTenで提供されるTT_STATS PL/SQLパッケージに対する便利なフロント・エンドとなります。このパッケージの詳細は、『Oracle TimesTen In-Memory Database PL/SQLパッケージ・リファレンス』のTT_STATSに関する説明を参照してください。
|
ノート: ttStatsユーティリティには、次の依存および制限があります。
|
前述の組込みプロシージャおよびそれらが収集するデータの詳細は、第3章「組込みプロシージャ」を参照してください。
必要な権限
モニター・モード: モニター・モードを実行するための特別な権限は必要ありませんが、監視情報にttSQLCmdCacheInfo組込みプロシージャからのデータを含めるには、ADMIN権限が必要です。
スナップショット・モードおよびレポート・モード: TT_STATS PL/SQLパッケージのセキュリティ制限のため、デフォルトではインスタンス管理者にのみ、スナップショットの作成、スナップショット情報の取得およびレポート・モードでの実行を行う権限があります。ADMINユーザーを含む他のユーザーは、次の例に示すように、インスタンス管理者またはADMINユーザーによってTT_STATSパッケージに対するEXECUTE権限を付与される必要があります。
GRANT EXECUTE ON SYS.TT_STATS TO scott;
構文
ttStats [-h | -help] ttStats [-V | -version] ttStats [-monitor] [-interval seconds] [-duration seconds] [-iterations count] {DSN | -connStr connection_string} ttStats -snapshot -description snap_desc {DSN | -connStr connection_string} ttStats -report [-snap1 snapid1 -snap2 snapid2 | -timestamp1 'timestamp1' -timestamp2'timestamp2'] -outputFile filename ttStats -snapshotInfo {DSN | -connStr connection_string}
|
ノート: -monitor、-snapshotまたは-reportのいずれか1つのみを指定します。 |
オプション
TimesTen ScaleoutのttStatsユーティリティでサポートされているオプションは次のとおりです。
| オプション | 説明 |
|---|---|
-h
|
オプションのリストを出力し終了します。
ノート: |
-V
|
TimesTenのリリース番号を出力し終了します。 |
-monitor |
リアルタイムのモニター・モードを実行します。定義済のメトリックのセットを監視し、メトリックおよび変更率を繰り返し表示します。スナップショット・モードとは異なり、データベースには何も保存されません。
ノート: これは |
-interval seconds |
モニター・モードでは、これは表示されるメトリックのセット間の時間間隔(秒)です。デフォルトは10秒です。間隔が短いとシステムのパフォーマンスにマイナスの影響を与える場合があります。 |
-duration seconds |
モニター・モードでは、これはttStatsを実行する継続時間(秒)です。この継続時間後に、ユーティリティは終了します。
|
-iterations count |
モニター・モードでは、これはttStatsがメトリックの収集および表示を実行する反復の回数です。これらの回数の反復後に、ユーティリティは終了します。
ノート: |
-snapshot -description snap_desc |
-snapshotオプションを使用する場合、-descriptionオプションは必須です。ttStats -snapshot -description descriptionを実行すると、システム生成された最新のスナップショットに説明を関連付けることができます。他のスナップショットと区別するなどのために、スナップショットに説明またはノートを付与します。 |
-report |
指定した2つのスナップショットまたは指定した2つのタイムスタンプからレポートを生成します。使用可能なデータベースのスナップショットを表示するには、-snapshotInfoオプションを使用します。 |
-snap1 snapid1 |
レポート・モードにおいて、これは1つ目のスナップショットのスナップショットIDです。 |
-snap2 snapid2 |
レポート・モードにおいて、これは2つ目のスナップショットのスナップショットIDです。レポート期間は少なくとも4つの既存のスナップショットID値にわたっている必要があります。そのため、-snap1と-snap2の間に少なくとも3つのスナップショットが必要です。 |
-timestamp1 'timestamp1' |
レポート・モードの場合、これは最初のスナップショットのタイムスタンプを指定します。タイムスタンプは、YYYY-MM-DD HH:MM:SS形式を使用し、まっすぐの一重引用符で囲む必要があります。 |
-timestamp2 'timestamp2' |
レポート・モードの場合、これは2番目のスナップショットのタイムスタンプを指定します。タイムスタンプは、YYYY-MM-DD HH:MM:SS形式を使用し、まっすぐの一重引用符で囲む必要があります。 |
-outputFile filename |
レポート・モードにおいて、レポートが書き込まれるファイル・パスおよびファイル名を任意で指定します。ファイルが指定されていない場合、TimesTenはレポートを標準出力に書き込みます。 |
-snapshotInfo |
すべてのスナップショットのスナップショットID、日付、時刻および説明が出力されます。 |
-connStr connection_string
または
|
メトリックを収集するデータベースを指定し接続します。次のいずれかを行います。
TimesTen DSNの詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTenデータベースを識別するためのデータ・ソース名の指定方法に関する説明を参照してください。 |
例
この項では、ttStatsの監視およびレポート出力の例を紹介します。
|
ノート: これらの例は一例にすぎません。詳細は変更される場合があります。 |
この項では、モニター・モードからのサンプル出力を示します。
% ttStats database1 Connected to TimesTen Version 18.01.01.0001 Oracle TimesTen IMDB version 18.1.4.1.0. Waiting for 10 seconds for the next snapshot Description Current Rate/Sec Notes date.2016-Mar-16 15:29:23 1458167363 1 sample #, not rate connections.count 20 lock.locks_granted.immediate 124817 1 log.log_bytes_per_transaction 0 loghold.bookmark.log_force_lsn 0/21102592 loghold.bookmark.log_write_lsn 0/21102856 loghold.checkpoint_hold_lsn 0/21100544 database1.ds0 loghold.checkpoint_hold_lsn 0/21078016 database1.ds1 plsql.GetHitRatio 0.640 0.000 plsql.GetHits 258.000 0.200 plsql.Gets 403.000 0.200 plsql.PinHitRatio 0.557 0.000 plsql.PinHits 424.000 0.200 plsql.Pins 761.000 0.200 stmt.executes.count 24407 1 stmt.executes.selects 620 1
|
ノート: 日付および時刻の後の数値はスナップショットの時刻の数値表現であり、無視できます。 |
次のコマンドライン例では、監視は2回の反復後に停止し、接続属性値の設定に接続文字列を使用することを指定しています。
% ttStats -iterations 2 -connStr "DSN=database1"
次の例では、前の項で生成したスナップショットからレポートを作成します。
|
ノート: レポート期間は少なくとも4つの既存のスナップショットID値にわたっている必要があります。そのため、-snap1と-snap2の間に少なくとも3つのスナップショットが必要です。 |
% ttStats -report -outputFile testreport.txt -snap1 1 -snap2 5 database1 Connected to TimesTen Version 18.01.01.0001 Oracle TimesTen IMDB version 18.1.4.1.0. Report testreport.txt was created.
この項の残りの部分では、TimesTen Scaleoutデータベースに関するttStatsレポートおよびTimesTen Scaleoutデータベースの要素に関するttStatsレポートのメトリックの表からの引用を示します。この出力は、デフォルトのプレーン・テキスト出力形式を使用して生成されたものです。
|
ノート: ラッチ・メトリックを含むには、次のようにttXactAdminユーティリティを使用して、データベースでラッチ・メトリックを有効にする必要があります。
% ttXactAdmin -latchstats on DSN
|
次の各項では、TimesTen Scaleoutデータベースに関するttStatsレポートのメトリックの表からの引用を示します。
TimesTen Scaleoutのスナップショット・サマリー グリッド・スナップショットのサマリーが表示されます。TimesTen Scaleoutのスナップショット・サマリーには、ttStatsレポートに指定したスナップショットに関する情報が表示されます。
TimesTen Scaleoutの要素 各データベース要素に関する情報が表示されます。レポートのこのセクションには、各データベース要素のホスト名および現在の接続数が表示されます。要素のttStatsレポートの内容の詳細は、「TimesTen Scaleoutの要素のttStatsレポート」を参照してください。
TimesTen Scaleoutのサマリー 重要なTimesTen Scaleout統計のサマリーが表示されます。サマリーには、TimesTen Scaleoutのトランザクション率、SQL文、データベース接続、チェックポイント率、トランザクション・ログ率およびその他の重要な統計情報が含まれます。
TimesTen Scaleoutのロード・プロファイル 様々なデータベース・メトリック率が表示されます。チェックポイント、ログ・バッファ待機(ログ・バッファが一杯になり、ディスクにフラッシュするときの遅延)、挿入、更新、削除、解析(準備など)、コミットおよびsなどの率を示し、ワークロードの概念を示します。解析が多すぎるか、永続コミット(非永続コミットよりも高負荷)が多すぎるかどうかを検討します。
オペレーティング・システムのメトリック・サマリー TimesTen Scaleoutデータベースの様々なオペレーティング・システム・メトリックが表示されます。これらのメトリックでは、使用されているディスク領域、CPU、I/O率およびRAMが示されます。
TimesTen Scaleoutの効率メトリック TimesTen Scaleoutの効率性を判断する様々なメトリックが表示されます。レポートのこのセクションには、次の内容が含まれています。
目標100% - 大きいほど適切: ここには、TimesTen Scaleoutの効率を向上させるための推奨事項が表示されます。次のメトリックが含まれます。
準備と実行の効率: SQL文が何度も準備されてから実行されているかどうかを示します。すべての実行に対して1つのSQL文を準備すると、このメトリック値は下がります。
SQL文の準備はCPU使用率が高いため、SQL文を準備する回数を最小化することを試みます。アプリケーションではバインド変数を使用することを検討します。これで、SQL文を1回準備して、SQL文を複数回実行できます。
目標0% - 小さいほど適切: ここには、TimesTen Scaleoutの効率を向上させるための推奨事項が表示されます。次のメトリックが含まれます。
ログ・バッファ待機: ここには、ログ・ファイルを使用した操作の実行状況の判断に役立つログ・バッファ待機の数が表示されます。ログ・バッファ待機が低いことは、トランザクションがログ・バッファに書き込む前に待機する必要がないことを示すため、この値は低く保たれていることが最適です。
この数が大きい場合は、チェックポイントの頻度を増やしたり、ログ・バッファ・サイズを増やしたり、ログ・バッファの並列度を高めることを試みます
表データの偏りの偏差: ここには、TimesTen Scaleoutの要素間における表データの偏りの偏差の割合が表示されます。表内の行がすべての要素間で均等に分散されることが理想的です。他の要素と比較して要素の行数が多すぎる場合、行数の多い要素ほどより多くのpermSizeを使用するため、ディスク・サイズおよびデータ分散に問題が発生する可能性があります。
直接モード接続の分布偏差: ここには、TimesTen Scaleoutの要素間における直接モード接続偏差の割合が表示されます。要素間に均等に直接モード接続を分散させて、最適なスループットおよび待機時間を実現します。
クライアント・サーバー接続の分布偏差: ここには、TimesTen Scaleoutの要素間におけるクライアント/サーバー接続偏差の割合が表示されます。要素間に均等にクライアント/サーバー接続を分散させて、最適なスループットおよび待機時間を実現します。
SQL文の分布偏差: ここには、TimesTen Scaleoutの要素間におけるSQL文の分布偏差の割合が表示されます。1回の試行ですべてのSQL文を実行することは最適ではありません。要素に対して均等にSQL文を実行して、最適なスループットおよび待機時間を実現します。
グリッド・チャネルの無効化: ここには、TimesTen Scaleoutの要素間におけるチャネル無効化の数が表示されます。チャネルの無効化を最小限に抑えるために、アプリケーションを完全に切断してリソースを解放する必要があります。TimesTen Scaleoutがチャネルの無効化後に実行するクリーンアップ・プロセスは時間がかかり、そのチャネルを使用する操作の待機時間とスケーラビリティに影響します。
TimesTen Scaleoutのトランザクション TimesTen Scaleoutのトランザクション情報を示す様々なメトリックが表示されます。レポートのこのセクションには、次の内容が含まれています。
TimesTen Scaleoutの1秒当たりのトランザクション数
この表には、ローカル要素のみを含むトランザクション、複数の要素を含むトランザクション、2PCを必要とするトランザクションの割合など、各要素の様々なトランザクション・メトリックが表示されます。
TimesTen Scaleoutの2PCトランザクション
この表には、この要素で開始されたトランザクション、2PCトランザクションに含まれるがこれを開始しなかったトランザクション、永続的2PC準備を使用したトランザクションの割合など、各要素の様々な2PCトランザクション・メトリックが表示されます。
TimesTen Scaleoutの永続コミット
この表には、この要素で永続的にコミットされたトランザクションの割合など、各要素の様々なトランザクション・メトリックが表示されます。
SQL文: SQL文プロトコル レポートのSQL文セクションからのSQL文プロトコル統計情報の引用が表示されます。これらの統計には、その要素に対して実行されたSQL文、ローカル要素に対して実行されたSQL文、リモート要素に対する実行を必要としたSQL文、および実行するすべての要素へのブロードキャストを必要としたSQL文の割合が表示されます。
SQL文: SQL文タイプ レポートのSQL文セクションからのSQL文タイプ統計情報の引用が表示されます。これらの統計には、その要素に対して実行されたSQL文の様々な統計情報が表示されます。
DB接続 TimesTen Scaleoutの各要素の様々な接続統計が表示されます。これらの統計には、TimesTen Scaleoutの各要素の接続タイプ、1分当たりの接続数と切断数、およびクライアント・サーバーのフェイルオーバーが表示されます。
TimesTen Scaleoutのデータ分散: 表データの偏り - 下位3つの表 TimesTen Scaleoutのデータの偏り率が最も高い3つの表が表示されます。行分散表の詳細は、「TimesTen Scaleoutのデータ分散: 表の行分散」を参照してください。これらの統計には、偏差の割合、表分散タイプ、およびデータの偏り率が最も高い3つの表の分散キーが表示されます。
TimesTen Scaleoutのデータ分散: TimesTen ScaleoutのPermSize使用 TimesTen Scaleoutの各要素のPermSize属性に関連する統計が表示されます。これらの統計には、TimesTen Scaleoutの各要素で使用されたPermSizeの比率、TimesTen Scaleoutの各要素の使用されたPermSizeの割合、使用された最大のPermSizeの割合、およびPermSizeのサイズが表示されます。PermSize属性の詳細は、「PermSize」を参照してください。
TimesTen Scaleoutのデータ分散: TimesTen ScaleoutのTempSize使用 TimesTen Scaleoutの各要素のTempSize属性に関連する統計が表示されます。これらの統計には、TimesTen Scaleoutの各要素の使用されたTempSizeの割合、使用された最大のTempSizeの割合、およびTempSizeのサイズが表示されます。TempSize属性の詳細は、「TempSize」を参照してください。
TimesTen Scaleoutのデータ分散: 表の行分散 ttStatsレポートにはこれらの表のうちの3つが含まれ、TimesTen Scaleoutのデータの偏り率が最も高い表の行分散統計が表示されます。これらの統計には、特定の表の各要素に格納されている行の数が表示されます。TimesTen Scaleoutのデータの偏り率が最も高い3つの表の詳細は、「TimesTen Scaleoutのデータ分散: 表データの偏り - 下位3つの表」を参照してください。
TimesTen Scaleoutのチャネル: TimesTen Scaleoutの1秒当たりのメッセージ数 TimesTen Scaleoutのチャネル経由のメッセージ率に関連する統計が表示されます。これらのメッセージは、データまたはデータ結果セットのリクエストである可能性があります。これらの統計には、TimesTen Scaleoutの要素ごとに、送信済メッセージ、受信済メッセージおよび無効化されたメッセージの数が表示されます。
TimesTen Scaleoutのチャネル: TimesTen Scaleoutのチャネル・データ率 TimesTen Scaleoutの要素ごとに、チャネル・データ率に関連する統計が表示されます。これらのデータ率は、TimesTen Scaleoutがチャネル経由で送信するメッセージのサイズに基づきます。メッセージは、データまたはデータ結果セットのリクエストである可能性があります。大きいメッセージは小さいメッセージよりもスループットに優れている傾向があります。これらの統計には、TimesTen Scaleoutの要素ごとに、送信済メッセージおよび受信済メッセージのデータ率が表示されます。
チェックポイント: チェックポイント・データ率 TimesTen Scaleoutデータベースの要素ごとに、チェックポイント・データ率に関連する統計が表示されます。
トランザクション・ログ: トランザクション・ログ・データ率 TimesTen Scaleoutデータベースの要素ごとに、トランザクション・ログ・データ率に関連する統計が表示されます。
上位SQL: 上位SQL属性 TimesTen Scaleoutデータベースで最も実行されたSQL文の属性に関連する統計が表示されます。
上位SQL: 上位SQLテキスト TimesTen Scaleoutデータベースで最も実行されたSQL文のSQLテキストに関連する情報が表示されます。
OSディスク領域 グリッドに含まれる各要素のディスク領域に関連する統計が表示されます。
CPU使用率 グリッドに含まれる各要素のCPUに関連する統計が表示されます。
オペレーティング・システムIO率: ディスクIO率 グリッドに含まれる各要素のディスクI/O率に関連する統計が表示されます。この表を使用すると、ホストに、TimesTen Scaleoutに関連しないディスクI/O操作が大量にあるかどうかを判断できます。
オペレーティング・システムIO率: ネットワークIO率 グリッドに含まれる各要素のネットワークI/O率に関連する統計が表示されます。この表を使用すると、ホストに、TimesTen Scaleoutに関連しないネットワークI/O操作が大量にあるかどうかを判断できます。
OSメモリー グリッドに含まれる各要素のメモリー使用量に関連する統計が表示されます。この表を使用すると、ホストでスワップ領域を使用しているかどうか、または使用可能なRAMが不足していることによるパフォーマンスの問題が発生しているかどうかを判断できます。
TimesTen Scaleoutの要素のttStatsレポート
次の各項では、TimesTen Scaleoutデータベースの要素に関するttStatsレポートのメトリックの表からの引用を示します。
スナップショット・サマリー ttStatsが要素に関するttStatsレポートを作成するために使用するスナップショットに関連する統計が表示されます。
要素サマリー 要素の重要な統計情報のサマリーが表示されます。サマリーには、要素のトランザクション率、SQL文、データベース接続、チェックポイント率、トランザクション・ログ率およびその他の重要な統計情報が含まれます。
ロード・プロファイル 様々なデータベース・メトリック率が表示されます。チェックポイント、ログ・バッファ待機(ログ・バッファが一杯になり、ディスクにフラッシュするときの遅延)、挿入、更新、削除、解析(準備など)、コミットおよびsなどの率を示し、ワークロードの概念を示します。解析が多すぎるか、永続コミット(非永続コミットよりも高負荷)が多すぎるかどうかを検討します。
オペレーティング・システムのメトリック・サマリー 要素の様々なオペレーティング・システム・メトリックが表示されます。これらのメトリックでは、使用されているディスク領域、CPU、I/O率およびRAMが示されます。
効率メトリック 要素の効率性を判断する様々なメトリックが表示されます。レポートのこのセクションには、次の内容が含まれています。
目標100% - 大きいほど適切: ここには、要素の効率を向上させるための推奨事項が表示されます。次のメトリックが含まれます。
準備と実行の効率: SQL文が何度も準備されてから実行されているかどうかを示します。すべての実行に対して1つのSQL文を準備すると、このメトリック値は下がります。
SQL文の準備はCPU使用率が高いため、SQL文を準備する回数を最小化することを試みます。アプリケーションではバインド変数を使用することを検討します。これで、SQL文を1回準備して、SQL文を複数回実行できます。
目標0% - 小さいほど適切: ここには、要素の効率を向上させるための推奨事項が表示されます。次のメトリックが含まれます。
ログ・バッファ待機: ここには、ログ・ファイルを使用した操作の実行状況の判断に役立つログ・バッファ待機の割合が表示されます。ログ・バッファ待機が低いことは、トランザクションがログ・バッファに書き込む前に待機する必要がないことを示すため、この値は低く保たれていることが最適です。
この割合が大きい場合は、チェックポイントの頻度を増やしたり、ログ・バッファ・サイズを増やしたり、ログ・バッファの並列度を高めることを試みます
表データの偏りの偏差: ここには、TimesTen Scaleoutの要素間における表データの偏りの偏差の割合が表示されます。表内の行がすべての要素間で均等に分散されることが理想的です。他の要素と比較して要素の行数が多すぎる場合、行数の多い要素ほどより多くのpermSizeを使用するため、ディスク・サイズおよびデータ分散に問題が発生する可能性があります。
直接モード接続の分布偏差: ここには、TimesTen Scaleoutの要素間における直接モード接続偏差の割合が表示されます。要素間に均等に直接モード接続を分散させて、最適なスループットおよび待機時間を実現します。
クライアント・サーバー接続の分布偏差: ここには、TimesTen Scaleoutの要素間におけるクライアント/サーバー接続偏差の割合が表示されます。要素間に均等にクライアント/サーバー接続を分散させて、最適なスループットおよび待機時間を実現します。
SQL文の分布偏差: ここには、TimesTen Scaleoutの要素間におけるSQL文の分布偏差の割合が表示されます。1回の試行ですべてのSQL文を実行することは最適ではありません。要素に対して均等にSQL文を実行して、最適なスループットおよび待機時間を実現します。
グリッド・チャネルの無効化: ここには、TimesTen Scaleoutの要素間におけるチャネル無効化の割合が表示されます。チャネルの無効化を最小限に抑えるために、アプリケーションを完全に切断してリソースを解放する必要があります。TimesTen Scaleoutがチャネルの無効化後に実行するクリーンアップ・プロセスは時間がかかり、そのチャネルを使用する操作の待機時間とスケーラビリティに影響します。
トランザクション 要素のトランザクション情報を示す様々なメトリックが表示されます。レポートのこのセクションには、次の内容が含まれています。
トランザクション・タイプ
この表には、ローカル要素のみを含むトランザクション、リモート・トランザクションを使用するトランザクション、2PCを必要とするトランザクションの割合など、要素の様々なトランザクション・メトリックが表示されます。
2PCトランザクション
この表には、この要素で開始されたトランザクション、2PCトランザクションに含まれるがこれを開始しなかったトランザクション、永続的2PC準備を使用したトランザクションの割合など、各要素の様々な2PCトランザクション・メトリックが表示されます。
SQL文: SQL文プロトコル レポートのSQL文セクションからの要素のSQL文プロトコル統計情報の引用が表示されます。これらの統計には、実行されたSQL文、ローカルに実行されたSQL文、リモート要素に対する実行を必要としたSQL文、および実行するすべての要素へのブロードキャストを必要としたSQL文の割合が表示されます。
SQL文: SQL文タイプ レポートのSQL文セクションからの要素のSQL文タイプ統計情報の引用が表示されます。これらの統計には、要素に対して実行されたSQL文の様々な統計情報が表示されます。
データベース接続 要素の様々な接続統計が表示されます。これらの統計には、要素の接続タイプ、1分当たりの接続数と切断数、およびクライアント・サーバーのフェイルオーバーが表示されます。
表データの偏り 要素のデータの偏り率が最も高い3つの表が表示されます。行分散表の詳細は、「TimesTen Scaleoutのデータ分散: 表の行分散」を参照してください。これらの統計には、偏差の割合、表分散タイプ、およびデータの偏り率が最も高い3つの表の分散キーが表示されます。
グリッド・チャネル使用 グリッド・チャネル経由のメッセージ統計が表示されます。これらのメッセージは、データまたはデータ結果セットのリクエストである可能性があります。これらの統計には、要素の送信済メッセージ、受信済メッセージおよび無効化されたメッセージの数が表示されます。
ログの保持 レポートからのログの保持情報が表示されます。チェックポイント・ファイルごとにチェックポイント・ログ保持のブックマーク位置が表示されます。また、このレポートではバックアップ、XLA、長時間実行トランザクションについてのログ保持情報も示されることがあります。開始と終了の値が同じ場合には、何も動きがなかったことを示します。
ログ・ファイル全体にわたり、順調に進行した証拠があることが理想です。(この追跡にはttStatsの監視情報がさらに役立ちます。)
チェックポイント使用 レポートからのチェックポイント使用メトリックが表示されます。
トランザクション・ログ使用 要素のトランザクション・ログ使用統計が表示されます。これは、トランザクション・ログのI/O操作の割合、ログ・バッファ待機、ログ・ファイルの読取り、およびコミットのためのログ読取りに関する情報を提供します。
上位SQL: 上位SQL属性 要素に対して最も実行されたSQL文の属性に関連する統計が表示されます。
上位SQL: 上位SQLテキスト 要素に対して最も実行されたSQL文のSQLテキストに関連する情報が表示されます。
説明
TimesTenの現在の状態を説明する情報を表示します。コマンドは次の情報を表示します。
TimesTenデーモン・プロセスとすべてのサブデーモン・プロセスの状態。
すべての既存のTimesTenデータベースの名前。
各TimesTenデータベースに現在接続されている接続数。
RAM、キャッシュ・エージェントおよびレプリケーション・ポリシー。
TimesTenキャッシュ・エージェントのステータス。
PL/SQLのステータス。
TimesTenが使用する共有メモリー・セグメントのキーおよびアドレス。
PL/SQLが使用する共有メモリー・セグメントのアドレス、キーおよびID。
TimesTenインスタンスに指定のオペレーティング・システム・グループがアクセスできるのか、または誰でもアクセスできるのか。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のTimesTenデーモン属性の管理に関する説明でデーモン・オプションを参照してください。
その他のステータス情報。
接続文字列またはDSNを指定すると、ttStatusは指定したデータベースの情報のみを出力します。
構文
ttStatus {-h | -help | -?}
ttStatus {-V | -version}
ttStatus [-v] [-r secs] [-[no]pretty] [-gridbrief]
ttStatus [-r secs] [-[no]pretty] {DSN | -connStr connection_string}
オプション
ttStatusには、次のオプションがあります。
| オプション | 説明 |
|---|---|
-h
|
使用方法の情報を出力して終了します。 |
-V | -version |
ttStatusのリリース番号を出力し、終了します。 |
-connStr connection_string |
データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列。 |
DSN |
ステータスを取得するデータベースのODBCデータソース名。 |
-v |
TimesTenカスタマ・サポートに役立つ詳細情報を出力します。 |
-r secs |
ttStatusの実行を継続できるようにします。secs秒ごとにステータス・レポートを更新します。 |
-[no]pretty |
-prettyオプション(デフォルト)は、ConnectionName接続属性の値を使用する簡潔な書式です。-noprettyオプションでは、簡潔な書式が使用されません。 |
-gridbrief |
ttStatusが実行されたインスタンスのすべてのデータベースのサマリーが出力されます。このオプションを指定しない場合、すべての接続の情報も表示されます。 |
サンプル出力
プロシージャをコールすると、システムの現在の状態を説明するレポートがstdoutに表示されます。cachedb1_18110 DSNの状態を取得するには、次のように実行します。
% ttstatus cachedb1_18110
TimesTen status report as of Thu May 02 19:45:43 2013 Daemon pid 5280 port 53392 instance tt1811 TimesTen server pid 3940 started on port 53393 ------------------------------------------------------------------------ Open for user connections Data store cachedb1_18110 There are 12 connections to the data store Shared Memory KEY Global\cachedb1_18110.c|. . .HANDLE 0x254 PL/SQL Memory KEY Global\cachedb1_18110.c|. . . HANDLE 0x258 Address 0x5B8C0000 Type PID Context Connection Name ConnID Process 5196 0x01066a58 cachedb1_18110 1 Subdaemon 3912 0x00b2c398 Manager 2047 Subdaemon 3912 0x00b7e4a0 Rollback 2046 Subdaemon 3912 0x015d25e8 Flusher 2045 Subdaemon 3912 0x015e46b0 Monitor 2044 Subdaemon 3912 0x016767f8 Deadlock Detector 2043 Subdaemon 3912 0x016888c0 Checkpoint 2041 Subdaemon 3912 0x0d350578 Aging 2042 Subdaemon 3912 0x0d362640 Log Marker 2040 Subdaemon 3912 0x0d4347c8 AsyncMV 2039 Subdaemon 3912 0x0d446890 HistGC 2038 Subdaemon 3912 0x0d458958 IndexGC 2037 Replication policy : Manual Cache Agent policy : Manual PL/SQL enabled. ------------------------------------------------------------------------ Accessible by group . . . End of report
現在のインスタンスのTimesTen Scaleoutデータベース(のみ)のサマリーを表示します。
% ttstatus -gridbrief TimesTen status report as of Thu Feb 7 11:57:32 2019 Daemon pid 12767 port 6624 instance grid1_mgmt TimesTen server pid 12819 started on port 6625 Grid GUID: C19E1FE5-2E58-4C3F-A66A-81661763B65F Grid Membership Service is zookeeper Grid Membership: 6 members 1!mysys2!6624!0EC4823A-775B-4FD3-A33A-76C24D79E2EA!MGMT!18.1.2.1.0! 1!mysys1!6624!2D6892CA-AA0C-488D-AB0D-20D0AF994018!MGMT!18.1.2.1.0! 1!mysys3!46342!873678B9-297E-43A9-A183-2DDAD31E4391!DATA!18.1.2.1.0! 1!mysys1!46344!F89F57B6-D904-4CD8-A6A0-9764A02C31F2!DATA!18.1.2.1.0! 1!mysys1!46338!799287BA-FB41-47BD-A990-0B1745D5AD90!DATA!18.1.2.1.0! 1!mysys2!46340!213D68A4-00AE-4429-A652-D2BC45C20AE8!DATA!18.1.2.1.0! ------------------------------------------------------------------------ ------------------------------------------------------------------------ Data store /sw/ttinstances/grid1_mgmt/grid/admin/database/ttgridadmin.0 Daemon pid 12767 port 6624 instance grid1_mgmt TimesTen server pid 12819 started on port 6625 Replication policy : Manual Replication agent is running. Cache Agent policy : Manual PL/SQL enabled. ------------------------------------------------------------------------ Accessible by group timesten End of report
説明
データベースからTimesTenの内部トレース情報をフェッチして、stdoutに表示します。デフォルトでは、TimesTenはトレース情報を生成しません。詳細は、「ttTraceMon」を参照してください。
オプション
ttTailユーティリティは、次のオプションをサポートします。
| オプション | 説明 |
|---|---|
-connStr connection_string |
データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列。 |
DSN |
トレースの取得元となるデータベースのODBCデータソース名を示します。 |
-f |
トレースの最後に達しても、ttTailは処理を終了せずに継続し、定期的にデータベースのトレース・バッファのポーリングを行って追加のTimesTenトレース・レコードを検索して表示します。たとえば、これはリアルタイムで更新されるトレース・データの表示を生成するのに役立ちます。 |
-h-help
|
使用方法のメッセージを出力して終了します。 |
-V | -version |
ttTailのリリース番号を出力し、終了します。 |
説明
ttTraceMonユーティリティでは、TimesTenの内部トレース機能を有効および無効にできます。
データベースごとにトレース・オプションを有効および無効にできます。各データベースには、TimesTenの内部処理を説明するメッセージを書き込めるトレース・バッファが含まれています。デフォルトでは、トレースは無効になっています。ただし、このユーティリティを使用して有効にできます。
ttTraceMonユーティリティにはサブコマンドがあり、トレース情報を有効、無効、ダンプおよび操作できます。1つのプロンプトに複数のサブコマンドを入力できる対話形式またはttTraceMonコマンドラインに1つのサブコマンドを指定できる非対話形式のいずれかで、ttTraceMonを実行できます。
対話形式で実行する場合、ttTraceMonは標準入力からテキスト行の入力を要求し、その行をトレース・コマンドとして解釈します。セミコロンで区切ることによって、複数のトレース・コマンドを同一の行に指定できます。ttTraceMonを終了するには、空白行を入力します。
対話モードでは、次のようにttTraceMonコマンドの出力をファイルにリダイレクトできます。
% ttTraceMon connection_string > filename
コンポーネント名の大/小文字は区別されません。一部のコマンド(dump、showおよびflush)では、複数のコンポーネントを表示することができ、操作は各コンポーネントに対して行われます。各サブコマンドでは、コンポーネントを表示しないと、ユーティリティの操作はすべてのコンポーネントに対して行われます。
このユーティリティで使用可能なコンポーネントの説明、および各コンポーネントについてttTraceMonが返す情報については、『Oracle TimesTen In-Memory Databaseトラブルシューティング・プロシージャ・ガイド』のttTraceMonユーティリティの使用に関する説明を参照してください。
構文
ttTraceMon {-h | -help | -?}
ttTraceMon {-V | -version}
ttTraceMon [-e subcommand] {-connStr connection_string | DSN}
オプション
ttTraceMonユーティリティには、次のオプションがあります。
| オプション | 説明 |
|---|---|
-connStr connection_string |
データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列。 |
DSN |
トレース情報の取得元となるデータベースのODBCデータソース名を示します。 |
-e subcommand |
指定したデータベースに対してサブコマンドが実行されます。サブコマンドが2語以上で構成される場合は二重引用符で囲みます。次に例を示します。
ttTraceMon -e "show err" database1 サブコマンドが完了すると、 |
-h
|
使用方法のメッセージを出力して終了します。 |
-V | -version |
ttTraceMonのリリース番号を出力し、終了します。 |
サブコマンド
ttTraceMonは、次のサブコマンドを使用してコールできます。
| コマンド | 説明 |
|---|---|
components |
すべてのcomponentsの名前および内部識別子を表示します。
このユーティリティで使用可能なコンポーネントの説明、および各コンポーネントについて |
connection {all | self | connectionNum} [on |off] |
指定した接続のトレース機能を有効または無効にします。データベースの作成時には、トレース機能はすべての接続に対して有効になっています。connectionNumの値は、接続スロット番号またはトランザクションIDの最初の数字を意味しています。 |
dump |
現在バッファされているトレース・レコードをすべて出力します。SELECT権限またはデータベース・オブジェクトの所有権が必要です。 |
dump comp |
コンポーネントcompのトレース・レコードをすべて出力します。SELECT権限またはデータベース・オブジェクトの所有権が必要です。 |
flush |
バッファ済のトレース・レコードをすべて破棄します。 |
flush comp |
コンポーネントcompのバッファ済のトレース・レコードをすべて破棄します。 |
help |
トレース・コマンドのサマリーを出力します。 |
level comp n |
コンポーネントcompのトレース・レベルをnに設定します。ADMIN権限またはデータベース・オブジェクトの所有権が必要です。 |
outfile file |
トレース出力を指定のファイルに出力します。fileに設定できる値は、0、stdout、stderrまたはファイル名です。Windowsでは、ファイル名は8.3形式の短い名前である必要があります。fileに0を設定した場合、出力は停止します。TimesTenは通常どおりトレースのバッファを継続し、これらはttTailのようなユーティリティでアクセス可能です。fileを指定しない場合は、現在のoutfile設定が出力されます。 |
show |
有効なトレース・レベルをすべて表示します。 |
show comp |
コンポーネントcompのトレース・レベルを表示します。 |
tracefiles n |
出力ファイルの最大数を設定します。 |
tracefilesize n[M|G] |
出力ファイルのファイル・サイズ制限を設定します。
|
説明
ttVersionユーティリティは、リリース番号、プラットフォーム、インスタンス名、インスタンス管理者、インスタンス・ホーム・ディレクトリ、デーモン・ホーム・ディレクトリ、ポート番号およびビルド・タイムスタンプなどの、TimesTenリリース情報を表示します。次のように様々な出力レベルを指定できます。
出力を簡略形式で表示するには、オプションなしでttVersionを指定します。
出力を拡張形式で表示するには、-mオプションを指定します。
特定の属性の出力のみを表示するには、属性を指定します。
オプション
ttVersionには次のオプションがあります。
| オプション | 説明 |
|---|---|
-m |
コンピュータで読取り可能な、詳細な出力を生成します。指定しない場合や属性を省略した場合は、簡略形式で情報が表示されます。 |
attribute |
指定した属性に関する情報のみを生成します。複数の属性を指定できます。複数の属性を指定すると、その出力は属性名の後に等号が付いて表示されます。 |
属性
ttVersionには次の属性があります。
| 属性 | 説明 |
|---|---|
patched |
このリリースにパッチが適用されているかどうかについて、yesまたはnoで示します。 |
config_found |
構成ファイルが見つかったかどうかについて、yesまたはnoで示します。 |
product |
製品名を表示します。 |
major1 |
メジャー・リリースの年の最後の2桁を示す部品リリース番号の5つに分かれた最初の部分(リリース18.1.2.1.0の場合は18)。
|
major2 |
5つの部分からなるリリース番号の2番目の部分(リリース18.1.2.1.0の場合は1)。
同じ |
patchset |
5つの部分からなるリリース番号の3番目の部分(リリース18.1.2.1.0の場合は2)。
|
patch |
5つの部分からなるリリース番号の4番目の部分(リリース18.1.2.1.0の場合は1)。
|
reserved |
5つの部分からなるリリース番号の5番目の部分(リリース18.1.2.1.0の場合は0)。今後使用する目的で確保されていいます。 |
major3 |
必要なくなりましたが、下位互換性のために維持されています。patchsetと同じです。 |
portpatch |
必要なくなりましたが、下位互換性のために維持されています。reservedと同じです。 |
version |
ピリオドで区切られたリリース番号の5つの部分すべて(18.1.2.1.0など)。 |
shortversion |
5つの部分からなるリリース番号の最初の2つの部分(ピリオドなし。リリース18.1.2.1.0の場合は181)。 |
numversion |
%02d%02d%04d%02d%02dという形式のリリース番号の5つの部分すべて(ピリオドなし)。ODBCのバージョン番号形式と互換性があります(リリース18.1.2.1.0の場合は180100020100)。 |
bits |
このリリースでサポートされる64ビット・レベルのオペレーティング・システムを示す64が表示されます。 |
os |
このリリースでサポートされるオペレーティング・システム |
buildstamp |
特定のビルドを表す番号。 |
buildtime |
ここリリースがビルドされたUTC時間(例: 2013-03-19T17:21:59Z) |
clientonly |
このリリースがクライアント専用かどうかを表示します(yesまたはno)。 |
instance |
インスタンス名(例: tt1811)。 |
effective_port |
メイン・デーモンがリスニングしているポート番号。 |
orig_port |
メイン・デーモンがリスニングしていた元のポート番号。 |
instance_admin |
インスタンス管理者のユーザー名。 |
effective_insthome |
インスタンスの場所を示すパス。 |
orig_insthome |
インスタンスの場所を示すパス。 |
effective_daemonhome |
特定のインスタンスが使用するデーモン・ホーム・ディレクトリのパス。 |
effective_daemonhome_long |
Windowsでは、インスタンス名でのビット拡張を含む、特定のインスタンス用のデーモンのホームへのパスです。 |
orig_daemonhome |
元のデーモン・ホーム・ディレクトリのパス。 |
plsql |
このインスタンス用にPL/SQLが構成されているかどうかを示します。0はPL/SQLが構成されていないことを示します。1はPL/SQLが構成されていることを示します。この値はPLSQL接続属性の設定に対応しています。 |
grid |
インスタンスが、グリッド分散向けに構成されているかどうかを示します。 |
group_name |
インスタンス・グループの名前。 |
出力
-mオプションを指定しない場合のttVersionの出力を次に示します。
TimesTen Release 18.1.2.1.0 (64 bit Linux/x86_64) (grid1_mgmt:6624) 2019-01-15T06:25:33Z Instance admin: ttuser1 Instance home directory: /sw/ttinstances/grid1_mgmt Group owner: timesten Daemon home directory: /sw/ttinstances/grid1_mgmt/info PL/SQL enabled.
-mオプションを指定すると、次のようになります。
patched=yes config_found=yes product=TimesTen major1=18 major2=1 patchset=2 patch=1 reserved=0 major3=2 portpatch=0 version=18.1.2.1.0 shortversion=181 numversion=180100020100 bits=64 os=Linux/x86_64 buildtstamp=1547533533 buildtime=2019-01-15T06:25:33Z clientonly=no instance=grid1_mgmt effective_port=6624 orig_port=6624 instance_admin=ttuser1 effective_insthome=/sw/ttinstances/grid1_mgmt orig_insthome=/sw/ttinstances/grid1_mgmt effective_daemonhome=/sw/ttinstances/grid1_mgmt/info orig_daemonhome=/sw/ttinstances/grid1_mgmt/info plsql=1 grid=0 group_name=timesten
説明
ttXactAdminユーティリティは、未処理の各トランザクションの所有者、ステータス、ログおよびロックの情報を表示します。また、ttXactAdminユーティリティを使用すると、XAトランザクション・ブランチのコミット、終了または消去を経験則的に実行できます。
アプリケーションではログの保持とログ・ファイルの蓄積を監視する必要があります。詳細は、『Oracle TimesTen In-Memory Databaseオペレーション・ガイド』のトランザクション・ログ・ファイルの蓄積の監視に関する説明を参照してください。
構文
ttXactAdmin {-h | -help | -?}
ttXactAdmin {-V | -version}
ttXactAdmin [-v verbosity] [-mt maxTrans] [-ml maxLocks] [-pid pid]
[-xact xid] [-tbl [owner.]tableName] [-interval seconds]
[-count iterations] {DSN | -connstr connection_string}
ttXactAdmin -latch [-interval seconds] [-count iterations]
{DSN | -connstr connection_string}
ttXactAdmin -latch [-interval seconds] [-count iterations]
{DSN | -connstr connection_string}
ttXactAdmin -connections [-pid pid] [-interval seconds]
[-count iterations] {DSN | -connstr connection_string}
ttXactAdmin -xactIdRollback xid {DSN | -connstr connection_string}
ttXactAdmin -XactIdCommit xid
ttXactAdmin {-HCommit xid | -HAbort xid | -HForget xid} {DSN | -connstr connection_string}
オプション
ttXactAdminには次のオプションがあります。
| オプション | 説明 |
|---|---|
-connections |
データベースへの現在の接続をすべて表示します。-connectionsオプションとともに実行する場合、ttXactAdmin自体はデータベースへ実際の接続を確立せず、ラッチを要求しません。このことは、フリーズしたシステムを診断するときに役立つことがあります。
このオプションには、 |
-connStr connection_string |
データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列。 |
-count iterations |
iterations回レポートを生成します。-intervalオプションを指定しない場合は、1秒間隔で生成します。 |
DSN |
管理するデータベースのODBCデータソース名を示します。
このオプションには、 |
-h
|
使用方法のメッセージを出力して終了します。 |
-HAbort xid |
TimesTen Scaleoutで使用可能です。TimesTenのXAトランザクション・ブランチを経験則的に終了します。トランザクションIDには、ローカルTimesTenのTransIDを指定する必要があります。
このオプションには、 このオプションは、TimesTen Scaleoutではサポートされません。 |
-HCommit xid |
TimesTen Scaleoutで使用可能です。TimesTenのXAトランザクション・ブランチを経験則的にコミットします。トランザクションIDには、ローカルTimesTenのTransIDを指定する必要があります。
このオプションには、 このオプションは、TimesTen Scaleoutではサポートされません。 |
-HForget xid |
TimesTen Scaleoutで使用可能です。TimesTenのXAトランザクション・ブランチを経験則的に消去します。トランザクションIDには、ローカルTimesTenのTransIDを指定する必要があります。
このオプションには、 このオプションは、TimesTen Scaleoutではサポートされません。 |
-interval seconds |
指定した秒数一時停止しながら、レポートの生成を繰り返します。-countオプションが指定されない場合は、永続的に繰り返します。 |
-latch |
このオプションは、TimesTenカスタマ・サポートによってのみ使用されます。このオプションは、指定したデータベースのラッチ情報のみを表示します。 |
-ml maxLocks |
トランザクションごとのロックの最大数です。デフォルトは6000です。 |
-mt maxTrans |
表示する最大トランザクション数を指定します。デフォルトは、未処理のトランザクションすべてが表示されます。 |
-pid pid |
指定したpidのプロセスによって開始されたトランザクションのみを表示します。Linuxでは、接続をオープンしたスレッドのpidです。
このオプションには、 |
-tbl [owner.]tableName |
指定した表のロック情報を表示します。
このオプションには、 |
-V | -version |
ttXactAdminのリリース番号を出力し、終了します。 |
-v verbosity |
冗長レベルを指定します。次のいずれかです。
|
-xact xid |
ログの保持LSNを含む、指定したトランザクションの情報を表示します。出力では、フィールド「Last ID」は2つの順序番号のセットです。時間隔内に順序番号が変わらなかった場合、その時間隔内にトランザクションによって書き込まれたログ・レコードはありません。
このオプションには、 |
-xactIdCommit xid |
TimesTen Scaleoutで使用可能です。トランザクションをコミットできるようにします。これは長時間実行されるトランザクションで特に役立つ場合があります。このパラメータのxidはトランザクションIDを表します。
現在実行している処理をトランザクションにかわって停止してから、TimesTen内でトランザクションをロールバックします。 ロールバックがリクエストされたときにチェックポイント処理が進行中の場合、TimesTenによってチェックポイント処理が終了されます。このコマンドによって、Oracle Database上でのTimesTen Cache操作が停止されることはありません。操作には、PassThrough文、フラッシング、手動ロード、手動リフレッシュ、同期ライトスルー、伝播および動的ロードが含まれます。 このオプションには、 |
-xactIdRollback xid |
トランザクションをロールバックできるようにします。これは長時間実行されるトランザクションで特に役立つ場合があります。パラメータxidはトランザクションIDを表します。現在実行している処理をトランザクションにかわって停止してから、TimesTen内でトランザクションをロールバックします。
ロールバックがリクエストされたときにチェックポイント処理が進行中の場合、TimesTenによってチェックポイント処理が終了されます。このコマンドによって、Oracle Database上でのTimesTen Cache操作が停止されることはありません。操作には、PassThrough文、フラッシング、手動ロード、手動リフレッシュ、同期ライトスルー、伝播および動的ロードが含まれます。 このオプションには、 |
出力
ttXactAdminは次の出力を生成します。
| 列 | 説明 |
|---|---|
Program File Name |
トランザクションを所有するプロセスの実行可能ファイル名です。 |
PID |
トランザクションを所有するアプリケーションのプロセスIDです。Linuxでは、これは接続をオープンしたスレッドのPIDです。 |
Context |
単一のマルチスレッド・プロセスによる、データベースへの複数の接続で区別するための内部識別子です。 |
XactID |
TimesTenによって内部的に使用される、一意のトランザクション識別子です。TimesTen Classicの場合、識別子は2つの部分で構成されます。TimesTen Scaleoutの場合、識別子には接頭辞として要素IDが付きます。
最初の部分は比較的小さな値(2048未満)で、トランザクションを実行するプログラムの接続を識別するために使用されます。 2つ目の部分は大きな値(符号なし整数)になる可能性が高く、最初の部分が続けて使用される場合にそれらを区別します。(この値は必要に応じて始めに戻ります。)このため、識別子4.100および4.200は同時には存在しません。4.100が出現し、その次に4.200が出現する場合、これはトランザクション4.100が完了(コミットまたはロールバック)したことを示しています。 |
State |
トランザクションの現在の状態を示し、次のいずれかになります。
TimesTen Scaleoutを使用している場合は、トランザクションの現在のステータスを示し、次のいずれかになります。
|
Resource |
要求されているロックのタイプです。
|
ResourceId |
一意の各リソースの一意識別子。この識別子は、いくつかの例外を除いて、16進形式で表示されます。TableおよびCompCmdは、10進値で表示されます。行ロックは、ROWID文字形式で表示されます。 |
Mode |
ロックが提供する同時実行性のレベルを判断するために使用される値です。
|
HMode |
待機状態のトランザクションが要求しているロックを保持する競合トランザクションのロック・モード。
同時実行性レベルについては、この表の「Mode」を参照してください。 |
RMode |
待機状態のトランザクションがロックの保持を要求しているモードを示します。同時実行性レベルについては、この表の「Mode」を参照してください。 |
HolderTransId |
待機状態のトランザクションが競合しているトランザクションの識別子。 |
Name |
ロックが保持されている、またはロックを含む表の名前。 |
例
次のコマンドはデータベース内のすべてのロックを表示します。
% ttXactAdmin -connStr "DSN=demodata" 2018-03-20 13:02:54.760 /timesten/jsmith/demo/demodata TimesTen Release 18.1.1.1.0 ElementID 1 Program File Name: _ttIsql XactID PID Context State Loghold Last ID 1.1.195 115640 0x859570 Active 391.15355904 [1666839:6] Resource ResourceID Mode SqlCmdID Name Database 0x01312d0001312d00 IX 0 Table 2367528 IXn 275642480 JSMITH.T Row AAAVVUAAADXAQAANje Xn 275642480 JSMITH.T Begin Time: 13:01:43.108 1 outstanding transaction found
ノート
コマンドで指定されたトランザクションがXAトランザクション・ブランチでなく、TimesTenのローカル・トランザクションである場合、XA-XIDは表示されません。XA-XIDはフォーマット識別子を含むC構造体で、2つのデータ長フィールドと1つのデータ・フィールドを持ちます。データ・フィールドは、グローバル・トランザクション識別子(gtrid)およびブランチ修飾子(bqual)という、最大2つの連続するコンポーネントで構成されます。2つのデータ長フィールドは、gtridおよびbqualのバイト数(1-64)をそれぞれ指定します。詳細は、X/Openの文書『Distributed Transaction Processing』のXA仕様(c193)に関する説明を参照してください。
データベースでは、シリアライズ可能な分離モードの場合に、TimesTenはSロックのみを保持します。コマンドでは、Sは「共有」ロックのみを意味し、シリアライズ可能な分離モードでもコミット読取り分離モードでも保持できます。RModeを指定すると、待機中のトランザクションはPIDおよびコンテキストによってソートされます。リストにはロック・リクエストの順番は反映されません。
ロック・リクエスト・キュー内で、互換性のあるモードのリクエストの前に互換性のないモードの別のロック・リクエストがあるため、HModeのロック保持者と互換性のあるRModeのロック・リクエストが待機することがあります。
次のいずれかの理由により、トランザクションはAbortingステータスになります。
大量の処理を行った後にユーザー・アプリケーションによってロールバックが要求された。
autocommitが有効なアプリケーションで、完了できなかった文を実行しようとして、実行できないままでいる。
ttXactAdminへの別のコールによってトランザクションのロールバックが発生した。
処理中のプロセスが停止し、その処理が完了していない。
説明
TimesTenトランザクション・ログのコンテンツの形式が整えられたダンプを表示します。これは、ログまたはデータベース内の問題を診断するために、TimesTenカスタマ・サポートによって使用されるように設計されています。
-trなどの特定のオプションの使用によりデータを失う可能性があるため、このツールはTimesTenカスタマ・サポートの担当者に指示された場合にのみ使用してください。
構文
ttXactLog {-h | -help | -?}
ttXactLog {-V | -version}
ttXactLog [-v verbosity] [-m maxChars] [-s] [-t] [-b blkID]
[-l1 lfn.lfo [-l2 lfn.lfo]] [-r recType] [...] [-tr dir]
[-lb] [-headers recs] [-logdir dir]
{-connStr connection_string | DSN | dspath}
ttXactLog [-v verbosity] -logAnalyze
[-s subscriberName -host hostname]]
[-xid xid] {-connStr connection_string | DSN | dspath}
オプション
ttXactLogには次のオプションがあります。
| オプション | 説明 |
|---|---|
-b blkID |
ログ・レコードを、このブロックにアクセスするものとトランザクション・レコードに制限します。 |
-connStr connection_string |
データベースの場所、ドライバ、および必要に応じてその他の接続属性設定を指定するODBC接続文字列。 |
DSN |
表示するトランザクション・ログに対するデータベースのODBCソース名。 |
dspath |
データベースの完全修飾名。これは接続に関連付けられたDSNではなく、データベースのODBC定義でDataStore=パラメータに指定した、データベースに関連付けられた完全修飾データベース・パス名です。
たとえば、ファイル |
-h
|
使用方法のメッセージを出力して終了します。 |
-headers records |
recordsごとのレコードに対して1つのヘッダーを出力します。0 (ゼロ)を指定すると、ヘッダーは無効になります。 |
-host hostName |
サブスクライバが常駐するホストの名前を指定します。サブスクライバの名前が曖昧な場合には、このオプションを-subscriberオプションとともに使用してください。 |
-lb |
データベースに接続して、ログ・バッファを出力します。トランザクション・ログ・ファイルのコンテンツは出力されません。SELECT権限またはデータベース・オブジェクトの所有権が必要です。 |
lfn.lfo |
ログ・レコードのトランザクション・ログ・ファイル番号(lfn)およびトランザクション・ログ・ファイル・オフセット(lfo)。 |
-l1 |
引数-l2が存在しないかぎり、このログ・レコードのみを考慮します。 |
-l2 |
-l1から-l2のレコードを考慮します。 |
-logAnalyze |
1つまたはすべてのサブスクライバに対してレプリケートされるデータベースの残りの分量を決定します。出力するには、-vオプションとともに使用します。
特定のトランザクションIDを検索するには、 |
-logdir dir |
データベースのトランザクション・ログ・ファイルが存在するディレクトリを指定します。-logdirを指定しない場合は、ttXactLogはdspathに指定されている値のディレクトリ・パス部分を使用します。 |
-m maxChars |
-v 3のbinary項目のみについて出力される最大文字数。デフォルトは4000です。 |
-r recType |
指定したタイプのレコードのみを考慮します。このオプションは必要なログ・レコード・タイプのリストを指定するために、複数回使用される場合があります。recTypeでは大/小文字が区別されます。 |
-s |
サマリー情報を出力します。SELECT権限またはデータベース・オブジェクトの所有権が必要です。 |
-subscriber subscriberName |
サブスクライバの名前を指定します。サブスクライバ名を修飾するには、-host hostnameを使用します。 |
-t |
トランザクション・ログ・ファイルの下部(最後のチェックポイント・トランザクション・ログ・ファイル、またはチェックポイントがない場合は最新のトランザクション・ログ・ファイルの始まりから)のみ読み取ります。 |
-tr dir |
ディレクトリにあるすべてのログ・レコードをLWN境界で切り捨てます。元のトランザクション・ログ・ファイルはディレクトリdirに移動されます。 |
-V | -version |
ttXactLogのリリース番号を出力し、終了します。 |
-v verbosity |
冗長レベルを指定します。次のいずれかです。
|
-x xid |
トランザクションIDを指定します。 |