oracle
夜袭_Yang
积跬步
展开
-
SQL性能调优--去除索引函数修改时间判断逻辑
前段时间遇到一条可以调优的SQL,这里记录一下,梳理知识点,在这里也做个分享,立个Flag。结论:如下这条SQL每次执行都会Full Table Scan TAB1012,查看该SQL的执行计划,建议更具查询条件修改SQL,拿掉Index栏位的TRUNC()函数,且修改时间判断逻辑,可走Index扫描查询,时间从25.7秒下降到0.5秒,Cost也可从38214下降到896。SQL如下:S...原创 2019-12-16 16:43:36 · 858 阅读 · 0 评论 -
解决:ORA-02064 distributed operation not supported
起因:近日项目需要通过Oracle DBLink调用远程数据库的存储过程。即:数据库A ,B 通过DBlink互相访问, 数据库A调用数据库B的存储过程pro_b , pro_b里面有DML语句,且有commit ,或rollback. 这时数据库A通过DBlink 的调用pro_b@B就会产生这个错误:Caused by: java.sql.SQLException: ORA-02064:...原创 2019-12-16 14:05:09 · 2195 阅读 · 0 评论 -
oracle imp导入数据报错ORA-29283: invalid file operation
今天上午在使用Unix sh运行Oracle中的Procedure(使用utl_file)进行imp操作时,抛Error,这里记录一下,以便日后查看。起因:使用impdp导入数据,报错信息如下:ORA-29283: invalid file operationORA-06512: at “SYS.UTL_FILE”, line536ORA-29283: invalid file oper...原创 2019-08-27 11:39:30 · 4013 阅读 · 0 评论 -
浅谈count(普通列), count(*),count(1),count(index)和count(主键)执行效率
最近一仁兄,问到关于count(普通列), count(*),count(1),count(index)还有count(主键)执行效率,所以,今天抽个空,自己做个实验,测试测试不同的情况,我测试的思路是从执行计划上和运行时间这两方面入手,如有不正确之出,还敬请指出!!首先确定的是:count(*)包括了所有的列,在统计结果时,不会忽略列值为NULL ;count(1)包括了所有列,用1...原创 2019-04-19 16:59:57 · 1598 阅读 · 1 评论 -
ORA-01950: no privileges on tablespace xxxx
起因:今天在DB创建一个User(User_Ben)后,进行Table创建,发现抛:ORA-01950: no privileges on tablespace SYSTEM原因:在于在SYSTEM表空间中没有为User(User_Ben)用户提供配额空间解决方法:此时只需要为User(User_Ben)在SYSTEM表空间上设置配额就可以了,使用如下命令为其配额:al...原创 2019-04-22 17:30:47 · 1122 阅读 · 0 评论 -
Oracle DBLink使用总结
前段时间跟一朋友聊SQL性能调优时突然说道DBLink这个话题,她就问我什么是DBLink,我当时解析的是:DBLink是可以实现跨数据库访问,是数据库之间的一种桥梁。今天回想起来,就想做个总结:DBLink的定义?DBLink是数据库的链接,就像电话线一样,是一个通道,当我们要跨本地数据库, 访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的DBLink, 通过DB...原创 2019-04-03 17:55:20 · 3459 阅读 · 0 评论 -
解决:Oracle 异常 ORA-01861& ORA-01858 问题
最近在调试SQL时遇到如下两个Oracle报错:ORA-01858: a non-numeric character was found where a numeric was expectedORA-01861: literal does not match format string今天把其记录下来,以便增加记忆,和日后查阅。原因:在SQL中有使用TO_DATE函数进行日期转换,...原创 2019-04-10 17:51:27 · 12218 阅读 · 0 评论 -
oracle中查看tablespace使用率
oracle中查看tablespace使用率SQL如下SELECT DDF.TBS_NAME,TOTAL,(TOTAL-FREE) USED, ROUND((TOTAL-FREE)/TOTAL*100,2) USED_PERCENT,FREEFROM(SELECT TABLESPACE_NAME TBS_NAME,ROUND(SUM(BYTES)/1024/1024,2) TOTALF...原创 2019-03-18 17:07:22 · 1231 阅读 · 0 评论 -
ORA-01765: specifying owner's name of the table is not allowed
ORA-01765: specifying owner’s name of the table is not allowed修改表名时,抛ORA-01765错误,因为在rename时是不需要指定table的owner,如下example:错误语法:SQL> rename whcnweb.CWA3010 to CWA3010_bak;rename whcnweb.CWA3010 to...原创 2019-03-13 14:13:14 · 3024 阅读 · 0 评论 -
ORA-00980: synonym translation is no longer valid
今天在DB创建一个View时,会抛ORA-00980: synonym translation is no longer valid的错误,同义词转换不再有效,查看该视图的source后发现,有用到Remote DB的Function,在Local DB有create了该Function的synonym指向Remote DB,但是发现该synonym是不可用的,通过查找发现是该Functi...原创 2019-03-14 10:16:39 · 13079 阅读 · 0 评论 -
oracle创建表空间、用户、用户授权、删除表空间、删除用户
创建临时表空间create temporary tablespace temp_test —temp_test表空间名称tempfile ‘C:\oracle\product\10.2.0\oradata\testserver\temp_test01.dbf’ —oracle文件路径size 32m —temp_test初始表空间值autoextend onnext 32m maxs...原创 2019-03-18 14:27:44 · 221 阅读 · 0 评论 -
oracle 代码块
oracle 的代码块模板:declare–声明变量begin–执行业务逻辑exception–异常处理end;–结束注意:代码块每个sql语句结束都要加分号;example:declarev_id varchar(10):=‘1’; --声明字符串变量必须带上长度v_name varchar(10):=‘Ben Yang’;v_sex Integer:=1;...原创 2019-03-18 16:07:47 · 1308 阅读 · 0 评论 -
for update,for update wait,for update nowait的区别
首先一点在oracle中,如果只是select 的话,Oracle是不会加任何锁的,也就是Oracle对 select 读到的数据不会有任何限制,虽然这时候有可能另外一个进程正在修改表中的数据,并且修改的结果可能影响到你目前select语句的结果,但是因为没有锁,所以select结果为当前时刻表中记录的状态。他们三个共同点:当使用select for update 或select f...原创 2019-03-21 18:08:40 · 3098 阅读 · 0 评论