Oracle/운영133 트랜잭션 격리 수준(isolation level) 제가 관리하는 사이트에서 일어난 이슈였던 격리 수준에 대해서 정리하는 글을 올려보려고 합니다. ANSI/ISO SQL 표준은 4개 레벨의 트랜잭션 고립성(isolation level)을 정의하고 있습니다. 레벨에 따라 같은 트랜잭션 시나리오로 4개의 다른 결과를 받게 됩니다. 트랜잭션 고립성 수준에 따라 세개의 현상이 발생하게 됩니다. 세개의 현상은 아래에서 설명하겠습니다. - Dirty read : 커밋되지 않거나 아직 더티버퍼에 있는 데이터를 읽을 수 있는것을 말합니다. 예를들어 변경 후 아직 커밋되지 않은 값을 읽는데 변경을 가한 트랜잭션이 최종적으로 롤백된다면 그 값을 읽은 트랜잭션은 일관성이 없는 상태가 됩니다. - Non repeatable read : 한 트랜잭션 내에서 같은 쿼리를 두번 수.. 2020. 8. 17. ORA-00257 FRA 디렉토리가 Full일때 조치사항 조치사항으로는 두가지가 있습니다. 1.FRA의 불필요한 파일(아카이브 로그 등)을 삭제하여 용량을 확보 2.FRA의 크기를 늘려 용량을 확보 Alert Log에는 아래와 같은 에러 발생한다. Errors in file /app/oracle/diag/rdbms/newysbae/newysbae/trace/newysbae_arc2_13613.trc: ORA-19809: limit exceeded for recovery files ORA-19804: cannot reclaim 50049024 bytes disk space from 4070572032 limit ARC2: Error 19809 Creating archive log file to '/app/oracle/flash_recovery_area/NEWYS.. 2020. 7. 25. Session 이란? (session kill 명령어 포함) 오라클은 사용자와 데이터베이스 접속이 이루어지면 세션을 생성합니다. 세션은 사용자가 데이터베이스에 연결되어 있는 동안 계속 유지되고, 각 세션에는 SID(Sesiion ID)와 시리얼번호(Serial#)가 부여됩니다. SID와 시리얼번호가 두개 존재하는 이유는 세션이 종료되었으나 다른 세션이 동일한 SID를 갖고 시작되었을 때 세션 명령들이 정확한 세션에 적용될 수 있도록 하기위해서 입니다. 세션이 사용자에 의해 작업중이라면 Active상태가되고 작업을 하게 됩니다. Inactive 세션은 연결은 되어 있지만 작업을 하지 않는 상태입니다. 즉, 자원은 할당되어 있지만 사용하지 않는 세션이라면 불 필요한 자원낭비가 될 수도 있습니다. 기본적으로 오라클 DB에 최대 Session으로 적용되어있는 것을 확인할.. 2020. 4. 17. 권한 부여 삭제(Grant)와 with admin option, with grant option Test 목적 1.지원 가능한 대상 ( 유저 등) 프로시저도 가능한가? yes grant execute on procedure_name to 유저명 으로 사용가능합니다. 2.grant option으로 권한 부여 후 다시 권한 부여 A -> B -> C 에서 A -> B 권한 revoke 시 (grant option 미사용 ) B -> C 가능한지? 결론 : with grant option으로 부여한 권한은 A -> B 회수 시 B -> C 도 자동 회수됩니다. with admin option은 자동 회수 안됨. TEST With Grant Option 1.유저생성 SCOTT = A 로 보고 진행하겠습니다. SYS@ysbae> create user b identified by b account unlock.. 2020. 2. 21. 이전 1 ··· 28 29 30 31 32 33 34 다음