기록된 프록시 세션 데이터 관리
프록시 기록 기능을 사용하도록 설정하면 엔터프라이즈 관리 서버가 중앙 데이터베이스에서 프록시 세션을 저장합니다. 데이터베이스의 크기는 기록된 프록시 세션 데이터에 따라 증가합니다. 데이터 아카이브를 통해 데이터 증가를 관리하고 데이터베이스 성능을 개선할 수 있습니다.
cminder12901kr
프록시 기록 기능을 사용하도록 설정하면 엔터프라이즈 관리 서버가 중앙 데이터베이스에서 프록시 세션을 저장합니다. 데이터베이스의 크기는 기록된 프록시 세션 데이터에 따라 증가합니다. 데이터 아카이브를 통해 데이터 증가를 관리하고 데이터베이스 성능을 개선할 수 있습니다.
Microsoft SQL Server에서 기록된 프록시 세션 데이터 아카이브
Microsoft SQL Server bcp 유틸리티를 사용하여 기록된 프록시 세션 데이터를 아카이브하십시오.
다음 단계를 수행하십시오.
- 다음 명령을 실행하여 프록시 기록 테이블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를 지정합니다.
- 1 단계에서 언급한 네 개의 테이블 각각에 대해 프록시 세션 데이터를 아카이브 파일로 아카이브할 위치를 설정합니다.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"
- 1 단계에서 언급한 네 개의 테이블 각각에 대해 다음 명령을 실행하여 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는 선택 사항입니다.
- 데이터를 아카이브한 후에 데이터베이스에서 기록된 프록시 세션 데이터를 다음과 동일한 순서로 삭제합니다.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 서버에서 기록된 프록시 세션 데이터를 아카이브했습니다.
Microsoft SQL Server에서 아카이브된 프록시 세션 데이터 복원
bcp 유틸리티를 사용하여 아카이브된 파일의 데이터를 해당 테이블에 복원합니다. 아카이브된 파일의 경로는 기록된 프록시 세션 데이터 관리의 2 단계에서 설정한 것과 동일해야 합니다.
- 아카이브된 프록시 세션 데이터를 복원할 위치를 설정합니다.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"
- 다음 명령을 실행합니다.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 유틸리티를 사용하여 기록된 프록시 세션 데이터를 아카이브할 수 있습니다.
다음 단계를 수행하십시오.
- 아카이브 디렉터리 만들기다음 명령을 실행하십시오.#mkdir /work/task_archive
- 만드는 아카이브 디렉터리를 정의합니다.task_archive
- 만든 디렉터리에서 Oracle 사용자에게 모든 권한을 부여합니다.다음 명령을 실행하십시오.#chmod 777 /work/task_archive
- 시스템 사용자로 Oracle 데이터베이스에 로그인합니다. 만든 디렉터리에서 Oracle 데이터베이스 사용자에게 읽기/쓰기 권한을 부여합니다.다음 명령을 실행합니다.CREATE OR REPLACE DIRECTORYpim-recordings-archiveAS '/work/task_archive';GRANT READ, WRITE ON DIRECTORYpim-recordings-archiveTOpimDBUser;
- Oracle 데이터베이스 사용자 이름을 정의합니다.pimDBUser
- 만드는 아카이브 디렉터리를 정의합니다.pim-recordings-archive
- 다음 쿼리를 사용하여 RECORDING_FILE 테이블에서 데이터를 아카이브합니다.expdppimDBUser/pimDBPassworddirectory=pim-recordings-archivedumpfile=pimRecordedSessions_1410211852.dmp logfile=pimRecordedSessions_1410211852.loginclude=table:\"=\'RECORDING_FILE\'\" query=RECORDING_FILE:\"WHERE [Condition]\"
- Oracle 데이터베이스 사용자 이름을 정의합니다.pimDBUser
- 데이터베이스 사용자 암호를 정의합니다.pimDBPassword
- 만든 아카이브 디렉터리를 정의합니다.pim-recordings-archive
- 데이터를 아카이브하는 조건을 지정합니다. 데이터를 아카이브하는 데 널리 사용되는 조건은 다음과 같습니다.조건:
- RECORDING_FILE_SIZE기록된 파일의 크기를 지정합니다.예:expdppimDBUser/pimDBPassworddirectory=pim-recordings-archivedumpfile=pimRecordedSessions_1410211852.dmp logfile=pimRecordedSessions_1410211852.loginclude=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예:expdppimDBUser/pimDBPassworddirectory=pim-recordings-archivedumpfile=pimRecordedSessions_1410211852.dmp logfile=pimRecordedSessions_1410211852.loginclude=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
- 데이터를 아카이브한 후에 Oracle 데이터베이스에서 기록된 프록시 세션 데이터를 삭제합니다.다음 명령을 실행합니다.delete from RECORDING_FILE WHERE [Condition]; commit;Oracle 서버에서 기록된 프록시 세션 데이터를 아카이브했습니다.
Oracle에서 아카이브된 프록시 세션 데이터 복원
Oracle impdp 유틸리티를 사용하여 아카이브된 프록시 세션 데이터를 복원할 수 있습니다.
다음 명령을 실행하십시오.
impdppimDBUser/pimDBPassworddirectory=pim-recordings-archivedumpfile=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
아카이브된 프록시 세션 데이터를 복원했습니다.