5

Oracleのロックモード、つまり共有、排他、更新ロックについて誰か説明してください。私はこれについて多くの理論を見つけました。

共有ロック : 誰もデータを変更できません, 読み取り専用の目的

排他ロック : 1 つのユーザー/接続のみがデータを変更できます。

更新ロック : ユーザーがコミット/ロールバックするまで、行はロックされます。

次に、動作を確認するために共有してみました

SQL> lock table emp in share mode;

Table(s) Locked.

SQL> update emp set sal=sal+10;

14 rows updated.

すると、ユーザーは共有ロック後にデータを変更できることがわかりました。では、排他ロックや更新ロックと何が違うのか。

別の質問ですが、更新ロックと排他ロックは、ほとんど同じように見えますが、どのように異なるのでしょうか。

4

2 に答える 2

1

ドキュメントで非常によく説明されています:http://docs.oracle.com/cd/E11882_01/server.112/e41084/ap_locks001.htm#SQLRF55502

あなたの例では、テーブルを共有モードでロックしました。これは、他のセッションが共有モードで同じオブジェクトをロックするのを防ぎませんが、排他モードでロックするのを防ぎます。 )。

于 2013-04-10T21:36:18.677 に答える