データベースからデータを手動で収集する

このタスクについて

BigFix Endpoints は、「Get Oracle Database Auditing Data Oracle」Fixlet を使用して Oracle データベースのデータを自動的に収集します。手動操作は必要ありません。ただし、できない場合もあります。データベースのデータを手動で収集できない場合の例を以下に挙げます。
  • Oracle Database アカウント SYSDBA が、無効になっていたり、データベースへのアクセスが制限されている (例えば、Oracle Database Vault 機能が使用中) の場合。
  • Unix システムでは、データベース・インスタンスの所有者は、パスワード無しで SYSDBA として Oracle データベースにローカルに接続することはできません。
  • Windows システムでは、システム管理者アカウントが、パスワード無しで SYSDBA として Oracle データベースにローカル接続するオプションは無効になっています。
  • データベースはバージョン 11.2 より前の Oracle Database インベントリー・データを収集しようとします。
注: 同じバージョンの Fixlet と BigFix Inventory サーバーからダウンロードしたスクリプトを使用して Oracle データを収集するようにしてください。バージョンが異なると互換性がない場合があります。
そのような場合にデータベース・データを手動で収集するには、該当するすべてのデータベース・インスタンスとデータベース コンテナーで Oracle Measurements SQL スクリプト (現 Oracle スクリプト) を実行します。そのためには、次の手順を実行してください。
  1. BigFix コンソールの「Get Oracle Database Auditing Data」Fixlet のリンクをクリックして、Oracle スクリプトをダウンロードします。
  2. SQL Plus がインストールされ Oracle データベース・クライアント用に構成されているコンピューターにログインします。次のいずれかのアクションを行うことができます。
    1. Oracle データベースがインストールされている各コンピューターにログインし、SQL Plus データベース・クライアントを使用して各 Oracle データベース・インスタンスにローカルで接続します。
    2. SQL Plus クライアントを使用して、各 Oracle データベースおよびデータベース・コンテナーにリモートで接続します。
  3. SQL Plus を起動する前に NLS_LANG 変数を AMERICAN_AMERICA.AL32UTF8 に設定して、SQL Plus で AMERICAN_AMERICA.AL32UTF8 エンコーディングを使用します。
    1. Unix では、シェルコマンドで次のコマンドを使用します。

      NLS_LANG=AMERICAN_AMERICA.AL32UTF8; export NLS_LANG

    2. Windows では、cmd コマンドで次のコマンドを使用します。

      NLS_LANG=AMERICAN_AMERICA.UTF8

  4. SQL Plus クライアントに資格情報と接続の詳細情報を入力して、Oracle データベースにログインします。
    1. SYSDBA アカウントを使用できない場合 (例えば、Oracle Database Vault 機能によってデータベース・オブジェクトへのアクセスが制限されている場合) は、データベース・オブジェクトへのアクセスに適切な権限のあるデータベース・ユーザーの資格情報を使用するようにします。必要な権限に関する情報については、Oracle スクリプトで説明します。
  5. 各データベース・インスタンスとデータベース・コンテナーで SQL スクリプトを実行します。
  6. Oracle スクリプトによって生成されたすべての CSV ファイルが入ったアーカイブを作成します。BigFix は ZIPtar gzip 形式の両方をサポートしています。ZIP 形式の場合は名前拡張子 *.zip、「tar gzip」形式の場合は拡張子 *.tar.gz か *.tgz がファイルに付いている必要があります。複数のデータベースとコンピューターから収集したファイルを 1 つのアーカイブ・ファイルに含めることができます。

  7. 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 ツールを起動するためのパラメーターを変更する必要があります。