idle_time
의 프로필을 특정 값 (분)으로 설정하고이 프로필을 사용하여 사용자를 생성하면 유휴 상태 일 때 해당 사용자 세션의 상태를 강제로 적용해야합니다 (SNIPED
). idle_time
이상. 사용자가이 문제가 발생한 후에 쿼리를 실행하려고하면 다시 연결해야한다는 메시지를받습니다.오라클 : idle_time이 무시됩니다.
첫 번째 질문 : 맞습니까?는이 경우에 읽기 : (분명히 자리없이) SQLPLUS에서 다음과 같이
내가 테스트 스크립트를 실행 해요 :
connect system/<password>@<tns>
CREATE PROFILE test_profile LIMIT idle_time 1;
CREATE USER test_user PROFILE test_profile IDENTIFIED BY test_user;
GRANT CREATE SESSION TO test_user;
GRANT ALTER SESSION TO test_user;
GRANT SELECT ON <schema>.<table> TO test_user;
disconnect;
connect test_user/[email protected]<tns>
SELECT * FROM <schema>.<table>;
모든이 시점까지 작동합니다 sqlplus 창이 여전히 열려 있습니다. 지금은 추가 sqplus 창을 열고, 시스템 계정을 사용하여 잠시 동안 다른 물건을 수행 한 후 다음 쿼리를 실행 연결 :
USERNAME STATUS SECONDS_IN_WAIT
--------- -------- ---------------
TEST_USER INACTIVE 1166
왜 상태가 있습니다
SELECT username, status, seconds_in_wait FROM v$session WHERE username = 'test_user';
내가 좋아하는 뭔가를 얻을 SNIPED
으로 설정되지 않았습니까?
분명히 test_user의 sqlplus 창에서 다른 쿼리를 실행하면 다시 연결하라는 메시지가 표시되지 않습니다.