プロが教える店舗&オフィスのセキュリティ対策術

お世話になります。

現在、52テーブルあるDBがあり、別のDBに同じテーブルを作成するため、
それらのテーブルのCreate文を作らなくてはなりません。

一つ一つ属性を調べて作成するのではなく、一度に作る方法がありましたら、教えて下さい。
時間がないため、「直ぐに回答ほしいです」にチェックを
入れさせていただきました。

よろしくお願い致します。

A 回答 (5件)

script作成じゃなですけど。



こんなのもあります。

COPY FROM user/passwd@from_db TO user/passwd@to_db CREATE a_tbl USING select * from a_tbl;


使用方法: COPY FROM <db> TO <db> <opt> <table> { (<cols>) } USING <sel>
<db> : scott/tiger@d:chicago-mktgなどのデータベース文字列
<opt> : APPENDまたはCREATE、INSERT、REPLACEキーワードのうちの1つ
<table>: 接続先表名
<cols> : 接続先列別名のカンマ区切りリスト。
<sel> : 有効なSQL SELECT文
FROM句またはTO句が欠落している場合は現行のSQL*Plus接続を使用します。
    • good
    • 0
この回答へのお礼

お礼が遅くなってしまい、申し訳ありません。
このような方法もあるのですね。
知りませんでした。
ありがとうございました。m(__)m

お礼日時:2005/06/28 12:45

標準のパッケージを使うこのような方法もあります。



set head off
set lines 1000
set pages 1000

SELECT DBMS_METADATA.GET_DDL('TABLE', table_name)
FROM user_tables;

SELECT DBMS_METADATA.GET_DDL('INDEX', index_name)
FROM user_indexes;
    • good
    • 0
この回答へのお礼

遅くなってしまい、申し訳ありません。
これはまだ使ったことがないので、チャレンジしてみます。
回答をありがとうございました。m(__)m

お礼日時:2005/06/28 12:44

OSは、UNIXですか?


NT ですか?

UNIXだとして、
$ORACLE_HOME/bin に exp というコマンドが
あります。

% exp USER_ID/PASSWD@接続文字列
例% exo scott/tiger@dev1

で出てくる表示にしたがって、進めます。
DB, USER TABLE のところで、USER (2)
を選択して、あとはエンターを押せば、
export.dmp というファイルが出来ます。

このファイルを 別のDBがあるサーバーに
コピーします。

コピーすると、今度は、
% imp USER_ID/PASSWD@接続文字列
とします。

という所です。
難しいようであれば、export/import はあきあらめて

ツールを使ってやってみましょう。
http://www.sint.co.jp/siob/default.asp
このサイトから試用版をダウンロードして
インストールしてください。

このツールだと、元のDBのテーブルを参照すると
そのソースが見えますので、簡単にDDL分が
取得できます。

この回答への補足

ご親切にありがとうございます。
OSはNTです。書かずに申し訳ありませんでした。

先方はスクリプトが欲しいとのことなので、
スクリプト作成後にチャレンジしてみます。
ありがとうございます!

補足日時:2005/06/23 09:30
    • good
    • 0

No1 です。

補足します。
まったく同じテーブルをということなので
DDL分を作成するのでなく、
export/import ユーティリティを使用してという
ことです。

この回答への補足

早速のご回答をありがとうございます。
export/import ユーティリティは、どのように使用するのでしょうか?
初歩的な質問で、申し訳ありません。

補足日時:2005/06/22 14:30
    • good
    • 0

export して、import が確実な方法と


思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!