• ベストアンサー

テーブル自体のバックアップ

教えてください。 今オラクルのDBにTEST1テーブルが存在するとします。 ------TEST1--------------------- id varchar(5) Primary Key name varchar(20) old int -------------------------------- 今このテーブルとまったく同じデータを持ち、同じ構成のテーブルTEST2を 作成したいと考えています。 (1)create table TEST2( id varchar(5) primary key, name varchar(20), old int ); (2)insert into TEST2( id, name, old) values (select id, name, old from TEST1); としてTEST2テーブルを作成して、TEST1のデータを格納していますが、 他の方法はないでしょうか? たとえばこんなコマンドはありませんが、 COPY TEST1 TEST2 とか、 オラクルマネージャみたいなもので、 コピペして、名前をTEST2にする とかなんでもいいです。 TEST1のバックアップをとりたいのですが・・・・ すみません、わかりづらい説明で。 宜しくお願い致しますm(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.4

こんにちわ。 Create table test2 as select * from test1; でOk です。 上記SQL 文は、Create table 文 (の拡張) ですので Rollback Segment を使用しない分、Insert 文で データを投入するより高速に処理できます。

その他の回答 (3)

  • bourbon
  • ベストアンサー率46% (18/39)
回答No.3

exportユーティリティを使うのはどうでしょうか? 【exp ユーザー名/パスワード tables=表名 file=ファイル名】 が基本構文です。OSファイルとしてバックアップしておけます。 DBオブジェクトに戻す場合はimportユーティリティを使用します。 【imp ユーザー名/パスワード tables=表名 file=ファイル名】 としてバックアップしたファイルを指定すれば元通りになります。 exp/impユーティリティはたくさんのオプションがありますので、 「ユーティリティ」マニュアルでご確認ください。 マニュアルはダウンロードできます。ただし登録が必要。

参考URL:
http://otn.oracle.co.jp/document/index.html
  • ykkw_2001
  • ベストアンサー率26% (267/1014)
回答No.2

もし、仕事でやってるなら、何らかの支援ツールを使ってもいいんではないかと思います。 以前ORACLE標準ツールでシコシコやっていたんですが、下記URLのツールを使って、飛躍的に効率UPしたことがあります。 また、ものによっては、効率UPとSQLの勉強も出来るのもあります。 探せば、いろいろ出てくると思います。

参考URL:
http://www.sint.co.jp/jisseki/html/products.html
  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.1

CREATE TABLE test2 AS SELECT * FROM test1;

関連するQ&A