eygle.com   eygle.com
eygle.com  
 
留言簿 - Powered by eYgLe.Com
eygle.com 我要留言
Oracle入门书籍推荐
昵称
内容 页: < 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 > >> - 302
# 43899
smalljoe




To: eygle:
  不好意思,小盖麻烦一下。

在我这得环境里,下面这个SQL在VB里使用,
SELECT REQU.q_id,REQU.qmuid,REQU.qmcid,REQU.quuid,REQU.qucid,REQU.qord,
REQU.qpok,USRS.unam,USRS.ucnm,USRS.usec,
(SELECT count(*) FROM NAIY WHERE NAIY.nwin>=1 AND NAIY.nqid=REQU.q_id) AS cnt
From REQU,USRS WHERE REQU.qkid=" & kid & " AND USRS.ucid=REQU.qucid AND USRS.u_id=REQU.quuid
AND REQU.qudY=" & gc.Curqyear & " AND REQU.qudM=" & gc.Curqtuki
ORDER BY USRS.ucnm,USRS.usec,USRS.unam"
返回的纪录有136条,但是很慢。
我给改了一下,
SELECT REQU.q_id,REQU.qmuid,REQU.qmcid,REQU.quuid,REQU.qucid,REQU.qord,
REQU.qpok,USRS.unam,USRS.ucnm,USRS.usec From REQU,USRS WHERE REQU.qkid=" & kid & " AND USRS.ucid=REQU.qucid AND USRS.u_id=REQU.quuid
AND REQU.qudY=" & gc.Curqyear & " AND REQU.qudM=" & gc.Curqtuki
ORDER BY USRS.ucnm,USRS.usec,USRS.unam"

将cnt的部分移出来单作,结果排序竟然改变了。
我怎么也想不明白为什么。如果在obj browser里,两个sql的结果集顺序相同。
从直观的角度看,会SQL影响的吗?还是vb的影响?晕死了。
From: smalljoe
2008.01.31 19:30
To: smalljoe
  
可能不同,如果加上索引的影响,两者的执行计划可能会不同。

你要看一下SQL的执行计划。更有可能现在的结果集都不相同阿!

From: eygle
2008.01.31 20:56

版主选项: 回复 编辑
# 43898
loudking




To: Eagle
  Hi,

在大师的一篇文章中,您提到Oracle一秒钟最多可以产生256 x 256 / 4个SCN。
以每个SCN等于每个Record计算(算Record头部的SCN),那么就是Oracle数据库每秒钟最多可以接受16000个操作,我觉得这个数字有点小,应该至少达到50000个才可以。

不知道大师怎么解释这个问题。

谢谢。
From: loudking
2008.01.31 16:54
To: loudking
  
并不是每个事务只进行一个操作;也并不是每个SCN只对应一个事务。
这个是Scn的内部限制,确实如此。

From: eygle
2008.02.03 10:21

版主选项: 回复 编辑
# 43897
sunleaf2002


来自: 北京


To:
  最近在为用户做应用安装,用户要求采用拷贝冷备份数据文件、日志文件和控制文件的方法,目前已经完成,但是有一个地方觉得做得不好,具体如下:
1.在准备数据文件、日志文件时,我在c盘创建了一个临时目录,如c:\temp,数据文件、日志文件都放在这里;
2.shutdown ,拷贝数据文件、日志文件和控制文件到安装机器的目的路径下,同时创建c:\temp,并拷贝数据文件、日志文件到此目录下;
3.在安装机器上mount后,rename file从c:\temp到目的路径,成功。
感觉好像“创建c:\temp,并拷贝数据文件、日志文件到此目录下”的步骤有点耗时,能否有办法可以让控制文件直接去找新的安装路径而省去这一步?

期待您的恢复。您网站的常客。
From: sunleaf2002
2008.01.30 22:10
To: sunleaf2002
  
怎么这么乱呢?看你写的头都晕了。

你想自动化还是手工实现的?如果是手工,你大不了重建控制文件就可以了。
你也可以参考一下Oracle是怎么干这件事情的:
http://www.eygle.com/archives/2007/08/stepbs_oracle_chp1_07.html

From: eygle
2008.01.30 23:16

版主选项: 回复 编辑
# 43895
sean




To: eygle
  您好:
我想问一下,ORACLE 10G中,为何SYSTEM,TEMP UNDOTBS 3个表空间的SEGMENT MANAGMENT 是MANUAL.

 谢谢!
  SEAN

From: sean
2008.01.29 15:14
To: sean
  
ASSM并非完美无瑕,也并非绝对的最佳选择。

如果对数据具有完全的了解,MANUAL方式可能可以获得更好的性能。

From: eygle
2008.01.30 09:26

版主选项: 回复 编辑
# 43886
qingyun


来自: 上海


To: eygle
  我找了一下 V$sql的定义;
发现它是:
CREATE PUBLIC SYNONYM V$SQL FOR SYS.V_$SQL

也就是说它是一个 同义词;

然后根据这个V_$SQL找到对应的定义:

CREATE OR REPLACE VIEW SYS.V_$SQL
 
AS
select * from v$sql

发现 V$sql和 V_$SQL怎么互相定义?

V$sql这个视图对应的原表究竟是什么?

我想在项目中,每天半夜删除 V$sql 的一些硬编码的SQL,腾出空间来给有用的共享SQL使用。也就是说,保留可能再用的共享SQL,删除那些不可能再利用的SQL;这个如何实现呢?

问题来源:
http://www.itpub.net/viewthread.php?tid=934327&;pid=9530239&page=1&extra=

From: qingyun
2008.01.29 10:05

版主选项: 回复 编辑
# 43885
rigel




To: eygle
  大师 我这2个库 9i和10g都有
 SQL> select version from v$instance;

VERSION
-----------------
10.2.0.1.0

SQL> select * fromTRANSPORT_SET_VIOLATIONS;
select * fromTRANSPORT_SET_VIOLATIONS
 *
ERROR at line 1:
ORA-00942: table or view does not exist

第二个
SQL> select version from v$instance;

VERSION
-----------------
9.2.0.5.0

SQL> select * fromTRANSPORT_SET_VIOLATIONS;
select * fromTRANSPORT_SET_VIOLATIONS
 *
ERROR at line 1:
ORA-00942: table or view does not exist

From: rigel
2008.01.28 12:29
To: rigel
  
你要做了transport_set_check才会生成的。

From: eygle
2008.01.28 14:06

版主选项: 回复 编辑
# 43883
阿坤


来自: 江蘇昆山


To: eygle
  非常感謝你的幫助!

我用這個腳本進行,要恢復29380這支archivelog,是不是這以下腳本就可以了,我接觸的時間還是不很長。
run {
allocate channel 'dev_0' type 'sbt_tape'
 parms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=misdb,OB2BARLIST=11GC0670506)';
allocate channel 'dev_1' type 'sbt_tape'
 parms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=misdb,OB2BARLIST=11GC0670506)';
allocate channel 'dev_2' type 'sbt_tape'
 parms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=misdb,OB2BARLIST=11GC0670506)';
allocate channel 'dev_3' type 'sbt_tape'
 parms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=misdb,OB2BARLIST=11GC0670506)';
 restore archivelog from logseq 29380;

}

From: 阿坤
2008.01.28 09:00

版主选项: 回复 编辑
# 43882
阿坤


来自: 江蘇昆山


To:
  

非常感謝你的幫助!

我用這個腳本進行,要恢復29380這支archivelog,是不是這以下腳本就可以了,我接觸的時間還是不很長。
run {
allocate channel 'dev_0' type 'sbt_tape'
 parms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=misdb,OB2BARLIST=11GC0670506)';
allocate channel 'dev_1' type 'sbt_tape'
 parms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=misdb,OB2BARLIST=11GC0670506)';
allocate channel 'dev_2' type 'sbt_tape'
 parms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=misdb,OB2BARLIST=11GC0670506)';
allocate channel 'dev_3' type 'sbt_tape'
 parms 'ENV=(OB2BARTYPE=Oracle8,OB2APPNAME=misdb,OB2BARLIST=11GC0670506)';
 restore archivelog from logseq 29380;

}

From: 阿坤
2008.01.28 08:59

版主选项: 回复 编辑
# 43881
wwj




To: eygle
  大侠你好:
  您遇到过这种问题没有,一个同事告诉我CTAS很慢。我把SQL拿出来看发现,
但是做query很快,一旦加上create table as 就无法成功,加上insert into 也是。
在看了执行计划以后,发现query的时候是做hash join ,CTAS就变成nest loop 去了。
  为什么,query 和 加了create table as的计划,会如此不同?
  10g r2
 
From: wwj
2008.01.27 16:21

版主选项: 回复 编辑
# 43879
pz




To: eygle
  请问在10G做统计分析时,会产生大量的日志文件吗?我在做统计分析时,发现ORACLE的安装目录磁盘空间增加得很快。
From: pz
2008.01.26 16:51

版主选项: 回复 编辑

页: < 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 > >> - 302
我要留言
Copyright © 2003-2008 eygle.com All Rights Reserved.
Powered by: www.eYgLe.com