既存のSQL実行計画を自律型AIデータベースに移行して、SQLパフォーマンス低下のリスクを軽減
Autonomous AI Databaseへの移行時にSQLパフォーマンス低下のリスクを軽減する方法について説明します。
- リアルタイムSQL計画管理(SPM)を使用した自律型AIデータベースへの移行について
ソースOracle DatabaseからAutonomous AI Databaseに移行する場合のリアルタイムSQL計画管理の使用について説明します。 - ソースOracle Databaseでの自動SQLチューニング・セットの有効化
Autonomous AI Databaseに移行する前に、ソースOracle Databaseで自動SQLチューニング・セット(ASTS)を有効にします。 - 自律型AIデータベースへのデータの移行
自動SQLチューニング・セット(ASTS)が有効になっているソースOracle Databaseで十分な量のSQLを取得したら、自律型AIデータベースへの移行を実行します。 - ソースOracle Databaseからの自動SQLチューニング・セットのエクスポート
Autonomous AI Databaseへの移行を実行した後、ソースOracle Databaseから自動SQLチューニング・セット(ASTS)をエクスポートします。 - 自律型AIデータベースへの自動SQLチューニング・セットのインポート
自律型AIデータベースへの移行を実行し、移行するソースOracle Databaseから自動SQLチューニング・セット(ASTS)をエクスポートした後、ASTSを自律型AIデータベースにインポートします。 - 自律型AIデータベースでのリアルタイムSPM設定の検証
自律型AIデータベースでリアルタイムSPMが有効になっていることを確認するステップについて説明します。
リアルタイムSQL計画管理(SPM)を使用した自律型AIデータベースへの移行について
ソースOracle DatabaseからAutonomous AI Databaseに移行する場合のリアルタイムSQL計画管理の使用について説明します。
ソースOracle DatabaseからAutonomous AI Databaseに移行する場合、リアルタイムSQL計画管理(SPM)を使用できます。これにより、ソース・データベースからSQL実行計画を取得し、それらをAutonomous AI Database上の自動SQLチューニング・セット(ASTS)に移動できるため、移行後も計画のパフォーマンスが同じか、より優れた状態で実行されます。リアルタイムSPMでは、Autonomous AI Databaseでの計画の変更が許可されますが、リアルタイムSPMでパフォーマンスが低下すると、その計画のパフォーマンスが向上した場合に、事前移行されたデータベースからの計画が使用される可能性があります(リアルタイムSPMでは、パフォーマンスが向上した場合にのみ自動SQLチューニング・セット(ASTS)の計画が使用されます)。
自律型AIデータベースへの移行でリアルタイムSPMを使用する場合は、次の点に注意してください。
- SPMは、繰返し可能なSQL文に依存します。SPMは、SQL文でリテラル値を使用するデータベースや、アドホック問合せ環境など、非常に動的なSQLには適していません。ただし、SQL文でリテラル値が使用され、
CURSOR_SHARING
パラメータがFORCE
に設定されている場合、SPMは機能します。 - Autonomous AI Databaseに移行するソースOracle Databaseでは、SQLチューニング・セット(
SYS_AUTO_SYS
)でアプリケーションSQL文を取得します。これにより、SYSAUX
内の領域を消費できますが、通常は数ギガバイト(大規模なシステムの場合でも)しか消費しません。SYSAUX
の使用状況を監視し、必要に応じて表領域のサイズを増やすことができます。 - リアルタイムSPMは、すべてのパフォーマンスの低下を防ぐことはできませんが、SQL実行計画の変更によってパフォーマンス低下が発生するリスクを大幅に削減できます。
次のステップを実行して、ソースOracle DatabaseでSQL計画管理(SPM)を有効にし、データベースをAutonomous AI Databaseに移行します。
詳細は、次を参照してください:
ソースOracle Databaseでの自動SQLチューニング・セットの有効化
Autonomous AI Databaseに移行する前に、ソースOracle Databaseで自動SQLチューニング・セット(ASTS)を有効にします。
ASTSは、ワークロードをカバーし、SQL文のすべてまたはほとんどとその実行計画を取得するのに十分な時間のために実行する必要があります。そのため、自律型AIデータベースへの移行の前に、リードタイムでASTSを有効にすることを検討してください。たとえば、財務または販売アプリケーションの場合、月末または年度末処理を取得します。
ソースOracle Databaseで、DBAユーザーとして自動SQLチューニング・セット(ASTS)を有効にします。
取得されるSQLを監視する場合は、DBA_SQLSET_STATEMENTS
を表示します。たとえば:
SELECT substr(sql_text,1,100) txt, executions
FROM dba_sqlset_statements
WHERE sqlset_name = 'SYS_AUTO_STS';
必要に応じて、SYSAUX
のサイズと空き領域を監視できます。たとえば:
SELECT sum(bytes)/(1024*1024*1024) size_gb
FROM dba_data_files
WHERE tablespace_name = 'SYSAUX' GROUP BY tablespace_name;
SELECT sum(bytes)/(1024*1024*1024) free_gb
FROM dba_free_space
WHERE tablespace_name = 'SYSAUX' GROUP BY tablespace_name;
自律型AIデータベースへのデータの移行
自動SQLチューニング・セット(ASTS)が有効になっているソースOracle Databaseで十分な量のSQLを取得したら、Autonomous AI Databaseへの移行を実行します。
Autonomous AI Databaseに移行するオプションについては、Oracle DatabasesのAutonomous AI Databaseへの移行を参照してください。
ソースOracle Databaseからの自動SQLチューニング・セットのエクスポート
Autonomous AI Databaseへの移行を実行した後、ソースOracle Databaseから自動SQLチューニング・セット(ASTS)をエクスポートします。
詳細は、DBMS_SQLSETを参照してください。
Autonomous AI Databaseへの自動SQLチューニング・セットのインポート
Autonomous AI Databaseへの移行を実行し、移行するソースOracle Databaseから自動SQLチューニング・セット(ASTS)をエクスポートした後、ASTSをAutonomous AI Databaseにインポートします。
詳細は、DBMS_SQLSETを参照してください。
自律型AIデータベースでのリアルタイムSPM設定の確認
Autonomous AI DatabaseでリアルタイムSPMが有効になっていることを確認するステップについて説明します。
Autonomous AI Databaseでは、リアルタイムSPMがデフォルトで有効になっています。リアルタイムSPMモードは、次のように検証できます。
SELECT parameter_value spm_mode
FROM dba_sql_management_config
WHERE parameter_name = 'AUTO_SPM_EVOLVE_TASK';
モードAUTO
(自動)のリアルタイムSPMは、リアルタイムSPMが有効になっていることを示します。
リアルタイムSPMが有効になっていない場合は、次のコマンドを使用して有効にします。
EXEC dbms_spm.configure('AUTO_SPM_EVOLVE_TASK', 'AUTO')