Oracleバックエンドを使用したAltium On-Prem Enterprise Serverの復元

 

Parent page: Oracleバックエンドを使用するAltium On-Prem Enterprise Server

本ドキュメントは、Enterprise Server が Oracle Database バックエンドを使用している環境で、Altium On-Prem Enterprise Server のデータを復元する IT 管理者を対象としています。Enterprise Server の概要、Oracle を使用する前提での復元手順、システム要件に関する重要情報、ならびに Microsoft Windows プラットフォーム上でのデータ復元例を記載しています。

本ガイドに従うには、Oracle データベースの概念と Windows オペレーティングシステム環境について一般的な理解が必要です。Enterprise Server と関連する Oracle データのバックアップ方法の詳細は、Backing up Altium On-Prem Enterprise Server with an Oracle Backend を参照してください。

復元プロセスの概要

Oracle バックエンドを使用して Enterprise Server を復元する方法は、貴社が Oracle Database をどのように運用しているかに依存します。Windows Server OS 上で Oracle Database を稼働させている企業もあれば、Oracle 専用のデータセンターを運用している企業もあります。復元プロセスは通常、次の画像に示す 3 つのステップで構成されます。

手順は、提示されている順序どおりに実行することが重要です。

Enterprise Server と Oracle データベースの復元手順のハイレベル概要。Enterprise Server と Oracle データベースの復元手順のハイレベル概要。

本ドキュメント全体での前提条件

Oracle の構成はサイトごとに異なり得ますが、本ドキュメントでは以下を前提とします。

  1. Backing up Altium On-Prem Enterprise Server with an Oracle Backend に記載のとおり、Enterprise Server データのフルバックアップおよび関連する Oracle データダンプが実施済みであること。
  2. 復元は IT 管理者が実施すること。最低限、Enterprise Server の復元を行うユーザーはホストマシンに対する管理者権限を持っている必要があります。
  3. Oracle データのインポートを実施するために、Database Administrator(DBA)が同席していることが望まれます。最低限、本ガイドを実行するユーザーは、社内 Oracle データベースをインポートおよび変更できる完全な読み取り/書き込み権限を持っている必要があります。
  4. 本ガイドは、Oracle バックエンドで構成され、動作している Enterprise Server の既存インストールがあることを前提とします。(新しいマシンに新規で Enterprise Server を展開し、そのインスタンスへデータをインポートする環境の扱いについては、example section を参照してください。)
  5. ソース側と宛先側の Oracle サーバーで使用する Oracle Schema および Oracle アプリケーション資格情報は同一である必要があります。

Enterprise Server アーキテクチャのハイレベル概要

Microsoft Windows 上で動作する他のソフトウェアと同様に、Enterprise Server はマルチスレッド・マルチサービスのサーバーアプリケーションです。本ドキュメントは Oracle Database と連携し得る Enterprise Server の部分にのみ焦点を当てているため、次の図は Enterprise Server のバックエンドアーキテクチャ全体を表すよう簡略化しています。

Enterprise Server アーキテクチャのハイレベル概要。Enterprise Server の Backend Storages には顧客のバイナリデータの大半が含まれ、Windows Services は支援サービス群の集合です。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.exeavbackup.exe は、Enterprise Server が既定の Firebird データベースバックエンドで構成されている場合、または Oracle データベースをバックエンドとして使用している場合のいずれでも、復元用途に使用される同一ユーティリティです。

Oracle Database を使用する Enterprise Server 実装で avbackup.exe を使用する場合、管理者は次の点に注意してください。

  1. avbackup.exeNOT は、Enterprise Server のメタデータを Oracle Database に復元することをサポートしません。この機能は、Enterprise Server Installer により元々自動構成された Firebird データベースバックエンドを使用する Enterprise Server 実装でのみ動作します。
  2. avbackup.exeバックアップツールとして使用した際に生成される Zip ファイルを受け付けます。この Zip ファイルには Enterprise Server のすべてのバイナリデータが含まれます。
  3. Enterprise Server は稼働している必要があります。avbackup.exeavbackup.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 19c をサポートします。
また、より高度な IT 管理者であれば、以下の手順を自動実行するバッチファイルを作成することもできます。

必要なもの

  • Oracle バックエンドを使用する、事前に動作している Enterprise Server インスタンス。
  • 既存のフォルダおよびデータソース:
    • Enterprise Server と Oracle データを配置するフォルダは事前に存在している必要があり、Enterprise Server のバックアップ zip ファイルと Oracle の .DMP ファイルのコピーを含んでいる必要があります。
  • Enterprise Server ホストマシンへの管理者アクセス。Enterprise Server のバックアップコマンドユーティリティ(avbackup.exe)を適切に実行するために必要です。
  • Oracle サーバーに対する適切な DBA アクセス(例:Windows 環境ではユーザーの Windows アカウントを sysDBA ロールに追加)。

復元手順

  1. Oracle バックエンドを使用する Enterprise Server の既存インスタンスが未構築の場合は、新しいマシンで Oracle バックエンドを使用して Enterprise Server をセットアップする例として、Installing Altium On-Prem Enterprise Server with an Oracle Backend を参照してください。
  2. この時点で、Oracle を使用する Enterprise Server の既存インスタンスがすでに存在しているはずです(新規インストールまたは以前のインストールによるもの)。
  3. Enterprise Server ホストマシン上で:
    1. 復元用フォルダを作成します(共通のファイルパスにすると便利です。例:C:\Backups)。Enterprise Server のバックアップ Zip ファイルをこのフォルダに配置します。
    2. 管理者として avbackup.exe ツールを実行し、Enterprise Server データを復元します。ツールは C:\Program Files (x86)\Altium\Altium365\Tools\BackupTool フォルダにあります。
    3. IIS の Enterprise Server サービスを停止するか、Enterprise Server ホストマシンをシャットダウンします。これにより、Enterprise Server サービスによる Oracle Database への意図しない書き込み操作を防止できます。
復元ツールの使用方法の詳細は、Backing up Altium On-Prem Enterprise Server with an Oracle Backend を参照してください。

復元コマンド例:

  • バックアップツールのディレクトリへ移動するコマンドライン: cd C:\Program Files (x86)\Altium\Altium365\Tools\BackupTool\
  • C:\Backups フォルダに保存されている Q2_Backup.zip という名前のファイルから Enterprise Server データを復元するコマンドライン: avbackup restore -z "C:\Backups\Q2_Backup.zip" -i "C:\Program Files (x86)\Altium\Altium365\LocalVault.ini"
  1. Oracle Database ホストマシン上で:
    1. 復元用フォルダを作成し、Oracle の .dmp ファイルをこのフォルダに配置します(共通のファイルパスにすると便利です。例:C:\Backups)。
    2. Oracle データベースから既存のスキーマおよびユーザーアカウントを削除(drop/delete)します。
Enterprise Server はインストール時に内部の SYSTEM 変数やその他の Enterprise Server パラメータを初期化し、その情報を Oracle データベースへ書き込みます。これは Enterprise Server の完全な新規インストール時にのみ発生し、アップグレード時には発生しません。SYSTEM 変数やその他の Enterprise Server パラメータは旧/新の Enterprise Server インストール間で変更されている可能性があるため、Oracle データベースから既存のユーザーアカウント、スキーマ、およびそのデータを削除(drop)し、少なくともソース側 Oracle データベースで Enterprise Server に割り当てられていたアカウントと同じ名前の新しいユーザーアカウントを作成する方がはるかに簡単です。.dmp ファイルを Oracle データベースへインポートすると、インポートされた SYSTEM 変数および Enterprise Server パラメータは、Enterprise Server バックアップ Zip ファイル内に格納されているものと一致します。

Oracle のユーザーアカウントと、それに関連付くスキーマを drop する方法は次のとおりです。この例では、Microsoft Windows 上の Oracle Database から既存ユーザーアカウント AESUSER313 と関連スキーマを drop します。

  1. 管理者権限でコマンドプロンプトを起動します。
  2. Oracle マシン上に IIS サービスが存在する場合は、コマンド net stop WAS を使用して停止し、Y を押して Enter を押します。
  3. SqlPlus セッションを起動して Oracle DB に接続します:

sqlplus / as sysdba

shutdown immediate;

startup restrict;

  1. Enterprise Server に関連付くスキーマを drop します(この例では、削除したいスキーマ名は AESUSER313 です):

drop user AESUSER313 cascade;

  1. マシンを再起動するか、次のコマンドを使用して、DB を通常どおり再アクティブ化します:

shutdown immediate;

startup;

  1. Oracle サーバー上に同一のスキーマを作成し、昇格権限を付与します:
    1. 管理者としてコマンドラインを開き、次を入力します:

sqlplus / as sysdba;

CREATE user AESUSER313 identified by “Altium”;

GRANT ALL PRIVILEGES TO AESUSER313;

GRANT IMP_FULL_DATABASE TO AESUSER313;

  1. または、以下に示すように、このユーザーへ一時的に DBA ロールを付与し、ファイルをインポートした後にこの権限を取り消すこともできます。

GRANT DBA TO AESUSER313;

  1. DB のインポートが成功したら、DBA 権限を取り消します:

revoke DBA from AESUSER313;

  1. Oracle データを復元します(このセクションでは、ユーザーアカウントとスキーマはいずれも AESUSER313 で、パスワードは Altium であると仮定します):
    1. 管理者権限でコマンドプロンプトを起動します
    2. IIS Servers を停止するには次のコマンドを使用します:

net stop WAS

  1. Oracle データをインポートします。インポートコマンドの例は次のとおりです:

imp AESUSER313/Altium@xe file=c:\Backups\AESUSER313.dmp log=c:\Backups\AESUSER313_import.log fromuser=AESUSER313 touser=AESUSER313

ここで、

AESUSER313 – スキーマに対するフル権限と DB へアクセスする権限を持つユーザー。

Altium – Enterprise Server に関連付く Oracle ユーザーアカウントのパスワード。

xetnsnames.ora に含まれるターゲット DB のネットワークサービス名。

file = c:\Backups\AESUSER313.dmp – バックアップの場所。

log = c:\Backups\AESUSER313_import.log – 復元ログ(任意)。

fromuser=AESUSER313 – バックアップスキーマの所有者。

touser=AESUSER313 – スキーマの新しい所有者(所有者が異なる場合、適切な権限とロールを持つ新しいユーザーを作成する必要があります)。

  1. データ整合性を検証します。
    1. tnsname.oraファイルを確認してください。DBサーバーを変更した場合は、ネットワークサービス名を更新する必要があります。
    2. IISサーバー設定を検証してください。IIS Manager のバインディングにある「Host name」列が最新になっているか確認します。ここには、Enterprise Server の現在の完全修飾ドメイン名(FQDN)が設定されている必要があります。
    3. C:\Program Files (x86)\Altium\Altium365\LocalVault.iniファイル内の以下パラメータの値を確認してください。
      1. Domain – ドメイン名。
      2. WebsiteDomain – Enterprise Server の FQDN。
      3. DataSourceType=Oracle – Oracle DB を使用している場合。
      4. User=AESUSER313 – スキーマ所有者。
      5. Password=Altium – DBA が定義したユーザーパスワード。
      6. DBLocation=FQDNまたはip_address:1521 – DBサーバーのアドレス。
      7. DatabaseName=xetnsnames.oraに含まれる、DB の現在のネットワークサービス名。

結論

上記の例には Oracle Database の接続および操作に関する追加の詳細が含まれていますが、Enterprise Server のデータを復元するための重要な手順は次の3つだけです。

  1. 手順1:IIS サービスおよび Enterprise Server の IIS アプリケーションプールを停止します。
  2. 手順2:Enterprise Server データを復元します。
  3. 手順3:Enterprise Server に関連付けられた Oracle データを復元します。

記載された順序でこの手順を実行することで、Oracle データベースと Enterprise Server のバイナリデータの不一致によるデータ破損の可能性を大幅に低減できます。

DBA は、インポートするメタデータの表領域(tablespace)を、Enterprise Server の Oracle DB アカウントに割り当てられたスキーマへ再マップする必要がある場合があります。そうしないと Oracle DB のインポートが動作しないことがあります。特に、Oracle DB バックアップの生成に IMP/EXP ではなく IMPDP/EXPDP コマンドを使用した場合は注意してください。

例:

  1. ディレクトリ参照を作成します。これは HDD 上に物理フォルダを作成するものではなく、Oracle のメモリ上でそのフォルダを指すポインタに過ぎません。まず HDD 上に該当フォルダを手動で作成し、そのパスを下の FOLDERPATH プレースホルダーにコピーしてください。
    1. CREATE OR REPLACE DIRECTORY MyDirectoryName AS 'FOLDERPATH’;
  2. drop user ALTIUM cascade;
  3. create user ALTIUM identified by PASSWORD;
  4. grant DBA to ALTIUM;
  5. grant connect, resource, create session to ALTIUM;
  6. impdp ALTIUM/PASSWORD@XE full=y directory=MyDirectoryName dumpfile=DMPFILENAME.DMP logfile=LOGFILENAME.log remap_tablespace=ALTIUM:USERS
AI-LocalizedAI で翻訳
問題が見つかった場合、文字/画像を選択し、Ctrl + Enter キーを押してフィードバックをお送りください。
Content