본문 바로가기

Oracle242

[통계정보 export/import]다른 테이블에 통계정보 복사 운영중에 원본테이블을 두고 CTAS 등으로 새로운 테이블을 만들어서 작업을 해야할 때가있습니다. 저의 경우에는 임시테이블에 작업 후에 원본과 RENAME하여 원본테이블과 바꿔치기하는 작업까지 해야했는데, 이때 크기가 큰 테이블의 경우에는 통계정보 수집시에 시간이 오래걸리고, 기존 원본 테이블에는 통계정보가 있는 경우, 통계정보의 export/import 기능을 사용하여 통계정보의 복사가 가능합니다. 이름이 다른경우에는 import를 하더라도 통계정보가 이식되지 않고 , 통계정보를 export받은 테이블을 update로 이름을 바꿔줘야 됩니다. 참고한 자료로는 아래의 SR입니다. 아래 SR은 스키마까지 변경될 때를 나타내었지만 저는 동일스키마로 진행하였습니다. 2701368.1.How To Transfer.. 2023. 12. 14.
ORA-00257: Archiver error. Connect AS SYSDBA only until resolved. 테스트 DB에서 아래의 에러가 발생하였습니다. sys 이외의 유저의 접속은 제한되었습니다. ORA-00257: Archiver error. Connect AS SYSDBA only until resolved. 원인은 아카이브쪽 용량이 100%라서 추가 파일을 생성하지 못했고, 그에 따라 난 에러였습니다. 해결은 특정 날짜 이전의 아카이브 파일을 삭제하였습니다. 명령어입니다. RMAN> connect target / RMAN> LIST ARCHIVELOG ALL; RMAN> delete archivelog all completed before 'sysdate -7'; 감사합니다. 2023. 11. 11.
통계정보 restore 하기 통계정보를 restore하는 방법입니다. 먼저 통계정보가 보관되는 기간확인하는 쿼리입니다. SQL> select dbms_stats.get_stats_history_retention from dual; GET_STATS_HISTORY_RETENTION ------------------------------------------------------ 31 1 rows selected. 해당 테이블의 통계정보관련 update된 시간을 보여주는 테이블입니다. SQL> select * from dba_Tab_stats_history where table_name='테이블명'; OWNER TABLE_NAME PARTITION_NAME SUBPARTITION_NAME STATS_UPDATE_TIME --------.. 2023. 10. 5.
ddl_lock_timeout 과 ORA-00054 : resource busy 테이블에 DML이 일어나면 lock이 발생되고 다른세션은 이전 DML이 종료될때까지 waiting이 발생합니다. 다른 세션의 작업이 DML이라면, 세션이 계속 대기중이면서 이전 세션이 종료됨과 동시에 수행이 될 것입니다. 하지만 다른 세션의 작업이 DDL이라면? DDL은 바로 해당 에러를 보이면서 되지 않을 것입니다. ERROR at line 1: ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired 리소스가 사용중이니 에러를 뱉으며 명령어를 수행할 수 없다는 뜻입니다. 기존세션에서 있는 DML이 언제 끝날지 모르고 계속 대기해야 하거나, DML을 강제로 종료시키고 저의 DDL 작업을 수행해야 하는데, DML과 다르게 .. 2023. 7. 24.