記録されたプロキシ セッション データの管理

プロキシ記録機能を有効にすると、エンタープライズ管理サーバは、プロキシ セッションを中央データベースに格納します。 データベースのサイズは、記録されたプロキシ セッション データによって増加します。 データの増加を管理し、データをアーカイブすることによって、データベースのパフォーマンスを向上させてください。
cminder12901jp
プロキシ記録機能を有効にすると、エンタープライズ管理サーバは、プロキシ セッションを中央データベースに格納します。 データベースのサイズは、記録されたプロキシ セッション データによって増加します。 データの増加を管理し、データをアーカイブすることによって、データベースのパフォーマンスを向上させてください。
記録されたプロキシ セッション データのアーカイブ(Microsoft SQL Server)
Microsoft SQL Server の bcp ユーティリティを使用して、記録されたプロキシ セッション データをアーカイブします。 
以下の手順に従います。
  1. 以下のコマンドを実行し、プロキシ記録テーブルからアーカイブする行を選択します: 
    RECORDING_FILE
    RECORDING_SESSION
    PROXY_SESSION
    RECORDING_EVENTS
    Set query1="select * from [Database_name].dbo.RECORDING_FILE where [condition]"
    Set query2="select * from [Database_name].dbo.RECORDING_SESSION where SESSION_ID in(select SESSION_ID from [Database_name].dbo.RECORDING_FILE where [condition])"
    Set query3="select * from [Database_name].dbo.PROXY_SESSION where SESSION_ID in(select SESSION_ID from [Database_name].dbo.RECORDING_FILE where [condition])"
    Set query4="select * from [Database_name].dbo.RECORDING_EVENTS where SESSION_ID in(select SESSION_ID from [Database_name].dbo.RECORDING_FILE where [condition])"
    プロキシ セッション データをアーカイブするために一般的に使用される条件は、以下のとおりです。
     
    • RECORDING_FILE_SIZE:
      記録されたファイルのサイズを指定します。
      Set query1="select * from My_Database.dbo.RECORDING_FILE where RECORDING_FILE_SIZE<=1GB"
      Set query2="select * from My_Database.dbo.RECORDING_SESSION where SESSION_ID in(select SESSION_ID from My_Database.dbo.RECORDING_FILE where RECORDING_FILE_SIZE<=1GB)"
      Set query3="select * from My_Database.dbo.PROXY_SESSION where SESSION_ID in(select SESSION_ID from My_Database.dbo.RECORDING_FILE where RECORDING_FILE_SIZE<=1GB)"
      Set query4="select * from My_Database.dbo.RECORDING_EVENTS where SESSION_ID in(select SESSION_ID from My_Database.dbo.RECORDING_FILE where RECORDING_FILE_SIZE<=1GB)"
    • CREATE_TIME:
      プロキシ セッション作成日を指定します。
      Set query1="select * from My_Database.dbo.RECORDING_FILE where CREATE_TIME<=1415286431177"
      Set query2="select * from My_Database.dbo.RECORDING_SESSION where SESSION_ID in(select SESSION_ID from My_Database.dbo.RECORDING_FILE where CREATE_TIME<=1415286431177)"
      Set query3="select * from My_Database.dbo.PROXY_SESSION where SESSION_ID in(select SESSION_ID from My_Database.dbo.RECORDING_FILE where CREATE_TIME<=1415286431177)"
      Set query4="select * from My_Database.dbo.RECORDING_EVENTS where SESSION_ID in(select SESSION_ID from My_Database.dbo.RECORDING_FILE where CREATE_TIME<=1415286431177)"
      ヒント:
      時間を人間が理解しやすい形式に変換するには、エポック コンバータを使用します。
    • SESSION_ID:
      プロキシ セッション ID を指定します。
  2. 手順 1 で説明した 4 つのテーブルのそれぞれに対して、アーカイブ ファイル内のプロキシ セッション データをアーカイブする場所を設定します。
    set archive_file_RECORDING_FILE="Drive:\<path><archive_file_RECORDING_FILE>.dat"
    set archive_file_RECORDING_SESSION="Drive:\<path><archive_file_RECORDING_SESSION>.dat"
    set archive_file_PROXY_SESSION="Drive:\<path><archive_file_PROXY_SESSION>.dat"
    set archive_file_RECORDING_EVENTS="Drive:\<path><archive_file_RECORDING_EVENTS>.dat"
  3. 以下のコマンドを実行し、手順 1 で説明した 4 つのテーブルのそれぞれに対して、bcp ユーティリティを使用してデータをアーカイブします。
    bcp %query1% queryout %archive_file_RECORDING_FILE% -n -t, -U [Database_User] -P [Database_Password] -S [Database_Server]
    bcp %query2% queryout %archive_file_RECORDING_SESSION% -n -t, -U [Database_User] -P [Database_Password] -S [Database_Server]
    bcp %query3% queryout %archive_file_PROXY_SESSION% -n -t, -U [Database_User] -P [Database_Password] -S [Database_Server]
    bcp %query4% queryout %archive_file_RECORDING_EVENTS% -n -t, -U [Database_User] -P [Database_Password] -S [Database_Server]
    注:
    エンタープライズ管理管理データベース サーバで bcp ユーティリティを実行する場合は、-S はオプションです。
  4. データをアーカイブした後に、以下と同じ順番で、記録されたプロキシ セッション データをデータベースから削除します。
    delete [Database_name].dbo.RECORDING_SESSION where SESSION_ID in(select SESSION_ID from [Database_name].dbo.RECORDING_FILE where [condition]);
    delete [Database_name].dbo.PROXY_SESSION where SESSION_ID in(select SESSION_ID from [Database_name].dbo.RECORDING_FILE where [condition]);
    delete [Database_name].dbo.RECORDING_EVENTS where SESSION_ID in(select SESSION_ID from [Database_name].dbo.RECORDING_FILE where [condition]);
    delete [Database_name].dbo.RECORDING_FILE where [condition];
    例:
    delete My_Database.dbo.RECORDING_SESSION where SESSION_ID in(select SESSION_ID from My_Database.dbo.RECORDING_FILE where CREATE_TIME<=1415286431177);
    delete My_Database.dbo.PROXY_SESSION where SESSION_ID in(select SESSION_ID from My_Database.dbo.RECORDING_FILE where CREATE_TIME<=1415286431177);
    delete My_Database.dbo.RECORDING_EVENTS where SESSION_ID in(select SESSION_ID from My_Database.dbo.RECORDING_FILE where CREATE_TIME<=1415286431177);
    delete My_Database.dbo.RECORDING_FILE where CREATE_TIME<=1415286431177;
記録されたプロキシ セッション データが SQL Server にアーカイブされました。
アーカイブされたプロキシ セッション データのリストア(Microsoft SQL Server)
bcp ユーティリティを使用して、アーカイブされたファイルからそれぞれのテーブルに、データをリストアします。 アーカイブされたファイル パスは、セクション 記録されたプロキシ セッション データの管理 のポイント 2 で設定したものと同じである必要があります。
  1. アーカイブされたプロキシ セッション データをリストアする場所を設定します。
    set archive_file_RECORDING_FILE="Drive:\<archive_file_RECORDING_FILE>.dat"
    set archive_file_RECORDING_SESSION="Drive:\<archive_file_RECORDING_SESSION>.dat"
    set archive_file_PROXY_SESSION="Drive:\<archive_file_PROXY_SESSION>.dat"
    set archive_file_RECORDING_EVENTS="Drive:\<archive_file_RECORDING_EVENTS>.dat"
  2. 以下のコマンドを実行します。
    bcp [database_Name].dbo.RECORDING_TABLE in %archive_file_RECORDING_FILE% -n -t, -U [Database_User] -P [Database_Password]
    bcp [database_Name].dbo.RECORDING_TABLE in %archive_file_RECORDING_SESSION% -n -t, -U [Database_User] -P [Database_Password]
    bcp [database_Name].dbo.RECORDING_TABLE in %archive_file_PROXY_SESSION% -n -t, -U [Database_User] -P [Database_Password]
    bcp [database_Name].dbo.RECORDING_TABLE in %archive_file_RECORDING_EVENTS% -n -t, -U [Database_User] -P [Database_Password]
アーカイブされたプロキシ セッション データがリストアされました。
記録されたプロキシ セッション データのアーカイブ(Oracle)
Oracle の expdp ユーティリティを使用して、記録されたプロキシ セッション データをアーカイブします。
以下の手順に従います。
  1. アーカイブ ディレクトリを作成します。以下のコマンドを実行します。
    #mkdir /work/
    task_archive
    • task_archive
      作成するアーカイブ ディレクトリを定義します。
  2. 作成したディレクトリの Oracle ユーザにフル アクセス権を付与します。以下のコマンドを実行します。
    #chmod 777 /work/task_archive
  3. Oracle データベースにシステム ユーザとしてログインします。 作成したディレクトリの Oracle データベース ユーザに読み取り/書き込みアクセス権を付与します。
    以下のコマンドを実行します。
    CREATE OR REPLACE DIRECTORY 
    pim-recordings-archive
     AS '/work/task_archive';
    GRANT READ, WRITE ON DIRECTORY 
    pim-recordings-archive
     TO 
    pimDBUser
    ;
    • pimDBUser
      Oracle データベース ユーザ名を定義します。
    • pim-recordings-archive
      作成するアーカイブ ディレクトリを定義します。
  4. 以下のクエリを使用して、RECORDING_FILE テーブルからデータをアーカイブします。
    expdp 
    pimDBUser
    /
    pimDBPassword
     directory=
    pim-recordings-archive
     dumpfile=pimRecordedSessions_1410211852.dmp logfile=pimRecordedSessions_1410211852.log
    include=table:\"=\'RECORDING_FILE\'\" query=RECORDING_FILE:\"WHERE [
    Condition
    ]\"
    • pimDBUser
      Oracle データベース ユーザ名を定義します。
    • pimDBPassword
      データベース ユーザ パスワードを定義します。
    • pim-recordings-archive
      作成したアーカイブ ディレクトリを定義します。
    • Condition
      データをアーカイブする条件を指定します。 データをアーカイブするために一般的に使用される条件は、以下のとおりです。
      • RECORDING_FILE_SIZE
        記録されたファイルのサイズを指定します。
        expdp 
        pimDBUser
        /
        pimDBPassword
         directory=
        pim-recordings-archive
         dumpfile=pimRecordedSessions_1410211852.dmp logfile=pimRecordedSessions_1410211852.log
        include=table:\"=\'RECORDING_FILE\'\" query=RECORDING_FILE:\"WHERE RECORDING_FILE_SIZE>2GB\"
      • CREATE_TIME
        プロキシ セッション作成日を指定します。 
        CREATE_TIME では、指数形式でセッション時間が格納されます(例: 1.4153E+12)。 以下のクエリを使用して、指数形式を Oracle クエリが理解できる形式に変換します。
        select count(RECORDING_FILE_SIZE), to_char(CREATE_TIME,'99999999999999999999999999990')from recording_file group by CREATE_TIME
        例:
        expdp 
        pimDBUser
        /
        pimDBPassword
         directory=
        pim-recordings-archive
         dumpfile=pimRecordedSessions_1410211852.dmp logfile=pimRecordedSessions_1410211852.log
        include=table:\"=\'RECORDING_FILE\'\" query=RECORDING_FILE:\"WHERE CREATE_TIME<=1415286431177\"
        時間を人間が理解しやすい形式に変換するには、エポック コンバータを使用します。
      • SESSION_ID
        プロキシ セッション ID を指定します。 RECORDING_SESSION テーブルのプロキシ セッションの詳細を使用することにより、この条件を使用して RECORDING_FILE テーブルにデータをアーカイブします。 
        以下の出力が表示されます。
        Export: Release 11.2.0.2.0 - Production on Tue Oct 28 18:22:03 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production Starting "PIM"."SYS_EXPORT_SCHEMA_01": pimDBUser/******** directory=pim-recordings-archive dumpfile=pimRecordedSessions_1413732319919.dmp logfile=pimRecordedSessions_1413732319919.log include=table:"='RECORDING_FILE'" query=RECORDING_FILE:"WHERE CREATE_TIME <= 1413732319919" Estimate in progress using BLOCKS method... Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA Total estimation using BLOCKS method: 2.062 MB Processing object type SCHEMA_EXPORT/TABLE/TABLE Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT . . exported "PIM"."RECORDING_FILE" 1.083 MB 2 rows Master table "PIM"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded ****************************************************************************** Dump file set for PIM.SYS_EXPORT_SCHEMA_01 is: C:\ORA_BACKUP\PIMRECORDEDSESSIONS_1410211852.DMP Job "PIM"."SYS_EXPORT_SCHEMA_01" successfully completed at 18:22:07
  5. データをアーカイブした後に、記録されたプロキシ セッション データを Oracle データベースから削除します。以下のコマンドを実行します。
    delete from RECORDING_FILE WHERE [Condition]; commit;
    記録されたプロキシ セッション データが Oracle サーバにアーカイブされました。
アーカイブされたプロキシ セッション データのリストア(Oracle)
Oracle の impdp ユーティリティを使用して、アーカイブされたプロキシ セッション データをリストアします。
以下のコマンドを実行します。
impdp 
pimDBUser/pimDBPassword
 directory=
pim-recordings-archive
 dumpfile=pimRecordedSessions_1413732319919.dmp logfile= pimRecordedSessions_1413732319919_imp.logTABLE_EXISTS_ACTION=APPEND
以下の出力が表示されます。
Import: Release 11.2.0.2.0 - Production on Tue Oct 28 18:24:45 2014 Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved. Connected to: Oracle Database 11g Express Edition Release 11.2.0.2.0 - ProductionMaster table "PIM"."SYS_IMPORT_FULL_01" successfully loaded/unloadedStarting "PIM"."SYS_IMPORT_FULL_01":  pimDBUser/******** directory=pim-recordings-archive dumpfile=pimRecordedSessions_1413732319919.dmp logfile=pimRecordedSessions_1413732319919_imp.log TABLE_EXISTS_ACTION=APPENDProcessing object type SCHEMA_EXPORT/TABLE/TABLETable "PIM"."RECORDING_FILE" exists. Data will be appended to existing table but all dependent metadata will be skipped due to table_exists_action of appendProcessing object type SCHEMA_EXPORT/TABLE/TABLE_DATA. . imported "PIM"."RECORDING_FILE"                      1.083 MB       2 rowsProcessing object type SCHEMA_EXPORT/TABLE/INDEX/INDEXProcessing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINTJob "PIM"."SYS_IMPORT_FULL_01" successfully completed at 18:24:48
アーカイブされたプロキシ セッション データがリストアされました。