データベース管理者必見!Oracle Database 19cの新機能徹底解説
Oracle® Database 19cは、数多くの新機能と改善された機能を搭載して登場しました。本記事では、データベース管理者(DBA)の業務を効率化する主要な新機能について詳しく解説します。
はじめに
Oracle 19cは、Oracle Database 12cリリース2製品ファミリーにおいて長期サポートが提供される最終リリースです。Linux®、Windows®、Solaris®、HP/UX®、AIX®などの各プラットフォームに加え、Oracle Cloud上でも利用可能です。Oracle 19cは、あらゆる運用系および分析系ワークロードに対して、最高レベルのパフォーマンス、スケーラビリティ、信頼性、セキュリティ機能を顧客に提供します。
主な新機能一覧
以下の新機能により、データベース管理者(DBA)のタスクがより簡単になります。
- DBCAサイレントモードの強化。サイレントモードのDBCAを使用して、以下のタスクを実行できます。
- リモートPDBのクローン作成
- PDBを別のコンテナ・データベース(CDB)への移動
- Oracle Databaseの複製(デュプリケート)作成
- Oracle Clusterwareアップグレードのドライラン検証
- Data Guardにおけるフラッシュバック対応
- Data GuardでのDML操作
- ネットワークファイルの保持期間とサイズ制限
- 自動索引付け機能
- イメージベースのOracleクライアントインストール
- Oracle Database向けAutoUpgrade
以降のセクションで、これらの機能をより深く掘り下げて説明します。
DBCAサイレントモード
DBCAのサイレントモードを使用すると、PDB、CDB、または非CDBデータベースのクローン作成や移動をコマンドラインから実行できます。以下に具体例を示します。
サイレントモードのDBCAでリモートPDBをクローンしてPDBを作成するには、次の構文を使用します。
dbca -createPluggableDatabase -createFromRemotePDB -remotePDBName <REMOTE_PDB_NAME> -remoteDBConnString <REMOTE_DB_CONN_STRING> -sysDBAUserName <SYSDBUSERNAME> -sysDBAPassword <SYSDBAPASSOWRD> -dbLinkUsername <DBLINK_COMMON_USER_NAME> -dbLinkUserPassword <DBLINK_COMMON_USERNAME_PWD> -sourceDB <Local_CDB> -pdbName <PDBTOBECREATED>PDBを別のCDBへ移動するには、次の構文を使用します。
dbca -silent -relocatePDB -remotePDBName <REMOTE_PDB_NAME> -remoteDBConnString <REMOTE_DB_CONN_STRING> -sysDBAUserName <SYSDBUSERNAME> -sysDBAPassword <SYSDBAPASSOWRD> -dbLinkUsername <DBLINK_COMMON_USERNAME> -dbLinkUserPassword <DBLINK_COMMON_USERNAME_PWD> -sourceDB <DBNAME_PDB_TOBERELOCATED> -pdbName <PDBTOBERECREATED非CDBまたはReal Application Clusters(RAC)データベースの複製を作成するには、次の構文を使用します。
dbca -silent -createDuplicateDB -gdbName test -primaryDBConnectionString <Hostname>:1521/orcl.us.rackspace.com -sid test -databaseConfigType SINGLE -initParams db_unique_name=test -sysPassword XXXXX
Gridアップグレードにおけるドライラン検証
この機能は、実際のアップグレード作業でDBAが使用するものと同様の入出力を提供することで、自動化や事前チェックのタスクをできる限り現実に近い形で実行します。なお、この機能はRAC専用であり、Oracle Restartではまだ利用できません。ドライランによるGridアップグレードで実行されるチェックは以下の通りです。
- 事前チェックの入力値と結果の確認
- 構成ツールは一切実行しない
- アップグレードに対するシステム準備状況の確認
- ストレージおよびネットワーク構成の検証
- ソフトウェアおよびハードウェア要件の確認
- パッチ要件の確認と、必要に応じたパッチ適用
構文:$ORACLE_HOME/runinstaller dryRunForUpgrade
注意: ドライラン実行後、実際のアップグレードに進むためには、最初のノードでORACLE_HOMEをデタッチする必要があります。この操作は次の構文で実行します。
runInstaller -silent –waitforcompletion -detachHome ORACLE_HOME=<> -local
Data Guardにおけるフラッシュバック
プライマリ・データベースとスタンバイ・データベースが同じ現在の状態で利用できるようになりました。フラッシュバック機能を使ってプライマリ・データベースをフラッシュバックしても、スタンバイはプライマリと同期した状態を維持します。19c以前のOracleリリースでは、スタンバイを同じ状態に保ちプライマリと同期させるために手動のプロセスを実行する必要がありました。
DMLおよびPL/SQLに対応したOracle Active Data Guard
スタンバイモードでもDMLとPL/SQLが使用できるようになりました。Oracle Active Data Guardユーザーは、データベースレベルでDML文やPL/SQLコードを実行できます。また、データベースレベルで設定を行っていない場合は、必要に応じてセッションレベルでもDML文やPL/SQLコードを実行できます。以下の設定とコマンドを使用します。
すべてのセッションでDMLアクティビティを有効にするには、スタンバイ側でパラメータを設定します。
ADG_REDIRECT_DML=TRUEすべてのセッションでPL/SQLアクティビティを有効にするには、スタンバイ側でパラメータを設定します。
ADL_REDIRECT_PLSQL=TRUE現在のセッションのみに設定する場合は、次のコマンドを使用します。
ALTER SESSION ENABLE ADG_REDIRECT_DML ; ALTER SESSION ENABLE ADL_REDIRECT_PLSQL ;
ネットワークトレースおよびログファイルの自動パージ
Oracleは、ログおよびトレースファイルの保持を制御するために、Automatic Diagnostic Repository(ADR)と非ADRリスナーのパラメータを導入しました。以下のパラメータが制限を管理します。デフォルトではこれらは未設定であり、0に設定すると無制限として動作します。以下の非ゼロの上限を設定できます。
- LOG_FILE_NUM_listener_name: ログファイルセグメントの数を指定します(デフォルト: 未設定)。
- LOG_FILE_SIZE_listener_name: リスナーログファイルの最大サイズをMB単位で指定します(デフォルト: 300MB)。
- TRACE_FILEAGE_listener_name: リスナートレースファイルの最大経過時間を分単位で指定します(デフォルト: 無制限)。
- TRACE_FILELEN_listener: リスナートレースファイルの最大サイズをKB単位で指定します(デフォルト: 無制限)。
自動索引付け機能
新しく導入されたパッケージにより、SQL Access Advisorを使用して、索引の作成、再構築、分析のタスクを自動的に構成できるようになりました。この機能と連携するパッケージは以下の通りです。
- dbms_auto_index.configure
- dbms_auto_index.report_activity
DBA_INDEXES列のAUTOを確認することで、自動索引構成によって索引が作成されたかどうかを検証できます。
イメージベースのOracleクライアントインストール
管理クライアントでも、Oracle Databaseソフトウェアのバイナリと同様に、イメージベースのOracleクライアントインストールが可能になりました。
AutoUpgrade
AutoUpgrade機能を使用すると、Oracle Databaseを自動的にアップグレードできます。この機能の基盤となるのは構成ファイルです。構成ファイルを使用することで、AutoUpgradeプロセスを誘導し、多数のOracle Databaseアップグレードオプションを制御できます。
AutoUpgradeユーティリティ:oracle_home/rdbms/admin/autoupgrade.jar
ログ/構成ファイルの場所:以下の場所に格納されています。
- UnixおよびLinux®システム:/tmp/autoupgrade
- Microsoft® Windows®:C:\Users\name\AppData\Local\Temp\autoupgrade
デフォルトの構成ファイル名:autoupgrade <YYYYMMMMMHHMMSS>.cfg(YYYYは年、MMMMは月、HHは時、MMは分、SSは秒)
AutoUpgradeの前提条件
- JDK 8(12.1リリース以降はバイナリにも同梱)
- アップグレード互換性については、手動アップグレードと同じルールが適用されます。
- ターゲットCDBへアップグレードする場合、ターゲットCDBがすでに存在している必要があります。
- 11.2.0.4以降のバージョンから直接アップグレードでき、非CDBからCDBへの変換も可能です。
- AutoUpgradeを実行する前に、ターゲットのOracleHomeが利用可能であり、最新のRU/RURでパッチ適用済みであることを確認してください。
- アーカイブログモードをONにしておくこと
- AutoUpgradeユーティリティをダウンロードし、以下のバージョンの自動アップグレードに使用します。
AutoUpgradeでアップグレードすべきもの・避けるべきもの
以下の一覧は、AutoUpgradeでアップグレードすべき対象と、アップグレードを避けるべき対象を示しています。
- 1つまたは複数のOracle Databaseをアップグレードできます。
- 非CDBとCDBの両方に対応し、アップグレードを伴う非CDBからCDBへの直接変換もサポートします。
- SE2およびEnterprise Editionのデータベースをサポートします。
- すべてのオペレーティングシステムで動作します。
- RACデータベースのアップグレードに対応しています。
- Grid Infrastructureのアップグレードとの互換性はありません。
AutoUpgradeをセットアップして使用するには、以下の手順を実行します。
セットアップ:
Oracleでは、現在のバージョンを確認したうえで、MOS(My Oracle Support)ドキュメント2485457.1から最新版をダウンロードしてアップグレードに使用することを推奨しています。
コマンドラインで構成ファイルのパラメータを設定するには、次の構文を使用します。
java –jar autoupgrade.jar –config /dir/myconfig.cfg –config_values “source_home=/srcdir, target_home=/trgdir, sid=sales” –mode deploy
または、以下の環境変数と空の構成パラメータを使用することもできます。
ORACLE_HOME = /u01/app/oracle/product/12.1.0.2ORACLE_TARGET_HOME = /u01/app/oracle/product/19.0.3ORACLE_SID= mydbORACLE_TARGET_VERSION = 18.3
上記のコマンドを実行すると、デフォルト名で構成ファイルが生成されます。これを自身の環境に合わせて修正し、以下の手順に進みます。
グローバル変数とローカル変数を定義することもできます。ローカル変数の宣言はグローバル変数を上書きします。詳細は以下の画像を参照してください。
また、シェルスクリプト、PowerShell®スクリプト、バッチファイルを使用して、バッチ処理コマンドを自動実行することもできます。以下の画像を参照してください。
同一サーバー上のソースとターゲットのアップグレード:
同一サーバー上でソースとターゲットのOracle Databaseをアップグレードする場合は、Oracleが推奨する以下の順序でコマンドを実行します。
java –jar autoupgrade.jar -config_values "" -mode analyzejava –jar autoupgrade.jar -config_values "" -mode fixjava –jar autoupgrade.jar -config_values "" -mode deploy
異なるサーバーのソースとターゲットのアップグレード:
ソースとターゲットが異なるOracle製品のアップグレードの場合は、前述の手順のanalyzeとfixコマンドをソース側で実行し、ターゲット側では以下のupgradeコマンドを使用します。
java –jar autoupgrade.jar -config_values "" -mode upgrade
アップグレードの監視:
AutoUpgradeは、コンソール、ログディレクトリ内のHTMLファイル、およびログファイルを使用して、検証と監視を行えます。監視に使用する主な場所は以下の通りです。
- /cfgtoollogs
- ./upgrade/auto/status <- ステータスログ
- /database_1
- ./job_number
- ./prechecks
- ./preupgrade <- アップグレード前ログ
- ./prefixups
- ./drain
- ./dbupgrade <- アップグレードログ
- ./postupgrade
- ./temp
- /database_2
AutoUpgradeの使用時の注意点:
重要: AutoUpgradeコンソールでコマンドを使用する際のヒントを以下に示します。
- プロンプトでControl + C、Control + V、Control + D、またはexitを使用しないでください。アップグレードが停止します。
- 上級ユーザーは
-noconsoleオプションの使用を検討してください。
ジョブの開始・停止には、以下のAutoUpgradeジョブステータスコマンドを使用します。
- ジョブ一覧の表示:
lsj - ジョブの再開:
resume -job <number> - ジョブステータスの表示:
status [-job <number>] - GRPからのデータベース復元:
restore -job <number> - 指定ジョブの中断(再開可能):
abort -job <number>
まとめ
本記事で紹介した新機能を活用することで、DBAはデータベースソフトウェアのインストールやアップグレードを容易に管理できるようになり、索引の不足や索引性能の低下によってパフォーマンスが劣化したSQLクエリのチューニングも効率的に行えます。本番環境で実行計画に組み込む前に、必ずテスト環境でOracle 19cの新機能の動作を確認することを忘れないでください。
データベースサービスの詳細については、ぜひお問い合わせください。
ご意見やご質問がある場合は、フィードバックタブをご利用ください。私たちとの対話も歓迎します。
-
Windows 10 PCを最大限に活用するための必須ソフトウェアと便利な機能まとめ
AppleとAndroidがスマートフォンやタブレット市場の覇権を争う中、MicrosoftはPC市場の中核製品であるWindowsオペレーティングシステムに注力し続けています。新しいアプリや機能が絶えず提供されることで、Windowsは今も世界中の何百万人ものユーザーにとって欠かせない存在であり続けています。 初心者から上級者まで、Windowsを最大限に活用するために必要なソフトウェアや機能があります。この記事では、Windows 10のおすすめソフトウェアと、知っておくべき便利な機能をご紹介します。 Windowsに必須の6つのソフトウェア Microsoftは標準状態でペイントやEdg
-
iOS 12のSafari新機能まとめ:プライバシー保護がさらに強化
Apple純正ブラウザ「Safari」は、ユーザーのプライバシー保護に力を入れていることで知られています。新型iOSの登場に合わせて、AppleはiPhoneによるユーザーデータ保護の機能をさらに強化しました。オンライン上でのユーザーの安全を守るため、標準ブラウザであるSafariにも新しい機能が追加されています。iOS 12は2018年9月に正式リリースされましたが、これらのSafariの新機能はベータ版の段階から確認できました。本記事では、Safariに追加された最新機能について詳しく解説します。強化された「インテリジェント・トラッキング防止」機能ニュース記事などを読んでいると、Twitt