C.3.1.3 元のリリースに戻す

Oracle APEXを元のリリースに戻す方法を学習します。

C.3.1.3.1 リリース1.5に戻す

Oracle APEXをリリース1.5に戻すには:

  1. imagesディレクトリを変更した場合、任意のリリースに戻します。
  2. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  3. 次を実行します。
    ALTER SESSION SET CURRENT_SCHEMA = FLOWS_010500;
    exec flows_010500.wwv_flow_upgrade.switch_schemas('APEX_220200','FLOWS_010500');
  4. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.2 リリース1.6に戻す

Oracle APEXをリリース1.6に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  3. 次を実行します。
    ALTER SESSION SET CURRENT_SCHEMA = FLOWS_010600;
    exec flows_010600.wwv_flow_upgrade.switch_schemas('APEX_220200','FLOWS_010600');
  4. 元のリリースに応じて、SQL*Plusで適切なコマンドを実行します。
  5. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.3 リリース2.0に戻す

Oracle APEXをリリース2.0に戻すには:

  1. imagesディレクトリを変更した場合、任意のリリースに戻します。
  2. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  3. 次を実行します。
    ALTER SESSION SET CURRENT_SCHEMA = FLOWS_020000;
    exec flows_020000.wwv_flow_upgrade.switch_schemas('APEX_220200','FLOWS_020000');
  4. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.4 リリース2.2に戻す

Oracle APEXをリリース2.2に戻すには:

  1. imagesディレクトリを変更した場合、任意のリリースに戻します。
  2. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  3. 次を実行します。
    ALTER SESSION SET CURRENT_SCHEMA = FLOWS_020200;
    exec flows_020200.wwv_flow_upgrade.switch_schemas('APEX_220200','FLOWS_020200');
  4. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.5 リリース3.0に戻す

Oracle APEXをリリース3.0に戻すには:

  1. imagesディレクトリを変更した場合、任意のリリースに戻します。
  2. 作業ディレクトリを3.0ソースのapexに変更します。
  3. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  4. 次を実行します。
    set define '^'
    
    @apexvalidate x x FLOWS_030000
    ALTER SESSION SET CURRENT_SCHEMA = FLOWS_030000;
    exec flows_030000.wwv_flow_upgrade.switch_schemas('APEX_220200','FLOWS_030000');
    ALTER SESSION SET CURRENT_SCHEMA = SYS;
    declare
        l_apex_version varchar2(30);
    begin
        sys.dbms_registry.set_session_namespace (namespace => 'DBTOOLS');
        l_apex_version := flows_030000.wwv_flows_release;
        dbms_registry.downgrading('APEX','Oracle Application Express','validate_apex','FLOWS_030000');
        dbms_registry.downgraded('APEX',l_apex_version);
        validate_apex;
    end;
    /
  5. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.6 リリース3.1に戻す

Oracle APEXをリリース3.1に戻すには:

  1. imagesディレクトリを変更した場合、任意のリリースに戻します。
  2. 作業ディレクトリを3.1ソースのapex/coreに変更します。
  3. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  4. 次のコマンドを実行します。
    @wwv_flow_val.plb
    @wwv_dbms_sql.sql
    @wwv_dbms_sql.plb
  5. 作業ディレクトリを3.1ソースのapexに変更します。
  6. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  7. 次を実行します。
    set define '^'
     
    @apexvalidate x x FLOWS_030100
    ALTER SESSION SET CURRENT_SCHEMA = FLOWS_030100;
    exec flows_030100.wwv_flow_upgrade.switch_schemas('APEX_220200','FLOWS_030100');
    ALTER SESSION SET CURRENT_SCHEMA = SYS;
    declare
        l_apex_version varchar2(30);
    begin
        sys.dbms_registry.set_session_namespace (namespace => 'DBTOOLS');
        l_apex_version := flows_030100.wwv_flows_release;
        dbms_registry.downgrading('APEX','Oracle Application Express','validate_apex','FLOWS_030100');
        dbms_registry.downgraded('APEX',l_apex_version);
        validate_apex;
    end;
    /
  8. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.7 リリース3.2に戻す

Oracle APEXをリリース3.2に戻すには:

  1. imagesディレクトリを変更した場合、任意のリリースに戻します。
  2. 作業ディレクトリを3.2ソースのapex/coreに変更します。
  3. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  4. 次のコマンドを実行します。
    @wwv_flow_val.plb
    @wwv_dbms_sql.sql
    @wwv_dbms_sql.plb
  5. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  6. 次を実行します。
    set define '^'
     
    @apexvalidate x x APEX_030200
    ALTER SESSION SET CURRENT_SCHEMA = APEX_030200;
    exec apex_030200.wwv_flow_upgrade.switch_schemas('APEX_220200','APEX_030200');
    ALTER SESSION SET CURRENT_SCHEMA = SYS;
    declare
        l_apex_version varchar2(30);
    begin
        sys.dbms_registry.set_session_namespace (namespace => 'DBTOOLS');
        l_apex_version := apex_030200.wwv_flows_release;
        dbms_registry.downgrading('APEX','Oracle Application Express','validate_apex','APEX_030200')
        dbms_registry.downgraded('APEX',l_apex_version);
        validate_apex;
    end;
    /
  7. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.8 リリース4.0に戻す

Oracle APEXをリリース4.0に戻すには:

  1. imagesディレクトリを変更した場合、任意のリリースに戻します。
  2. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  3. 次のコマンドを実行します。
    @wwv_flow_val.sql
    @wwv_flow_val.plb
    @wwv_dbms_sql.sql
    @wwv_dbms_sql.plb
  4. 作業ディレクトリを4.0ソースのapexに変更します。
  5. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  6. 次を実行します。
    set define '^'
    
    @apexvalidate x x APEX_040000
    ALTER SESSION SET CURRENT_SCHEMA = APEX_040000;
    exec apex_040000.wwv_flow_upgrade.switch_schemas('APEX_220200','APEX_040000');
    ALTER SESSION SET CURRENT_SCHEMA = SYS;
    declare
        l_apex_version varchar2(30);
    begin
        sys.dbms_registry.set_session_namespace (namespace => 'DBTOOLS');
        l_apex_version := apex_040000.wwv_flows_release;
        dbms_registry.downgrading('APEX','Oracle Application Express','validate_apex','APEX_040000');
        dbms_registry.downgraded('APEX',l_apex_version);
        validate_apex;
    end;
    /
  7. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.9 リリース4.1に戻す

Oracle APEXをリリース4.1に戻すには:

  1. imagesディレクトリを変更した場合、任意のリリースに戻します。
  2. 作業ディレクトリを4.1ソースのapex/coreに変更します。
  3. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  4. 次のコマンドを実行します。
    @wwv_flow_val.sql
    @wwv_flow_val.plb
    @wwv_dbms_sql.sql
    @wwv_dbms_sql.plb
  5. 作業ディレクトリを4.1ソースのapexに変更します。
  6. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  7. 次を実行します。
    set define '^'
     
    @apexvalidate x x APEX_040100
    ALTER SESSION SET CURRENT_SCHEMA = APEX_040100;
    exec apex_040100.wwv_flow_upgrade.switch_schemas('APEX_220200','APEX_040100');
    ALTER SESSION SET CURRENT_SCHEMA = SYS;
    declare
        l_apex_version varchar2(30);
    begin
        sys.dbms_registry.set_session_namespace (namespace => 'DBTOOLS');
        l_apex_version := apex_040100.wwv_flows_release;
        dbms_registry.downgrading('APEX','Oracle Application Express','validate_apex','APEX_040100');
        dbms_registry.downgraded('APEX',l_apex_version);
        validate_apex;
    end;
    /
  8. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.10 ローカルAPEXを含む非CDBまたはPDBでリリース4.2に戻す

ローカルにAPEXがインストールされている非CDBまたはPDBでOracle APEXをリリース4.2に戻すには:

  1. imagesディレクトリを変更した場合、任意のリリースに戻します。
  2. 作業ディレクトリを4.2ソースのapex/coreに変更します。
  3. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  4. 次のコマンドを実行します。
    alter session set current_schema = SYS;
     
    @core_sys_views.sql
     
    grant select on sys.wwv_flow_gv$session to APEX_040200;
     
    @wwv_flow_val.sql
    @wwv_flow_val.plb
    @wwv_dbms_sql.sql
    grant execute on wwv_dbms_sql to APEX_040200;
    @wwv_dbms_sql.plb
     
    begin
        dbms_utility.compile_schema('APEX_040200');
    end;
    /
  5. 作業ディレクトリを4.2ソースのapexに変更します。
  6. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  7. 次を実行します。
    set define '^'
     
    @apexvalidate x x APEX_040200
    ALTER SESSION SET CURRENT_SCHEMA = APEX_040200;
    exec apex_040200.wwv_flow_upgrade.switch_schemas('APEX_220200','APEX_040200');
    ALTER SESSION SET CURRENT_SCHEMA = SYS;
    declare
        l_apex_version varchar2(30);
    begin
        sys.dbms_registry.set_session_namespace (namespace => 'DBTOOLS');
        l_apex_version := apex_040200.wwv_flows_release;
        dbms_registry.downgrading('APEX','Oracle Application Express','validate_apex','APEX_040200');
        dbms_registry.downgraded('APEX',l_apex_version);
        validate_apex;
    end;
    /
  8. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.11 CDBでリリース4.2に戻す

CDBでOracle APEXをリリース4.2に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを4.2ソースのapex/coreに変更します。
  3. そのディレクトリに、apx42dgrd1.sqlという名前で、次から構成されている新しいテキスト・ファイルを作成します。
    alter session set current_schema = SYS;
     
    @core_sys_views.sql
     
    grant select on sys.wwv_flow_gv$session to APEX_040200;
     
    @wwv_flow_val.sql
    @wwv_flow_val.plb
    @wwv_dbms_sql.sql
    grant execute on wwv_dbms_sql to APEX_040200;
    @wwv_dbms_sql.plb
     
    begin
        dbms_utility.compile_schema('APEX_040200');
    end;
    /
  4. そのディレクトリに、apx42dgrd.sqlという名前で、次から構成されている2番目の新しいテキスト・ファイルを作成します。
    set define '^'
     
    whenever sqlerror exit
     
    column :xe_home new_value OH_HOME NOPRINT
    variable xe_home varchar2(255)
     
    set serverout on
    begin
    -- get oracle_home
        sys.dbms_system.get_env('ORACLE_HOME',:xe_home);
        if length(:xe_home) = 0 then
            sys.dbms_output.put_line(lpad('-',80,'-'));
            raise_application_error (
                -20001,
                'Oracle Home environment variable not set' );
        end if;
    end;
    /
    whenever sqlerror continue
     
    set termout off
    select :xe_home from sys.dual;
    set termout on
     
    host ^OH_HOME/perl/bin/perl -I ^OH_HOME/rdbms/admin ^OH_HOME/rdbms/admin/catcon.pl -b apx42dgrd apx42dgrd1.sql
  5. 次のように、SQL*Plusを起動し、APEXがインストールされているデータベースのCDB$ROOTに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  6. 次のコマンドを実行します。
    @apx42dgrd.sql
  7. 作業ディレクトリを4.2ソースのapexに変更します。
  8. そのディレクトリに、apx42dgrd1.sqlという名前で、次の内容を持つ新しいテキスト・ファイルを作成します。
    set define '^'
     
    ALTER SESSION SET CURRENT_SCHEMA = SYS;
     
    @apexvalidate x x APEX_040200
     
    ALTER SESSION SET CURRENT_SCHEMA = APEX_040200;
    exec apex_040200.wwv_flow_upgrade.switch_schemas('APEX_220200','APEX_040200');
    ALTER SESSION SET CURRENT_SCHEMA = SYS;
    declare
        l_apex_version varchar2(30);
    begin
        sys.dbms_registry.set_session_namespace (namespace => 'DBTOOLS');
        l_apex_version := apex_040200.wwv_flows_release;
        dbms_registry.downgrading('APEX','Oracle Application Express','validate_apex','APEX_040200');
        dbms_registry.downgraded('APEX',l_apex_version);
        validate_apex;
    end;
    /
  9. そのディレクトリに、apx42dgrd.sqlという名前で、次から構成されている2番目の新しいテキスト・ファイルを作成します。
    set define '^'
     
    whenever sqlerror exit
     
    column :xe_home new_value OH_HOME NOPRINT
    variable xe_home varchar2(255)
     
    set serverout on
    begin
    -- get oracle_home
        sys.dbms_system.get_env('ORACLE_HOME',:xe_home);
        if length(:xe_home) = 0 then
            sys.dbms_output.put_line(lpad('-',80,'-'));
            raise_application_error (
                -20001,
                'Oracle Home environment variable not set' );
        end if;
    end;
    /
    whenever sqlerror continue
     
    set termout off
    select :xe_home from sys.dual;
    set termout on
     
    host ^OH_HOME/perl/bin/perl -I ^OH_HOME/rdbms/admin ^OH_HOME/rdbms/admin/catcon.pl -b apx42dgrd apx42dgrd1.sql
  10. 次のように、SQL*Plusを起動し、APEXがインストールされているデータベースのCDB$ROOTに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  11. 次を実行します。
    @apx42dgrd.sql
  12. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.12 ローカルAPEXを含む非CDBまたはPDBでリリース5.0に戻す

ローカルにAPEXがインストールされている非CDBまたはPDBでOracle APEXをリリース5.0に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを5.0ソースのapex/coreに変更します。
  3. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  4. 次のコマンドを実行します。
    alter session set current_schema = SYS;   
    
    @wwv_flow_val.sql 
    @wwv_flow_val.plb 
    
    begin
         dbms_utility.compile_schema('APEX_050000');
    end;
    / 
    
    set define '^'   
    @validate_apex x x APEX_050000
    
    begin
      for i in ( select owner, trigger_name
                   from sys.dba_triggers
                  where owner        =    'APEX_050000'
                    and trigger_name like 'WWV_FLOW_UPGRADE_%'
                  order by 1 )
      loop
        sys.dbms_output.put_line('Dropping trigger '||i.owner||'.'||i.trigger_name);
        execute immediate 'drop trigger '||i.owner||'.'||i.trigger_name;
      end loop;
    end;
    /
    
    ALTER SESSION SET CURRENT_SCHEMA = APEX_050000; 
    exec apex_050000.wwv_flow_upgrade.switch_schemas('APEX_220200','APEX_050000');
    ALTER SESSION SET CURRENT_SCHEMA = SYS; 
    drop context APEX$SESSION;
    create context APEX$SESSION using APEX_050000.WWV_FLOW_SESSION_CONTEXT;
    declare
         l_apex_version varchar2(30); 
         l_schemas sys.dbms_registry.schema_list_t;
    begin
         sys.dbms_registry.set_session_namespace (namespace => 'DBTOOLS');
         l_apex_version := apex_050000.wwv_flows_release;
         dbms_registry.downgrading('APEX','Oracle Application Express','validate_apex','APEX_050000');
         dbms_registry.downgraded('APEX',l_apex_version);
         select username
           bulk collect into l_schemas
           from all_users
          where username in ('FLOWS_FILES','APEX_PUBLIC_USER','APEX_LISTENER','APEX_REST_PUBLIC_USER','APEX_INSTANCE_ADMIN_USER')
          order by 1;
         sys.dbms_registry.update_schema_list('APEX', l_schemas);
         validate_apex;
    end;
    /
  5. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.13 CDBでリリース5.0に戻す

CDBでOracle APEXをリリース5.0に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを5.0ソースのapex/coreに変更します。
  3. そのディレクトリに、apx50dgrd1.sqlという名前で、次から構成されている新しいテキスト・ファイルを作成します。
    alter session set current_schema = SYS;   
    
    @wwv_flow_val.sql 
    @wwv_flow_val.plb 
    
    begin
         dbms_utility.compile_schema('APEX_050000');
    end;
    / 
    
    set define '^'   
    @validate_apex x x APEX_050000
    
    begin
      for i in ( select owner, trigger_name
                   from sys.dba_triggers
                  where owner        =    'APEX_050000'
                    and trigger_name like 'WWV_FLOW_UPGRADE_%'
                  order by 1 )
      loop
        sys.dbms_output.put_line('Dropping trigger '||i.owner||'.'||i.trigger_name);
        execute immediate 'drop trigger '||i.owner||'.'||i.trigger_name;
      end loop;
    end;
    /
    
    ALTER SESSION SET CURRENT_SCHEMA = APEX_050000; 
    exec apex_050000.wwv_flow_upgrade.switch_schemas('APEX_220200','APEX_050000');
    ALTER SESSION SET CURRENT_SCHEMA = SYS; 
    drop context APEX$SESSION;
    create context APEX$SESSION using APEX_050000.WWV_FLOW_SESSION_CONTEXT;
    declare
         l_apex_version varchar2(30); 
         l_schemas sys.dbms_registry.schema_list_t;
    begin
         sys.dbms_registry.set_session_namespace (namespace => 'DBTOOLS');
         l_apex_version := apex_050000.wwv_flows_release;
         dbms_registry.downgrading('APEX','Oracle Application Express','validate_apex','APEX_050000');
         dbms_registry.downgraded('APEX',l_apex_version);
         select username
           bulk collect into l_schemas
           from all_users
          where username in ('FLOWS_FILES','APEX_PUBLIC_USER','APEX_LISTENER','APEX_REST_PUBLIC_USER','APEX_INSTANCE_ADMIN_USER')
          order by 1;
         sys.dbms_registry.update_schema_list('APEX', l_schemas);
         validate_apex;
    end;
    /
  4. そのディレクトリに、apx50dgrd.sqlという名前で、次から構成されている2番目の新しいテキスト・ファイルを作成します。
    set define '^'   
    whenever sqlerror exit   
    column :xe_home new_value OH_HOME NOPRINT 
    variable xe_home varchar2(255)   
    set serverout on 
    begin 
    -- get oracle_home     
    sys.dbms_system.get_env('ORACLE_HOME',:xe_home);     
    if length(:xe_home) = 0 then
        sys.dbms_output.put_line(lpad('-',80,'-'));         
        raise_application_error (-20001,'Oracle Home environment variable not set' );  
    end if; 
    end; 
    / 
    whenever sqlerror continue   
    set termout off 
    select :xe_home from sys.dual; 
    set termout on   
    host ^OH_HOME/perl/bin/perl -I ^OH_HOME/rdbms/admin ^OH_HOME/rdbms/admin/catcon.pl -b apx50dgrd apx50dgrd1.sql
  5. 次のように、SQL*Plusを起動し、APEXがインストールされているデータベースのCDB$ROOTに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  6. 次のコマンドを実行します。
    @apx50dgrd.sql
  7. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.14 ローカルAPEXを含む非CDBまたはPDBでリリース5.1に戻す

ローカルにAPEXがインストールされている非CDBまたはPDBでOracle APEXをリリース5.1に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを5.1ソースのapex/coreに変更します。
  3. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  4. 次のコマンドを実行します。
    alter session set current_schema = SYS;   
    
    @wwv_flow_val.sql 
    @wwv_flow_val.plb 
    
    begin
         dbms_utility.compile_schema('APEX_050100');
    end;
    / 
    
    set define '^'   
    @validate_apex x x APEX_050100
    
    begin
      for i in ( select owner, trigger_name
                   from sys.dba_triggers
                  where owner        =    'APEX_050100'
                    and trigger_name like 'WWV_FLOW_UPGRADE_%'
                  order by 1 )
      loop
        sys.dbms_output.put_line('Dropping trigger '||i.owner||'.'||i.trigger_name);
        execute immediate 'drop trigger '||i.owner||'.'||i.trigger_name;
      end loop;
    end;
    /
    
    ALTER SESSION SET CURRENT_SCHEMA = APEX_050100; 
    exec apex_050100.wwv_flow_upgrade.switch_schemas('APEX_220200','APEX_050100');
    ALTER SESSION SET CURRENT_SCHEMA = SYS; 
    drop context APEX$SESSION;
    create context APEX$SESSION using APEX_050100.WWV_FLOW_SESSION_CONTEXT;
    declare
         l_apex_version varchar2(30); 
         l_schemas sys.dbms_registry.schema_list_t;
    begin
         sys.dbms_registry.set_session_namespace (namespace => 'DBTOOLS');
         l_apex_version := apex_050100.wwv_flows_release;
         dbms_registry.downgrading('APEX','Oracle Application Express','validate_apex','APEX_050100');
         dbms_registry.downgraded('APEX',l_apex_version);
         select username
           bulk collect into l_schemas
           from all_users
          where username in ('FLOWS_FILES','APEX_PUBLIC_USER','APEX_LISTENER','APEX_REST_PUBLIC_USER','APEX_INSTANCE_ADMIN_USER')
          order by 1;
         sys.dbms_registry.update_schema_list('APEX', l_schemas);
         validate_apex;
    end;
    /
  5. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.15 CDBでリリース5.1に戻す

CDBでOracle APEXをリリース5.1に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを5.1ソースのapex/coreに変更します。
  3. そのディレクトリに、apx51dgrd1.sqlという名前で、次から構成されている新しいテキスト・ファイルを作成します。
    
    alter session set current_schema = SYS;   
    
    @wwv_flow_val.sql 
    @wwv_flow_val.plb 
    
    begin
         dbms_utility.compile_schema('APEX_050100');
    end;
    / 
    
    set define '^'   
    @validate_apex x x APEX_050100
    
    begin
      for i in ( select owner, trigger_name
                   from sys.dba_triggers
                  where owner        =    'APEX_050100'
                    and trigger_name like 'WWV_FLOW_UPGRADE_%'
                  order by 1 )
      loop
        sys.dbms_output.put_line('Dropping trigger '||i.owner||'.'||i.trigger_name);
        execute immediate 'drop trigger '||i.owner||'.'||i.trigger_name;
      end loop;
    end;
    /
    
    ALTER SESSION SET CURRENT_SCHEMA = APEX_050100; 
    exec apex_050100.wwv_flow_upgrade.switch_schemas('APEX_220200','APEX_050100');
    ALTER SESSION SET CURRENT_SCHEMA = SYS; 
    drop context APEX$SESSION;
    create context APEX$SESSION using APEX_050100.WWV_FLOW_SESSION_CONTEXT;
    declare
         l_apex_version varchar2(30); 
         l_schemas sys.dbms_registry.schema_list_t;
    begin
         sys.dbms_registry.set_session_namespace (namespace => 'DBTOOLS');
         l_apex_version := apex_050100.wwv_flows_release;
         dbms_registry.downgrading('APEX','Oracle Application Express','validate_apex','APEX_050100');
         dbms_registry.downgraded('APEX',l_apex_version);
         select username
           bulk collect into l_schemas
           from all_users
          where username in ('FLOWS_FILES','APEX_PUBLIC_USER','APEX_LISTENER','APEX_REST_PUBLIC_USER','APEX_INSTANCE_ADMIN_USER')
          order by 1;
         sys.dbms_registry.update_schema_list('APEX', l_schemas);
         validate_apex;
    end;
    /
  4. そのディレクトリに、apx51dgrd.sqlという名前で、次から構成されている2つ目の新しいテキスト・ファイルを作成します。
    set define '^'   
    whenever sqlerror exit   
    column :xe_home new_value OH_HOME NOPRINT 
    variable xe_home varchar2(255)   
    set serverout on 
    begin 
    -- get oracle_home     
    sys.dbms_system.get_env('ORACLE_HOME',:xe_home);     
    if length(:xe_home) = 0 then
        sys.dbms_output.put_line(lpad('-',80,'-'));         
        raise_application_error (-20001,'Oracle Home environment variable not set' );  
    end if; 
    end; 
    / 
    whenever sqlerror continue   
    set termout off 
    select :xe_home from sys.dual; 
    set termout on   
    host ^OH_HOME/perl/bin/perl -I ^OH_HOME/rdbms/admin ^OH_HOME/rdbms/admin/catcon.pl -b apx51dgrd apx51dgrd1.sql
  5. 次のように、SQL*Plusを起動し、APEXがインストールされているデータベースのCDB$ROOTに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  6. 次のコマンドを実行します。
    @apx51dgrd.sql
  7. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.16 ローカルAPEXを含む非CDBまたはPDBでリリース18.1に戻す

ローカルにAPEXがインストールされている非CDBまたはPDBでOracle APEXをリリース18.1に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを18.1ソースのapexに変更します。
  3. そのディレクトリに、apxdwngrd.sqlという名前で、次から構成されている新しいテキスト・ファイルを作成します。
    set define '^'
    set concat on
    set concat .
    set verify off
     
    set termout off
    column foo new_val LOG
    select 'apxdwngrd_' ||to_char(sysdate, 'YYYY-MM-DD_HH24-MI-SS') || '.log' as foo
      from sys.dual;
    set termout on
    spool ^LOG
     
    @@core/scripts/set_appun.sql
     
    whenever sqlerror exit
    set serveroutput on size unlimited
     
    declare
        l_cnt    number := 0;
    begin
        select count(*) into l_cnt from sys.dba_users where username = '^APPUN';
        if l_cnt = 0 then
            dbms_output.put_line('^APPUN not found in this database.');
            raise program_error;
        end if;
    end;
    /
    whenever sqlerror continue
     
     
    prompt ...Create validate procedure in SYS schema and start registration
    @@core/validate_apex.sql x x ^APPUN
     
    grant inherit any privileges to ^APPUN;
     
    prompt Installing SYS views
     
    @@core/sys_core_views.sql
     
    @@core/wwv_flow_val.sql
    grant execute on sys.wwv_flow_val to ^APPUN.;
     
    @@core/wwv_flow_val.plb
     
    ALTER SESSION SET CURRENT_SCHEMA = ^APPUN;
     
    exec sys.dbms_session.modify_package_state(sys.dbms_session.reinitialize);
     
    begin
        ^APPUN..wwv_flow_upgrade.remove_jobs();
        ^APPUN..wwv_flow_upgrade.create_jobs('^APPUN');
        ^APPUN..wwv_flow_upgrade.create_public_synonyms('^APPUN');
        ^APPUN..wwv_flow_upgrade.grant_public_synonyms('^APPUN');
        ^APPUN..wwv_flow_upgrade.flows_files_objects_remove('^APPUN');
        ^APPUN..wwv_flow_upgrade.flows_files_objects_create('^APPUN');
    end;
    /
     
    ALTER SESSION SET CURRENT_SCHEMA = SYS;
     
    drop context APEX$SESSION;
    create context APEX$SESSION using ^APPUN..WWV_FLOW_SESSION_CONTEXT;
     
    alter package sys.wwv_dbms_sql_^APPUN. compile;
    alter package sys.wwv_dbms_sql_^APPUN. compile body;
     
    exec sys.dbms_session.modify_package_state(sys.dbms_session.reinitialize);
     
    set serveroutput on size unlimited
     
    declare
         l_apex_version varchar2(30);
         l_schemas sys.dbms_registry.schema_list_t;
    begin
        sys.dbms_registry.set_session_namespace (namespace => 'DBTOOLS');
        execute immediate 'drop package ^APPUN..WWV_FLOW_DB_VERSION';
        l_apex_version := ^APPUN..wwv_flows_release;
        sys.dbms_registry.loading('APEX','Oracle Application Express','validate_apex', '^APPUN');
        select username
          bulk collect into l_schemas
          from sys.all_users
         where username in ('FLOWS_FILES','APEX_PUBLIC_USER','APEX_LISTENER','APEX_REST_PUBLIC_USER','APEX_INSTANCE_ADMIN_USER')
         order by 1;
         sys.dbms_registry.update_schema_list('APEX', l_schemas);
         sys.dbms_registry.loaded('APEX',l_apex_version);
         commit;
         sys.validate_apex;
    end;
    /
  4. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  5. apxdwngrd.sqlスクリプトを実行します。
    SQL> @apxdwngrd.sql
  6. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.17 CDBでリリース18.1に戻す

CDBでOracle APEXをリリース18.1に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを18.1ソースのapexに変更します。
  3. そのディレクトリに、apxdwngrd.sqlという名前で、次から構成されている新しいテキスト・ファイルを作成します。
    set define '^'
    set concat on
    set concat .
    set verify off
     
    set termout off
    column foo new_val LOG
    select 'apxdwngrd_' ||to_char(sysdate, 'YYYY-MM-DD_HH24-MI-SS') || '.log' as foo
      from sys.dual;
    set termout on
    spool ^LOG
     
    @@core/scripts/set_appun.sql
     
    whenever sqlerror exit
    set serveroutput on size unlimited
     
    declare
        l_cnt    number := 0;
    begin
        select count(*) into l_cnt from sys.dba_users where username = '^APPUN';
        if l_cnt = 0 then
            dbms_output.put_line('^APPUN not found in this database.');
            raise program_error;
        end if;
    end;
    /
    whenever sqlerror continue
     
     
    prompt ...Create validate procedure in SYS schema and start registration
    @@core/validate_apex.sql x x ^APPUN
     
    grant inherit any privileges to ^APPUN;
     
    prompt Installing SYS views
     
    @@core/sys_core_views.sql
     
    @@core/wwv_flow_val.sql
    grant execute on sys.wwv_flow_val to ^APPUN.;
     
    @@core/wwv_flow_val.plb
     
    ALTER SESSION SET CURRENT_SCHEMA = ^APPUN;
     
    exec sys.dbms_session.modify_package_state(sys.dbms_session.reinitialize);
     
    begin
        ^APPUN..wwv_flow_upgrade.remove_jobs();
        ^APPUN..wwv_flow_upgrade.create_jobs('^APPUN');
        ^APPUN..wwv_flow_upgrade.create_public_synonyms('^APPUN');
        ^APPUN..wwv_flow_upgrade.grant_public_synonyms('^APPUN');
        ^APPUN..wwv_flow_upgrade.flows_files_objects_remove('^APPUN');
        ^APPUN..wwv_flow_upgrade.flows_files_objects_create('^APPUN');
    end;
    /
     
    ALTER SESSION SET CURRENT_SCHEMA = SYS;
     
    drop context APEX$SESSION;
    create context APEX$SESSION using ^APPUN..WWV_FLOW_SESSION_CONTEXT;
     
    alter package sys.wwv_dbms_sql_^APPUN. compile;
    alter package sys.wwv_dbms_sql_^APPUN. compile body;
     
    exec sys.dbms_session.modify_package_state(sys.dbms_session.reinitialize);
     
    set serveroutput on size unlimited
     
    declare
         l_apex_version varchar2(30);
         l_schemas sys.dbms_registry.schema_list_t;
    begin
        sys.dbms_registry.set_session_namespace (namespace => 'DBTOOLS');
        execute immediate 'drop package ^APPUN..WWV_FLOW_DB_VERSION';
        l_apex_version := ^APPUN..wwv_flows_release;
        sys.dbms_registry.loading('APEX','Oracle Application Express','validate_apex', '^APPUN');
        select username
          bulk collect into l_schemas
          from sys.all_users
         where username in ('FLOWS_FILES','APEX_PUBLIC_USER','APEX_LISTENER','APEX_REST_PUBLIC_USER','APEX_INSTANCE_ADMIN_USER')
         order by 1;
         sys.dbms_registry.update_schema_list('APEX', l_schemas);
         sys.dbms_registry.loaded('APEX',l_apex_version);
         commit;
         sys.validate_apex;
    end;
    /
  4. そのディレクトリに、apxdwngrd_cdb.sqlという名前で、次から構成されている2番目の新しいテキスト・ファイルを作成します。
    set define '^'  
    whenever sqlerror exit  
    column :xe_home new_value OH_HOME NOPRINT
    variable xe_home varchar2(255)  
    set serverout on
    begin
    -- get oracle_home    
    sys.dbms_system.get_env('ORACLE_HOME',:xe_home);    
    if length(:xe_home) = 0 then
        sys.dbms_output.put_line(lpad('-',80,'-'));        
        raise_application_error (-20001,'Oracle Home environment variable not set' ); 
    end if;
    end;
    /
    whenever sqlerror continue  
    set termout off
    select :xe_home from sys.dual;
    set termout on  
    host ^OH_HOME/perl/bin/perl -I ^OH_HOME/rdbms/admin ^OH_HOME/rdbms/admin/catcon.pl -b apx181dgrd apxdwngrd.sql
  5. 次のように、SQL*Plusを起動し、APEXがインストールされているデータベースのCDB$ROOTに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  6. apxdwngrd_cdb.sqlスクリプトを実行します。
    SQL> @apxdwngrd_cdb.sql
  7. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.18 ローカルAPEXを含む非CDBまたはPDBでリリース18.2に戻す

ローカルにAPEXがインストールされている非CDBまたはPDBでOracle APEXをリリース18.2に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを18.2ソースのapexに変更します。
  3. そのディレクトリに、apxdwngrd.sqlという名前で、次から構成されている新しいテキスト・ファイルを作成します。
    set define '^'
    set concat on
    set concat .
    set verify off
     
    set termout off
    column foo new_val LOG
    select 'apxdwngrd_' ||to_char(sysdate, 'YYYY-MM-DD_HH24-MI-SS') || '.log' as foo
      from sys.dual;
    set termout on
    spool ^LOG
     
    @@core/scripts/set_appun.sql
     
    whenever sqlerror exit
    set serveroutput on size unlimited
     
    declare
        l_cnt    number := 0;
    begin
        select count(*) into l_cnt from sys.dba_users where username = '^APPUN';
        if l_cnt = 0 then
            dbms_output.put_line('^APPUN not found in this database.');
            raise program_error;
        end if;
    end;
    /
    whenever sqlerror continue
     
     
    prompt ...Create validate procedure in SYS schema and start registration
    @@core/validate_apex.sql x x ^APPUN
     
    grant inherit any privileges to ^APPUN;
     
    prompt Installing SYS views
     
    @@core/sys_core_views.sql
     
    @@core/wwv_flow_val.sql
    grant execute on sys.wwv_flow_val to ^APPUN.;
     
    @@core/wwv_flow_val.plb
     
    ALTER SESSION SET CURRENT_SCHEMA = ^APPUN;
     
    exec sys.dbms_session.modify_package_state(sys.dbms_session.reinitialize);
     
    begin
        ^APPUN..wwv_flow_upgrade.remove_jobs();
        ^APPUN..wwv_flow_upgrade.create_jobs('^APPUN');
        ^APPUN..wwv_flow_upgrade.create_public_synonyms('^APPUN');
        ^APPUN..wwv_flow_upgrade.grant_public_synonyms('^APPUN');
        ^APPUN..wwv_flow_upgrade.flows_files_objects_remove('^APPUN');
        ^APPUN..wwv_flow_upgrade.flows_files_objects_create('^APPUN');
    end;
    /
     
    ALTER SESSION SET CURRENT_SCHEMA = SYS;
     
    drop context APEX$SESSION;
    create context APEX$SESSION using ^APPUN..WWV_FLOW_SESSION_CONTEXT;
     
    alter package sys.wwv_dbms_sql_^APPUN. compile;
    alter package sys.wwv_dbms_sql_^APPUN. compile body;
     
    exec sys.dbms_session.modify_package_state(sys.dbms_session.reinitialize);
     
    set serveroutput on size unlimited
     
    declare
         l_apex_version varchar2(30);
         l_schemas sys.dbms_registry.schema_list_t;
    begin
        sys.dbms_registry.set_session_namespace (namespace => 'DBTOOLS');
        execute immediate 'drop package ^APPUN..WWV_FLOW_DB_VERSION';
        l_apex_version := ^APPUN..wwv_flows_release;
        sys.dbms_registry.loading('APEX','Oracle Application Express','validate_apex', '^APPUN');
        select username
          bulk collect into l_schemas
          from sys.all_users
         where username in ('FLOWS_FILES','APEX_PUBLIC_USER','APEX_LISTENER','APEX_REST_PUBLIC_USER','APEX_INSTANCE_ADMIN_USER')
         order by 1;
         sys.dbms_registry.update_schema_list('APEX', l_schemas);
         sys.dbms_registry.loaded('APEX',l_apex_version);
         commit;
         sys.validate_apex;
    end;
    /
  4. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  5. apxdwngrd.sqlスクリプトを実行します。
    SQL> @apxdwngrd.sql
  6. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.19 CDBでリリース18.2に戻す

CDBでOracle APEXをリリース18.2に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを18.2ソースのapexに変更します。
  3. そのディレクトリに、apxdwngrd.sqlという名前で、次から構成されている新しいテキスト・ファイルを作成します。
    set define '^'
    set concat on
    set concat .
    set verify off
     
    set termout off
    column foo new_val LOG
    select 'apxdwngrd_' ||to_char(sysdate, 'YYYY-MM-DD_HH24-MI-SS') || '.log' as foo
      from sys.dual;
    set termout on
    spool ^LOG
     
    @@core/scripts/set_appun.sql
     
    whenever sqlerror exit
    set serveroutput on size unlimited
     
    declare
        l_cnt    number := 0;
    begin
        select count(*) into l_cnt from sys.dba_users where username = '^APPUN';
        if l_cnt = 0 then
            dbms_output.put_line('^APPUN not found in this database.');
            raise program_error;
        end if;
    end;
    /
    whenever sqlerror continue
     
     
    prompt ...Create validate procedure in SYS schema and start registration
    @@core/validate_apex.sql x x ^APPUN
     
    grant inherit any privileges to ^APPUN;
     
    prompt Installing SYS views
     
    @@core/sys_core_views.sql
     
    @@core/wwv_flow_val.sql
    grant execute on sys.wwv_flow_val to ^APPUN.;
     
    @@core/wwv_flow_val.plb
     
    ALTER SESSION SET CURRENT_SCHEMA = ^APPUN;
     
    exec sys.dbms_session.modify_package_state(sys.dbms_session.reinitialize);
     
    begin
        ^APPUN..wwv_flow_upgrade.remove_jobs();
        ^APPUN..wwv_flow_upgrade.create_jobs('^APPUN');
        ^APPUN..wwv_flow_upgrade.create_public_synonyms('^APPUN');
        ^APPUN..wwv_flow_upgrade.grant_public_synonyms('^APPUN');
        ^APPUN..wwv_flow_upgrade.flows_files_objects_remove('^APPUN');
        ^APPUN..wwv_flow_upgrade.flows_files_objects_create('^APPUN');
    end;
    /
     
    ALTER SESSION SET CURRENT_SCHEMA = SYS;
     
    drop context APEX$SESSION;
    create context APEX$SESSION using ^APPUN..WWV_FLOW_SESSION_CONTEXT;
     
    alter package sys.wwv_dbms_sql_^APPUN. compile;
    alter package sys.wwv_dbms_sql_^APPUN. compile body;
     
    exec sys.dbms_session.modify_package_state(sys.dbms_session.reinitialize);
     
    set serveroutput on size unlimited
     
    declare
         l_apex_version varchar2(30);
         l_schemas sys.dbms_registry.schema_list_t;
    begin
        sys.dbms_registry.set_session_namespace (namespace => 'DBTOOLS');
        execute immediate 'drop package ^APPUN..WWV_FLOW_DB_VERSION';
        l_apex_version := ^APPUN..wwv_flows_release;
        sys.dbms_registry.loading('APEX','Oracle Application 
        select username
          bulk collect into l_schemas
          from sys.all_users
         where username in ('FLOWS_FILES','APEX_PUBLIC_USER','APEX_LISTENER','APEX_REST_PUBLIC_USER','APEX_INSTANCE_ADMIN_USER')
         order by 1;
         sys.dbms_registry.update_schema_list('APEX', l_schemas);
         sys.dbms_registry.loaded('APEX',l_apex_version);
         commit;
         sys.validate_apex;
    end;
    /
  4. そのディレクトリに、apxdwngrd_cdb.sqlという名前で、次から構成されている2番目の新しいテキスト・ファイルを作成します。
    set define '^'  
    whenever sqlerror exit  
    column :xe_home new_value OH_HOME NOPRINT
    variable xe_home varchar2(255)  
    set serverout on
    begin
    -- get oracle_home    
    sys.dbms_system.get_env('ORACLE_HOME',:xe_home);    
    if length(:xe_home) = 0 then
        sys.dbms_output.put_line(lpad('-',80,'-'));        
        raise_application_error (-20001,'Oracle Home environment variable not set' ); 
    end if;
    end;
    /
    whenever sqlerror continue  
    set termout off
    select :xe_home from sys.dual;
    set termout on  
    host ^OH_HOME/perl/bin/perl -I ^OH_HOME/rdbms/admin ^OH_HOME/rdbms/admin/catcon.pl -b apx182dgrd apxdwngrd.sql
  5. 次のように、SQL*Plusを起動し、APEXがインストールされているデータベースのCDB$ROOTに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  6. apxdwngrd_cdb.sqlスクリプトを実行します。
    SQL> @apxdwngrd_cdb.sql
  7. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.20 ローカルAPEXを含む非CDBまたはPDBでリリース19.1に戻す

ローカルにAPEXがインストールされている非CDBまたはPDBでOracle APEXをリリース19.1に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを19.1ソースのapexに変更します。
  3. 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
  4. apxdwngrd.sqlスクリプトを実行します。
    SQL> @apxdwngrd.sql
  5. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.21 CDBでリリース19.1に戻す

CDBでOracle APEXをリリース19.1に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを19.1ソースのapexに変更します。
  3. 次の内容を含むapxdwngrd_cdb.sqlというスクリプトをapexディレクトリに作成します。
    set define '^'  
    whenever sqlerror exit  
    column :xe_home new_value OH_HOME NOPRINT
    variable xe_home varchar2(255)  
    set serverout on
    begin
    -- get oracle_home    
    sys.dbms_system.get_env('ORACLE_HOME',:xe_home);    
    if length(:xe_home) = 0 then
        sys.dbms_output.put_line(lpad('-',80,'-'));        
        raise_application_error (-20001,'Oracle Home environment variable not set' ); 
    end if;
    end;
    /
    whenever sqlerror continue  
    set termout off
    select :xe_home from sys.dual;
    set termout on  
    host ^OH_HOME/perl/bin/perl -I ^OH_HOME/rdbms/admin ^OH_HOME/rdbms/admin/catcon.pl -b apx191dgrd apxdwngrd.sql
  4. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  5. apxdwngrd_cdb.sqlスクリプトを実行します。
    SQL> @apxdwngrd_cdb.sql
  6. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.22 ローカルAPEXを含む非CDBまたはPDBでリリース19.2に戻す

ローカルにAPEXがインストールされている非CDBまたはPDBでOracle APEXをリリース19.2に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを19.2ソースのapexに変更します。
  3. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  4. apxdwngrd.sqlスクリプトを実行します。
    SQL> @apxdwngrd.sql
  5. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.23 CDBでリリース19.2に戻す

CDBでOracle APEXをリリース19.2に戻すには:

  1. imagesディレクトリを変更した場合、任意のリリースに戻します。
  2. 作業ディレクトリを19.2ソースのapexに変更します。
  3. 次の内容を含むapxdwngrd_cdb.sqlというスクリプトをapexディレクトリに作成します。
    set define '^'  
    whenever sqlerror exit  
    column :xe_home new_value OH_HOME NOPRINT
    variable xe_home varchar2(255)  
    set serverout on
    begin
    -- get oracle_home    
    sys.dbms_system.get_env('ORACLE_HOME',:xe_home);    
    if length(:xe_home) = 0 then
        sys.dbms_output.put_line(lpad('-',80,'-'));        
        raise_application_error (-20001,'Oracle Home environment variable not set' ); 
    end if;
    end;
    /
    whenever sqlerror continue  
    set termout off
    select :xe_home from sys.dual;
    set termout on  
    host ^OH_HOME/perl/bin/perl -I ^OH_HOME/rdbms/admin ^OH_HOME/rdbms/admin/catcon.pl -b apx192dgrd apxdwngrd.sql
  4. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  5. apxdwngrd_cdb.sqlスクリプトを実行します。
    SQL> @apxdwngrd_cdb.sql
  6. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.24 ローカルAPEXを含む非CDBまたはPDBでリリース20.1に戻す

ローカルにAPEXがインストールされている非CDBまたはPDBでOracle APEXをリリース20.1に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを20.1ソースのapexに変更します。
  3. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  4. apxdwngrd.sqlスクリプトを実行します。
    SQL> @apxdwngrd.sql
  5. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.25 CDBでリリース20.1に戻す

CDBでOracle APEXをリリース20.1に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを20.1ソースのapexに変更します。
  3. 次の内容を含むapxdwngrd_cdb.sqlというスクリプトをapexディレクトリに作成します。
    set define '^'  
    whenever sqlerror exit  
    column :xe_home new_value OH_HOME NOPRINT
    variable xe_home varchar2(255)  
    set serverout on
    begin
    -- get oracle_home    
    sys.dbms_system.get_env('ORACLE_HOME',:xe_home);    
    if length(:xe_home) = 0 then
        sys.dbms_output.put_line(lpad('-',80,'-'));        
        raise_application_error (-20001,'Oracle Home environment variable not set' ); 
    end if;
    end;
    /
    whenever sqlerror continue  
    set termout off
    select :xe_home from sys.dual;
    set termout on  
    host ^OH_HOME/perl/bin/perl -I ^OH_HOME/rdbms/admin ^OH_HOME/rdbms/admin/catcon.pl -b apx201dgrd apxdwngrd.sql
  4. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  5. apxdwngrd_cdb.sqlスクリプトを実行します。
    SQL> @apxdwngrd_cdb.sql
  6. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.26 ローカルAPEXを含む非CDBまたはPDBでリリース20.2に戻す

ローカルにAPEXがインストールされている非CDBまたはPDBでOracle APEXをリリース20.2に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを20.2ソースのapexに変更します。
  3. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  4. apxdwngrd.sqlスクリプトを実行します。
    SQL> @apxdwngrd.sql
  5. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.27 CDBでリリース20.2に戻す

CDBでOracle APEXをリリース20.2に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを20.2ソースのapexに変更します。
  3. 次の内容を含むapxdwngrd_cdb.sqlというスクリプトをapexディレクトリに作成します。
    set define '^'  
    whenever sqlerror exit  
    column :xe_home new_value OH_HOME NOPRINT
    variable xe_home varchar2(255)  
    set serverout on
    begin
    -- get oracle_home    
    sys.dbms_system.get_env('ORACLE_HOME',:xe_home);    
    if length(:xe_home) = 0 then
        sys.dbms_output.put_line(lpad('-',80,'-'));        
        raise_application_error (-20001,'Oracle Home environment variable not set' ); 
    end if;
    end;
    /
    whenever sqlerror continue  
    set termout off
    select :xe_home from sys.dual;
    set termout on  
    host ^OH_HOME/perl/bin/perl -I ^OH_HOME/rdbms/admin ^OH_HOME/rdbms/admin/catcon.pl -b apx202dgrd apxdwngrd.sql
  4. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  5. apxdwngrd_cdb.sqlスクリプトを実行します。
    SQL> @apxdwngrd_cdb.sql
  6. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.28 ローカルAPEXを含む非CDBまたはPDBでリリース21.1に戻す

ローカルにAPEXがインストールされている非CDBまたはPDBでOracle APEXを21.1に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを21.1ソースのapexに変更します。
  3. SQL*Plusを起動し、Oracle APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  4. apxdwngrd.sqlスクリプトを実行します。
    SQL> @apxdwngrd.sql
  5. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.29 CDBでリリース21.1に戻す

CDBでOracle APEXをリリース21.1に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを21.1ソースのapexに変更します。
  3. 次の内容を含むapxdwngrd_cdb.sqlというスクリプトをapexディレクトリに作成します。
    set define '^'  
    whenever sqlerror exit  
    column :xe_home new_value OH_HOME NOPRINT
    variable xe_home varchar2(255)  
    set serverout on
    begin
    -- get oracle_home    
    sys.dbms_system.get_env('ORACLE_HOME',:xe_home);    
    if length(:xe_home) = 0 then
        sys.dbms_output.put_line(lpad('-',80,'-'));        
        raise_application_error (-20001,'Oracle Home environment variable not set' ); 
    end if;
    end;
    /
    whenever sqlerror continue  
    set termout off
    select :xe_home from sys.dual;
    set termout on  
    host ^OH_HOME/perl/bin/perl -I ^OH_HOME/rdbms/admin ^OH_HOME/rdbms/admin/catcon.pl -b apx211dgrd apxdwngrd.sql
  4. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  5. apxdwngrd_cdb.sqlスクリプトを実行します。
    SQL> @apxdwngrd_cdb.sql
  6. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.30 ローカルAPEXを含む非CDBまたはPDBでリリース21.2に戻す

ローカルにAPEXがインストールされている非CDBまたはPDBでOracle APEXを21.2に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを21.2ソースのapexに変更します。
  3. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  4. apxdwngrd.sqlスクリプトを実行します。
    SQL> @apxdwngrd.sql
  5. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.31 CDBでリリース21.2に戻す

CDBでOracle APEXをリリース21.2に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを21.2ソースのapexに変更します。
  3. 次の内容を含むapxdwngrd_cdb.sqlというスクリプトをapexディレクトリに作成します。
    set define '^'  
    whenever sqlerror exit  
    column :xe_home new_value OH_HOME NOPRINT
    variable xe_home varchar2(255)  
    set serverout on
    begin
    -- get oracle_home    
    sys.dbms_system.get_env('ORACLE_HOME',:xe_home);    
    if length(:xe_home) = 0 then
        sys.dbms_output.put_line(lpad('-',80,'-'));        
        raise_application_error (-20001,'Oracle Home environment variable not set' ); 
    end if;
    end;
    /
    whenever sqlerror continue  
    set termout off
    select :xe_home from sys.dual;
    set termout on  
    host ^OH_HOME/perl/bin/perl -I ^OH_HOME/rdbms/admin ^OH_HOME/rdbms/admin/catcon.pl -b apx212dgrd apxdwngrd.sql
  4. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  5. apxdwngrd_cdb.sqlスクリプトを実行します。
    SQL> @apxdwngrd_cdb.sql
  6. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.32 ローカルAPEXを含む非CDBまたはPDBでリリース22.1に戻す

ローカルにAPEXがインストールされている非CDBまたはPDBでOracle APEXを22.1に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを22.1ソース内のapexに変更します。
  3. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  4. apxdwngrd.sqlスクリプトを実行します。
    SQL> @apxdwngrd.sql
  5. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.33 CDBでリリース22.1に戻す

CDBでOracle APEXをリリース22.1に戻すには:

  1. imagesディレクトリを変更した場合は、それを目的のリリースに戻します。
  2. 作業ディレクトリを22.1ソース内のapexに変更します。
  3. 次の内容を含むapxdwngrd_cdb.sqlというスクリプトをapexディレクトリに作成します。
    set define '^'  
    whenever sqlerror exit  
    column :xe_home new_value OH_HOME NOPRINT
    variable xe_home varchar2(255)  
    set serverout on
    begin
    -- get oracle_home    
    sys.dbms_system.get_env('ORACLE_HOME',:xe_home);    
    if length(:xe_home) = 0 then
        sys.dbms_output.put_line(lpad('-',80,'-'));        
        raise_application_error (-20001,'Oracle Home environment variable not set' ); 
    end if;
    end;
    /
    whenever sqlerror continue  
    set termout off
    select :xe_home from sys.dual;
    set termout on  
    host ^OH_HOME/perl/bin/perl -I ^OH_HOME/rdbms/admin ^OH_HOME/rdbms/admin/catcon.pl -b apx212dgrd apxdwngrd.sql
  4. SQL*Plusを起動し、APEXがインストールされているデータベースに、SYSDBAロールが指定されているSYSとして接続します。
    • Windowsの場合:

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

      $ sqlplus /nolog
      SQL> SQL> CONNECT SYS as SYSDBA
      Enter password: SYS_password
  5. apxdwngrd_cdb.sqlスクリプトを実行します。
    SQL> @apxdwngrd_cdb.sql
  6. APEXリリースのスキーマを削除します。APEXリリースのスキーマの削除を参照してください。

C.3.1.3.34 ダウングレード後のREST管理インタフェースの再有効化

アップグレードを試行する前にREST管理インタフェースを使用した場合は、APEX_INSTANCE_ADMIN_USERを再作成する必要があります。REST管理インタフェースを使用しなかった場合は、このステップをスキップします。

APEX_INSTANCE_ADMIN_USERを再作成するには:

  1. XX.Xリリース・ソース(XX.Xは元に戻したリリース番号)で、作業ディレクトリをapexに変更します。
  2. 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
  3. 認証を使用しなかった場合は、次を実行します。
    create user apex_instance_admin_user no authentication
  4. 認証を使用した場合は、次を実行します。
    create user apex_instance_admin_user identified by <random-password> password expire