|
# 43967
小鱼
|
|
|
To: 盖老师
还是那个执行两次同一句SQL语句,CPU就占100%的问题。
盖老师,请问这样的数据库问题要从哪里着手查原因啊?分析了应该不是语句的问题。
From: 小鱼 2008.03.25 10:04
|
|
|
|
|
To: 小鱼
可能是library cache上的竞争,你用sql_trace跟踪一下SQL执行,看看跟踪文件。
From: eygle 2008.03.29 23:12
|
|
|
|
|
# 43966
alusa
|
|
|
To:
盖老师:您好!
我用 PROC 写程序的时候,数据库中有一个字段类型为 VARCHAR2 的字段,如果在读数据的时候,用 EXEC SQL VAR field1 IS STRING(64) 的方式,oracle 会在后面加个 '\0',如果用 EXEC SQL VAR field1 IS CHARF(64) 的方式,oracle 会在后面加若干空格,这两种方式都需要大量修改原来的代码。
现在这个问题搞的我很头疼,有没有一种方式,数据库里面存的是什么读出来就是什么,不加 '\0' ,也不加空格的,另外, EXEC SQL VAR field1 IS varchar2(64) 的方式也得大量修改代码。
先谢谢盖老师了,头发都白了。
From: alusa 2008.03.24 10:58
|
|
|
|
|
# 43963
lx19781017
|
|
|
To: 盖老师
我是9206的,其中一张表中存在blob字段,oracle自动把blob字段单独存储,并且blob段名是自动的SYS_LOBxxxxxxx$$,现在该segment不断膨胀,造成业务等待enqueue,我想手工分配extent,以减少enqueue事件等待,该如何实现呢?
From: lx19781017 2008.03.21 11:04
|
|
|
|
|
To: lx19781017
你可以将LOB段存储在独立的表空间里,enqueue不一定是这个引起的吧,你的表有多大?
From: eygle 2008.03.22 22:58
|
|
|
|
|
# 43961
学习中
|
|
|
To: 盖老师
关于truncate的问题,请指教
有人进行了如下操作
1,执行4万多次insert语句(没有用bind变量)
2,发现有错,没有进行rollback,而是进行了truncate
3,大概有半个小时以后,truncate操作才结束,在结束的这段时间内,
一部分业务繁忙(有insert,select)的操作全部超时不可用,而一部分可用。
我想请问几个问题
1,造成以上问题的可能的原因有那些了?
2,在以上的第2步,如果不是truncate而是drop,结果会是一样的吗?
3,commit和library catch latch有关系吗?
4,commit或者rollback以后,那些资源(library catch latch?)会被释放?
5,commit或者rollback以后,执行计划还残留的吗?如果还在,什么时候被清除?
谢谢
From: 学习中 2008.03.20 11:49
|
|
|
|
|
# 43960
seao
来自: LG
|
|
|
To:
盖老师,您好 :
请问LRU是静态的还是随着请求动态增长的,谢谢您的再次帮助。
BR
From: seao 2008.03.20 08:47
|
|
|
|
|