执行计划需要关注的部分执行计划中需要关注的点
简单分析执行计划的话,首先需要关注的是查询行数量和逻辑读的比例一般情况下认为平均每行的逻辑读应该在5个以下,越少越好在未加索引的时候,查询100行的执行计划如下查询100行的逻辑读为17975,平均每行为179.75...
sys_connect_by_path函数的使用
Sys_connect_by_path的语法为Sys_connect_by_path(column,char)主要是将根节点到当前节点的层次路径排列出来,排列的是column指定的列,char为在连接字符串select e.*,level,sys_connect_by_path(ename,'-->') from...
oracle中的层次查询
比如查询scott用户下的emp表,将所有职员安装上下属关系列出select EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO,level from empstart with empno=7839connect by prior empno=mgrorder by le...
expdp中的table_exists_action
table_exists_action=truncate的话,对于存在外键引用表无法截断;在导入数据的时候没有导入报错如下ORA-39120: Table "TOPICIS"."REG_MARPRIPINFO" can't be truncated, data will be skipped. Failing error is:OR...
数据泵导入导出数据生成日志不完全的问题
单单说expdp,他的效率确实比exp的效率高的多;expdp导出20G的数据量和exp导出2G的数据量是差不多的但是出现一个问题是:日志生成的不完善,如下面的所示这样肯定会成为在公司内部推广的一个最大的障碍...
exp还是expdp,相对纠结啊
在进行数据库备份时,是使用exp还是expdp比较纠结按道理来说,现在不该使用exp了,这个古老的工具在进行备份的时候会有很多问题,比如说备份慢的问题,比如说未分配段的表无法导出(这个问题让人很头疼,...
impdp导入包含xmltype类型字段空表报错问题
oralce版本号为11.2.0.1,在导入包含xmltype类型字段的空表时报错,如下错误ORA-39083: 对象类型 TABLE:"TOPICIS"."REG_ENTACTINFOXML" 创建失败, 出现错误:ORA-14223: 此表不支持延迟创建段失败的 sql ...
内置函数to_single_byte
在很多软件系统中,并没有对非法输入进行处理;将半角数值输入为全角数值的情况很常见。在存储的时候,一个半角数字占1个byte,但是一个全角数字需要占3个byte因为全角的原因,原本定义的字段长度很不容易出...
oracle的闪回查询
很多事情由于误操作使得某个事务提交了,在这种情况下,如果想找回提交之前的数据,可以使用flashback查询到原来的数据仅仅是查询的话select * from Tab_flwjsdjsr as of timestamp sysdate-1sysdate-1定位...
追忆一道数据库开发的面试题
还清晰的记着当时绞尽脑汁想了很多的办法,用了union以及求和,很长的一条sql,还是觉得实现不了原来是用到group byrollup的函数实现select nvl(to_char(id),'小计') as id,sum(XCLB) from hl83 group by rol...
oracle中保留字符的处理
在使用正则表达式统计某个字符在一个字符串中的数量时没有得到正确的结果,sql语句如下select regexp_count('1-2|1-2|1-3|1-5|1-7','|') from dual 错误的原因是因为|在oracle中是保留字符如果...
oracle中打开执行计划
oralce中的执行计划是进行sql优化的很重要的工具在使用执行计划时,需要先执行两个oracle自带的脚本,一个是在rdbms/admin下的utlxplan.sql和sqlplus/admin下的plustrce.sql执行完上面的两个脚本后,还...
初次启动sql developer时报错
已经安装的JDK,并正确设置了路径,但是在启动sql developer的时候报错,弹出的错误窗口如下这是因为在选择路径的时候选择的是本地安装的选择本地安装路径是不对的,需要选择的路径是sql developer文件夹下...
translate的用法
语法规则translate(string,from_str,to_str)相对于replace来讲。使用更加灵活1、去掉汉字和字母,提取数字select name_old,translate(NAME_OLD,'#' || translate(name_old,'0123456789', '#'),'/') from a_user2、去...
oracle正则表达式regexp_like的使用
对某一个字段进行to_number处理时,因为部分数据中包含字母,所以报错 ORA-01722: 无效数字这样就需要先除去字母以及字母后面的字符--处理不含有字母的数据update a_organ set code_new=code_old w...
oralce时间格式
个人感觉,在oracle中时间格式的操作比较复杂和混乱如果系统的date 格式为YYYY-MM-DD HH24:MI:SS的话,如果想仅得到年月日,而且还是date字段,可以使用截断select trunc(sysdate) from dual如果想计算两个...
修改dbwr后台进程数量
批量执行脚本时,批量数据写回到数据库;从EM中查看到有较多的dbwr的IO请求查看后台dbwr的进程数量select * from v$bgprocess在查询结果中paddr的字段为非'00'的进程为正常使用的查询结果为正在使用的db...
oralce中触发器的禁用和启用
在批量导入数据的时候,如果有触发器或者外键约束,导入时速度会比较慢在导入的时候可以选择将触发器禁掉,数据导入后再启用查看当前用户的触发器,获知触发器名称和所属的表名称select * from user_trigger...
awr报告分析日志组较小导致的解决
昨天在往oracle中导入一个10G的dmp文件时,感觉速度非常慢,今天生成了awr报告想分析一下问题;报告给出的负载情况已经超过了100%,我估计是产生过多的等待时间Top 5 Timed Foreground Events中...
oracle中kill某个用户的连接
在删除某个用户时,可能会因为某些用户正在连接但是又无法定位从哪里连接的1、查询一下当前有哪些用户在连接,并且查询是从哪个操作系统连接的select username,osuser,sid,serial# from v$session2、kill掉...