zoukankan      html  css  js  c++  java
  • 创建表时 ORA-00955: 名称已由现有对象使用

    如下,在执行创建表语句时报错如下:

    执行下面sql查询

    select a.OBJECT_type,a.* from all_objects a where upper(a.OBJECT_NAME) ='USER_SF_INFO';

    发现有一个视图和该表重名了,解决方法是修改名称,或删掉重复的对象

    附:如果查询对象时没有找到,则在dba账户下执行下面的语句刷新一下共享池(未进行到此步,无法验证准确性)

    alter system flush shared_pool;

    共享池:

    oracle会将用户提交来的SQL语句都缓存在内存中。每次处理新的一条SQL语句时都会先在内存中查看是否有相同的SQL语句,如果相同则可以减少最重要的解析工作(也就是生成执行计划),从而节省了大量的资源;反之如果没有找到相同的SQL语句,则必须重新从头到尾进行完整的解析过程,这部分存放SQL语句的内存就叫做共享池( shared pool)。当然shared pool里不仅仅是SQL语句,还包括管理shared pool的内存结构以及执行计划、控制信息等等。

  • 相关阅读:
    密码控件安全技术浅析及攻击实例
    一个QQ木马的逆向分析浅谈(附带源码)
    菜鸟开始学习SSDT HOOK((附带源码)
    leetcode229
    leetcode1401
    leetcode1400
    leetcode1399
    leetcode228
    leetcode223
    leetcode222
  • 原文地址:https://www.cnblogs.com/zjfjava/p/9070795.html
Copyright © 2011-2022 走看看