字串緩衝區太小? Oracle也謊報軍情

2021-08-29 08:14:38 字數 877 閱讀 9424

為了幾天後的系統測試,需要在虛擬機器安裝整個系統,資料庫使用了oracle 10.2.0版本,但由於oracle的軍情謊報,害我重灌了n回。

目前正在執行的資料庫伺服器是10.2.0.3.0版本的oracle,當我dmp出乙個資料副本並imp到虛擬機器的資料庫中時,oracle竟然無法讀取該檔案。仔細檢視後發現,虛擬機器的資料庫版本為10.1.0,遂將其解除安裝改換成oracle 10.2.0。從此惡夢開始了。

ora-06502: pl/sql: 數字或值錯誤 : 字串緩衝區太小 

pl/sql 第18行錯誤

幾次都是這樣。

無奈之下只能求助google,搜尋之後,發現了所謂的oracle bug之說。這正是我擔心的,因為我手頭只有10.2.0.1.0的安裝檔案。難道...沒有別的辦法,從網上死拖下來乙個10.2.0.3.0的安裝補丁,安裝,經過n遍重灌修補之後(安裝補丁也不是那樣順利,錯誤n多,在此不細描述),現實又給我澆了盆冷水--還是同樣的錯誤。

看來,並不是所謂的bug在搗鬼。

於是只能重灌回10.2.0.1.0(排除公升級為10.2.0.3.0後帶來的其它問題)。而對於這一錯誤的解決方法(出自於網路資源)--修改緩衝區大小我也是找不著地方無從下手,看來,俺今天要加班了。

臨下班時,我在翻看匯入log時猛然間發現了乙個可疑的地方。

***匯入錯誤,未找到表空間***

我迅速找到真實系統的表空間設定,果然發現該服務占用了兩個表空間,而在虛擬機器系統中只有乙個表空間定義,而在匯入的時候並沒有做對映。難道...死馬當活馬醫,三下五除二,做好了匯入表空間的對映。匯入...

漫長的2分鐘過去,ok!成功了,那個令人費解的「字串緩衝區太小 」錯誤竟然沒出來。

當系統跑起來的時候,都下班乙個小時了,不過今天算沒白加班,也替大家領教了一下oracle的謊報技術。

字串緩衝區

在學習string類時,api中說字串緩衝區支援可變的字串,什麼是字串緩衝區呢?接下來我們來研究下字串緩衝區。查閱stringbuffer的api,執行緒安全的可變字串行。乙個類似於 string 的字串緩衝區,但不能修改。雖然在任意時間點上它都包含某種特定的字串行,但通過某些方法呼叫可以改變該序列...

StringBuffer字串緩衝區

構造乙個其中不帶字元的字串緩衝區,初始容量為 16 個字元。特點 1 可以對字串內容進行修改。2 是乙個容器。3 是可變長度的。4 緩衝區中可以儲存任意型別的資料。5 最終需要變成字串。容器通常具備一些固定的方法 1,新增。stringbuffer insert index,data 在指定位置插入...

Java之字串和字串緩衝區

一 字串 字串用於描述字串常用事物,是乙個特殊的物件,它的最大的特點是一旦初始化就不可以被改變,存在於常量池中。二 字串的方法 1 獲取 1 length 字串包含的字元數,既字串長度,返回值型別為int。2 charat int index 根據位置獲取位置上的某個字串,返回值型別為char,當i...