Reprint Please specify source : http://blog.csdn.net/guoyjoe/article/details/38684819
1. Get the library cache Latch
(1) The text of the SQL statement was not found in the handle of the parent cursor: SELECT * from Gyj_t1 where id=1;
2. Release Library Cache Latch
3. Get the shared pool Latch
(1) Search Freelist idle chunk
(2) Search for chunk that can be covered on LRU
(3) Search R-freelist idle chunk
(4) If there is no space, the direct ORA-04031 error
4. Release the shared pool Latch
5. Re-fetch the library cache Latch (Oracle 11g:library cache Mutex)
6. Get the library cache lock Latch (Oracle 11g:library cache Mutex)
7. Release the library cache Latch (Oracle 11g:library cache Mutex)
8. Get the library cache lock----Protect the handle of the parent cursor (SQL statement text, the address of the parent cursor H0)
9. Release the library cache lock Latch
10. Get the library cache Pin Latch
11. Get the library cache Pin-H0 (the parent cursor's H0, which primarily records the name of the child cursor), protects the parent cursor
12. Release the library cache Pin Latch (Oracle 11g:cursor Mutex)
13. Get the library cache lock Latch
14. Get the library cache lock----The name handle of the child cursor (the address of the child cursor H0)
15. Release the library cache lock Latch
16. Get the library cache Pin Latch
17, get the library cache Pin--"H0 of the child cursor (the H0 of the child cursor mainly records the environment, statistics, binding variables)
18. Release the library cache Pin Latch
19. Get the library cache Pin Latch
20. Get the library cache Pin--H6 of the child cursor (the H6 of the child cursor mainly records the execution plan)
21. Release the library cache Pin Latch