ヘッダーをスキップ
Oracle TimesTen In-Memory Database APIリファレンス・ガイド
リリース7.0
E05170-03
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

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 MAXVALUE 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 INLINE 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文による変換履歴は生成されません。また、出力には表のパーティションに関する情報がSQLコメントの形式で示されますが、表のパーティションは保持されません。

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