序列異常導致災備端應用異常處理一則
災備環境災備端oracle資料庫一個序列異常導致部分業務應用功能無法使用
現象:
生產端exp匯出,傳輸到災備端,imp匯入。
災備端用cms/abc訪問資料庫,執行以下sql語句:
select max(articleid) from slib ;
select seq_slib.nextval from dual;
正常情況下,第一條語句返回的值應該比第二條語句返回的值小(比如100,117),可是現實情況剛好相反(117,100),開發工程師說就是因為這個序列異常導致該功能無法正常使用了,報錯違反唯一性約束;
解決方法:
如果要修改start with即初始值,只能先刪除該序列drop,然後再重新建(但是使用該方法不知道怎麼實現自動化);後來發現可以先修改increment 、取一下nextval, 再改回increment值..
於是新加了一個指令碼sequence.sql (實現自動化)內容如下所示:
conn cmsuser02/xyz
alter sequence seq_slib increment by 20;
select seq_slib.nextval from dual;
alter sequence seq_slib increment by 1;
commit;
exit;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21256317/viewspace-776722/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 異常篇——異常處理
- python應用:異常處理Python
- 突破Java異常處理規則Java
- 異常-throws的方式處理異常
- 異常處理與異常函式函式
- 異常處理
- C#自定義異常 統一異常處理C#
- 異常處理與推導式
- 時區不一致導致spring應用異常Spring
- 【RAC】處理因ASM例項異常導致RAC第一節點例項異常終止故障ASM
- crontab導致CPU異常的問題分析及處理
- Java 異常表與異常處理原理Java
- restframework 異常處理及自定義異常RESTFramework
- Retrofit統一異常處理
- JavaScript 異常處理JavaScript
- ThinkPHP 異常處理PHP
- React 異常處理React
- 08、異常處理
- JAVA 異常處理Java
- JAVA異常處理Java
- Abp 異常處理
- oracle異常處理Oracle
- PowerShell 異常處理
- plsql異常處理SQL
- Swift 異常處理Swift
- JS異常處理JS
- app異常處理APP
- Oracle 處理異常Oracle
- MySQL異常處理MySql
- 異常處理 (轉)
- 異常的處理
- Java 異常處理Java
- golang - 異常處理Golang
- 異常處理2
- 異常處理1
- MVC使用異常過濾器處理異常MVC過濾器
- windows核心程式設計---未處理異常,向量化異常處理與C++異常Windows程式設計C++
- 異常處理機制(二)之異常處理與捕獲