9i (9.2.0.8.0) から 12c (12.1.0.1.0) への移行でORA-08177が発生し困っています。
■旧環境
OS:Windows Server 2003 R2 SE (32bit)
OracleServer:9.2.0.8.0
OracleClient:10.2.0.4.0
Webアプリ:.NetFramework 2.0
■新環境
OS:Windows Server 2012 R2 SE (64bit)
OracleServer:12.1.0.1.0
OracleClient:12.1.0.1.0
Webアプリ:.NetFramework 2.0
■移行方法
exp USER/PASS file=(xxx.dmp)
imp USER/PASS file=(xxx.dmp) full=y
Webアプリ側ではOracleClientを利用し、データベースに接続しています。
環境移行の際、ソースの変更は一切行っておりませんが
旧環境と新環境で複数ユーザによる同じ操作を行ったところ、新環境側だけで「ORA-08177:
このトランザクションのアクセスをシリアル化できません」というエラーが発生しています。
■操作内容
[ユーザA]
DELETE FROM tbl1 WHERE user='A';
INSERT INTO tbl1(user,col1,col2) VALUES('A',1,1);
以下類似INSERTが2-300件程度
[ユーザB]
DELETE FROM tbl1 WHERE user='B';
INSERT INTO tbl1(user,col1,col2) VALUES('B',1,1);
以下類似INSERTが2-300件程度
1つのSQL毎にトランザクションを使用するという無駄な処理は行っていますが、
旧環境ではエラーが発生していないため、頭を悩ませている状況です。
複数回試行しTraceログを確認したところでは、DELETE文でも
INSERT文でもエラーが発生しています。
Server側の初期の設定等が不足しているのでしょうか?
エラー解消の良い案等ありましたら、ご教示ください。