解決oracle序列跳號問題

2021-08-21 03:09:03 字數 429 閱讀 6169

由於資料庫重啟、重新整理、奔潰等原因,導致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...