oracle10g SQL 跟踪
1.激活SQL跟踪
从oracle10g以后提供了新的方法激活SQL的跟踪,即是使用dbms_monitor包来开启或关闭SQL跟踪。
之前旧方法是使用 alter session set events .. 或者使用dbms_system.set_ev方式
使用dbms_monitor包可以在会话,客户端,组件以及数据库四个层级开启SQL的跟踪。
只有拥有dba角色的用户才能允许执行dbms_monitor包
4个层次级别的激活调用方法:
会 话 级:exec dbms_monitor.session_trace_enable(session_id =>1574,
serial_num=>36749,waits=>true,binds=>false);
注意:使用select * from v$session where sid=sys_context('userenv','sid');
获得session_id和serial
关闭用:
exec dbms_monitor.session_trace_disable(session_id=>1574,serial_num=>36749)
客户端级:exec dbms_monitor.cliend_id_trace_enable(
client_id=''JXXXT:Administrator',
waits =>true,binds=>false)
注意:client_id即v$session表里面的client_identifier字段,默认此字段为空,
通过dba_enabled_traces表查看那些客户端启用了SQL跟踪
&nb
相关文档:
--创建表空间
create tablespace testSP
datafile 'E:\COMPANY\rbtsql\testSP.dbf'
size 100M AutoExtend On Next 10M Maxsize 2048M
--创建用户
create user janely identified by wawa
default tablespace testSP--默认表空间是 system
temporary tablespace temp--保存临时对象所使用的空间表
--赋权限
grant ......
第一节、SQL注入的一般步骤
首先,判断环境,寻找注入点,判断数据库类型,这在入门篇已经讲过了。
其次,根据注入参数类型,在脑海中重构SQL语句的原貌,按参数类型主要分为下面三种:
(A) ID=49 这类注入的参数是数字型,SQL语句原貌大致如下:
Select * from 表名 where
字段=49
注入的参数为ID=49 And [查询条件 ......
数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。
在使用left jion时,on和where条件的区别如下:
1、on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。
2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已 ......
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Xml;
using System.Data;
namespace MyDbTest
{
class Program
{
static void Main(string[] args)
{
SqlConnection thisConnection = new SqlConnection(
@ ......
--列出SQL Server实例中的数据库
sp_databases
--返回SQL Server、数据库网关或基础数据源的特性名和匹配值的列表
sp_server_info
--返回当前环境中的存储过程列表
sp_stored_procedures
--返回当前环境下可查询的对象的列表(任何可出现在 from 子句中的对象)
sp_tables
select * from sysobjects
---添加或更改 ......