WITH
SAWITH0 AS (select distinct T338967.SAL as c1,
T338967.JOB as c2,
T338967.HIREDATE as c3,
T338962.DNAME as c4
from
DEPT T338962,
EMP T338967
where ( T338962.DEPTNO = T338967.DEPTNO ) )
select D1.c1 as c1, D1.c2 as c2, D1.c3 as c3, D1.c4 as c4, D1.c5 as c5 from ( select distinct 0 as c1,
D1.c4 as c2,
D1.c3 as c3,
D1.c2 as c4,
D1.c1 as c5
from
SAWITH0 D1
order by c2, c3, c4, c5 ) D1 where rownum <= 65001
1 个回复
悲伤穿成佛珠 2013-07-21 回答
赞同来自: 梁勇 、子呆不呆
[],想要查看oracle DB 中的sql的角色或者用户,要有管理会话的权限,其“日志记录级别”要在2或者2以上(日志级别越高,查看日志的权限越大)。[/]
设置“日志记录级别”方式如下:
打开rpd, 管理→身份→身份管理对话框中,选中角色或者用户,做如下设置:
[] 清除一下缓存,包括RPD和前端。清除缓存的方法可以参考问题 :http://www.flybi.net/question/167[/]
[]打开你要查询的报表。之后,点击 管理,出现管理界面,选则管理会话:[/]
[]可以看到游标高速缓存,左数第6列:“操作”列,选择“查看日志”, 会出现[/]
大段的日志页面。里边会有逻辑SQL和物理SQL,上边的为逻辑SQL,下边的为物理SQL,
可以从from后边的表判断,是否为数据库里的物理表。
WITH
SAWITH0 AS (select distinct T338967.SAL as c1,
T338967.JOB as c2,
T338967.HIREDATE as c3,
T338962.DNAME as c4
from
DEPT T338962,
EMP T338967
where ( T338962.DEPTNO = T338967.DEPTNO ) )
select D1.c1 as c1, D1.c2 as c2, D1.c3 as c3, D1.c4 as c4, D1.c5 as c5 from ( select distinct 0 as c1,
D1.c4 as c2,
D1.c3 as c3,
D1.c2 as c4,
D1.c1 as c5
from
SAWITH0 D1
order by c2, c3, c4, c5 ) D1 where rownum <= 65001
注: 以上是11.1.1.5 版本的操作,在11.1.1.7版本中,发现即使日志记录级别为0,也可以查看物理SQL日志。