ヘッダーをスキップ
Oracle TimesTen In-Memory Database APIおよびSQLリファレンス・ガイド
リリース6.0
B25770-02
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

ttSchema

説明

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

構文
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オプションをAccess Controlデータ・ストアに対して実行すると、出力が行われます。
この情報には、実際のパスワードは含まれません。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と互換性があることは保証できません。