Oracle Databaseのアップグレード後の推奨作業およびベスト・プラクティス
Oracle Databaseを更新する場合、これらの適切なプラクティス・ガイドラインを完了することをお薦めします。特に明記されている場合を除き、これらの方法はすべてのタイプのアップグレードにお薦めします。
- Databaseのバックアップ
少なくともレベル1のバックアップを実行するか、時間が許せばレベル0のバックアップを実行することをお薦めします。 - AutoUpgradeのアップグレード後のチェックの実行
AutoUpgradeをdeploy
モードで実行しなかった場合は、preupgrade
パラメータを指定してAutoUpgradeをpostfixups
モードで実行します。 - DBMS_STATSを使用した固定オブジェクトの統計の再収集
アップグレードの後に、または他のデータベース構成の変更後に、Oracle Databaseに対して代表的なワークロードを実行してから固定オブジェクトの統計を再収集することをお薦めします。 - パスワードのリセットによる大/小文字区別の強制
アップグレードしたデータベースで、デフォルト・ユーザー・アカウントおよびユーザー・アカウントの大/小文字区別のあるパスワードを使用してセキュリティを強化します。 - 10Gパスワード・バージョンを使用するユーザーのパスワードの確認と再設定
セキュリティを向上するため、10G
バージョンのパスワードを使用しているユーザー・アカウントを確認しパスワードをリセットして、より安全なバージョンのパスワードが今後使用されるようにします。 - Oracle Grid Infrastructure、Oracle ASMおよびOracle Clusterwareの理解
Oracle ClusterwareとOracle Automatic Storage Management (Oracle ASM)は、両方ともOracle Grid Infrastructureインストールの一部です。 - Oracle Grid InfrastructureのインストールとアップグレードおよびOracle ASM
Oracle ASMは、Oracle Grid Infrastructureとともにインストールされます。 - 新機能の適宜追加
データベース・アップグレード計画の一環として新機能を確認します。 - 必要な新しい管理手順の作成
スクリプトおよびプロシージャの再確認を計画し、必要に応じて変更します。 - ロールバック・セグメントから自動UNDOモードへの移行
データベース・リリースがOracle Database 11gより前の場合は、ロールバック・セグメント(手動UNDO管理)を使用してアップグレードしているデータベースを自動UNDO管理に移行する必要があります。 - LONGデータ型からLOBデータ型への表の移行
ALTER TABLE
文を使用して、LONG
データ型の列をCLOB
に、LONG RAW
データ型の列をBLOB
に変更できます。 - アップグレードしたOracle Databasesでの従来の監査の無効化
従来の監査はOracle Database 21cで非推奨となり、Oracle Database 23cでサポートが終了しました。ご使用のデータベースで従来の監査を無効にし、統合監査のみを使用することをお薦めします。 - 再構築対象のOracle Text索引の識別
新しいOracle Databaseリリースへのアップグレード後に、再構築が推奨されるトークン表付きOracle Text索引の識別に役立つスクリプトを実行できます。 - DBMS_SCHEDULERジョブの削除および再作成
以前のリリースからのアップグレード後にDBMS_SCHEDULERジョブが機能しなくなった場合は、ジョブを削除して再作成します。 - アップグレード後の統合監査レコードの転送
アップグレードし、統合監査に移行した後で高いパフォーマンスを得る方法を理解するためには、これらのトピックを確認します - Oracle Databaseのアップグレード後のリカバリ・カタログ・アップグレードについて
RMANクライアントで要求されるバージョンより古いリカバリ・カタログ・スキーマを使用している場合、それをアップグレードする必要があります。 - アップグレードされたデータベースでの無効なリリース更新バグ修正の有効化
実行計画の変更の原因となる可能性があるリリース更新のバグ修正は無効になっているため、使用する無効なバグ修正を有効にすることをお薦めします。 - アップグレードした本番Oracle Databaseのテストについて
アプリケーションが期待どおり動作することを確認するため、テスト・データベースに実行したテストを本番データベースに対して繰り返します。 - Oracle Databaseのアップグレード後のタイムゾーン・ファイルのバージョンのアップグレード
データベースのアップグレードを完了した後にAutoUpgradeアップグレード前レポートによってタイムゾーン・ファイルのアップグレードを指示され、このタスクを完了するようにAutoUpgradeを設定しない場合は、サポートされている方法のいずれかを使用してタイムゾーン・ファイルをアップグレードします。
親トピック: Oracle Databaseのアップグレード後の作業
AutoUpgradeアップグレード後チェックの実行
AutoUpgradeをdeploy
モードで実行しなかった場合は、preupgrade
パラメータを指定してAutoUpgradeをpostfixups
モードで実行します。
ノート:
AutoUpgradeをdeploy
モードで実行した場合、このステップはすでに完了しているため、ここで完了する必要はありません。
アップグレード後にデータベースを確認する方法を確認するには、次の例を使用します。
例4-2 アップグレード後修正モードを使用したAutoUpgradeの実行
Oracle Database 12cリリース2 (12.2)のOracle Databaseをアップグレードしたとします。アップグレード後チェックを実行するには、次の手順を実行します。-
Oracleホーム環境をソースOracle Databaseホームに設定します。
.setenv ORACLE_HOME /u01/app/oracle/product/12.2.0/dbhome_1
- Oracleシステム識別子(SID)をソースOracle Database SIDに設定します。
.setenv ORACLE_SID db122
- postfixupsモードでpreupgradeパラメータを使用してAutoUpgradeを実行し、ターゲット・ホームをターゲットのOracle Database Oracleホームに設定します。たとえば:
java -jar autoupgrade.jar -preupgrade "target_home=/u01/app/oracle/product/19.0.0/dbhome_1,dir=/autoupgrade/test/log" –mode postfixups
- ディレクトリ
/autoupgrade/test/log/db122/102/postfixups
の下のファイルpostfixups.xml
で、修正後スクリプト・チェックの結果を確認します。
DBMS_STATSを使用した固定オブジェクトの統計の再収集
アップグレードの後に、または他のデータベース構成の変更後に、Oracle Databaseに対して代表的なワークロードを実行してから固定オブジェクトの統計を再収集することを強くお薦めします。
ノート:
パフォーマンス・チューニング用に非常に正確な固定オブジェクト統計を提供するには、システムが代表的なワークロードで実行されている時点でベースライン統計を収集することをお薦めします。有用な結果を得るには、アップグレードの直後にDBMS_STATS.GATHER_FIXED_OBJECTS_STATS
を実行しないでください。
固定オブジェクトは、X$
表とその索引です。V$
パフォーマンス・ビューは、X$
表を通じて定義されます。固定オブジェクトの統計の収集は、データベース・パフォーマンスにとって有益です。これは、オプティマイザが適切な実行計画を生成する際に役立つためで、データベース・パフォーマンスが向上する可能性があります。代表的な統計を取得しないと、実行計画が最適ではなくなる可能性があり、深刻なパフォーマンス問題が発生する場合があります。
データベースで代表的なワークロードが実行されていることを確認し、DBMS_STATS.GATHER_FIXED_OBJECTS_STATS
PL/SQLプロシージャを使用して固定オブジェクト統計を収集します。DBMS_STATS.GATHER_FIXED_OBJECTS_STATS
では、INIT.ORA
またはSPFILE
からすべての非表示またはアンダースコアのパラメータおよびイベントを削除するための推奨事項も表示されます。
X$
表は一時的な性質を持つため、システムで代表的なワークロードが発生したときに固定オブジェクトの統計を収集する必要があります。ピーク負荷時に固定オブジェクトの統計を収集できない場合、システムが実行時の状態で、最も重要なタイプの固定オブジェクト表が移入された後に収集することをお薦めします。
固定オブジェクトの統計を収集するには、次のPL/SQLプロシージャを実行します。
SQL> execute dbms_stats.gather_fixed_objects_stats;
パスワードのリセットによる大/小文字区別の強制
アップグレードしたデータベースで、デフォルト・ユーザー・アカウントおよびユーザー・アカウントの大/小文字区別のあるパスワードを使用してセキュリティを強化します。
セキュリティを強化するために、パスワードで大/小文字の区別を有効にすることをお薦めします。大/小文字を区別すると、ユーザーは、正しいパスワード文字列を入力し、さらにその文字列の各文字の大/小文字も正しく区別する必要があるため、パスワードのセキュリティを強化できます。たとえば、パスワードがhPP5620qr
の場合、hpp5620QR
またはhPp5620Qr
と入力すると失敗します。
データベースを保護するため、パスワードはセキュアな方法で作成します。データベースのデフォルト・パスワードを使用している場合、それらのパスワードは変更してください。デフォルトでは、パスワードを変更すると、大/小文字区別が強制されます。事前定義されたユーザー・アカウントのパスワードを含め、すべてのパスワードは、Oracle推奨のパスワード要件を満たしている必要があります。
アップグレード後に新しく作成されたデータベースでは、追加の作業や追加の管理要件はありません。
パスワード変更に関する既存のデータベース要件およびガイドライン
-
Oracle Database 12cリリース1 (12.1)以上のデフォルトのセキュリティ設定が適用されている場合、パスワードは8文字以上にする必要があり、
welcome
やoracle
などのパスワードは使用できません。 -
IGNORECASE
パラメータは非推奨です。このパラメータは使用しないでください。 -
既存のデータベースでパスワードの大/小文字区別を利用するには、データベースのアップグレード作業中に既存のユーザーのパスワードをリセットする必要があります。既存のデータベース・ユーザーごとに、
ALTER
USER
文を使用してパスワードをリセットします。 -
DBA_USERS
のPASSWORD_VERSIONS
列を問い合せ、10Gのパスワード・バージョンのみを持ち、11G
や12C
のパスワード・バージョンを持たないアカウントのUSERNAME
を見つけます。10G
のパスワード・バージョンのみを持つすべてのアカウントのパスワードをリセットします。
参照:
-
パスワードの大/小文字区別の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください
-
パスワードの強度の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください
10Gパスワード・バージョンを使用するユーザーのパスワードの確認と再設定
セキュリティを向上するため、10G
バージョンのパスワードを使用しているユーザー・アカウントを確認しパスワードをリセットして、より安全なバージョンのパスワードが今後使用されるようにします。
現行ユーザーのすべてのパスワード・バージョンの確認
DBA_USERS
データ・ディクショナリ・ビューに問い合せて、ユーザー・アカウント用に構成されたパスワード・バージョンすべてのリストを出すことができます。
たとえば:
SELECT USERNAME,PASSWORD_VERSIONS FROM DBA_USERS;
USERNAME PASSWORD_VERSIONS
------------------------------ -----------------
JONES 10G 11G 12C
ADAMS 10G 11G
CLARK 10G 11G
PRESTON 11G
BLAKE 10G
PASSWORD_VERSIONS
列は、アカウントに存在するパスワード・バージョンのリストを示しています。10G
は、以前の、大/小文字を区別しないOracleパスワード・バージョン、11G
はSHA-1ベースのパスワード・バージョン、12C
はSHA-2ベースのSHA-512パスワード・バージョンを表します。
-
ユーザー
jones
: このユーザーのパスワードは、SQLNET.ALLOWED_LOGON_VERSION_SERVER
パラメータ設定が8
のときに、Oracle Database 12cリリース12.1で再設定されました。これにより、3つのすべてのパスワード・バージョンを作成できます。 -
ユーザー
adams
およびclark
: これらのアカウントのパスワードは当初Oracle Database 10gで作成され、Oracle Database 11gで再設定されました。Oracle Database 11gソフトウェアは、その時点でデフォルトのSQLNET.ALLOWED_LOGON_VERSION
設定の8
を使用していました。大/小文字を区別しないことがデフォルトで有効になっているため、これらのパスワードは、preston
のパスワードと同様に大/小文字が区別されるようになりました。 -
ユーザー
preston
: このアカウントは排他モード(SQLNET.ALLOWED_LOGON_VERSION = 12
)で実行されていたOracle Database 11gデータベースからインポートされたものです。 -
ユーザー
blake
: このアカウントはまだOracle Database 10gパスワード・バージョンを使用しています。この段階では、ユーザーblake
はログインできません。
10Gパスワード・バージョンを使用するユーザーの再設定
すべてのユーザーのアカウントから10G
パスワード・バージョンを削除する必要があります。次の手順で、10G
パスワード・バージョンを持つユーザーのパスワードを再設定するには、ログインが許可される前のクライアントの機能レベル要件を制御するSQLNET.ALLOWED_LOGON_VERSION_SERVER
設定を、一時的に緩和する必要があります。設定を緩和することで、それらのユーザーがログインしてパスワードを変更し、10G
パスワード・バージョンに加えてより新しいパスワード・バージョンを生成できるようになります。後で、排他モードを使用するようにデータベースを設定し、クライアントがO5L_NP
機能を使用できることを確認できます。そうすれば、パスワードにもう10G
,が含まれず、より安全な11G
および12C
パスワード・バージョンだけを持つように、ユーザーはもう一度パスワードを再設定できます。
Oracle Grid Infrastructure、Oracle ASMおよびOracle Clusterwareの理解
Oracle ClusterwareとOracle Automatic Storage Management (Oracle ASM)は、両方ともOracle Grid Infrastructureインストールの一部です。
Oracle Grid Infrastructureは、単一サーバーにインストールした場合、Oracle ASMとともにOracle Restartインストールとしてデプロイされます。クラスタにインストールした場合は、Oracle ASMとともにOracle Clusterwareインストールとしてデプロイされます。
Oracle Restartは、単一インスタンス環境におけるOracle Databaseの可用性を向上します。Oracle Restartをインストールし、データベース、リスナー、Oracle ASMインスタンスなどのOracle Databaseソフトウェア・スタックの一部が一時的に失敗した場合、失敗したコンポーネントはOracle Restartによって自動的に再起動されます。また、これらのすべてのコンポーネントは、データベース・ホスト・コンピュータが再起動されるときに、Oracle Restartによって起動されます。コンポーネントは、コンポーネント間の依存性を考慮して適切な順序で起動されます。
Oracle Clusterwareは、単一サーバーを単一システムとして連携するようにクラスタ化できるポータブル・クラスタ・ソフトウェアです。Oracle RACに必須なインフラストラクチャも提供します。また、Oracle Clusterwareでは、クラスタ内の任意のOracleアプリケーションまたはその他のアプリケーションを保護できます。いずれの場合でも、Oracle Clusterwareはそれらのシステムにおけるインテリジェント機能としてクラスタ・ノード間の必要な連携を確実にします。
Oracle Grid InfrastructureのインストールとアップグレードおよびOracle ASM
Oracle ASMは、Oracle Grid Infrastructureとともにインストールされます。
以前のリリースまでは、Oracle ASMは、Oracle Databaseインストールの一部としてインストールされていました。Oracle Databaseリリース11.2以上では、Oracle ASMは、Grid Infrastructureコンポーネントのインストール時にインストールされます。Oracle ASMは、Oracle ClusterwareとOracleホームを共有します。
参照:
Oracleホーム、ロール割当て済のシステム権限グループ、様々なインストール・ソフトウェア所有者ユーザー、および他の変更の詳細は、使用しているプラットフォームの『Oracle Grid Infrastructureインストレーション・ガイド』を参照してください。
新機能の適宜追加
データベース・アップグレード計画の一環として新機能を確認してください。
『Oracle Database新機能ガイド』では、新しいOracle Databaseリリースで使用可能な多くの新機能について説明されています。これらのどの新機能がデータベースおよびアプリケーションに有効かを判断してください。その後、これらの機能を使用する計画を立てることができます。
新しいOracle Databaseソフトウェアを使用するためにすぐに変更する必要はありません。データベースおよびアプリケーションに、新機能の拡張機能を徐々に取り入れることもできます。
必要な新しい管理手順の作成
スクリプトおよびプロシージャの再確認を計画し、必要に応じて変更します。
新しいOracle Databaseリリースの機能をよく理解したうえで、データベース管理用のスクリプトおよびプロシージャを再確認し、変更が必要かどうかを判断します。
それぞれのアプリケーションに必要な変更を、データベースにも行う必要があります。たとえば、データベースで整合性制約を使用可能にした場合、アプリケーションでのデータ・チェックの一部を削除できます。
ロールバック・セグメントから自動UNDOモードへの移行
データベース・リリースがOracle Database 11gより前の場合は、ロールバック・セグメント(手動UNDO管理)を使用してアップグレードしたデータベースを、自動UNDO管理に移行する必要があります。
自動UNDO管理は、デフォルトのUNDO領域管理モードです。システムで使用するUNDO領域管理モードは、UNDO_MANAGEMENT
初期化パラメータで指定します。
-
UNDO_MANAGEMENTが
AUTO
に設定されている場合(またはUNDO_MANAGEMENTが設定されていない場合)、データベース・インスタンスは自動UNDO管理モードで起動します。UNDO_MANAGEMENT初期化パラメータがNULLの場合のデフォルトは、Oracle Database 11gリリース1 (11.1)以降では自動UNDO管理モードです。以前のリリースでは、手動UNDO管理モードがデフォルトです。以前のリリースをアップグレードするときには注意してください。
-
UNDO_MANAGEMENTが
MANUAL
に設定されている場合、UNDO領域はロールバック・セグメントとして外部に割り当てられます。
LONGデータ型からLOBデータ型への表の移行
ALTER TABLE
文を使用して、LONG
データ型の列をCLOB
に、LONG RAW
データ型の列をBLOB
に変更できます。
LOB
データ型(BFILE
、BLOB
、CLOB
およびNCLOB
)には、LONG
データ型よりも多くのメリットがあります。
次の例では、long_tab
表のlong_col
というLONG
列が、CLOB
データ型に変更されます。
SQL> ALTER TABLE Long_tab MODIFY ( long_col CLOB );
この方法でLONG
列をLOBに変換した後も、表に設定されている既存の制約およびトリガーはすべて使用できます。ただし、表のすべての列で、ドメイン索引およびファンクション索引を含むすべての索引が使用不可となるため、ALTER INDEX ... REBUILD
文を使用してすべての索引を再構築する必要があります。また、LONG
列上のドメイン索引は、LONG
列をLOBに変更する前に削除する必要があります。
参照:
LOBデータを使用するためのアプリケーションの変更の詳細は、『Oracle Database SecureFilesおよびラージ・オブジェクト開発者ガイド』を参照してください。
アップグレードしたOracle Databasesでの従来の監査の無効化
従来の監査はOracle Database 21cで非推奨となり、Oracle Database 23cでサポートが終了しました。ご使用のデータベースで従来の監査を無効にし、統合監査のみを使用することをお薦めします。
統合監査と従来の監査(混合モード)は、Oracle Database 12c以降デフォルトの監査モードでした。混合モードの監査は、統合監査に慣れ、従来の監査から移行するために提供されました。Oracle Database 21cで従来の監査が非推奨となったため、ご使用のデータベースで従来の監査を無効にし、統合監査のみを使用することをお薦めします。『Oracle Databaseセキュリティ・ガイド』の手順を参照してください。
- Oracle Databaseの監査の理解
アップグレードしたデータベースで使用する監査ポリシーを決定します。 - Oracle Databaseでの従来の監査の無効化および統合監査の使用
マルチテナント・コンテナ(CDB)・データベースの場合はこの手順を使用して、従来の監査を無効にし、統合監査を使用します。 - 統合監査への移行後の古い監査レコードの管理について
統合監査証跡を使用するための準備として、古い監査証跡を確認、アーカイブおよび削除します。 - 純統合監査から混合モードの監査への移行
混合モードの監査構成で従来の監査を有効にするには、この手順を使用します。 - 統合監査を使用しない場合のドキュメント参照の取得
ここにリストされているドキュメントにアクセスして、非統合監査の使用方法に関する構成情報を取得できます。
Oracle Databaseの監査の理解
アップグレードしたデータベースで使用する監査ポリシーを決定します。
新しく作成されたデータベースでは、統合監査の混合モードの方式がデフォルトで有効になります。この方式では、従来の監査と統合監査が両方含まれています。事前定義された監査ポリシーであるORA_SECURECONFIG
ポリシーとORA_LOGIN_LOGOUT
ポリシーは、デフォルトで有効になります。従来の監査を無効にし、統合のみを使用することをお薦めします。
以前のリリースからOracle Database 12cアップグレードした場合は、データベースでは以前のリリースで使用していたものと同じ監査機能が使用されています。従来の監査を無効にすることを検討し、純統合監査の使用を開始できるように、事前定義された監査ポリシーであるORA_SECURECONFIG
ポリシーとORA_LOGIN_LOGOUT
ポリシーが有効になっていることを確認してください。
監査ポリシーを有効化して使用方法を構成するには、次のように1つの方法を選択します。
-
純統合監査機能を使用。
統合監査に移行して、統合監査の全機能を使用します。統合監査への移行の手順が完了した後は、新しい監査ポリシーを作成および有効化でき、事前定義された監査ポリシーを使用することもできます。これらのポリシーの監査レコードは、統合監査証跡に書き込まれます。以前の監査証跡および監査レコードは保持されますが、新しい監査レコードは以前の監査証跡には書き込まれません。
ノート:
以前のリリースの監査構成は、統合監査システムでは効果がありません。統合監査証跡内では、統合監査ポリシーのみが監査レコードを生成します。
-
混合モードの監査機能を使用。
混合モードの監査機能は、統合監査への移行に役立ちます。これは、従来の監査機能と統合監査機能の両方を同時に実行でき、新しいデータベースとアップグレードしたデータベースの両方に適用されます。混合モードの統合監査機能は、1つ以上の事前定義された統合監査ポリシーを有効化すると使用可能になります。これらのポリシーの監査レコードは、統合監査証跡に書き込まれます。Oracle Databaseの以前のリリースでの監査構成も使用可能で、この構成の監査レコードは以前の監査証跡に書き込まれます。純統合監査機能を使用することに決定した場合、それに移行できます。
ノート:
データベースが書込み不可な場合、監査レコードは、
$ORACLE_BASE/audit/$ORACLE_SID
ディレクトリにある新しい形式のオペレーティング・システム・ファイルに書き込まれます。
Oracle Databaseでの従来の監査の無効化および統合監査の使用
マルチテナント・コンテナ(CDB)・データベースの場合はこの手順を使用して、従来の監査を無効にし、統合監査を使用します。
root
で次の手順を実行します。この手順により、root
CDBとそれに関連するPDBの両方が、統合監査を使用するように構成されます。
ノート:
今すぐ統合監査の使用を開始することをお薦めします。これはOracle Database 21cで非推奨となり、Oracle Database 23cでサポートが終了しました。
移行時に従来の監査を使用し続ける必要がある場合は、統合監査をコンテナ・データベース(CDB)のルートのみから無効にできます。個々のプラガブル・データベース(PDB)については無効にできません。
ただし、統合監査が無効になっているときは、個々のPDBで、そのPDBでローカル監査ポリシーが有効になっているかどうかに応じて、混合モードの監査を使用できます。CDB共通監査ポリシーが有効になっている場合、すべてのPDBで混合モード監査が使用されます。
-
SYSDBA
権限を持つユーザーSYS
としてSQL*Plusにログインします。sqlplus sys as sysdba Enter password: password
マルチテナント環境では、このログインによって
root
に接続されます。 -
次の問合せを使用して、使用しているOracle Databaseが統合監査に移行したかどうかを確認します。
SQL> SELECT VALUE FROM V$OPTION WHERE PARAMETER = 'Unified Auditing';
VALUE
列の出力がTRUE
の場合、データベースで統合監査がすでに有効化されています。以前の監査レコードの管理に進むことができます。出力がFALSE
の場合は、この手順の残りのステップを完了してください。 -
データベースを停止します。単一インスタンス環境では、SQL*Plusから次のコマンドを入力します。
SQL> SHUTDOWN IMMEDIATE SQL> EXIT
Windowsシステムでは、Oracleサービスを停止します。
net stop OracleService%ORACLE_SID%
Oracle Real Application Clusters (Oracle RAC)インストールの場合、次のようにして各データベース・インスタンスを停止します。
srvctl stop database -db db_name
-
リスナーを停止します。(Oracle RACおよびOracle Grid Infrastructureリスナーでは、リスナーを停止する必要はありません。)
lsnrctl stop listener_name
lsnrctl status
コマンドを実行すると、リスナーの名前を検索できます。名前はAlias
設定で示されます。 -
ディレクトリ
$ORACLE_HOME/rdbms/lib
に移動します。 -
Oracleユーザーの統合監査を有効にします。
-
LinuxおよびUnix
make -f ins_rdbms.mk uniaud_on oracle ORACLE_HOME=$ORACLE_HOME
-
Microsoft Windows
ファイル名を
%ORACLE_HOME%/bin/orauniaud12.dll.dbl
から%ORACLE_HOME%/bin/orauniaud12.dll
に変更します。
ノート:
Oracleホームを共有していないOracle RACデータベースの場合、各クラスタ・メンバー・ノードでこのステップを繰り返して、各クラスタ・ノードのローカルORACLE_HOME内のバイナリが更新されるようにする必要があります。
-
-
リスナーを再起動します。
lsnrctl start listener_name
-
データベースを再起動します。
SQL*Plusにログインしてから、
STARTUP
コマンドを入力します。sqlplus sys as sysoper Enter password: password SQL> STARTUP
Microsoft Windowsシステムの場合、Oracleサービスを開始します。
net start OracleService%ORACLE_SID%
Oracle RACインストールの場合は、各データベース・インスタンスを起動します。
srvctl start database -db db_name
統合監査に移行した後、My Oracle SupportドキュメントID 2369172.1「データベース監査証跡のLOB列ではSecurefile Storageを使用する必要があります」を参照し、Oracleホーム・スクリプトOracle_home/rdbms/admin/auditpostupgrade.sql
に関する情報を確認します。統合監査のパフォーマンス上の利点を得るために、アップグレードの完了後にこのスクリプトを実行することをお薦めします。
統合監査への移行後の古い監査レコードの管理について
統合監査証跡を使用する準備として古い監査証跡を確認、アーカイブおよび削除します。
Oracle Databaseで従来の監査を無効にして統合監査を使用するための手順が完了した後は、データベースで使用していた以前の監査レコードが、以前の監査証跡に残っています。これらの監査レコードをアーカイブして、監査証跡を削除できます。統合監査が使用可能な場合、新しい監査レコードは統合監査証跡に書き込まれます。
純統合監査から混合モードの監査への移行
混合モードの監査構成で従来の監査を有効にするには、この手順を使用します。
従来の監査を混合モードで再度有効にする場合は、この手順を使用して従来の監査を有効にします。この場合、データベースでは混合モードの監査機能が使用されます。
ノート:
従来の監査は非推奨となっておりOracle Database 23cでサポートが終了していることに注意してください。そのことに基づいて計画してください。-
データベースを停止します。
sqlplus sys as sysoper Enter password: password SQL> SHUTDOWN IMMEDIATE SQL> EXIT
Microsoft Windowsシステムの場合は、次のようにOracleサービスを停止します。
net stop OracleService%ORACLE_SID%
Oracle RACインストールの場合は、次のようにして、各データベース・インスタンスを停止します。
srvctl stop database -db db_name
-
$ORACLE_HOME/rdbms/lib
ディレクトリに移動します。 -
統合監査実行可能ファイルを無効にします。
-
Linux/Unix: 次のコマンドを実行します。
make -f ins_rdbms.mk uniaud_off oracle ORACLE_HOME=$ORACLE_HOME
-
Microsoft Windows:
%ORACLE_HOME%/bin/orauniaud12.dll
ファイルの名前を%ORACLE_HOME%/bin/orauniaud12.dll.dbl
に変更します。
-
-
データベースを再起動します。
sqlplus sys as sysoper Enter password: password SQL> STARTUP SQL> EXIT
Microsoft Windowsシステムでは、Oracleサービスを再度起動します。
net start OracleService%ORACLE_SID%
Oracle RACインストールの場合は、次の構文を使用して、各データベース・インスタンスを起動します。
srvctl start database -db db_name
統合監査を使用しない場合のドキュメント参照の取得
ここにリストされているドキュメントにアクセスして、非統合監査の使用方法に関する構成情報を取得できます。
新しいOracle Databaseリリースへのアップグレード後に、統合監査に変更しないことを選択した場合、OracleドキュメントおよびOracle Technology Networkで従来の非統合監査に関する情報が提供されています。
-
Oracle Databaseセキュリティ・ガイド: このガイドは、監査を構成する際の主要な情報源です。このマニュアルのOracle Databaseリリース11gバージョンを使用する必要があります。このガイドにアクセスするには:
-
次のOracle Technology Networkの
docs.oracle.com
サイトで、データベース・ページにアクセスします。 -
「Oracle Database」を選択します。
-
「ダウンロード」ページで、「ドキュメント」タブを選択します。
-
リリース・リスト・フィールドで「Earlier Releases」を選択し、「Oracle Database 11g Release 2 (11.2)」を選択します。
-
Oracle Database 11gリリース2 (11.2)の「Documentation」ページから、「All Books」リンクを選択して、ドキュメント・セットの刊行物を表示します。
-
「セキュリティ・ガイド」を検索します。
-
このガイドの「HTML」または「PDF」リンクのいずれかを選択します。
-
再構築対象のOracle Text索引の識別
新しいOracle Databaseリリースへのアップグレード後にトークン表の再構築が推奨されるOracle Text索引の識別に役立つスクリプトを実行できます。
Oracle Database 12cリリース1 (12.2.0.1)をOracle Database 18c以降のリリースにアップグレードすると、Oracle Textトークン表($I
、$P
など)が64バイトから255バイトに拡張されます。しかし、索引で使用されている既存のトークン表のサイズ範囲が小さいと、拡張後のトークン列範囲をOracle Text索引で利用できなくなります。255バイトのサイズ範囲を使用するように索引を再構築する必要があります。Oracleは、再構築が推奨される索引の識別に役立つスクリプトを提供しています。
My Oracle Supportからスクリプトを取得してください。
DBMS_SCHEDULERジョブの削除および再作成
以前のリリースからのアップグレード後にDBMS_SCHEDULERジョブが機能しなくなった場合は、ジョブを削除して再作成します。
アップグレード後にDBMS_SCHEDULERジョブが機能しないことに気づいたら、それらのジョブを削除して再作成してください。この問題は、アップグレード処理からの問題報告がなく、システム・オブジェクトが有効な場合でも発生する可能性があります。
アップグレード後の統合監査レコードの転送
統合監査をアップグレードし、移行した後で高いパフォーマンスを得る方法を理解するためには、これらのトピックを確認します。
- アップグレード後の監査レコードの転送について
統合監査レコードをOracle Database 12cリリース12.1から、新しいOracle DatabaseリリースのAUDSYS
スキーマ下の新しいリレーショナル表に転送すると、統合監査証跡の読取りパフォーマンスが向上します。 - アップグレード後の統合監査レコードの転送
DBMS_AUDIT_MGMT.TRANSFER_UNIFIED_AUDIT_RECORDS PL/SQLプロシージャを使用して、統合監査レコードをAUDSYSの新しいリレーショナル表に転送できます。
アップグレード後の監査レコードの転送について
統合監査レコードをOracle Database 12cリリース12.1から、新しいOracle DatabaseリリースのAUDSYS
スキーマ下の新しいリレーショナル表に転送すると、統合監査証跡の読取りパフォーマンスが向上します。
Oracle Database 12cリリース2以降、統合監査レコードは直接、AUDSYSスキーマにある新しい内部リレーショナル表に書き込まれます。Oracle Database 12cリリース12.1では、統合監査レコードは共通ロギング・インフラストラクチャ(CLI) SGAキューに書き込まれていました。そのリリースの統合監査に移行した場合は、より高い読取りパフォーマンスを得るために、そのリリースの統合監査レコードを新しいOracle Databaseリリースの内部表に転送できます。この転送を実行することは必須ではありませんが、統合監査証跡の読取りパフォーマンスを向上させるため、転送をお薦めします。これは1回かぎりの操作です。アップグレード後に生成されたすべての新しい統合監査レコードはこの新しい表に書き込まれます。この表は、読取り専用の表です。この表のメタデータまたはデータを変更しようとすると、それらはすべて強制的に監査されます。
新しいOracle Databaseリリースにアップグレードした後に、以前のリリースのUNIFIED_AUDIT_TRAIL
に統合監査レコードが存在している場合は、この転送プロシージャを使用してそれらを新しい内部リレーショナル表に転送し、統合監査証跡の読取りパフォーマンスを高めることを検討してください。
SYS
スキーマの場合と同様、SELECT ANY TABLEシステム権限がある場合はAUDSYSスキーマの問合せはできません。さらに、この表はユーザーがSELECT ANY DICTIONARYシステム権限か、この内部表に対する明示的なSELECT権限を持っていないかぎり、ALL_TABLESデータ・ビューでスキーマ・オブジェクトとしてリストされません。データベースが読取り/書込みモードでオープンするまで、監査レコードはオペレーティング・システムの過剰ファイルに書き込まれます(.bin
形式)。ただし、データベースが読取り/書込みモードでオープンした後に、DBMS_AUDIT_MGMT.LOAD_UNIFIED_AUDIT_FILESプロシージャを使用してこれらのオペレーティング・システム・ファイルの監査レコードを内部リレーショナル表に転送することはできません。
親トピック: アップグレード後の統合監査レコードの転送
アップグレード後の監査レコードの転送
DBMS_AUDIT_MGMT.TRANSFER_UNIFIED_AUDIT_RECORDS PL/SQLプロシージャを使用して、統合監査レコードをAUDSYSの新しいリレーショナル表に転送できます。
親トピック: アップグレード後の統合監査レコードの転送
Oracle Databaseのアップグレード後のリカバリ・カタログ・アップグレードについて
RMANクライアントで要求されるバージョンより古いリカバリ・カタログ・スキーマを使用している場合、そのカタログをアップグレードする必要があります。
アップグレードされたデータベースでの無効なリリース更新バグ修正の有効化
実行計画の変更の原因となる可能性があるリリース更新のバグ修正は無効になっているため、使用する無効なバグ修正を有効にすることをお薦めします。
データベースをアップグレードした後、リリース更新に含まれる実行計画の変更の原因となるバグ修正パッチがデフォルトで無効になっている状態でインストールされます。これらのバグ修正は、修正を有効にするまで有効になりません。これらの修正は、PFILE
コマンドまたはALTER SYSTEM
コマンドで手動で有効にすることも、DBMS_OPTIM_BUNDLE
パッケージを使用することもできます。AutoUpgrade 19.12以降、DBMS_OPTIM_BUNDLE
パッケージには58個の標準修正が含まれています。これで、DBMS_OPTIM_BUNDLE
を使用して修正を追加できるようになりました。修正を追加すると、追加した修正はデフォルトの修正に加えて実行されます。
本番システムで使用するこれらの無効になっているパッチを有効にし、アップグレード・テスト計画の一部としてこれらのパッチを使用して完全なワークロード・パフォーマンス・テストを実行することをお薦めします。
DBMS_OPTIM_BUNDLE
を使用して、実行計画を変更する可能性があるために無効にされたパッチを有効にする方法の詳細は、Oracle Database PL/SQLパッケージおよびタイプ・リファレンス、およびMy Oracle Supportノート2147007.1を参照してください。
アップグレードした本番Oracle Databaseのテストについて
アプリケーションが期待どおり動作することを確認するため、テスト・データベースに実行したテストを本番データベースに対して繰り返します。
テスト・データベースを新しいOracle Databaseリリースにアップグレードしてテストした場合、新しいOracle Databaseリリースにアップグレードした本番データベースでも同じテストを繰り返すことができます。結果を比較し、相違点を記録します。必要に応じて、アップグレードのテストを繰り返します。
新しいOracle Databaseリリースでアプリケーションが適切に動作することを確認するには、新しくアップグレードされた本番データベースを既存のアプリケーションでテストします。また、使用可能なOracle Database機能を追加してテストし、拡張機能をテストすることもできます。ただし、アプリケーションがアップグレードの前と同様に動作するかどうかを最初に確認してください。
Oracle Databaseのアップグレード後のタイムゾーン・ファイルのバージョンのアップグレード
データベースのアップグレードを完了した後にAutoUpgradeアップグレード前レポートによってタイムゾーン・ファイルのアップグレードを指示され、このタスクを完了するようにAutoUpgradeを設定しない場合は、サポートされている方法のいずれかを使用してタイムゾーン・ファイルをアップグレードします。
ノート:
デフォルトでは、タイムゾーン・ファイルを更新する必要がある場合は、通常、AutoUpgradeによってこのタスクが実行されます。ただし、AutoUpgrade構成ファイルでタイムゾーン・ファイルのアップグレードを明示的に無効にする場合は、このタスクをアップグレード計画の一環として実行するか、後で実行する必要があります。