본문 바로가기

Oracle220

통계정보 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.
테이블 컬럼삭제 Drop Column과 Unused 일반적으로 컬럼을 삭제할 때는 ALTER TABLE ... DROP COLUMN을 사용합니다. 하지만 테이블이 현재 트랜잭션이 발생해서 사용중(Online) 상태라면? drop 컬럼은 사용할 수 없을 것입니다. 그때 사용할 수 있는 방법이 UNUSED 인데요. 컬럼을 사용하지 않는다고 mark하는 것입니다. mark만 하기 때문에 용량이나 블록은 그대로이지만 딕셔너리뷰나 테이블에서 조회시에는 drop된것과 동일하게 보입니다. 그리고 트랜잭션이 없을때 UNUSED된 컬럼을 삭제하면 된다고 하는데, 24시간 사용중인 테이블이라면 별 효과가 없을 것같다는 생각을 했습니다. 이번 글은 unused 컬럼에 대해서 여러가지 테스트를 해보면서 비교해보려고 합니다. 1) drop column과 unused 후 drop.. 2023. 7. 19.
장비 시리얼 번호 알기 dcli -g dbs_group -l root dmidecode -s system-serial-number 명령어를 통해 알 수 있습니다. dbs_group에는 각 db노드의 정보가 들어있습니다. 즉 한개의 노드에서 다른노드들로 접근하여 시리얼 번호를 접근하는 방식입니다. root에서 수행합니다. 출처 : https://blog.zeddba.com/2020/05/31/how-to-obtain-the-serial-numbers-on-an-oracle-exadata-machine/ How to obtain the serial numbers on an Oracle Exadata Machine You may be required to obtain serial numbers from an Oracle Exadat.. 2023. 6. 29.