close

這禮拜遇到一個難以解釋的狀況...
就是公司的RD跟我說...他create table遇到lock...
沒錯就是lock....
table lock 是一種資料庫的保護措施..
如果有人正在使用該table...且不能被干擾...
就會有lock的情況產生
當然sql語法沒寫好或是index沒設定好也會有...

但是create table..真的第一次遇到..
在開啟db2 lock的snapshot後,kill 掉application
還是create失敗
於是我下了 db2 list tables for schema XXXXX | grep table's name
疑...看不到了ㄟ...
onemore time
下完create 指令 整個hand住...

於是開始檢查相關資訊...
這時候業務經理走過來...不能create table..會不會是空間不足阿
當時心想..這種問題問我..不是看輕我嗎??
我有那麼low嗎???
我就說...要是空間不足應該會拋出57011的sql error code....

但是因為無解..還是查看看好了
df -h 恩  空間很夠..非常夠
db2 list tablespaces show detail
靠...找到兇手了
表空間不足~"~...

後來歸納原因...
該資料庫是使用DMS空間
也就是create table 時會先給空間給他...
所以他比表空間是SMS的資料庫更占空間
而當初的表空間還有一點free page...
但是不夠create table(沒錯 還有freepage..所以不拋57011...= =凸)

總之學到一次經驗了
下一次就一個一個檢查好了
不要以為自己懂很多...
這對學習或是work都容易出現看不到的致命缺點
共勉之阿~~~~~~

arrow
arrow
    全站熱搜

    kulo 發表在 痞客邦 留言(0) 人氣()