如下,在執行創建表語句時報錯如下:
執行下面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的內存結構以及執行計划、控制信息等等。