首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Oracle数据顺序问题

关于Oracle中结果集数据的顺序问题,在《Oracle读取数据的顺序问题》中曾通过实验说明过,最近在整理一些案例,碰巧看到了这篇《Ordering of Result Data (Doc ID 344135.1...)》,正如文中所说,强调一点,Oracle中数据检索没有默认顺序。...如果想让Oracle返回有序的数据,唯一的操作,就是指定order by子句。...这个问题很隐蔽,可以参考《Oracle不同版本group by的变化》,因为从10g开始,group by用了hash聚合,不是sort聚合,因此不会默认排序了,如果在9i,程序中没指定order by...Oracle就是个软件,有人说过,这些隐藏参数,其实相当于开发人员设置的各种debug开关,打开或者关闭,都对应到不同的代码逻辑,带来的效果,就是不同的。

46130
您找到你想要的搜索结果了吗?
是的
没有找到

Oracle列直方图的问题隐患

第一章 Oracle列直方图介绍 众所周知 ,列的直方图主要用于针对数据倾斜的情况,能帮助数据库更准确的了解数据的分布情况,从而选择更高效的执行计划。 经过测试,直方图也是存在很多问题隐患的。...下面分别进行分析及测试: 第二章 FOR COLUMNS SIZE AUTO参数问题 FOR COLUMNS SIZE AUTO参数主要有如下特点: 由Oracle自动根据数据的分布情况,确定是否收集直方图...第四章 列宽过长导致的问题 对于文本型超过32位、数量型超过15位的列,直方图收集后都会产生一定的问题,从而导致可选择率的不准确问题。...4.1 文本型列过宽 如果针对文本型的列收集直方图,Oracle只会将该文本型字段的头32个字节给取出来(实际上只取头15个字节),并转换为一个浮点数。...4.2 数量型列过宽 如果针对数量型的列收集直方图,Oracle只会针对该数量型字段的前15位取ROUND。记录在直方图中。

2.4K20

oracle ora-12154问题总结

在使用oracle时,经常会遇到ora-12154问题,但一直没总结,解决办法过段时间就忘,再遇到问题只能再去找解决办法。今天,把目前了解到的内容汇总记录,方便以后查找。...以前一直以为oracle服务器中一个实例对应一个监听器,最近才刚知道oracle服务器可以创建多个数据库实例,这多个实例可以使用同一个监听器。...5、客户端配置问题,检查客户端的tnsnames.ora文件 这类问题是在搜索解决方法时发现的,本人并没有遇到过。...症状多发生在使用plsql或其他客户端工具时,没有配置oracle主目录导致未找到tnsnames.ora文件或该文件本身有问题(文件中的实例名前不能有空格)。...如果使用plsql之类工具,检查oracle主目录和oci路径配置是否正确; 2、检查服务器端,首先通过lsnrctl status命令查看监听服务有没启动,状态有无问题; 3、如服务已启动且状态正确

64910

Sqlplus与oracle连接问题汇总

问题一: 连接时,提示无监听程序 ? 可能没有监听程序,或者服务没有起。 1)建立监听: ? 2)如果已有监听,可能是监听服务没有起: ?...问题二: Sqlplus连接本地数据库时,没有响应,使用客户端(toad\plsql developer)时也是如此。并且与oracle连接测试也是没有响应。...最近,启动本地oracle服务后,使用cmd登陆sqlplus发现连接无响应问题,也就是死在那里不动。 正常情况下会提示已连接,现在情况如下: ? Connect后,执行回车,没有响应。...从服务列表里看了下,oracle服务和监听服务都是正常的: ? ? 同时做了次连接测试,也是没有响应: ? 而且进去tnsnames.ora看了下,配置内容没有做过修改啊,怪了。...经过探索,通过删除原来的监听(使用oracle net configuration assistant),新建一个监听就正常了,汗。

74920

Oracle的常见问题汇总(2)——​ORACLE IN与EXISTS语句的区别

exists()适合B表比A表数据大的情况 当A表数据与B表数据一样大时,in与exists效率差不多,可任选一个使用. 2、第二种解释方法: 有两个简单例子,以说明 “exists”和“in”的效率问题...因此“select 1”这里的 “1”其实是无关紧要的,换成“*”也没问题,它只在乎括号里的数据能不能查找出来,是否存在这样的记录,如果存在,这 1) 句的where 条件成立。...通过使用EXISTS,Oracle会首先检查主查询,然后运行子查询直到它找到第一个匹配项,这就节省了时间。...Oracle在执行IN子查询时,首先执行子查询,并将获得的结果列表存放在一个加了索引的临时表中。在执行子查询之前,系统先将主查询挂起,待子查询执行完毕,存放在临时表中以后再执行主查询。...这也就是使用EXISTS比使用IN通常查询速度快的原因 3、总结: 上面两种方法对in和exists使用进行了详细的解释,那么什么时候采用哪个方法需要具体问题具体分析,最主要的目的是理解它们的用法,在实际工作中能够提高开发效率

61780

ORACLE悬疑分布式事务问题处理

当需要在多个Oracle数据库之间进行数据一致性操作时,就会用到分布式事务。...大多数情况下,出现这种问题Oracle会由Reco进程进行自动修复,Oracle数据库会在dba_2pc_pending 和dba_2pc_neighbors等多个视图中记录分布式事务相关的信息,事实上...以下是三种常见的分布式事务问题场景: dba_2pc视图中有数据,但分布式事务已经不存在 分布式事务存在,但dba_2pc视图中没有数据 事务和视图数据都有,但是执行commit force或rollback...此时,我们调用oracle的清理丢失事务信息的语句就可以完成处理: execute DBMS_TRANSACTION.PURGE_LOST_DB_ENTRY ('10.20.360'); 如果事务是PREPARED...但是执行commit force或rollback force时hang住 如果视图和事务表中都有数据,而且状态是PREPARED,先执行commit force或rollback force,通常就能解决问题

56260

PostgreSQL 用户权限 回答ORACLE DBA 的问题

那么下面有些东西就开始不好理解了 问题1 PG 和 ORACLE 之间,我拿他当ORACLE 用SCHEMA 来管理,可以吗当然,当然可以,这应该也是被推荐的方法, PG 个人觉得, 在表和用户的管理上...,和ORACLE 的方法是很类似的....owner 拥有这个数据库的所有权限 3 不是这个数据库的owner,并且不是自己创建的表或者object 是无法访问的 4 建立的数据库对所有的用户都具有连接的权利 (这个和权限无关) 下一个问题是为什么什么用户即使不是这个数据库的...那么其实还有另外一个问题,我可以让所有用户对于我建立的数据库具有访问connect的权限,但仅仅是这样权限, 不能在public 中建立任何的OBJECT grant CONNECT ON DATABASE...的权限回收,这样陌生的用户全部无法在这个数据库创建任何OBJECT 2 我们建议新建的业务的数据库,不要使用public 作为你默认的schema,自己建立一个schema 并且设为默认,也可以解决上面的问题

96120
领券