ノート:
- このチュートリアルでは、Oracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントに例の値を使用します。演習を完了するときは、これらの値をクラウド環境に固有の値に置き換えます。
PostgreSQLを使用したオンプレミスのPostgreSQLデータベースからOCIデータベースへのデータの移行
イントロダクション
PostgreSQLは、パッチ適用、バックアップ、ストレージ管理などのルーティング・タスクの時間を節約するフルマネージド・サービスです。当社の特別な機能は、SQLトランザクション処理エンジンをストレージ・レイヤーから分離するデータベース最適化ストレージ・アーキテクチャであり、システムの回復性とパフォーマンスを向上させ、Amazon Auroraより60%低コストになるように設計されており、オープンソースのPostgreSQLデプロイメントの約3倍のパフォーマンスを提供します。さらに、オープンソースのPostgreSQLと完全に互換性があります。
分析処理にはPostgreSQLを使用できます。PostgreSQLはHTAP (ハイブリッド・トランザクション/分析処理)アーキテクチャに基づいているため、オンライン分析処理(OLAP)とオンライン・トランザクション処理(OLTP)の両方を処理できます。作成- 読取り- 更新- 削除(CRUD)操作にはPostgreSQLを使用できます。
空間データは、空間データベース・エクステンダであるPostGISとともに使用できます。PostgreSQLは、SQLおよび空間データ分析で地理オブジェクトに対してロケーション問合せを実行するための追加サポートを提供します。PostGISは、高度に標準に準拠しており、様々な形式のジオメトリ・データを処理するための数百の関数を提供し、Quantum Geographic Information System (QGIS)とGeoServerの両方とともに使用して、ジオデータの処理を容易にします。
このチュートリアルでは、PostgreSQLを使用してオンプレミスのPostgreSQLデータベースからOracle Cloud Infrastructure (OCI)データベースにデータを移行する方法について説明します。PostgreSQLメジャー・バージョンは、バージョン番号の最初の2桁のグループ(14.9
など)で表されます。オンプレミスのあるメジャー・バージョンのPostgreSQLからpg_dump
を介してデータを移行し、別のOCIでリロードします。PostgreSQLバージョン14.9
のOCIデータベースが使用可能になったため、オンプレミスのPostgreSQLからOCIデータベースへのデータの移行をPostgreSQLでテストできます。
目的
- PostgreSQLを使用して、オンプレミスのPostgreSQLデータベースからOCIデータベースにデータを移行します。
前提条件
-
Oracle Cloudアカウント。
-
プライベート・サブネットを持つVCN。
-
要塞ホスト(コンピュート・イメージ)/Bastion-as-a-Service。
-
OCI PostgreSQLデータベース・インスタンスをプロビジョニングします。
考慮事項
-
移行プロセスではデータベース・システムでダウンタイムが発生するため、それに応じて計画する必要があります。
-
アップグレードを試行する前に、データベースの完全なスタンドアロン・バックアップを作成することをお薦めします。
-
プライベート・エンドポイントのみをサポートし、OCI PostgreSQL用にパブリックIPを作成することはできません。
ソース環境
-
データベース名:
dvdrental
-
バージョン:
PostgreSQL 13.13
ターゲット環境
-
データベース名:
dvdrental_oci
-
バージョン:
PostgreSQL 14.9
タスク1: OCIでのPostgreSQLデータベースの作成
-
OCIコンソールに移動し、「データベース」およびPostgreSQLに移動します。
-
「データベース・システムの作成」をクリックして、PostgreSQLデータベース・システムを作成します。
-
「選択作成タイプ」で、「新規データベース・システムの作成」をクリックします。
PostgreSQLバージョン14以上のみがサポートされます。
-
単一ノード・クラスタを作成しますが、
1
としてノード数を入力し、サポートされているパフォーマンス層が300k IOPS
になるようにノードを追加できます。この場合、最初のノードはプライマリとして機能し、残りのノードはレプリカまたはセカンダリノードとして機能します。 -
使用方法に従って「シェイプ」および「RAM」を変更します。
プライベート・エンドポイントをサポートしているため、PostgreSQL OCI用にパブリックIPアドレスを作成することはできません。
プロビジョニングが完了すると、プライベート・エンドポイントおよびFQDNの詳細が関連付けられている一般情報に表示されます。
前述のように、プライベート・エンドポイントのみが作成されるため、PostgreSQLに直接接続することはできません。ローカルpgAdminクライアントから接続する必要がある場合は、このエンドポイントのポート
5432
(オプション)の要塞セッションを作成し、ローカルpgAdminから接続する必要があります。OCI上のPostgreSQLデータベースに接続するために、コンピュート・インスタンスを使用できます。
-
dvdrental_oci
という名前のデータベースを作成します。
タスク2: ターゲットOCI PostgreSQLデータベース・システムでのオブジェクトとデータの転送
このタスクでは、pgAdminダンプ・ユーティリティを使用して、オンプレミスのPostgreSQLデータベースからダンプをエクスポートします。ソース・データベースのバージョンは13.13
です。
オンプレミスのPostgreSQLデータベースからダンプをエクスポートします。
ノート:ターゲット・データベースがAutonomous Data Warehouse、Oracle Database Cloud ServiceまたはOracle Databaseになる場合、OCI GoldenGateを使用して初期ロードを実行したり、OCI GoldenGateを使用してオンプレミスのPostgreSQLデータベースをOCI Database (オンライン)に移行したりすることもできます。
完了したら、ターゲット側に移動してインポートを開始します。インポートを開始する前に、次のコマンドを使用してOCIに権限を付与します。
GRANT ALL PRIVILAGES ON DATABASE dvdrental_oci to postgres;
オンプレミスのPostgreSQLデータベースからコピーしたデータをこのOCIデータベースにロードする必要があります。
タスク3: 転送されたデータベース・オブジェクトとデータの検証
インポートしたら、転送されたデータベース・オブジェクトとデータをターゲットOCI PostgreSQLデータベース・システムで検証して、移行が成功し、問題や相違がないことを確認します。
関連リンク
確認
- 著者 - Aditya Kumar Srivastawa (プリンシパル・クラウド・アーキテクト)
その他の学習リソース
docs.oracle.com/learnの他のラボをご覧いただくか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。
製品ドキュメントは、Oracle Help Centerを参照してください。
Migrate Data from On-premises PostgreSQL Database to OCI Database with PostgreSQL
F91901-01
January 2024
Copyright © 2024, Oracle and/or its affiliates.