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

    转自:https://www.cnblogs.com/zjfjava/p/9070795.html

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

    执行下面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的内存结构以及执行计划、控制信息等等。

  • 相关阅读:
    乱七八糟
    堆-heap
    转linux文件的读写
    @转EXT2->EXT3->EXT4
    (转)僵死进程与孤儿进程
    java
    poj-1062-昂贵的聘礼
    java 之 wait, notify, park, unpark , synchronized, Condition
    事物(笔记)
    BPX-tree
  • 原文地址:https://www.cnblogs.com/sharpest/p/11096457.html
Copyright © 2011-2022 走看看