반응형
Oracle 트랜잭션에서 커밋되지 않은 작업이 있는지 확인하려면 어떻게 해야 합니까?
트랜잭션에 커밋되지 않은 작업(DML)이 있는지 확인할 수 있는 방법이 있습니까?데이터 사전 보기를 조회할 수 있을까요?
오픈 트랜잭션을 실행하는 세션 내외부에서 이를 확인할 수 있는 방법이 좋습니다.
감사해요.
v$session에 액세스할 수 없는 경우 사용할 수 있습니다.
select dbms_transaction.local_transaction_id from dual;
이 작업은 세션 내에서만 작동하지만 v$ 권한은 필요하지 않습니다.null이 아닌 값을 반환하는 경우 트랜잭션을 시작한 것입니다.이는 일반적으로 커밋되지 않은 변경을 의미하지만 예외가 있습니다.저장 지점을 발급하고 데이터를 변경한 후 저장 지점으로 롤백한 경우에도 트랜잭션은 여전히 '활성화'됩니다.또한 데이터베이스 연결을 사용하면 선택한 항목(또는 이전에 선택한 항목)에 대해서만 트랜잭션이 시작됩니다.
SELECT *
FROM v$session v
WHERE v.AUDSID = userenv('sessionid')
AND v.TADDR IS NOT NULL
언급URL : https://stackoverflow.com/questions/506456/how-can-i-tell-if-i-have-uncommitted-work-in-an-oracle-transaction
반응형
'source' 카테고리의 다른 글
Super() Python 3과 Python 2를 사용하여 확장하는 Python (0) | 2023.07.21 |
---|---|
SQL Server의 출력 매개 변수를 사용하여 Oracle 저장 프로시저 호출 (0) | 2023.07.21 |
Oracle SQL Developer 코드 창에서 변수를 사용하여 SQL 코드 실행 (0) | 2023.07.21 |
@스프링 부츠스프링 부트가 아닌 응용 프로그램에 대한 테스트 (0) | 2023.07.21 |
런타임에 Python 모듈 버전 확인 (0) | 2023.07.21 |