ヘッダーをスキップ

Oracle TimesTen In-Memory Database APIおよびSQLリファレンス・ガイド リリース6.0 B25770-01 |
| 目次 | 索引

前へ | 次へ |

## ttSchema

説明

データ・ストアのスキーマまたは選択されたオブジェクトを出力します。このユーティリティは、SQL CREATE文で使用される次のスキーマ・オブジェクトを表示できます。

- 表
- 索引
- キャッシュ・グループ定義
- 順序
- ビュー
- パーティション情報などの列の定義

表示される詳細のレベルおよびオブジェクトは、オプションを使用して制御できます。出力は、データ・ストアがALTER文などにより現在の状態に達するまでの履歴ではなく、ある時点のデータ・ストアの状態のスナップショットを表しています。データ・ストア全体は、ttSchemaの出力から完全に再作成することはできません。ttSchemaの出力は、データ・ストアの全スキーマを再作成するために、ttIsqlユーティリティによって再現できます。

構文

    ttSchema [-h | -help]
    ttSchema [-V | -version]
    ttSchema [-l] [-c] [ -list {all | tables | views | sequences |
             cachegroups | repschemas } [,...] ]
             [-st | -systemTables] [-u TT_instance]
             [-connStr connection_string | DSN ]
             [[owner.]name][...]

オプション

ttSchemaには、次のオプションがあります。

    -connStr
    connection_string
| データ・ストア名、サーバー名とDSN（必要に応じて）および関連する接続属性を含むODBC接続文字列。
    -c
| 互換性モード。TimesTen固有およびリリース固有のキーワードと拡張子の使用を制限します。このことは、ttSchemaの出力が、TimesTenの以前のリリースまたはOracleのような他のデータベース・システムへの入力として使用されている場合に役立つ可能性があります。 このリリースでは、-cを使用すると、INLINEキーワードおよびNOT INLINEキーワードが出力されるのを回避できます。
    DSN
| スキーマの取得元となるデータ・ストアのODBCデータソース名を指定します。
    -h
    -help
    -?
| 使用方法のメッセージを出力して終了します。
    -l
| データ・ストアのオブジェクトを一行に1項目ずつ表示します。
    -list {all | tables | views
    | sequences | cachegroups |
    repschemas }[,...]
| 生成するオブジェクトのカンマ区切りリスト。指定されたタイプのオブジェクトのみを表示します。デフォルトは、-list allです。
    [owner.]name
| 出力の有効範囲を、名前で指定したオブジェクトに制限します。
    -st | -systemTables
| システム表を含めます。デフォルトでは、これらはコミットされます。
    -u TT_instance
| 別のインスタンス内にユーザー環境を再作成する場合に使用されるユーザー定義および権限情報を、SQL文の形式で出力します。-uオプションは、インスタンス・データ・ストアに対して実行する必要があります。 この情報には、実際のパスワードは含まれません。TimesTenは、かわりに空のパスワードを使用します。
    -V | -version
| ttSchemaのリリース番号を出力して終了します。

例

    次のSQL文を使用して、ORDERSというデータ・ストアを作成するとします。
    CREATE TABLE xyz.customer (
      cust_num          INTEGER NOT NULL PRIMARY KEY,
      region            CHAR(2) NOT NULL,
      name              VARCHAR(80),
      address           VARCHAR(255) NOT NULL
    )
    UNIQUE HASH ON (cust_num) PAGES=100;
    CREATE SEQUENCE xyz.custID MINVALUE 1 MAXVAULE 1000000;
    CREATE TABLE xyz.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 xyz.customer (cust_num)
    )
    UNIQUE HASH ON (ord_num) PAGES=100;
    CREATE MATERIALIZED VIEW xyz.order_summary AS
      SELECT cust.name, ord.ord_num, count(*) ord_count
      FROM xyz.orders ord, xyz.customer cust
      WHERE ord.cust_num = cust.cust_num
        GROUP BY cust.name, ord.ord_num;
    CREATE REPLICATION xyz.rep
      ELEMENT e1 TABLE xyz.orders MASTER rep1 ON "box1"
        SUBSCRIBER rep2 ON "box2"
      ELEMENT e2 TABLE xyz.orders MASTER rep2 ON "box2"
        SUBSCRIBER rep1 ON "box1";

    ttSchemaの出力は、次のようになります。

    % ttSchema ORDERS
    CREATE TABLE xyz.customer (
      cust_name INTEGER NOT NULL,
      region CHAR(2) NOT NULL,
      name VARCHAR(80),
      address VARCHAR(255) NOT NULL,
      PRIMARY KEY(cust_num))
      UNIQUE HASH ON(cust_num) PAGES = 100;
    CREATE TABLE xyz.orders (
      ord_num INTEGER NOT NULL,
      cust_num INTEGER NOT NULL,
      when_placed TIMESTAMP NOT NULL,
      when_shipped TIMESTAMP,
      PRIMARY KEY(ord_num),
      FOREIGN KEY(cust_num) REFERENCES xyz.customer (cust_num))
      UNIQUE HASH ON (ord_num) PAGES = 100;
    CREATE SEQUENCE xyz.custid
      INCREMENT BY 1
      MINVALUE 1
      MAXVALUE 1000000
      START 1;
    CREATE REPLICATION xyz.rep
      ELEMENT e1 TABLE xyz.orders
        MASTER rep1 on "box1"
        SUBSCRIBER rep2 ON "box2"
      ELEMENT e2 TABLE xyz.orders
        MASTER rep2 ON "box2"
        SUBSCRIBER rep1 ON "box1"
    ;
    CREATE MATERIALIZED VIEW xyz.order_summary AS
      SELECT cust."name" name, ord.ord_num ord_num,
        COUNT(*) ord_count FROM xyz.orders ord, xyz.customer cust
        WHERE ord.cust_num = cust.cust_num
        GROUP BY cust."name", ord.ord_num;

    次のコマンドを実行した場合:

    % ttSchema -list sequences ORDERS

    出力は次のように限定されます。

    CREATE SEQUENCE xyz.custid
      INCREMENT BY 1
      MINVALUE 1
      MAXVALUE 1000000
      START 1;
    オブジェクト名ごとにスキーマを表示するには、次のように指定します。
    % ttSchema ORDERS xyz.rep
    CREATE REPLICATION xyz.rep
      ELEMENT e1 TABLE xyz.orders
        MASTER rep1 ON "box1"
        SUBSCRIBER rep2 ON "box2"
      ELEMENT e2 TABLE xyz.orders
        MASTER rep2 ON "box2"
        SUBSCRIBER rep1 ON "box1";

注意

生成されたSQLでは、ALTER文による変換履歴は生成されません。また、出力には表のパーティションに関する情報が示されますが、表のパーティションは保持されません。

出力に、TimesTenの以前のリリースによって認識されるDDLと互換性があることは保証できません。