こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

教えてください。
今オラクルの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

投稿日時 - 2003-03-31 12:30:22

QNo.511429

653

すぐに回答ほしいです

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

こんにちわ。

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

投稿日時 - 2003-04-01 21:57:10

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

exportユーティリティを使うのはどうでしょうか?

【exp ユーザー名/パスワード tables=表名 file=ファイル名】
が基本構文です。OSファイルとしてバックアップしておけます。
DBオブジェクトに戻す場合はimportユーティリティを使用します。

【imp ユーザー名/パスワード tables=表名 file=ファイル名】
としてバックアップしたファイルを指定すれば元通りになります。

exp/impユーティリティはたくさんのオプションがありますので、
「ユーティリティ」マニュアルでご確認ください。

マニュアルはダウンロードできます。ただし登録が必要。

参考URL:http://otn.oracle.co.jp/document/index.html

投稿日時 - 2003-03-31 23:46:04

ANo.2

もし、仕事でやってるなら、何らかの支援ツールを使ってもいいんではないかと思います。

以前ORACLE標準ツールでシコシコやっていたんですが、下記URLのツールを使って、飛躍的に効率UPしたことがあります。

また、ものによっては、効率UPとSQLの勉強も出来るのもあります。

探せば、いろいろ出てくると思います。

参考URL:http://www.sint.co.jp/jisseki/html/products.html

投稿日時 - 2003-03-31 17:24:59

ANo.1

CREATE TABLE test2 AS SELECT * FROM test1;

投稿日時 - 2003-03-31 12:46:28

あなたにオススメの質問