今回の要件では、データベースを一括ではエクスポートが出来ないのだが、そうなると、SEQUENCEがエクスポート出来なくなる。
そこで、回避策を考えてみた。
1.まず、SEQUENCEを適当なテーブルに放り込む。
create table seq_move as select sequence_name, last_number from user_sequences where sequence_name = 'シーケンス名'';
2.1で作ったテーブルも一緒にエクスポートする。
3.別のPCで、テーブルをインポートする。
4.インポートした先で、SQLを実行して、テーブルからSEQUENCEを作成する。
declare
lastnum number;
vsql varchar2(512);
begin
select last_number into lastnum from seq_move;
vsql := 'create sequence シーケンス名 start with ' || lastnum || ' CACHE 100' ;
execute immediate vsql;
end;
とりあえず、無事移行が出来ました。
CACHEした番号は、あっさりと捨てることにしています。
0 件のコメント:
コメントを投稿