由於資料庫重啟、重新整理、奔潰等原因,導致sequence快取資料丟失,查詢時出現跳號現象,即從下乙個號開始
解決辦法:
1、安裝dbms_shared_pool;
2、以sysdba登入,檢視是否已安裝dbms_shared_pool,select * from dba_objects where object_name = 'dbms_shared_pool',有兩條sys下的資料,表示已安裝,否則未安裝;
3、若未安裝,則在命令視窗呼叫$oracle_home/rdbms/admin/dbmspool.sql;
4、安裝成功後,執行exec dbms_shared_pool.keep('資料庫使用者名稱.sequence名稱', 'q');執行成功即可;
5、若安裝不成功,試試看執行$oracle_home/rdbms/admin/utlrp.sql;
由merge into引起的序列跳號
最近生產庫反應出乙個問題,某張表的主鍵id並沒有按照原計畫的期望增加,而是間歇性跳號,每次跳2萬多,經過研究發現是某個同步過程的merge into引起的,具體語句如下 merge into t ifi invest ordplan detail a using select f.client id...
分析oracle主鍵的跳號現象
分析oracle主鍵的跳號現象 從做jforum專案以來,以來遇到乙個很明顯的現象,就是每個表的主鍵都出現跳號現象。具體表現在 當一次操作若干條資料時,自動增長的sequence序列總是從200的倍數開始增加,這次操作完成後,無論這時currentval是什麼,隔段時間,總是又從下乙個200的倍數開...
oracle 中序列問題的討論
序列 序列與檢視一樣,並不占用儲存空間,是用來生成唯一,連續的整數的資料庫物件,在oracle中沒有identity約束,通常就使用序列來自動生成主鍵或唯一鍵的值.序列可以按公升序排列,也可以按降序排列.建立序列語法 create sequence 序列名 start with integer in...