6.12 アップグレード・インストールのインストール後のタスクの実行

アップグレード・インストールが正常に実行され、すべてのアップグレード済アプリケーションが正常に機能していることを確認したら、以前のOracle APEXインストールからスキーマを削除する必要があります。

6.12.1 以前のAPEXインストールの削除について

以前のインストールの存在確認による、以前のインストールからのスキーマの削除について学習します。

以前のインストールのスキーマに関連付けられたデータベース・ユーザーは権限が付与されたユーザーです。不要になった場合は削除する必要があります。以前のインストールのスキーマの削除には、2つのステップがあります。最初に以前のインストールが存在することを確認して、次にスキーマを削除します。

6.12.2 以前のインストールが存在するかどうかの確認

SQL問合せを実行して、以前のOracle APEXインストールが存在するかどうかを確認します。

以前のインストールが存在するかどうかを確認するには:

  1. SQL*Plusを起動して、SYSとしてOracle APEXがインストールされているデータベースに接続します。たとえば:
    • Windowsの場合:

      SYSTEM_DRIVE:\ sqlplus /nolog
      SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
    • UNIXおよびLinuxの場合:

      $ sqlplus /nolog
      SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  2. 次の問合せを実行します。
    SELECT username
      FROM dba_users 
     WHERE (  username LIKE 'FLOWS\_______' ESCAPE '\'
           OR username LIKE 'APEX\_______' ESCAPE '\' )
       AND username NOT IN ( SELECT schema
                               FROM dba_registry
                              WHERE comp_id = 'APEX' );

結果に書式がFLOWS_XXXXXXまたはAPEX_XXXXXX(XXXXXXは6つの数字を表す)のエントリが含まれる場合、それらのエントリは削除候補です。

6.12.3 以前のインストールからのスキーマおよびSYSオブジェクトの削除

SQL*Plusを起動してデータベースに接続し、文を実行してスキーマおよびSYSオブジェクトを削除します。

以前のインストールからスキーマおよびSYSオブジェクトを削除するには:

  1. SQL*Plusを起動し、Oracle APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。たとえば:
    • Windowsの場合:

      SYSTEM_DRIVE:\ sqlplus /nolog
      SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
      
    • UNIXおよびLinuxの場合:

      $ sqlplus /nolog
      SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  2. 次の例のような文を実行します。
    DROP USER APEX_210100 CASCADE;
    DROP PACKAGE SYS.WWV_DBMS_SQL_APEX_210100;

6.12.4 CDB内の以前のインストールからのスキーマの削除

catcon.plを使用して、CDB内の以前のインストールのスキーマを削除します。

以前のインストールからスキーマおよびSYSオブジェクトを削除するには、次の例を使用してコマンドを実行します。

$ORACLE_HOME/perl/bin/perl -I $ORACLE_HOME/rdbms/admin $ORACLE_HOME/rdbms/admin/catcon.pl -b drop_apex210100 -- --x'drop user APEX_220200 cascade'
$ORACLE_HOME/perl/bin/perl -I $ORACLE_HOME/rdbms/admin $ORACLE_HOME/rdbms/admin/catcon.pl -b drop_wwv_dbms_sql -- --x'drop package SYS.WWV_DBMS_SQL_APEX_220200'

6.12.5 無効なACLの修正

無効なACLを修正する方法について説明します。

Oracle Databaseを実行しており、以前のOracle APEXスキーマに対してネットワーク・サービスを有効にしてある場合は、「以前のAPEXインストールの削除について」の手順を実行した後に、無効なACLの修正が必要な場合があります。

無効なACLを修正するには:

  1. 作業ディレクトリを、インストール・ソフトウェアを解凍したapexディレクトリに変更します。
  2. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。たとえば:
    • Windowsの場合:

      SYSTEM_DRIVE:\ sqlplus /nolog
      SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
    • UNIXおよびLinuxの場合:

      $ sqlplus /nolog
      SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  3. 次のような文を実行します。
    EXEC DBMS_NETWORK_ACL_ADMIN.DELETE_PRIVILEGE('power_users.xml', 'APEX_220100');