普段ならGold Fingerだっけ?
を利用してコピーしたり
バックアップ→リストアで移したりするが、
今回は1回で終わる作業だし
バックアップ容量が5TBなのでサービス停止時間が長すぎてバックアップはしなくデータだけコピーした後、実際サービスを止めた後からは差分だけコピーすることにした。
手順は次の通り。
1.コピー先のサーバーにORACLEインストール及びDatabase生成。
2.作業用のユーザー作成及び権限割り当て
3.Database Link作成・権限割り当て
4.テーブルコピー
5.Index作成
6.PKをusing indexを利用して作成
7.Procedure・Functionコピー
8.Sequence作成
9.テスト!
の用に作業してみた。
最初のコピー時エラーが発生。
LONGタイプが分からないとかのメッセージだった。
LONGタイプってORACLEにない!
これはCUSTOM TYPEだった!
なのでCUSTOM TYPEも作成スクリプトを追加。
1次テストのとき
テーブルコピーは
create table as select * from TABLEA
の形式でやってたらDefaultがコピーできなかった!
Scriptの作成をやり直し!
DDL_METADATA
関数でテーブル生成スクリプトを作成してsqlファイルに落とす。
その後ファイルを実行してテーブルを作成してからinsert intoでデータを入れる
その後
Procedureがないとの連絡が来た。
探してみたら、Packageだって。
またすべてのPackageを生成するスクリプト作成。
一応エラーは解決かな。
2次テストを待ってる。
これが成功すれば約3000万円のコピーツールライセンスが要らない。
そしてバックアップでのサービス停止の売り上げ損失もなし。
最終的に差分コピーの時間はさすがに停止しないといけないけど。
DWHチューニング・統計情報管理等々
Lowy Knowledgebase for more information...
コメント
コメントを投稿