この付録では、バージョン対応表を、Workspace Managerのあるリリースから別のリリースに移行する方法について説明します。現行のリリースへのアップグレード、または以前のメジャー・リリース(リリース1(9.0.1)以上)へのダウングレードが可能です。次に例を示します。
以前のリリース(9.0.1.0.0以上)のOracle Workspace Managerでバージョン対応表を使用していた場合は、リリース1(11.1)にアップグレードすると、既存の作業を保持し、リリース1(11.1)で作業を継続できます。(リリース1(11.1)より前のOracle Workspace Managerは、リリース8.1.6.0.0以上のOracleデータベースにもインストールされていることに注意してください。)
Oracle Database 11gでWorkspace Managerを使用しているが、Oracle10gリリース2(10.2)またはリリース1(10.1)に戻る必要がある場合は、それぞれのリリースにダウングレードすると、既存の作業を保持し、ダウングレード後のリリースで作業を継続できます。
アップグレードまたはダウングレードのいずれを実行しても、表はバージョン対応のまま残ります。アップグレードまたはダウングレードを実行する前に、バージョニングを使用禁止にする必要はありません。
Workspace Managerを以前のリリースから特定のメジャー・リリースの現行最上位リリース番号に更新するには、更新するリリースの適切なパッチセットがあることを確認してください。最新のパッチセットはOracle MetaLinkで入手できます。アップグレードの手順は、次のとおりです。
システム・プロンプトで、アップグレードするリリースのインストール・ディレクトリに移動します。現行のOracle Database 11g インストールに含まれているWorkspace Managerリリースにアップグレードする場合は、$ORACLE_HOME/rdbms/adminに移動します。
SQL*Plusを起動します。
SYSDBA権限を持つユーザーとして、データベース・インスタンスに接続します。
インスタンスを停止します。
SQL> SHUTDOWN IMMEDIATE
インスタンスをRESTRICTモードで起動します。
SQL> STARTUP RESTRICT
WM_INSTALLATIONビューのOWM_VERSION値を調べて、Workspace Managerソフトウェアの現行のリリース番号を確認します。
SQL> SELECT * FROM wm_installation;
OWM_VERSION値がNOT_INSTALLEDの場合、Workspace Managerは現在インストールされていません。
OWM_VERSION値がBETA_RELEASEの場合、アップグレードはサポートされていません。すべてのバージョン対応表に対してDisableVersioningを使用し、以前のリリースのアンインストール・スクリプトを使用して、以前のリリースのWorkspace Managerをアンインストールし、現行のリリースのWorkspace Managerソフトウェアをインストールします。
WM_INSTALLATIONビューが存在しない場合は、次のスクリプトを実行して、ビューを作成します。
SQL> @owmcmdv.plb
正常に実行されたかどうかを後で確認するために、結果をログ・ファイルにスプールするようにシステムを設定します。次に例を示します。
SQL> SPOOL catoutowmu.log
owmupgrd.plbアップグレード・スクリプトを実行します。
SQL> @owmupgrd.plb
アップグレードが正常に実行されたかどうかを確認します。
SELECT * FROM all_wm_vt_errors;
このビューは、空である必要があり、行が含まれている場合、アップグレードは正常に実行されません。アップグレードが正常に実行されなかったために、一貫性のない状態のままになっている1つ以上の表をリカバリするには、RecoverAllMigratingTablesプロシージャまたはRecoverAllMigratingTablesプロシージャを使用します(これらのプロシージャについては、第4章を参照)。
Workspace Managerの現行バージョンを確認します。
SELECT * FROM wm_installation;
OWM_VERSIONの値が、Workspace Managerの新しいバージョンです。
ログ・ファイルへのスクリプト結果のスプールをオフにします。
SQL> SPOOL OFF
インスタンスのRESTRICTED SESSION機能を使用禁止にします。
SQL> ALTER SYSTEM DISABLE RESTRICTED SESSION;
まれにダウングレードが必要な場合を除いて、ダウングレードをしないでください。以前のリリースにダウングレードする場合、中間のリリースでなされた不具合の修正および機能拡張の利点を使用できなくなります。
現行リリースのWorkspace Managerから以前のメジャー・リリースにダウングレードするには、ダウングレードするリリースの適切なパッチセットがあることを確認してくだだい。最新のWorkspace ManagerパッチセットはOracle MetaLinkで入手できます。ダウングレードのサポート対象は次のとおりです。
同じメジャー・バージョンの基本リリースへのダウングレード(たとえば、Workspace Manager 9.2.0.xからWorkspace Manager 9.2.0.1へ)。基本リリース以外のリリースへダウングレードする必要がある場合、まず基本リリースへダウングレードしてから目的のリリース番号へアップグレードする必要があります。
以前のメジャー・バージョンの基本リリースへのダウングレード(たとえば、Workspace Manager 10.1.0からWorkspace Manager 9.2.0.1へ)。
Workspace Managerのダウングレードの手順は、次のとおりです。(主な手順では適切な.sqlおよび.plbファイルが実行されています。)
インストール済のWorkspace Manager最新リリースのパッチセットから適切な.plbファイルを、ダウングレードするリリースのパッチセットの$ORACLE_HOME/rdbms/adminディレクトリにコピーします。
ファイル名はowmdnnn.plbの形式で、nnnはインストール済の最新Workspace Managerのリリース番号です。たとえば、リリース9.2.0.5.1からのダウングレードでは、ファイル名はowmd920.plbです。
適切なowmennn.sql形式のファイルの位置(インストール済最新Workspace Managerのリリースのパッチセットを解凍した位置)に注意してください。nnn はインストール済Workspace Managerの最新リリース番号です。たとえば、リリース9.2.0.5.1からのダウングレードでは、ファイル名はowme920.sqlです。
SQL*Plusを起動して、SYS AS SYSDBAとして接続してします。(別のユーザーとしても接続できますが、AS SYSDBAである必要があります。)
次のようにインスタンスを停止し、RESTRICTモードで再起動します。
SQL> SHUTDOWN IMMEDIATE SQL> STARTUP RESTRICT
オプションで、正常に実行されたかどうかを後で確認するために、結果をログ・ファイルにスプールするようにシステムを設定します。次に例を示します。
SQL> SPOOL catoutowmd.log
手順2の.sqlファイルを実行します。次に例を示します。
SQL> @C:\my_patches\92051_OWM\owme920.sql
手順1の.plbファイルを実行します。次に例を示します。
SQL> @$ORACLE_HOME\rdbms\admin\owmd920.plb
ダウングレードが正常に実行されたかどうかを確認します。
SELECT * FROM wm_downgrade_tables;
この表は、存在しない表です。この表が存在し、表に行が含まれている場合、ダウングレードは正常に実行されません。Oracleサポート・サービスに連絡してください。
Workspace Managerの現行バージョンを確認します。
SELECT * FROM wm_installation;
OWM_VERSIONの値が、Workspace Managerの新しいバージョンです。
手順5でスプールを有効にした場合、ログ・ファイルへのスクリプト結果のスプールをオフにします。
SQL> SPOOL OFF
インスタンスのRESTRICTED SESSION機能を使用禁止にします。
SQL> ALTER SYSTEM DISABLE RESTRICTED SESSION;
Oracle Database 10gリリース1(10.1)のWorkspace Managerには、履歴管理の変更点が実装されています。これは、アップグレードまたはダウングレード操作を実行する必要がある場合に特に重要です。Workspace ManagerではTIMESTAMP WITH TIME ZONE型が使用されますが、リリース1(10.1)より前では履歴データにDATE型が使用されていました。
タイム・ゾーン付きタイムスタンプを使用すると、次のような利点が得られます。
粒度が高くなります。Workspace Managerでは、ミリ秒単位の時間が使用されますが、DATE型は秒単位です。
情報がタイム・ゾーン間でインポート、エクスポートまたはレプリケートされる場合に、時間が正確に解析されます。
リリース1(10.1)での履歴管理の変更点には、次の考慮事項があります。
TIMESTAMP WITH TIME ZONE型は、Oracle9i 以上のリリースでのみ使用されます。リリース8.1.7の場合、Workspace Managerでは履歴管理にDATE型が使用されます。
GotoDateプロシージャは、タイムスタンプまたは日付を(fmtパラメータで)指定できる形式になっており、オプションはTO_DATEファンクションと同じです。詳細は、『Oracle Database SQL言語リファレンス』を参照してください。in_dateパラメータはVARCHAR2型で、すべての関連OracleリリースでWorkspace Managerをサポートします(Oracle9iより前のOracleリリースではTIMESTAMP WITH TIME ZONE型を使用できないため)。
Workspace Managerを使用すると、DATE型とTIMESTAMP WITH TIME ZONE型の履歴列を含む表を共存させることができるため、リリース8.1.7からエクスポートされたデータをOracle9i にインポートできます。リリース1(10.1)以上を使用してバージョン対応にした表では、履歴管理にTIMESTAMP WITH TIME ZONE型が使用されます。
すべてのバージョン対応表または個々のバージョン対応表の履歴列をアップグレードできます。
パラメータを指定せずにSYS.OWM_MIG_PKG.UpgradeHistoryColumnsを実行すると、すべてのバージョン対応表の履歴列がアップグレードされます。
SYS.OWM_MIG_PKG.UpgradeHistoryColumns(owner_var VARCHAR2, table_name_var VARCHAR2)を実行すると、指定したバージョン対応表の履歴列がアップグレードされます。
以前のバージョンのWorkspace Managerにダウングレードすると、履歴列はDATE型に変更されます。