내맘대로긍정이 알려주는
Oracle 23ai 신기능
무료 세미나 발표자료
다운로드
trending_flat
OS환경 : Oracle Linux 6.8 (64bit)
DB 환경 : Oracle Database 11.2.0.4
에러 : ORA-01940: cannot drop a user that is currently connected
유저 삭제 drop user 명령 시 ORA-01940 발생
1 2 3 4 5 | SQL> drop user test cascade; drop user test cascade * ERROR at line 1: ORA-01940: cannot drop a user that is currently connected |
해결 방법 : 해당 유저 확인 후 작업 종료 및 kill 후 제거
유저 확인
1 2 3 4 5 6 7 8 9 | SQL> select sid, serial#, username, status from v$session where username='TEST' / SID SERIAL# USERNAME STATUS ---------- ---------- ------------------------------ -------- 37 713 TEST INACTIVE |
kill 명령 실행
1 2 3 | SQL> alter system kill session '37, 713'; System altered. |
유저 재확인
1 2 3 4 5 6 7 8 9 | SQL> select sid, serial#, username, status from v$session where username='TEST' / SID SERIAL# USERNAME STATUS ---------- ---------- ------------------------------ -------- 37 713 TEST KILLED |
KILLED 로 표시됨
유저 삭제 명령 재실행
1 2 3 | SQL> drop user test cascade; User dropped. |
원인 : 삭제하려는 유저가 접속중(작업중)이어서 삭제가 되지않음
나의 경우 test라는 유저로 테이블을 만든 뒤 데이터를 insert 하고 commit을 입력하지 않은 상태였음
1 2 3 4 5 6 7 | SQL> create table imsi (nu number); Table created. SQL> insert into imsi values (1); 1 row created. |
세션 kill 이후 명령시 아래와 같이 나옴
1 2 3 4 5 | SQL> commit; commit * ERROR at line 1: ORA-00028: your session has been killed |
참조 :