oracle学习
ask_xl
这个作者很懒,什么都没留下…
展开
-
关于ora 12560 协议适配器错误
打开sqlplus报12560错误。如果是之前好好的,突然当出现这种情况的。 第一:查看服务有没有启动。 第二:是不是有新装客户端。一般这种情况,是系统path路径修改了,当你新安装客户端的时候就会自动添加路径到系统path里面,而打开sqlplus的时候只会找第一个oracle路径。解决办法:旧pat原创 2014-01-24 10:28:54 · 1107 阅读 · 0 评论 -
oracle数据字典
oracle常用的数据字典一、oracle数据字典主要由以下几种视图构成:1.user视图以user_为前缀,用来记录用户对象的信息2.all视图以all_为前缀,用来记录用户对象的信息及被授权访问的对象信息3.dba视图以dba_为前缀,用来记录数据库实例的所有对象的信息4.v$视图以v$为前缀,用来记录与数据库活动相关的性能统计动态信息5.gv$视图转载 2015-10-30 21:29:39 · 301 阅读 · 0 评论 -
18-2
一: 基数(Cardinality) 列唯一键(Distinct_keys)的数量,比如性别,该列只有男女之分,所以这一列基数是2。主键列的基数等于行数。select count(*) from emp; 总行数select count(distinct empno) from emp; 基数原创 2015-12-18 20:35:26 · 358 阅读 · 0 评论 -
18-7
set lines 200 pages 1000 alter session set statistics_level=all;select /*+ use_nl(e,d) full(d) */ e.ename,e.job,d.dname from emp e,dept d where e.deptno=d.deptno and e.sal select原创 2016-01-04 20:39:41 · 391 阅读 · 0 评论 -
18-1
一:单表访问1. set arraysize 1000 只允许从客户端发送1000从oracle服务器端一次传输多少条数据到客户端show arraysize 块大小8k一个块大概能存储几十行到几百行数据加入一个块150行数据如果arraysize 只有15 那么读这个块是不是要读10次。一个块在内存中访问一次就算一次逻辑读。oltp原创 2015-12-16 20:49:54 · 340 阅读 · 0 评论 -
21
select 1 from 表 where .... for update skip locked; select 1 from TIDAPIEF WHERE INTERNAL_EVENT_ID = :2 for update skip locked; 返回1 没锁返回空 有锁 抛出异常,资源正忙,请稍后再试!脚本监控latch,lock不耗资源,la原创 2015-11-30 20:37:53 · 329 阅读 · 0 评论 -
18-6
全表扫描是 多块读多块读 一次性 可以读128个块要在 db里面 避免大事务行迁移 单块读select * from emp where rowid='AAA.......' 单快读select * from emp where rowid >='AAA.......' 多快读一个块里面的rowid是连续的,块与块之间也是连续的,原创 2015-12-30 20:37:03 · 308 阅读 · 0 评论 -
16
谓词推入,Pushing Predicate(谓词推入):当SQL语句中包含有不能合并的视图,并且视图有谓词过滤(也就是where过滤条件),CBO会将where过滤条件推入视图中,这个就叫做谓词推入。谓词推入的主要目的就是让Oracle尽可能早的过滤掉无用的数据,从而提升查询性能。 create or replace view v_sb as select a.*原创 2015-11-16 20:45:19 · 396 阅读 · 0 评论 -
10
reference index skip scan hint 怎么写 INDEX FAST FULL SCAN 索引快速全扫描。多块读 。当SQL要查询的数据能够完全从索引中获得,那么 Oracle就不会走全表扫描了,就会走索引快速全原创 2015-10-30 21:20:13 · 323 阅读 · 0 评论 -
7
一个跑步出来的sql select aa.cashier_shop_no,aa.merch_id,count(aa.card_no) card_no_num from(select /*+use_hash(a,b,c)*/ b.cashier_shop_no, b.merch_id,c.card_no,sum((case when c.p_code='7686' or c.原创 2015-10-23 20:50:39 · 396 阅读 · 0 评论 -
15
一个表查询索引全表扫描两个表关联小表驱动大表 一般引起性能问题的多是复杂的子查询select 后面的查询 官方叫法就叫标量子查询select a.owner,a.object_name,(select object_type from test2 where object_id=a.object_id) object_type from te原创 2015-11-13 20:37:51 · 405 阅读 · 0 评论 -
【exp】11g新特性——exp不导出空表
11G中有个新特性,当表无数据时,不分配segment,以节省空间。因此,11g exp 导出会忽略空表。因此建议使用数据泵expdp做导出。解决方法: 1、insert一行,再rollback就产生segment了。 该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。 2、设置deferred_segment_转载 2015-10-23 11:34:05 · 287 阅读 · 0 评论 -
用exp导数据经常会遇到0行的表导不出来的情况
用exp导数据经常会遇到0行的表导不出来的情况: 在oracle 11g里面exp.exe在导出数据时,发现行数为0的表,exp工具会提示表不存在,从而导不出来,这令我常感到非常困惑。 对于这个问题我现在用的办法是:通过 批量修改行数为0,或者块为空的表 select 'alter table '||table_name |原创 2014-01-02 16:55:35 · 3046 阅读 · 0 评论 -
关于hint
随笔- 192 文章- 0 评论- 16 ORACLE常用SQL优化hint语句在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /翻译 2015-11-10 10:02:27 · 731 阅读 · 0 评论