データベースからデータを手動で収集する
このタスクについて
- Oracle Database アカウント
SYSDBAが、無効になっていたり、データベースへのアクセスが制限されている (例えば、Oracle Database Vault 機能が使用中) の場合。 - Unix システムでは、データベース・インスタンスの所有者は、パスワード無しで SYSDBA として Oracle データベースにローカルに接続することはできません。
- Windows システムでは、システム管理者アカウントが、パスワード無しで SYSDBA として Oracle データベースにローカル接続するオプションは無効になっています。
- データベースはバージョン 11.2 より前の Oracle Database インベントリー・データを収集しようとします。
注: 同じバージョンの Fixlet と BigFix Inventory サーバーからダウンロードしたスクリプトを使用して Oracle データを収集するようにしてください。バージョンが異なると互換性がない場合があります。
そのような場合にデータベース・データを手動で収集するには、該当するすべてのデータベース・インスタンスとデータベース コンテナーで Oracle Measurements SQL スクリプト (現 Oracle スクリプト) を実行します。そのためには、次の手順を実行してください。- BigFix コンソールの「Get Oracle Database Auditing Data」Fixlet のリンクをクリックして、Oracle スクリプトをダウンロードします。
- SQL Plus がインストールされ Oracle データベース・クライアント用に構成されているコンピューターにログインします。次のいずれかのアクションを行うことができます。
- Oracle データベースがインストールされている各コンピューターにログインし、SQL Plus データベース・クライアントを使用して各 Oracle データベース・インスタンスにローカルで接続します。
- SQL Plus クライアントを使用して、各 Oracle データベースおよびデータベース・コンテナーにリモートで接続します。
- SQL Plus を起動する前に NLS_LANG 変数を AMERICAN_AMERICA.AL32UTF8 に設定して、SQL Plus で AMERICAN_AMERICA.AL32UTF8 エンコーディングを使用します。
Unix では、シェルコマンドで次のコマンドを使用します。NLS_LANG=AMERICAN_AMERICA.AL32UTF8; export NLS_LANG
Windows では、cmd コマンドで次のコマンドを使用します。NLS_LANG=AMERICAN_AMERICA.UTF8
- SQL Plus クライアントに資格情報と接続の詳細情報を入力して、Oracle データベースにログインします。
SYSDBAアカウントを使用できない場合 (例えば、Oracle Database Vault 機能によってデータベース・オブジェクトへのアクセスが制限されている場合) は、データベース・オブジェクトへのアクセスに適切な権限のあるデータベース・ユーザーの資格情報を使用するようにします。必要な権限に関する情報については、Oracle スクリプトで説明します。
- 各データベース・インスタンスとデータベース・コンテナーで SQL スクリプトを実行します。
-
Oracle スクリプトによって生成されたすべての CSV ファイルが入ったアーカイブを作成します。BigFix は ZIP と tar gzip 形式の両方をサポートしています。ZIP 形式の場合は名前拡張子 *.zip、「tar gzip」形式の場合は拡張子 *.tar.gz か *.tgz がファイルに付いている必要があります。複数のデータベースとコンピューターから収集したファイルを 1 つのアーカイブ・ファイルに含めることができます。
- BigFix Inventory サーバーのすべてのアーカイブファイルを oracleAuditingManuallyUploadedFilesPath 設定で定義されたフォルダーにアップロードします。Windows と Linux のデフォルトのフォルダーの場所は <installation_dir>/wlp/usr/servers/server1/data/sam/oracleAuditingManuallyUploaded です。
以下は SYSDBA ユーザーへのローカル接続を使用してデータベース・データを手動で収集する方法の例です。別のデータベース・アカウントを使用したり、リモートにデータを収集する場合は、データの収集 を参照するかデータベース管理者に問い合わせてください。
- Oracle Database がインストールされているコンピューターにログインします。
- 次のようにして、適切なユーザーに切り替えます。
Unix では、Oracle Database インスタンスの所有者であるユーザーに切り替えます。
Windows では、パスワード無しで SYSDBAとして Oracle Database ユーザーに接続する権限のあるユーザーに切り替えます。
- そのコンピューターに HCL_db_usage_tracking_queries.sql SQL スクリプトをコピーします。
- シェル・セッションで NLS_LANG=AMERICAN_AMERICA.AL32UTF8; export NLS_LANG コマンドを実行します。
- sqlplus / as SYSDBA コマンドを使用して Oracle データベースにログインします。このコマンドを変更して、必要に応じて資格情報を入力できます。
- SQL Plus コマンドラインで、@./BFI_db_usage_tracking_queries.sql コマンドを使用してスクリプトを実行します。
- データベースがコンテナー化されている場合は、次にようにします。
- ALTER SESSION SET CONTAINER=<<container name>> コマンドを使用して、各コンテナーに切り替えます。
- 各コンテナーで @./BFI_db_usage_tracking_queries.sql コマンドを使用して監査スクリプトを実行します。
データベース構成で、パスワードを使用しない接続が無効になっていたり、SYSDBA ユーザーのデータへのアクセスが制限されている場合 (例えば、Database Vault 機能が有効になっている場合) は、SQL Plus ツールを起動するためのパラメーターを変更する必要があります。