復元
Parent page: Oracleバックエンドを使用するAltium On-Prem Enterprise Server
本ドキュメントは、Enterprise Server が Oracle Database バックエンドを使用している環境で、Altium On-Prem Enterprise Server のデータを復元するIT管理者を対象としています。Enterprise Server の概要、Oracle 利用を前提とした復元手順、システム要件に関する重要情報、ならびに Microsoft Windows プラットフォーム上でのデータ復元例を記載しています。
復元プロセスの概要
Oracle バックエンドを使用して Enterprise Server を復元する方法は、貴社が Oracle Database をどのように運用しているかに依存します。Windows Server OS 上で Oracle Database を稼働させている企業もあれば、Oracle 専用のデータセンターを保有している企業もあります。復元プロセスは通常、次の画像に示す3つのステップで構成されます。
Enterprise Server と Oracle データベースの復元手順のハイレベル概要。
本ドキュメント全体での前提条件
Oracle の構成はサイトごとに異なり得ますが、本ドキュメントでは以下を前提とします。
- ドキュメント Backing up Altium On-Prem Enterprise Server with an Oracle Backend に記載のとおり、Enterprise Server データのフルバックアップおよび関連する Oracle データダンプが実施済みであること。
- 復元は IT 管理者が実施すること。少なくとも、Enterprise Server の復元を行うユーザーはホストマシンに対する管理者権限を持っている必要があります。
- Oracle データのインポートを実施するために、データベース管理者(DBA)が立ち会うこと。少なくとも、本ガイドに従うユーザーは、社内 Oracle データベースをインポートおよび変更できる完全な読み書き権限を持っている必要があります。
- 本ガイドは、Oracle バックエンドで構成され、動作している Enterprise Server の既存インストールがあることを前提とします。(新しいマシンに新規で Enterprise Server を展開し、そのインスタンスへデータをインポートする環境の扱いについては、example section を参照してください。)
- ソース側と宛先側の Oracle サーバーで使用する Oracle Schema および Oracle アプリケーション資格情報は同一である必要があります。
Enterprise Server アーキテクチャのハイレベル概要
Microsoft Windows 上で動作する他のソフトウェアと同様に、Enterprise Server はマルチスレッド・マルチサービスのサーバーアプリケーションです。本ドキュメントは Oracle Database と連携し得る Enterprise Server の部分のみに焦点を当てているため、以下の図は Enterprise Server のバックエンドアーキテクチャ全体を表すよう簡略化しています。
Enterprise Server アーキテクチャのハイレベル概要。Enterprise Server の Backend Storages には顧客のバイナリデータの大半が含まれ、Windows Services は支援サービス群の集合です。
本ドキュメントは Backend Storages に焦点を当てます。というのも、このブロック内のデータがバックアップされ、別マシンへ移行される可能性があり、その後同一または別マシンへ復元されるためです。Backend Storages には次の項目があります。
- Databases – コンポーネントのフットプリントと回路図シンボルの関連付け、パラメータ、ファイルパス、コンポーネントのサプライチェーンデータソースへのリンクなどのメタデータを含みます。これらの情報は Firebird または Oracle データベース内に存在する場合があります。
- File Storage – この File Storage 領域は、Enterprise Server の VCS リポジトリ内にバイナリデータを保持します。このバイナリデータには、PCB および回路図プロジェクト文書、フットプリント、シンボル、Draftsman、その他の Enterprise Server ネイティブ/非ネイティブ文書などが含まれます。
Altium Restore Tool のハイレベル概要
Altium の復元ツールは avbackup.exe と呼ばれます。これは Enterprise Server のバックアップ/復元に使用する同一ユーティリティです。IT 管理者が Enterprise Server データを復元するために実行できるコマンドラインユーティリティです。avbackup.exe は、Enterprise Server が既定の Firebird データベースバックエンドで構成されている場合、または Oracle データベースをバックエンドとして使用している場合のいずれでも、復元用途に使用される同一ユーティリティです。
Oracle Database を使用する Enterprise Server 実装で avbackup.exe を使用する場合、管理者は次の点に注意してください。
- avbackup.exe は、Enterprise Server のメタデータを Oracle Database へ復元することを NOT サポートしません。この機能は、Enterprise Server Installer により元々自動構成された Firebird データベースバックエンドを使用する Enterprise Server 実装でのみ動作します。
- avbackup.exe は、バックアップツールとして使用した際に生成される Zip ファイルを受け取ります。この Zip ファイルには Enterprise Server の全バイナリデータが含まれます。
- Enterprise Server は稼働している必要があります。avbackup.exe はデータ復元中に、すべての Enterprise Server サービス(IIS サービスを含む)を自動的に停止し、復元が成功した後に停止したすべてのサービスを再起動します。
Windows プラットフォーム上で Oracle バックエンドを使用した Enterprise Server データ復元の例
この例では、専任の Oracle Database Administrator(DBA)がいない可能性のある中小企業でも、ネットワーク上で Enterprise Server と関連する Oracle データを復元する必要があるケースを想定した手順も含めています。以下の手順は、Enterprise Server と関連する Oracle データベースの基本バックアップを、新しいマシンおよび Oracle データベースへ復元する方法を示します。
必要なもの
- Oracle バックエンドで動作している Enterprise Server の既存インスタンス。
- 既存のフォルダおよびデータソース:
- Enterprise Server と Oracle データを配置するフォルダは事前に作成されている必要があり、Enterprise Server のバックアップ zip ファイルと Oracle .DMP ファイルのコピーを含んでいる必要があります。
- Enterprise Server ホストマシンへの管理者アクセス。Enterprise Server のバックアップコマンドユーティリティ(avbackup.exe)を適切に実行するために必要です。
- Oracle サーバーへの適切な DBA アクセス(例:Windows 環境ではユーザーの Windows アカウントを
sysDBAロールに追加)。
復元手順
- Oracle バックエンドの Enterprise Server 既存インスタンスが未構築の場合は、ドキュメント Installing Altium On-Prem Enterprise Server with an Oracle Backend を読み、新しいマシンで Oracle バックエンドを使用して Enterprise Server をセットアップする例を参照してください。
- この時点で、Oracle を使用する Enterprise Server の既存インスタンスがすでに存在しているはずです(新規インストールまたは以前のインストールによるもの)。
- Enterprise Server ホストマシン上で:
- 復元用フォルダを作成します(共通のファイルパスにすると便利です。例:C:\Backups)。Enterprise Server のバックアップ Zip ファイルをこのフォルダに配置します。
- avbackup.exe ツールを管理者として実行し、Enterprise Server データを復元します。ツールは C:\Program Files (x86)\Altium\Altium NEXUS Server\Tools\BackupTool フォルダにあります。
- IIS の Enterprise Server サービスを停止するか、Enterprise Server ホストマシンをシャットダウンします。これにより、Enterprise Server サービスが Oracle Database に意図しない書き込みを行うことを防止できます。
- Oracle Database ホストマシン上で:
- 復元用フォルダを作成し、Oracle
.dmpファイルをこのフォルダに配置します(共通のファイルパスにすると便利です。例:C:\Backups)。 - Oracle データベースから既存のスキーマおよびユーザーアカウントを削除(drop/delete)します。
- 復元用フォルダを作成し、Oracle
Oracle のユーザーアカウントと関連スキーマの削除(drop)は次のように実行できます。この例では、Microsoft Windows 上の Oracle Database から既存ユーザーアカウント ANSUSER313 と関連スキーマを削除します。
- 管理者権限でコマンドプロンプトを起動します。
- Oracle マシンに IIS サービスが存在する場合は、コマンド net stop WAS で停止し、Y を押して Enter を押します。
- SqlPlus セッションを起動して Oracle DB に接続します:
sqlplus / as sysdba
shutdown immediate;
startup restrict;
- Enterprise Server に関連付けられたスキーマを削除します(この例では ANSUSER313 が削除したいスキーマ名です):
drop user ANSUSER313 cascade;
- マシンを再起動するか、次のコマンドを使用して、通常どおり DB を再アクティブ化します:
shutdown immediate;
startup;
- Oracle サーバー上に同一スキーマを作成し、昇格権限を付与します:
- 管理者としてコマンドラインを開き、次を入力します:
sqlplus / as sysdba;
CREATE user ANSUSER313 identified by “Altium”;
GRANT ALL PRIVILEGES TO ANSUSER313;
GRANT IMP_FULL_DATABASE TO ANSUSER313;
- または、以下に示すように、このユーザーに一時的に DBA ロールを付与してファイルをインポートし、その後この権限を取り消すこともできます。
GRANT DBA TO ANSUSER313;
- DB のインポートが成功したら、DBA 権限を取り消します:
revoke DBA from ANSUSER313;
- Oracle データを復元します(このセクションでは、ユーザーアカウントとスキーマの両方の名前が ANSUSER313、パスワードが Altium であることを前提とします):
- 管理者権限でコマンドプロンプトを起動します
- コマンドを使用して IIS Servers を停止します:
net stop WAS
- Oracle データをインポートします。インポートコマンドの例は次のとおりです:
imp ANSUSER313/Altium@xe file=c:\Backups\ANSUSER313.dmp log=c:\Backups\ANSUSER313_import.log fromuser=ANSUSER313 touser=ANSUSER313
ここで、
ANSUSER313 – スキーマに対する完全権限と、DB へアクセスする権限を持つユーザー。
Altium – Enterprise Server に関連付けられた Oracle ユーザーアカウントのパスワード。
xe – tnsnames.ora に含まれるターゲット DB のネットワークサービス名。
file = c:\Backups\ANSUSER313.dmp – バックアップの場所。
log = c:\Backups\ANSUSER313_import.log – 復元ログ(任意)。
fromuser=ANSUSER313 – バックアップスキーマの所有者。
touser=ANSUSER313 – スキーマの新しい所有者(所有者が異なる場合、適切な権限とロールを持つ新しいユーザーを作成する必要があります)。
- データ整合性を検証します。
- tnsname.oraファイルを確認してください(DBサーバーを変更した場合は、ネットワークサービス名を更新する必要があります)。
- IISサーバー設定を検証してください。IIS Manager のバインディングにある「Host name」列が最新になっているか確認します。ここには、Enterprise Server の現在の完全修飾ドメイン名(FQDN)が設定されている必要があります。
- C:\Program Files (x86)\Altium\Altium NEXUS Server\LocalVault.iniファイル内の以下パラメータの値を確認してください。
- Domain – ドメイン名。
- WebsiteDomain – Enterprise Server の FQDN。
- DataSourceType=Oracle – Oracle DB を使用している場合。
- User=ANSUSER313 – スキーマの所有者。
- Password=Altium – DBA が定義したユーザーパスワード。
- DBLocation=FQDNまたはip_address:1521 – DBサーバーのアドレス。
- DatabaseName=xe – tnsnames.oraに含まれる、DB の現在のネットワークサービス名。
結論
上記の例には Oracle Database の接続および操作に関する追加の詳細が含まれていますが、Enterprise Server のデータを復元するための重要な手順は次の3つだけです。
- 手順1:IIS サービスと Enterprise Server の IIS アプリケーションプールを停止します。
- 手順2:Enterprise Server データを復元します。
- 手順3:Enterprise Server に関連付けられた Oracle データを復元します。
記載された順序でこの手順を実行することで、Oracle データベースと Enterprise Server のバイナリデータの不一致によるデータ破損の可能性を大幅に低減できます。