Understanding cursors (1): An Overview of cursors eygle says that database activities are mainly about the importance of the cursors active cursors. As a result, I have made a series of articles, step-by-Step learning of cursors the first article is an overview. First, let's get A general idea: ① define www.2cto.com official definition: a cursor is a handle or name for A private SQL area that is: A cursor is the name of a private SQL area, but it does not actually exist. It is only composed of components in the private SQL area and is made up of every SQL statement in its life, before executing SQL statements in a private SQL zone, you must first open a cursor, that is, assign a private SQL zone. When the cursor is closed, the corresponding private SQL zone is released, or you can understand the cursor as the lifecycle of the SQL statement. In addition, hash_value is the reference point of the cursor. during the life of the SQL statement, this value will not change ② every cursor in the relevant memory zone (Private SQL zone). In the Library cache, there is an object corresponding to it and, the object name is the lock with lmode = 1 ③ soft resolution and soft resolution: soft-soft parse, it is to find the cached cursor in PGA, And the cursor directly corresponds to SQL _PLAN. It does not need to look for SQL soft parsing in the shared pool again: the cursor is not closed at all, re-bind & execute, so there is no need to search for SQL. www.2cto.com ④ related views [SQL] idle> select object_name from dba_objects where object_name like '% CURSOR % '; OBJECT_NAME comment V $ OPEN_CURSOR V $ SESSION_CURSOR_CACHE V $ SYSTEM_CURSOR_CACHE V $ SQL _CURSOR ⑤ parameters [SQL] idle> show parameter cursor NAME TYPE VALUE comment ------------- comment cursor_sharing string EXACT limit boolean open_cursors integer 300 session_cached_cursors integer 400