2

Teradataでは、テーブルのバックアップを行ってきた方法は次のようになります。

create table xxx_bak as xxx with data

うまく機能しますが、これがID列を持つテーブルでは機能しないことを発見しました。

一部のデータを台無しにした場合にロールバックできるように、データをそのままにしてテーブルを複製できるバックアップ方法が必要です。

4

3 に答える 3

1

テーブルのコピーが必要な場合は、同じ構造で、キー列をID列にすることなくテーブルを作成できます。その後、元のテーブルから挿入できます。ただし、同じキーを保持したまま、バックアップから古いテーブルに挿入し直すことはできません。

後で同じキーを使用して復元できるバックアップを作成する方法は、アーカイブ/復元ツールARCMAINを使用することです。

このようなバックアップ:

logon my_server/my_user, my_password;
archive data tables (my_database.my_table), release lock, file=backup_file;

このように復元します。

logon my_server/my_user, my_password;
restore data tables (my_database.my_table), release lock, file=backup_file;
于 2012-05-31T01:05:42.537 に答える
1

1年半以上経った後、私はついにこの問題に対する巧妙な解決策を見つけました。

create table mydb.mytablebackup as 
(select * from (select * from mydb.mytable) x) 
with data;

必ず最も内側のサブクエリを修飾してください。修飾しないと機能しません。

于 2013-12-06T17:21:06.077 に答える
0

これには3つのステップが含まれます。

 1. SHOW TABLE orig_Table; (*Get the DDL*)

 2.  Replace orig_Table with bkp_Table name

 3.  INSERT INTO bkp_Table SELECT * FROM orig_Table;
于 2012-05-01T05:51:00.007 に答える