본문 바로가기

Oracle/운영132

dba_2pc_pending 출처 사이트의 내용을 번역 후 정리하는 글입니다. 분산 트랜잭션 환경에서 네트워크 이슈로 인해 트랜잭션이 끊기게 되면 dba_2pc_pending 뷰에 정보가 생기게 됩니다. 그런 다음 RECO(Recovery Background process)는 일관성을 보장하기 위해 연결이 끊긴 노드의 상태와 일치하도록 정상노드를 롤백하거나 커밋합니다. dba_2pc_pending 뷰에는 보류중인 항목을 커밋하거나 롤백하도록 데이터베이스에 지시하는 ADVISE 컬럼이 포함되어 있습니다. ALTER SESSION ADVISE 구문을 사용하여 2PC(2 phase commit)메커니즘을 지시할 수 있습니다. 예를 들어 INSERT를 강제로 완료하려면 다음을 입력할 수 있습니다. ALTER SESSION ADVISE CO.. 2021. 3. 11.
Two-Phase Commit 매커니즘 Two-Phase Commit 로컬 데이터베이스의 트랜잭션 처리와 다르게 분산 트랜잭션에는 여러 데이터베이스의 데이터 변경이 포함됩니다. 즉, 분산 트랜잭션 환경에서는 전체 트랜잭션이 커밋되거나 전체 트랜잭션이 롤백됩니다. 데이터베이스는 Two-Phase Commit 매커니즘을 사용하여 분산 트랜잭션에서 데이터의 무결성(integrity)를 보장합니다. Two-phase commit은 prepare phase와 commit phase로 나누어집니다. prepare phase 단계에서 트랜잭션의 시작 노드(분산 트랜잭션을 일으킨 노드)는 다른 참여 노드에게 트랜잭션 커밋 또는 롤백을 수행해도 되는가 확인하는 단계입니다. commit phase 단계에서 시작 노드는 모든 Node에서 Prepared상태가 되.. 2021. 3. 10.
Index rebuild 인덱스란 테이블의 조회성능을 향상시켜주는 DB의 중요한 Object입니다. 인덱스를 생성 후 사용하다보면 테이블에도 데이터가 들어가는 경우가 분명히 있을 것이고, 테이블에 데이터가 삽입되면 인덱스에도 데이터를 추가해야 합니다. 인덱스에 데이터가 추가되는 과정에서 depth가 깊어지거나, leaf block이 많아져 데이터 조회시 많은 block을 조회(chaining row)해야 한다면, 조회 성능을 향상시켜주기 위해서 사용하는 index가 성능 저하의 원인이 될 수도 있다는 것입니다. Index rebuild나 COALESCE를 수행하여 해결할 수 있습니다. REBUILD Rebuild가 필요한 상황 - 기존 인덱스를 다른 테이블스페이스로 이동해야 할 경우 - 인덱스가 삭제된 엔트리(데이터)를 많이 포.. 2021. 2. 16.
[RAC] 12.2 CRS Process 강제로 kill 하고 복구방법 어느 한 외국사이트에서 포스팅한 글을 보고 직접 테스트해본 후 정리했습니다. 그 사이트에서는 11.2 RAC를 기준으로 os에서 CRS process들을 강제로 kill하고 어떻게 되는지 테스트해보고 결과를 정리하였는데, 저는 12.2 RAC를 기준으로 테스트해 보았습니다. Process Kill하기 방법 : OS상에서 ps -ef 명령어로 프로세스 number 확인 후 kill -9 명령어로 삭제 초기화면 [root@rac1 ~]# crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details --------------.. 2021. 2. 8.