用户进程失败是指用户进程在运行过程中的异常情况。
当出现用户进程失败时,DBA不需要进行干预,后台进程PMON(Process Monitor)可以自动检测到被意外终止的用户进程,且会自动回退用户进程未完成的事务,并且释放用户进程在服务器端所占用的资源和锁。
用户进程失败主要有以下几种情况:
- 用户执行了断开连接的异常操作。例如在SQL*Plus命令中按Ctrl + Break组合键。(如果按Ctrl + C 组合键,那么在会话中会执行EXIT语句。)
- 用户进程被意外终止。例如重新启动了客户端机器或者内存例外。
- DBA终止了服务器进程。如果用户进程执行了DML操作,并且没有提交事务,那么可能会阻塞其他用户执行事务操作,此时DBA可以终止用户进程所对应的服务器进程。
Example:
SQL> conn scott/tiger@orcl;
Connected.
SQL> update emp set sal=sal*1.5 where empno=7788;
1 row updated.
此时用DBA身份登录Enterprise Manager Console,然后终止SCOTT会话。
SQL> commit;
commit
*
ERROR at line 1:
ORA-00028: your session has been killed