2016. 4. 21. 13:50 오라클
AWR 성능 data를 내 서버에서 export 해서 타 서버로 import 방법
AWR 성능 data를 내 서버에서 export 해서 타 서버로 import 방법
-------------------------------------------------------------
1. pump로 사전에 미리 디렉토리 생성
SQL> create or replace directory AWR_PUMP as '/home/oracle';
2. awrext.sql 실행 (SYS로 접속해야 함)
SQL> @?/rdbms/admin/awrextr.sql
- database id를 입력
- display될 snapshot id의 기간을 일단위로 입력
- export받을 begin snapshot id와 end snapshot id 입력
- export받는 데이터 파일이 생성될 oracle directory명 입력
- export받을 file명(기본으로 dmp 확장자가 붙으니 file명만 입력)
3. FTP로 dmp 화일을 pump에서 지정했던 디렉토리로 전송해서 sourec 에서 import
4. awrload.sql 실행
SQL>@?/rdbms/admin/awrload.sql
이때 export 받은 DBID와 동일한 장비에서는 import 가 되지 않으므로 다른 DBID 를 지정해 주어야 한다.
(다른 서버에서 해야된다.자기 장비에서는 안된다는 말씀,해보면 에러난다.)
5. 다른 DBID를 지정하기 위해서 awrinput.sql 수행
SQL>@?/rdbms/admin/awrinput.sql
SQL>@?/rdbms/admin/awrload.sql
- export 파일을 복사한 Oracle directory명 입력
- export file명 입력 (입력받은 file명에 기본으로 dmp 확장자가 붙으니 확장자를 제외한 file명만 입력)
- import할 동안 사용될 임시 user명을 입력 (이 user는 import가 완료되면 자동으로 삭제되니 기본값을 사용)
- 임시 user가 사용할 default tablespace 입력(변경 가능하나 기본값을 사용)
- 임시 user가 사용할 임시 tablespace 입력(변경 가능하나 기본값을 사용)
import가 진행되며 Data는 AWR 테이블인 WRH$ 테이블에 import 데이터를 migration 하게된다. 이후 import시 사용한 임시 user는 cascade 옵션으로 자동 삭제된다.
6. 새롭게 적재된 Data 를 간단히 조회만 해서 보고자 할 경우
SQL> select dbid,instance_number as inst_id, db_name, instance_name as inst_name from dba_hist_database_instance;
SQL> select * dba_hist_snapshot where dbid='2200200976' -- 보고싶은 snapshot id 범위 확인
아래 쿼리로 AWR report 생성
SPOOL AWR_TEST.HTML
SET LINESIZE 200 PAGES 0
select output from table (dbms_workload_repository.awr_report_html(
'2200200976', -- DBID
'1', -- Instance #
'14', -- begin Snapshut ID
'16', -- End Snapshut ID
0 ) -- Report option (0: Default / 8: Including ADDM Information (as a Advice)
);