Oracle杀掉死锁进程
用Oracle Sql Developer操作表的时候,不知咋的把表锁住了。
结果那张表一插数据就死,连truncate都不行。
从网上七拼八凑了个方法,终于把进程杀了,表也就解锁了。
首先要用dba级别的用户操作,因为要察看很多系统表。用普通用户操作的话,会提示表或者View不存在。(为什么不提示权限不够?害我总以为是版本问题)
然后找锁表的sid(session id),SERIAL#,PADDR
SELECT * from V$SESSION where osuser='XXXXXX'; --osuser是登陆windows名
找spid
SELECT SPID from V$PROCESS WHERE ADDR='刚才查到的PADDR';
最后. 杀进程
(1).先杀ORACLE进程:
ALTER SYSTEM KILL SESSION '查出的SID,查出的SERIAL#';
(2).再杀操作系统进程:KILL -9 刚才查出的SPID或
ORAKILL 刚才查出的SID 刚才查出的SPID
提示找不到spid。。。不管了,去看看锁住的表。能插数据了,解决。
相关文档:
-- get all dictionary for oracle db
select * from dict;
--select * from dictionary;
-- get all columns for dictionarys
select * from dict_columns;
-- get the default name-space for current user
select username,default_tablespace from user_users;
-- get roles for current user
select * from us ......
在实际开发中,经常会需要对数据库进行访问,最常见的开发方法就类似:
string sql = "select * from table1 where name = '" + name + "'";
这种方式有被注入攻击的危险
所以解决方案有2种:
1、改成:string sql = "select * from table1 where name = '" + name.Replace("'","''") + "'"; // 替换一 ......
日常开发活动中,有时候需要对oracle执行计划进行监控,以此来调优程序和数据库方面的性能。
常用方法有以下几种:
一、通过PL/SQL Dev工具
1、直接File->New->Explain Plan Window,在窗口中执行sql可以查看计划结果。其中,Cost表示cpu的消耗,单位为n%,Cardinality表示执行的行数,等价Row ......
原文地址:http://www.dbabeta.com/2008/oracle_os_pwfile_authentication.html
本文概述与实验环境
概述:
本文只讨论OS认证和口令文件认证方式的配置方法,如何配置以及使用OS认证和口令文件认证方式验证SYSDBA/SYSOPER权限。
实验环境:
Oracle 10.1 + Windows 2003 和 Oracle 10.2 + RHEL 4
特殊权限与Oracle登陆 ......
TO_DATE格式(以时间:2007-11-02 13:45:25为例)
Year:
yy two digits 两位年 ......