Oracle SQL Trace使用实例
为了研究一下系统在后台都干了什么,当然是我在代码里没找到的情况下,研究了一下trace,结果有一定的帮助。oracle中不像sql server中那样直接提供图像化的工具,所以还是得自己动手来做,归纳了一下,步骤如下:
查询session:
SQL> select sid, serial#, username from v$session where username='XXX';//找出你要跟踪的session,要是有多个就比较麻烦一点了。。
打开sql trace:
exec dbms_system.set_sql_trace_in_session(435,11,true);//前两个参数就是刚才查出来的sid和serial#
关闭sql trace:
exec dbms_system.set_sql_trace_in_session(435,11,false);
格式转换:
tkprof xxx.trc xxx.txt//跟踪出来的文件是trc格式的,没法直接看,转换一下格式,结果就很清晰了。
相关文档:
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
现在发现SQL语句确实是太强大了,以后遇到问题要尽量先好好思考下,不要按照最笨的方法来做!
1.从tblFaultDetailTemp表中,找到ID=14的项,并将所列出的四个字段的值拷贝到tblFaultDetail表中
Insert into tblFaultDetail(Code,FileType,FaultCode,FaultRect) select Code,FileType,FaultCode,FaultRect from tblF ......
解决办法:
1.使用Oracle用户登录系统,在CMD中启用SQLPLUS
2.sqlplus /nolog
3.SQL> connect /as sysdba
Connected.
4.SQL> alter user system account unlock;
User altered.
锁定账号方法:
1.SQL> alter user system account lock;
& ......
方法一:
select distinct name from tablename
方法二:
select min(fid),name,sex from tablename group by name
总计:
select distinct name from tablename 打开重复记录的单个字段
select * from tablename where fid in(Select min(fid) from tablename group by name)打开重复记录的所有字段值
select ......
关于SQL注入(SQL Injection)的方法其实都很普遍和使用,归纳起来也很方便。一般“黑客”使用的是现成的工具如“WEB旁注、阿D网络工具包、教主XXX”等这些都是集成了
一些常用的sql注入语句。下面我将介绍如何使用手工注入MYSQL,MSSQL数据库.
一般漏洞产 ......