タグ

ブックマーク / www.drk7.jp (1)

  • 他にロックがないのに ORA-00054 エラーが発生する理由と対処

    PCTFREE デフォルト値10%と INITRANS のデフォルト値1がマズイ点について 一般には PCTFREE パラメータを適切に設定していれば、複数の ITL を静的に確保しておく必要がないと言われていますが、データ更新により頻繁にレコード長が変わるテーブルで、かつ各レコード長が小さい場合には PCTFREE を使い切ってしまう場合があります。 PCTFREE パラメータはデフォルト値10%です。例えば、8Kのブロックサイズのデータベースだとすると、PCTFREE で確保される空き領域は僅かに 800 byte です。varchar2 型のデータをもつテーブルで頻繁に更新がある場合は PCTFREE を使い切ってしまう場合が実際あります。とすると、ITL はデフォルトの1しか確保できないので、 PCTFREE に空きがないデータブロックに対しては、トランザクションが1つしか同時実行

  • 1