摘要: 在生产库建立一个索引,报ORA-14765创建索引时不能创建分区,也就是索引的创建阻塞分区的建立。 处理步骤: 1、与开发人员沟通昨天下午在Tbl_Waste表上建索引,一直未返回成功,定位问题SQL select sql_id from Gv$sql where UPPER(sql_text )l 阅读全文
posted @ 2020-08-25 13:55 HANDHEAD 阅读(560) 评论(0) 推荐(0) 编辑
摘要: Oracle索引组合字段的位置不同,当查询条件不能覆盖索引时,影响查询效率。查询条件是不是索引字段的第一列影响执行计划,实验验证 实验1:查询条件为组合索引的第一列--创建测试表 create table test_C as select * from user_objects where 1=2; 阅读全文
posted @ 2020-07-03 17:28 HANDHEAD 阅读(1664) 评论(0) 推荐(0) 编辑
摘要: 表上高水位线:通常一个新建的表,1个8K的数据块存放100行记录,若表上经常插入删除操作,造成表的水位线很高。下面从发现高水位线的办法,及解决高水位的方法说起: 1、发现存在高水位线的表:查看字典表user_tables,该表分配的数据块blocks很多,然而记录数num_rows确很少。 2、解决 阅读全文
posted @ 2020-07-01 14:08 HANDHEAD 阅读(3529) 评论(0) 推荐(0) 编辑
摘要: 在生产中,创建一个新表tbl_A,要求与已有表结构tbl_B一致 create table tbl_A AS select * from tbl_B where 1=2; --拷贝表结构tbl_B给tbl_A 创建以后,导入数据发现tbl_A上基于主键(以为是tbl_B的主键)的查询全部都是全表扫描 阅读全文
posted @ 2020-06-30 18:23 HANDHEAD 阅读(533) 评论(0) 推荐(0) 编辑
摘要: 在生产环境遇见过表的连接数过高,导致系统宕机的问题,操作上是由于在大表上建立索引,造成全表锁。故手动在表加表级锁,表上的应用不停,查看Oracle数据库连接数是否激增。 1 应用正常运行,查看当前数据库的连接数:select count(1) from v$session;--连接数S1 2 将应用 阅读全文
posted @ 2020-06-23 11:45 HANDHEAD 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 在应用中存在一系列的表,对表的操作是批量插入又批量删除,最终导致表的水位线很高。高水位线影响全索引扫描的SQL。即影响系统的性能。 现有方法降低表的水位线: 1、降低表的高水位线 select 'alter table '||TABLE_NAME||' move tablespace '||TABL 阅读全文
posted @ 2020-06-18 16:21 HANDHEAD 阅读(2430) 评论(0) 推荐(0) 编辑
摘要: 在Oracle中,存在执行计划不准的情况,怀疑表的统计信息是否收集,需要以下操作:select table_name,num_rows,blocks,last_analyzed from user_tables where table_name='EMP'; 说明:-- table_name:展示表 阅读全文
posted @ 2020-03-27 08:31 HANDHEAD 阅读(10898) 评论(0) 推荐(0) 编辑
摘要: 近来新建了一张表,发现放错表空间,且表中已有数据,故想到修改已有表的表空间 1、查看表所在的表空间select table_name,tablespace_name from dba_tables where table_name='大写表名';2、修改表空间alter table 表名 move 阅读全文
posted @ 2020-03-25 11:59 HANDHEAD 阅读(1353) 评论(0) 推荐(0) 编辑
摘要: 在项目中,经常需要在plsql中查询clob的内容,提供以下两种方法: 第一种,oracle常规函数,限制文本在4000以内 select dbms_lob.substr(sql_text) from dba_hist_sqltext where sql_id='&sql_id';说明:dbms_l 阅读全文
posted @ 2020-03-06 08:58 HANDHEAD 阅读(2466) 评论(0) 推荐(0) 编辑
摘要: 查看当前系统允许的进程连接数:方法一: show parameter process; 查看processes一列 方法二: select name,value from v$parameter where name='processes'; 查看系统允许的会话数: 方法一: show parame 阅读全文
posted @ 2020-03-03 11:20 HANDHEAD 阅读(5265) 评论(0) 推荐(0) 编辑