一个sql的优化,
郁闷,只是价格count 就不扫描表了SQL> create index idx_luda_zhutou_obna on zhutou(upper(object_name)) online;Index created.SQL> select /*+ INDEX(a IDX_LUDA_ZHUTOU_OBNA)*/ count(a.object_name) 2 from zhutou a 3 where upper(a.object_name) like 'LUDA%';Execution Plan----------------------------------------------------------Plan hash value: 4142235787-----------------------------------------------------------------------------------------------------| Id | Operation | N
关于enable novalidate,对于误删除唯一索引的补救办法
SQL> create table t1 (t_id number);Table created.SQL> select index_name from user_indexes where table_name='T1';no rows selectedSQL> insert into t1 values(110);1 row created.SQL> insert into t1 values(120);1 row created.SQL> insert into t1 values(130);1 row created.SQL> insert into t1 values(140);1 row created.SQL> create index idx_t1_id on t1(id) online;create index idx_t1_id on t1(id) online *ERROR at line 1:ORA-00904: "ID": invalid id
ORA-16014 ORA-00312 ORA-00312
在一次迁移数据库过程中,遭遇如此问题:首先遭遇这个问题处理过程就是看告警,第二show db_recovery查看归档路径和归档目录大小是否正常。这里错误是由于归档目录空间不足SQL> alter database open;alter database open*ERROR at line 1:ORA-16014: log 1 sequence# 47 not archived, no available destinationsORA-00312: online log 1 thread 1:'/oradata/IMSBASE/onlinelog/o1_mf_1_6dnpv5f9_.log'ORA-00312: online log 1 thread 1:'/oracle/flash_recovery_area/IMSBASE/onlinelog/o1_mf_1_6dnpv5rh_.log'SQL> alter system s
行迁移的解决办法
当往数据库中插入(INSERT)数据的时候,块中的自由空间会减少;当对块中已经存在的行进行修改(UPDATE)的时候(使记录长度增加),块中的自由空间也会减少。DELETE语句和UPDATE语句会使块中的自由空间增加。当使用DELETE语句删除块中的记录或者使用UPDATE语句把列的值更改成一个更小值的时候,Oracle会释放出一部分自由空间。释放出的自由空间并不一定是连续的。通常情况下,Oracle不会对块中不连续的自由空间进行合并。因为合并数据块中不连续的自由空间会影响数据库的性能。只有当用户进行数据插入(INSERT)或者更新(UPDATE)操作,
随便写的
我不是一个很有素质的人,但是人总是因人而变的。只想写点oracle的学习过程,因为除了oracle,我找不到很多东西。但是oracle真的占用了我几乎除了休息的时间。大三那年很傻很天真,我毅然从思科的np班逃出来,觉得学数据库是对的,老谭当时是教我们系的网络技术,他当时给了我决定我这些年来生活的建议,学习数据库,之后我就在数据库的资料中度过了大三大四。oracle要求:英文良好,四级以上吧,这样阅读文档遇到的阻碍会小点。数学基础要好,算法。数据结构和C。非常可笑的是,我大学前2年的数据结构和C都是挂了,可是我在课程设计上 我
关于oracle里的v$sga
SQL> show sgaTotal System Global Area 638369684 bytesFixed Size 73620 bytesVariable Size 217284608 bytes Database Buffers 419430400 bytesRedo Buffers 1581056 bytesSQL> Fixed Size:oracle 不同版本下可能不一样,对于确定环境是一个固定的值,里面存储了SGA 各部分组件的信息,是引导建立SGA的区域。Variable Size:包含了shared_pool_size、java_pool_size、large_pool_size 等池同时每个控制文件占用256bytes Variable SizeDatabase Buffers:9i以后包含db_cache_size、db_keep_cache_size、db_recycle_cache_size、 db
oracle调优之rac调优概念
1、CPU和wait time调节尺寸 当在调节system时,比较系统的CPU time 和wait time是十分重要的,从而确定在相应时间中多少是用于有效的工作时间,多少是在等待由其他进程占用的资源。 从一般规律来看,wait time占主要部分的系统比CPU time占主要部分的系统更需要调节。另一方面,CPU的大量使用可能是由不好的SQL写操作造成了。 尽管CPU time与wait time的比率总是随着系统装载的增加而趋于减小的,wait time的急剧增加是存在冲突的表现,必须被有效的处理。 给node增加更多的CPUs或是给cluster增加nodes,在资源竞争中提供的b
share pool 、library cache、dictionary cachel AND LRU table (one)----library cache、dictionary cachel
library cache最主要的功能就是存放用户提交的SQL语句、SQL语句相关的解析树(解析树也就是对SQL语句中所涉及的所有对象的展现)、执行计划、用户提交的PL/SQL程序块(包括匿名程序块、存储过程、包、函数等)以及它们转换后能够被Oracle执行的代码等。为了对这些内存结构进行管理,library cache中还存放了很多控制结构,包括lock、pin、dependency table等。library cache也存放了很多的数据库对象的信息,包括表、索引等。有关这些数据库对象的信息都是从dictionary cache中获得的。如果用户对library cache中的对象信息进行了修改,比
一次数据库性能调优报告
1 10.*********(单实列)存在的问题:1. 业务高峰期响应慢,处理步骤如下所示,1.1 创建如下索引:create index idx_ZZJGDM_20100617_sh on TAX_SI_ZZJGDM_20100617(sh,aac001) online tablespace IND_DATAEXCHANGE;create index idx_F_KBH1_aac001 on F_KBH1(aac001,ekc092) online tablespace IND_DATAEXCHANGE;create index idx_iaa2_aac001 on iaa2(aac001) online tablespace DATAEXCHANGE;create index idx_SBDI_BANKFEE_sblsh on SBDI_BANKFEE(sblsh,sbbm) online tablespace IND_SIBUSI;create index idx_ic13_aad124 on ic13(
Oracle的SQL语句执行效率问题查找与解决方法
一、识别占用资源较多的语句的方法1. 测试组和最终用户反馈的与反应缓慢有关的问题。2. 利用V_$SQLAREA视图提供了执行的细节。(执行、读取磁盘和读取缓冲区的次数)• 数据列EXECUTIONS:执行次数DISK_READS:读盘次数COMMAND_TYPE:命令类型(3:select,2:insert;6:update;7delete;47:pl/sql程序单元)OPTIMIZER_MODE:优化方式SQL_TEXT:Sql语句SHARABLE_MEM:占用shared pool的内存多少BUFFER_GETS:读取缓冲区的次数• 用途1、帮忙找出性能较差的SQL语句2、帮忙找出最高频率的SQL 3、帮忙分析是否需要索引或改善联接3.