Oracle SQL Developer を使ってサンプルスキーマの SCOTT を RDS for Oracle にインポートしてみた

記事タイトルとURLをコピーする

こんにちは、テクニカルサポート課の 佐藤 光晃です。
本ブログは Oracle 社の SQL Developer を使って、オンプレミスの Oracle Database に格納されているサンプルスキーマ SCOTT を RDS for Oracle にインポートしてみたブログとなります。
AWS ドキュメントでもOracle SQL Developer を使用したインポートとして情報はありますが、画像が無くシンプルな紹介だったので本ブログではスクリーンショットの一例を紹介する目的となります。
上記ドキュメントにも記載の通り、小規模なデータベース向けの機能となります。

事前準備

事前にやることは 3 点です。

  • 1 点目: SQL Developer をダウンロードしてきます。
  • 2 点目: オンプレミスの Oracle Database、もしくは、Oracle Database on EC2 でサンプルスキーマ SCOTT の作成を実施します。(@?/rdbms/admin/utlsampl.sql の実行。)
  • 3 点目: RDS for Oracle インスタンスの作成。(セキュリティグループなどの設定は AWS 公式ドキュメントの通りで OK です。)

SQL Developer の操作画面紹介

データベース・コピー

SQL Developer 起動後の画面です。
サンプルスキーマ SCOTT を準備した DB への接続設定です。接続名を [localdb] としております。
RDS for Oracle への接続設定です。接続名を [RDS] としております。
サンプルスキーマ SCOTT の情報を確認するために、[localdb] → [他のユーザー] でスキーマ一覧を開き、[SCOTT] を右クリックします。
SCOTT に割り当てられているロールが CONNECT, RESOURCE のみであることを確認します。
[RDS] → [他のユーザー] で右クリックして [ユーザーの作成] をクリックします。
[RDS] に SCOTT スキーマを作成します。
スキーマ作成成功時のダイアログです。
[ツール] の [データベース・コピー] を選択します。
[スキーマのコピー] を選択して [次へ] をクリックします。
そのまま [次へ] をクリックします。
[SCOTT] のみ選択されたソース・スキーマ(右側)に移動します。
[>>] をクリックして表示された項目をすべて右側に移動します。
そのまま [次へ] をクリックします。
今までの入力項目確認画面です。問題が無ければ [終了] をクリックします。
データベース・コピーの作業ログが表示されます。正直ここでエラーや差分チェックは厳しいです。
[RDS] で scott.emp を参照できました。

データベース差分

データベースの差分をチェックする機能もあるので実施してみます。

サンプルスキーマ SCOTT 移行元データベースと RDS for Oracle のそれぞれで SCOTT スキーマでログインするための接続を作成します。
[ツール] の [データベース差分] をクリックします。
ソース接続と宛先接続はそれぞれの SCOTT スキーマの接続設定を選択します。
そのまま [次へ] をクリックします。
[>>] をクリックして表示された項目をすべて右側に移動します。
今までの入力項目確認画面です。問題が無ければ [終了] をクリックします。
差分レポートが表示されます。[新規オブジェクトの表示] にチェックを入れた上で、[索引] や [表] をチェックすると "差分がある場合に" 子階層が表示されますが、今回は何も表示されないので差分が無いことが分かりました。

感想

小規模向けではありますが、データベースオブジェクトやスキーマのコピーのためのツール紹介でした。
今回のようにちょっとしたスキーマのコピーくらいは向いていると思いますが、ある程度サイズが大きい DB に関しては Data Pump や他の方法を考えた方が良さそうな印象です。 そもそも SCOTT って何?と思った方はこちら (wiki) をご参照ください。

佐藤 光晃 (記事一覧)

マネージドサービス部・テクニカルサポート課

2022年10月にサーバーワークスに入社しました。
前職でもテクニカルサポートに従事しており、情報収集に役立つサービスやツールに興味があります。AWS資格13冠。