ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文
インポートユーティリティで、表定義を取得する ( No.3 )
日時: 2009/06/22 22:46
名前: lightbox



PL/SQL で書かれた統計データの処理が出力される場合は、ダンプファイルを作成する前に、
面倒ですが、テーブル毎に以下のSQLを実行する必要があります
拡張子:
ANALYZE TABLE テーブル名 DELETE STATISTICS
エクスポートユーティリティのテーブル単位の出力 で出力した ORA01.dmp を使用しています
拡張子:
impdp ORA01/ORA01@//night/XE DIRECTORY=MYDIR DUMPFILE=ORA01.dmp SQLFILE=MYDIR:ddl.txt
ddl.txt 内のテキストの一部
拡張子:
-- 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;

通常の CREATE 文を出力したい場合は以下のようにして下さい
拡張子:
impdp ORA01/ORA01@//night/XE DIRECTORY=MYDIR DUMPFILE=ORA01.dmp TRANSFORM=SEGMENT_ATTRIBUTES:n SQLFILE=MYDIR:ddl.txt
Data Pump Import
拡張子:
-- 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;