はじめに
Oracle Cloud Infrastructure 2021 Enterprise Workloads Associate の取得を目指して勉強したメモです。
この認定試験は、Oracle MWをOCI上に移行する際の知識を求められます。
ちなみに、日本語で試験を受けられますが、微妙な日本語が多かったです。
Database
Migration tool概要
ZDM | MV2ADB | Plug/unplug | RMAN | Data Pump | |
---|---|---|---|---|---|
概要 | フォールバック機能を備えた堅牢で柔軟な移行を提供 | 任意のOracle DBからAutonomusDBへの移行 | シングルテナントからマルチテナントへの移行 | ネイティブDB構造をサポートする物理的な移行 | DB構造の論理的な移行。マシンのバイトオーダー形式とは無関係 |
Cross platform | 不可 | 不可? | 不可 リトルエンディアンのみ |
可 | 可 |
ダウンタイム | 不要 | 必要 | 必要 | 必要 | 必要 |
ソースDB | non-CDB:11g- CDB:12c- |
← | non-CDB:11g, 12c CDB:12c- |
non-CDB:11g- CDB:12c- |
← |
ターゲット | |||||
DBaaS | DBCS/ExaCS/ExaCC | ADW/ATP | DBCS/ExaCS/ExaCC | ← | DBCS/ExaCS/ExaCC ADW/ATP |
DB Version | 11g- | 19c | 12c, 18c, 19c | ← | ← |
※ADBに移行できるツールとして他に「SQL Developer Web」がある。
<参考>リトルエンディアンとビッグエンディアン
- リトルエンディアン
- Linux(x86/IA)
- Windows
- Solaris(x86) など
- ビッグエンディアン
- HP-UX
- AIX
- Linux(IBM Z/Power)
- Solaris(SPARC) など
Migration 実行時の制約事項
- ネットワーク帯域
- コネクティビティ
- フォールバック機能
- 移行時の停止時間
- 移行プロジェクトのリソース、人員
ZDM(Zero Downtime Migration)
- ソースとターゲットDBのバージョン/パッチレベルが同じまたは、ターゲットの方が新しい必要がある
- Linuxのみ
- 最新版はソースがAIX、Solarisにも対応
- ADW/ATPへのマイグレーションは対応していない
- 最新版は対応している
- ソースDBはシングルインスタンス、ターゲットはシングルインスタンスまたはRAC
- ソースDBはEEまたはSE
- EEはマイグレーションにData Guardを利用する
- SEはバックアップ/リストアを利用する
- non-CDBはnon-CDBとして、CDB with PDBはCDB with PDBとして移行する
- TDE(Transparent Data Encryption)ウォレットとredoログファイルは、オンプレからOCIインスタンスにコピーされる
- ソースDBはアーカイブログモードである必要がある
- 12cR2以降でソースDBのTDFが有効になっていない場合は、移行開始前にTDEウォレットを作成する
- ポート22と1521でソースとターゲット双方が疎通できる必要がある
- ExaCSの場合、自動バックアップを無効にする
- ソースとターゲットでDB名を同じにする
MV2ADB
- Data Pumpを利用して、オンプレDBからクラウドAutonomusDBへのデータ移行をワンクリックで自動化するツール
- Data PumpのExport/Importをツールで一括処理できるようにしたもの
- OLTP/OLAP Workloadに対応
- MyOracle Supportインターフェイスから利用可能(Note:2463574.1)
- ADBに直接インポートできるデータ
- CSV、AVRO、SQL Dump File、Parquet
Reference Architecture
- ソースDBにData Pumpが必要
- MV2ADBツールのほとんどはソースDBにデプロイされる
- OCIクライアント
- SQL Plusパッケージ
- MV2ADBツール
- MV2ADBツールのほとんどはソースDBにデプロイされる
- マイグレーションプロセス
- 選択したスキーマをソースDBからエクスポート
- エクスポートしたdumpファイルをOCI オブジェクトストレージにコピー
- dumpファイルをAutonomusDBにインポート
Plug/unplug
- ソースがnon-CDBでも使える
- 11gのときは、事前に12c以降へのアップグレードが必要
- non-CDBの時は、ソースDBでPDBに変換する
- Data Pump または
- RMAN Transportable Tablespace with Data Pumpで
- noncdb_to_pdb.sqlでOCIにマイグレーションする
- RMANまたはData Pumpが必要
- 裏で動いてる
Reference Architecture
- Unplug
- ソースDBでUnplugする
- .pdbファイルが作られる
- PDBデータファイルとメタデータファイルで構成される
- ソースDBでUnplugする
- Plug
- VPNを介してSCPでDBインスタンスに接続し、Plugする
- もしくは、オブジェクトストレージに.pdbファイルをコピーし、DBインスタンスにダウンロード、Plugする
RMAN(Recovery Manager)
- non-CDB to CDB
- CLIで操作
Reference Architecture
RMANのBackupはDBホストかオブジェクトストレージに保存される。
以下5つのメソッドがある。
- RMAN Cross-Platoform Transportable PDB
- ソースのオンプレDBがリトルエンディアンであり、ソースとターゲット(クラウド)のDBのキャラクターセットに互換性がある場合に使用可能
- プラグ可能なDB間での移行で使用可能
- RMAN Cross-Platoform Transportable Tablespace Backup Sets
- RMANのバックアップセット機能を利用して表領域を選択、バックアップし、外部表領域オプションを使用してターゲットDBに復元する。
- RMAN Transportable Tablespace with Data Pump
- Read Onlyモードにせずにライブ表領域を移行できる。
- 整合性を持った表領域のコピーが自動で作成され、Data Pumpを使用して、ターゲットDBにインポートできる。
- RMAN Duplicate from an Active Database
- ライブソースDBのコピーを作成できる。
- ディザスタリカバリー用のスタンバイDBの作成に使用される方法
- RMAN Convert Transportable Tablespace with Data Pump
- RMAN Transportable Tablespace with Data Pumpと似ていて、異なるエンディアンのプラットフォーム間の転送を可能にしている。
Data Pump
- エンディアン、キャラクターセットが異なっててもOK
- スキーマ全体での表領域の再マッピング、統合、データの移動などが可能
- データとメタデータの高速移動が可能
- Export/Import
- オンプレでExport
- DumpファイルをOCI上のDBインスタンスのブロックボリュームにコピー
- DumpファイルをImportし、検証
データアンロードのモード
- Scheme Mode
- デフォルトモード
- 対象のスキーマを指定
- Table Mode
- テーブルに依存するオブジェクトを指定
- Tablespase Mode
- 指定された表領域内のテーブル
- すべてのテーブルとオブジェクトを格納する論理ストレージコンテナ
- Transportable Tablespase Mode
- 指定した表領域内のテーブル、オブジェクトのメタデータのみ
- Full Export Mode
- DB全体をエクスポート
- 全体をインポートすることも、一部をインポートすることも可能
Data GuardによるDR
- Active Data Guardを使っている場合は、スタンバイ側に書き込みできる
- Data Guardを使っている場合は、スタンバイ側は読み取りのみ
WebLogic
WebLogicの構成要素、用語
- ドメイン
- 1つの管理サーバ、1つ以上の管理対象サーバの集まり
- ドメイン内にインスタンス(サーバ)が一つしかない場合、そのインスタンスが管理サーバでもあり、管理対象サーバでもある。
- 一つのコンフィグレーションファイル(config.xml)を持つ
- 管理サーバ
- コンフィグレーションファイルにアクセスできる
- ドメインの全体管理ができる
- ドメインには必ず管理サーバが1つ存在する
- 管理コンソールを使って設定ができる
- コンソールURL
- https://hostname:port/console
- デフォルトポートは「7001」
- コンソールURL
- 管理サーバがすべてのアプリケーションを持っていて、起動時に管理対象サーバに対してアプリケーションを配布する
- コンフィグレーションファイルにアクセスできる
- 管理対象サーバ
- アプリケーションが動作するサーバ
- クラスタ
- 同一のアプリケーションとリソースを持つ管理対象サーバの集まり
- インスタンス
- サーバのこと
- 管理サーバまたは管理対象サーバになる
OCIへのWebLogicのデプロイ
以下の3パターンがある。
- コンピュート(VM/BareMetal)にインストールする
- オンプレと同じ
- MarketplaceからWebLogicドメインをデプロイして、アプリケーションを移行する
- デプロイされるコンポーネント
- ドメイン
- 管理サーバ
- 管理対象サーバ
- クラスタ
- デプロイされるコンポーネント
- WebLogicドメインのDockerイメージをビルドして、OKE(Kubernetes)にデプロイする
Marketplaceの方法(上記の2番目)の詳細
ソリューションコンポーネント
- WebLogic Editions
- SE(BYOL)
- クラスタモード未対応
- EE(BYOL/UCM)
- Suite(BYOL/UCM)
- UCM:Universal Credit Model
- CPU時間ごとに請求されるライセンス料金とサポートが含まれる
- UCM:Universal Credit Model
- SE(BYOL)
- Java Required Files(JRF)
- Javaで必要なファイルタイプのドメインをデプロイするかどうか
- JRFを必要とするWebLogicデプロイメントでは、Frameworkスキーマを格納する運用DBが必要
- 運用DBは事前にプロビジョニングする必要がある
- 運用DBはATPまたはDBCSをサポートしている
- WebLogicドメインと別のVCN上の運用DBを利用する場合、ローカルピアリングで接続するオプションがある。
- 多くのカスタムアプリケーションはJRFを使用していない。この場合、運用DBは不要
- 運用DBは事前にプロビジョニングする必要がある
- Database Options
- WebLogic 12c以降の場合、ATPをサポートしている。
- JDK1.8.0_169以降が必要
- DBCS/ExaCS/ExaCCをサポート
- WebLogic 12c以降の場合、ATPをサポートしている。
- Subnet Options
- パブリックサブネットを選択する場合
- 管理サーバ/管理対象サーバがパブリックサブネットにデプロイされる
- インターネットGWを介して、インターネットから直接アクセスできる
- プライベートサブネットを選択する場合
- 管理サーバ/管理対象サーバがプライベートサブネットにデプロイされる
- Bastionホストが自動でパブリックサブネットにデプロイされる
- WebLogicドメインがプロビジョニングされた後は、Bastionホストとパブリックサブネットを削除してもよい
- この場合、VPNもしくはFastConnectからのアクセスのみとなる
- パブリックサブネットを選択する場合
- Load Balancer Options
- No Load Balancer
- Public Load Balancer
- 管理対象サーバはLB経由でインターネットからアクセスできる
- 管理サーバはLBの対象外
- Private Load Balancer
バージョン
- 11gR1/12cR1/12cR2/14c
移行方法/ツール
再デプロイとほぼ同じ
- アプリケーションを手動でOCIにアップロードして、インストール、起動する
- シングルドメイン
- アプリケーションは2,3個
- IDEをサポートしたWebLogic remote deployment
- WebLogic Pluginを追加したEclipseなど
- 開発環境に向いている。本番環境の移行には適していない
- WebLogic Scripting Tool(WLST)
- 既存のスクリプトがある場合、これがベストソリューション
- スクリプトのターゲットをOCIに変更する
- サーバ名、クラスタ名、接続するDB名などの修正も必要
- WebLogic Deploy Tooling(WDT)
- 既存のドメインを検出して、ドメインのモデルファイル(Yaml or JSON形式)を作成する
- モデルファイルを編集して、OCI上のインフラをターゲットにする
移行のステップ
- JRFドメインかNon-JRFドメインか
- JRFドメインの場合、運用DBの構築が事前に必要
- VCNとサブネット、セキュリティリストの設定が事前に必要
- Non-JRFドメインの場合、WebLogic構築のスタックでVCNなどを作成できるので、事前には不要
- JRFドメインの場合、運用DBの構築が事前に必要
Non-JRFドメインの場合
- KMSのVaultとKeyを作成し、VaultでWebLogic Admin Passwordを暗号化する
- Keyを使用してAdmin PasswordのSecretを作成する
- Marketplaceを介して、WebLogicドメインをプロビジョニングする
- 一緒にVCNとSubnetを作成する
- DBへの接続のためのセキュリティリストでTCPポート1521を許可する
- DB用のプライベートサブネットを作成し、DBをプロビジョニングする
- WebLogicアプリケーションとリソースを移行する
JRFドメインの場合
- KMSのVaultとKeyを作成し、VaultでWebLogic Admin Passwordを暗号化する
- Keyを使用してAdmin PasswordのSecretを作成する
- JRFデータベースのSYSパスワードのSecretを作成する
- 運用DBをプロビジョニングする
- VCNを作成し、WebLogicサーバのサブネットを作成する
- WebLogic Server Portを開く(Ingress:7001-7002, Egress:9071-9072)
- DBサブネットを作成し、WLSサブネットからのアクセスを許可するセキュリティリストを設定する
- Internet Gatewayを作成し、ルートテーブルを設定する
- DBをプロビジョニングする
- マーケットプレイスからWebLogicドメインをプロビジョニングする
- 「Use Existing VCN」
- 「Use Existing Subnet」
- 「Provision JRF」
- 「Database Provisioned」
を選択
- アプリケーション用DBをプロビジョニングする
- WebLogicアプリケーションとリソースを移行する
EBS(E-Business Suite)
Reference Architecture
- 基本的には、オンプレとつないでローカルネットワークにする
- Bastion経由でサーバ(VM)に接続する
- LB/Application/DBでサブネットを分ける
- セキュリティリストで各サブネット間の通信を制御
Network Architecture
- EBS Tierごとにサブネットを分ける
- Load Balancer
- Application
- Database
- 通信の要件に応じてGateway(GWY)を設定
- VPN/FastConnect経由ならDRG(推奨)
- インターネット経由ならIGW
- Load Balancerはオプション。パブリックサブネットでもプライベートサブネットでもOK
Automation Tools
EBS Images in Marketplace
- EBS Suite のイメージ
- EBS Cloud Managerのイメージもある
EBS Cloud Manager
- 自動化ソリューションの基礎
- OCI内のEBS環境のプロビジョニング、リフト&シフト、ライフサイクル管理をする
- バックアップリストア、クローン作成、DRなども
- Primary Siteがオンプレ、DRサイトがOCIのDR環境は管理できない。
- バックアップリストア、クローン作成、DRなども
- ブラウザベース
- RestAPIも使える
デプロイ方法
- Marketplaceのイメージを使用して、VMを作成する
- Cloud Manager VMとアプリケーションをIDCSに登録
- Cloud Email Delivery Serviceに登録
EBS Public Cloud Bucket
- EBSのプロビジョニングで使用するバックアップを保存するリポジトリ
EBS Cloud Backup Module
- オンプレ環境で利用するモジュール
- Backup Moduleを使用してオンプレのEBS環境からOCI用のバックアップをCloud Backetに作成する
EBSデプロイ時の役割分担
- Tenancy Administrator
- コンパートメントの設定
- Network Administrator
- ネットワーク設計とセキュリティ(VCN/Subnet/SecurityList・・)の実装
- リージョナルサブネット推奨
- ネットワーク設計とセキュリティ(VCN/Subnet/SecurityList・・)の実装
- Cloud Manager Administrator
- Cloud Managerのデプロイ
- 既存ネットワークの活用
- ネットワークプロファイルの設定
- Application Administrator
- EBS環境のプロビジョニングとメンテナンス
- ネットワークプロファイルの活用
- アプリケーション層のメンテナンス
JD Edwards
ERPソリューション
Platform ecosystem
- JDE Application versions
- JDE EnterpriseOne 9.1/9.2
- JDE World
- Database versions
- Oracle DB(Linux/AIX/HP-UX/Solaris)
- MS SQL Server
- Db2(LUW/iSeries)
- Application Server
- WebLogic
- WebSphere
- Platform/OS
- Linux
- Windows
- IBM p/i
- SPARC
Deployment pattern on OCI
Single node
- 一つのコンピュートインスタンスにDB/MWなどすべてをデプロイする
- OCIマーケットプレイスからデプロイできる
Multi-node
- JDEの各ロールをそれぞれのコンピュートインスタンスで実行する
- アプリケーション層を必要に応じてスケールアウトする
- Terraformまたは手動で構築する
Production
- JDEソフトウェアはコンピュートインスタンスにインストールする
- DBはDBCSを利用する
One Clik Provisioning
- 移行とプロビジョニングを自動化するツール
- JDE EnterpriseOne9.2以降をサポート
- 基本的にオンプレと同じ環境(OS/Platform/DB/JDE Version)をOCI上で用意できる場合に使える
- SPARC/AIX/Solarisなどをオンプレで使っていたら使えない。
- FromとToでプラットフォームが違う場合必要なこと
- FromのカスタマイズをOCI上で使えるようにする
- データ変換
- DB ライセンス
役割分担
- インフラアーキテクト
- OCIリソースのプロビジョニング
- 自動化ツールとしてTerraformとサンプルスクリプトがOracleから提供されている。
- サブネット、セキュリティリスト、ストレージ、コンピュート、DB、など
- JD Edwards Administrator
- One Click Provisioning Toolを使用して、JDEをデプロイする
Reference Architecture
PeopleSoft
HRMS(人事管理システム)、CRM、EPM(企業パフォーマンス管理)、学生管理など
PeopleSoft Cloud Manager
- 自動プロビジョニング、自動管理、自動運用を提供するOCI専用ツール
- オンデマンドスケーリング
- OCIへのマイグレーション
- テンプレートからのプロビジョニング
- アプリケーションのライフサイクル管理
- marketplaceからPeopleSoft Cloud Managerをデプロイする。以下が必要
- テナンシーへの管理者ユーザアクセス権が必要
- MyOracleSupport(MOS)
- CloudManagerの構成、デプロイメントキットのダウンロード、アプリのメンテナンス、パッチの自動ダウンロード
- SSHキー
Migraion to OCI
- PeopleSoft Cloud Managerのリフトユーティリティを使用して、アプリケーションデータとOracle DatabaseをDPK形式にアーカイブして、オブジェクトストレージにアップロードする。
- リフトユーティリティはアプリケーション層とデータベース層を個別にDPK形式にする
- ホットバックアップ
- Oracle DB Cloudバックアップモジュールを使用して、RMANでバックアップ
- コールドバックアップ
- PDBのコールドバックアップ機能
- PeopleSoft Cloud ManagerがDPKをダウンロードしてOCI上にデプロイする
- すべてのライセンス、カスタマイズ、拡張機能をそのままにOCI上にマイグレーションできる
Reference Architecture
-
アプリケーション層
- PeopleSoftアプリケーションサーバ
- Human Capital Management
- Financial Management
- Inventory Management
- Procurement
- Campus Solution
- Webサーバ
- Elasticsearch
- PeopleSoftプロセススケジューラ
- PeopleSoftアプリケーションサーバ
-
DB層
- DBインスタンス
- 2ノードRACまたはExadata推奨
- バックアップはRMANでオブジェクトストレージに取る
- DBインスタンス
Siebel
CRMソリューション
Reference Architecture
-
DB層
- 利用可能なDB
- コンピュートインスタンスにDBを構築
- DBCS
- ADB
- RMANを使ってオブジェクトストレージにバックアップ
- 利用可能なDB
-
Siebel Management Console
- OCI Console
- Oracle Enterprise Manager
- Oracle Management Cloud の3つと連携する
Migration to OCI
- Siebel層のイメージスナップショットを作成する
- DBをExportする
- OCI上でAIサーバ、アプリケーションサーバ用のインスタンスを作成する
- マーケットプレイスから
- オンプレと同様にe-deliveryを使用して
- Dockerで
- DBインスタンスを作成する
- DBCS or ADB or コンピュートインスタンスにDBを構築
- Siebelスナップショット、DBファイルをOCI上にコピーして復元する
Hyperion
Enterprise Performance Management
- EBSやPeopleSoftと一緒に使われることが多く、DBを共用していることが多い。
- Oracle Hyperion Financial Management
- 財務の統合レポートを提供
- Oracle Hyperion Planning
- 財務計画プロセスと業務計画プロセスを統合する、Microsoft ExcelおよびWebベースの一元化された計画策定、予算管理、予測管理のソリューション
- Oracle Essbase
- OLAP(オンライン分析処理)サーバー
- カスタム分析アプリケーションや企業パフォーマンス管理アプリケーションを開発する環境を提供
Reference Architecture
- アプリ層で共有ファイルシステムを共有
- DB層で共有DBを共有
- Essbaseはアプリ層にある
- Financial ManagementとPlanningは独立して実行できる
Deploy
- TerraformスクリプトはGithubから入手できる
- OCIのリソースマネージャから実行する
Datawarehouse Analytics Solutions
Solution Blueprint
Data sources
- 構造化データ
- Oracle DBなどのRDB
- 半構造化データ
- MongoDB、JSONなどのNoSQLデータベース
- 非構造化データ
- オブジェクトストレージのデータなど
ETL tools
OCIで利用できるETLツール
- Validated(マーケットプレイスから使える)
- GoldenGate
- リアルタイムレプリケーションと統合
- 変換データのキャプチャと配信
- Rest経由の自動プロビジョニングに対応
- データ抽出が異常終了した場合、処理を再起動するとチェックポイントファイルを読み込んでトランザクションをリカバリする。基本的には中断したところからリスタートする
- チェックポイントはコミットマークのついたトランザクションをすべてキャプチャし、一度だけキャプチャされる
- Oracle Data Integrator(ODI)
- バッチ、イベントドリブンなど様々な要件をカバーするデータ統合プラットフォーム
- マーケットプレイスのODIは、ADWへのデータ移行を簡単にする
- GoldenGate
- Supported
- SAS
- Microstrategy
- Informatica
- Talend
Data Management
- Autonomous Data Warehouse
- インスタンスがスケールする際、アクティブなトランザクションは一時停止する
Analytics tools
- Validated
- Data Visualization Desktop
- ユーザごとにデータの探索と視覚化を実施
- 複数のソースからサンプルデータを抽出したり、独自のローカルデータセットを分析、調査するためのツール
- Oracle Analytics Cloud(OAC)
- 包括的な分析プラットフォーム
- Tableau
- Power BI
- Data Visualization Desktop
- Supported
- SAS
- Microstrategy
- looker など
Architecture
- オンプレのOracle DBからADWにデータを取り込み、OACで分析、可視化する。
- ETLツールとしてGoldenGateを使用する
- オンプレのデータを複製、加工して、ADWにデータを流す
- ADW
- プライベートエンドポイントを持つVCNにプロビジョニング
- Remote Data Gateway
- プライベートサブネットのコンピュートにインストールされる
- OACとADWのプライベートエンドポイント間の接続フローが可能になる
- Analytics ToolをOACではなく、お客様環境にあるTableauなどを使う場合は、不要
- TableauはVPN、FastConnectなどでOCIとつなぐ
- プライベートサブネットのコンピュートにインストールされる
結果
一回目はAssociateだから簡単だろうと油断していたら50%で不合格。二回目は96%で合格できました。