ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文

  メンテナンス 前画面に戻る

対象スレッド 件名: インポートユーティリティで、表定義を取得する
名前: lightbox
処理選択
パスワード

件名 インポートユーティリティで、表定義を取得する
名前 lightbox
コメント
PL/SQL で書かれた統計データの処理が出力される場合は、ダンプファイルを作成する前に、
面倒ですが、テーブル毎に以下のSQLを実行する必要があります
@DIV
ANALYZE TABLE テーブル名 DELETE STATISTICS
@END


http://lightbox.matrix.jp/ginpro/patio.cgi?mode=view2&f=249&no=2&type=ref&opt=text-align:left;margin-left:5px;&xml=y([[エクスポートユーティリティのテーブル単位の出力]]) で出力した ORA01.dmp を使用しています

@DIV
impdp ORA01/ORA01@//night/XE DIRECTORY=MYDIR DUMPFILE=ORA01.dmp SQLFILE=MYDIR:ddl.txt
@END

↓[[ddl.txt 内のテキストの一部]]
@DIV
-- CONNECT ORA01
-- new object type path is: SCHEMA_EXPORT/TABLE/TABLE
CREATE TABLE "ORA01"."商品マスタ" 
   (	"商品コード" VARCHAR2(4), 
	"商品名" VARCHAR2(75), 
	"在庫評価単価" NUMBER, 
	"販売単価" NUMBER, 
	"商品分類" VARCHAR2(3), 
	"商品区分" VARCHAR2(1), 
	"作成日" DATE, 
	"更新日" DATE, 
	"備考" VARCHAR2(2000), 
	"削除フラグ" VARCHAR2(1)
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "LBOX_USER1" ;
 
CREATE TABLE "ORA01"."社員マスタ" 
   (	"社員コード" VARCHAR2(4), 
	"氏名" VARCHAR2(50), 
	"フリガナ" VARCHAR2(50), 
	"所属" VARCHAR2(4), 
	"性別" NUMBER(1,0), 
	"作成日" DATE, 
	"更新日" DATE, 
	"給与" NUMBER, 
	"手当" NUMBER, 
	"管理者" VARCHAR2(4), 
	"生年月日" DATE
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "LBOX_USER1" ;
 
-- new object type path is: SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
ALTER TABLE "ORA01"."商品マスタ" ADD PRIMARY KEY ("商品コード")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "LBOX_USER1"  ENABLE;
 
ALTER TABLE "ORA01"."社員マスタ" ADD PRIMARY KEY ("社員コード")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "LBOX_USER1"  ENABLE;

@END


通常の CREATE 文を出力したい場合は以下のようにして下さい
@DIV
impdp ORA01/ORA01@//night/XE DIRECTORY=MYDIR DUMPFILE=ORA01.dmp TRANSFORM=SEGMENT_ATTRIBUTES:n SQLFILE=MYDIR:ddl.txt
@END
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19211-01/dp_import.html(Data Pump Import)

@DIV
-- CONNECT ORA01
-- new object type path is: SCHEMA_EXPORT/TABLE/TABLE
CREATE TABLE "ORA01"."商品マスタ" 
   (	"商品コード" VARCHAR2(4), 
	"商品名" VARCHAR2(75), 
	"在庫評価単価" NUMBER, 
	"販売単価" NUMBER, 
	"商品分類" VARCHAR2(3), 
	"商品区分" VARCHAR2(1), 
	"作成日" DATE, 
	"更新日" DATE, 
	"備考" VARCHAR2(2000), 
	"削除フラグ" VARCHAR2(1)
   ) ;
 
CREATE TABLE "ORA01"."社員マスタ" 
   (	"社員コード" VARCHAR2(4), 
	"氏名" VARCHAR2(50), 
	"フリガナ" VARCHAR2(50), 
	"所属" VARCHAR2(4), 
	"性別" NUMBER(1,0), 
	"作成日" DATE, 
	"更新日" DATE, 
	"給与" VARCHAR2(255), 
	"手当" VARCHAR2(255), 
	"管理者" VARCHAR2(4), 
	"生年月日" DATE
   ) ;
 
-- new object type path is: SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
ALTER TABLE "ORA01"."商品マスタ" ADD PRIMARY KEY ("商品コード") ENABLE;
 
ALTER TABLE "ORA01"."社員マスタ" ADD PRIMARY KEY ("社員コード") ENABLE;
@END