开场:实际操作中学习Oracle,没按正常顺序学习,记录应用过程中遇到的问题及解决方法,可能会混乱,慢慢再来整理、补充理论的一些东西,此为第一篇。坚持!
监控锁的情况
select session_id from v$locked_object;--查看被锁的session_id
SELECT sid, serial#, username, osuser FROM v$session where sid = [id];
--sid,serial#,持有该锁的用户的Oracle用户名,持有该锁的用户的操作系统用户名
kill session: Alter system kill session 'SID,SERIAL#'
--Oracle要求我们在杀session时,必须同时指定sid和serial#.
v$lock 和v$locked_object
http://blog.163.com/suweidian@126/blog/static/86212753201091123437552/今天数据入库,线程有点多,其中某些发生冲突,产生很多死锁session,于是乎重启服务
停止顺序:
1, OracleHOME_NAMETNSListener
监听器服务,服务只有在数据库需要远程访问时才需要(无论是通过另外一台主机还是在本地通过
SQL*Net 网络协议都属于远程访问),不用这个服务就可以访问本地数据库,它的缺省启动类型为自动。
服务进程为TNSLSNR.EXE,参数文件Listener.ora,日志文件listener.log,控制台LSNRCTL.EXE,默认端
口1521、1526。
2,OracleDBConsoleorcl
oracle数据库控制台,如果你需要用浏览器来使用oracle企业管理器,那么就启动这个服务。
3,OracleMTSRecoveryService
OracleMTSRecoveryService,该服务允许数据库充当一个微软事务服务器、COM/COM+对象和分布式环境下的事务的资源管理器。
4,OracleServiceORCL
数据库的主服务,此服务的必须启动才能使用Oracle。此服务的命名规则是OracleService+全局数据库名称。服务进程为ORACLE.EXE,参数文件initSID.ora,日志文件SIDALRT.log,控制台SVRMGRL.EXE、SQLPLUS.EXE。
重启动逆序
(只是用了个方法重启了,至于其中原理还有待学习了解)