{"id":639,"date":"2015-11-06T08:46:30","date_gmt":"2015-11-06T08:46:30","guid":{"rendered":"http:\/\/haisins.epac.to\/wordpress\/?p=639"},"modified":"2015-11-06T08:46:30","modified_gmt":"2015-11-06T08:46:30","slug":"oracle-shared-pool","status":"publish","type":"post","link":"http:\/\/haisins.synology.me\/wordpress\/?p=639","title":{"rendered":"Oracle Shared Pool"},"content":{"rendered":"<p>\n&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<ol>\n<li>\n<div style=\"text-align: justify\">\n<h1><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Oracle Memory Model<br \/>\n<\/span><\/h1>\n<\/div>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Oracle \uc758 \uc8fc\uc694 \ud2b9\uc9d5 \uc911 \ud558\ub098\uac00 SGA\ub0b4\uc5d0shared pool\uc774\ub780 structure\ub97c \ub3c4\uc785\ud55c \uac83\uc774\ub2e4. shared pool\uc744 \uc798 \uc774\ud574\ud558\uace0 \uad00\ub9ac\ud558\ub294 \uac83\uc740 Oracle\uc744 \uc0ac\uc6a9\ud558\ub294\ub370 \uc788\uc5b4\uc11c \uc131\ub2a5 \ud5a5\uc0c1 \ubc0f \ubb38\uc81c \ubc1c\uc0dd\uc2dc \ud574\uacb0\uc5d0 \ub9ce\uc740 \ub3c4\uc6c0\uc774 \ub41c\ub2e4. \uc774 shared pool\uc744 \uc774\ud574\ud558\uae30 \uc704\ud574 \uba3c\uc800 Oracle\uc758 memory structure\ub97c \uc0b4\ud3b4\ubcf8\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Oracle\uc774 \uac00\uc7a5 \ub9ce\uc774 \uc0ac\uc6a9\ub418\uace0 \uc788\ub294 \uc6b4\uc601\uccb4\uc81c\uc778 Unix\uc5d0\uc11c\uc758 Oracle\uad00\ub828 memory \ud615\ud0dc\ub97c \uac04\ub2e8\ud558\uac8c \uc0b4\ud3b4\ubcf4\uba74 \ub2e4\uc74c [\uadf8\ub9bc 1]\uacfc \uac19\uc774 \ud45c\ud604\ud560 \uc218 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p style=\"text-align: center\"><img src=\"https:\/\/i0.wp.com\/oracledba.zapto.org\/wordpress\/wp-content\/uploads\/1\/cfile26.uf.22731838563C68DF30AB20.png?w=640\" data-recalc-dims=\"1\" \/><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\"><br \/>\n\t\t\t\t<\/span><\/p>\n<p style=\"text-align: center\">\n&nbsp;<\/p>\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\"><strong>[\uadf8\ub9bc 1]<\/strong><br \/>\n\t\t\t\t<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc774 \uadf8\ub9bc\uc5d0\uc11c \ubcf4\uba74, \uac00\uc7a5 \uc544\ub798 level\uc740 \uc2e4\uc81c program\uc758 compiled code\uc774\ub2e4. \uadf8\ub9ac\uace0 \uac00\uc7a5 \uc704 address \ubd80\ubd84\uc740 process\uc758 \uc5b4\ub290 \ubd80\ubd84\uc744 \ucc98\ub9ac\ud558\uace0 \uc788\ub294\uc9c0\ub97c \uc81c\uc5b4\ud558\ub294 process call stack \ubd80\ubd84\uc774\ub2e4. \uadf8 \uc911\uac04 \ubd80\ubd84\uc774 \uc2e4\uc81c process\uac00 \uc791\uc5c5\ud558\uba74\uc11c \ud544\uc694\ud55c \ub370\uc774\ud0c0\ub97c \uc800\uc7a5\ud558\uace0 \ucc3e\uc544\uc624\ub294 \ubd80\ubd84\uc774\ub77c \ud560 \uc218 \uc788\ub2e4. \uc774 \uc7a5\uc5d0\uc11c\ub294 \uc774\ub7ec\ud55c Oracle\uc758 memory \uad6c\uc870\uc5d0 \ub300\ud574\uc11c \uac04\ub2e8\ud788 \uc0b4\ud3b4\ubcf4\uace0 \ub2e4\uc74c \uc7a5\uc5d0\uc11c \uadf8 \uc911 shared pool \ubd80\ubd84, \ud2b9\ud788 library cache\ubd80\ubd84\uc5d0 \ub300\ud574\uc11c \uc790\uc138\ud788 \uc0b4\ud3b4\ubcf4\ub3c4\ub85d \ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<\/li>\n<li>\n<div style=\"text-align: justify\">\n<h2><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Physical Memory Structures<br \/>\n<\/span><\/h2>\n<\/div>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">PGA<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<ul>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">process global area \ud639\uc740 private global area<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">process\ub2f9 \ud558\ub098\ub9cc\uc774 \ud560\ub2f9\ub41c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\ub2e4\ub978 process\uc5d0 \uc758\ud574\uc11c\ub294 \uc811\uadfc\uc774 \ubd88\uac00\ub2a5\ud558\ub2e4. \uc989 user process\uc5d0\uc11c\ub294 \uc811\uadfc\uc774 \ubd88\uac00\ub2a5\ud558\uace0, \ub300\uc751\ud558\ub294 server process\uc5d0 \uc758\ud574\uc11c\ub9cc \uc0ac\uc6a9\ub418\uae30 \ub54c\ubb38\uc5d0 data structure\uc758 \ubb34\uacb0\uc131 \ubc0f \ubcf4\uc548\uc774 \uc720\uc9c0\ub41c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">malloc (unix)\uacfc \uac19\uc740 system call\uc744 \uc774\uc6a9\ud558\uc5ec run time\ub54c \ub3d9\uc801\uc73c\ub85c \ub298\uc5b4\ub09c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">process\uac00 kill\ub418\uba74 \ud574\ub2f9\ud558\ub294 PGA\ub294 OS\uc5d0 \ubc18\ud658\ub41c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<\/ul>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">SGA<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<ul>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">system global area \ud639\uc740 shared global area<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">instance\ub0b4\uc758 \ubaa8\ub4e0 process\uc5d0 \uc758\ud574 \uc0ac\uc6a9\uac00\ub2a5\ud558\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\ud558\ub098\uc758 process\uc5d0 \uc758\ud574 \ubcc0\uacbd\ub41c \ubd80\ubd84\uc740 \ub2e4\ub978 process\uc5d0 \uc758\ud574\uc11c \uc989\uc2dc \ubcf4\uc5ec\uc9c4\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">SGA\ub0b4\uc758 \uac01 page\ub294 instance\ub0b4\uc758 \ubaa8\ub4e0 process\uc5d0\uc11c \uac19\uc740 \uc8fc\uc18c\ub85c mapping\ub418\uae30 \ub54c\ubb38\uc5d0, \uc808\ub300\uc801\uc778 \uc8fc\uc18c\ub85c point\ud558\ub294 \uac83\uc774 \uac00\ub2a5\ud558\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">instance startup\uc2dc\uc5d0 \uc0dd\uc131\ub418\uc5b4\uc11c, shutdown\uc2dc\uae4c\uc9c0 \uc874\uc7ac\ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uc77c\ub2e8 \uc0dd\uc131\ub418\uba74, \uace0\uc815\ub41c \ud06c\uae30\ub97c \uac00\uc9c4\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">SGA\uac00 \uc774\ub807\uac8c \uacf5\uc720\ub418\uae30 \ub54c\ubb38\uc5d0 SGA memory\uc5d0 \ub300\ud55c \uc811\uadfc\uc740 \ub3d9\uae30\ud654\ub418\uc5b4\uc838\uc57c \ud558\uace0 \ubcf5\uad6c\uac00\ub2a5\ud558\uc5ec\uc57c \ud55c\ub2e4. \uc774\ub7ec\ud55c synchronization\uacfc recovery\ub294 latch, enqueue\uadf8\ub9ac\uace0 state objects\uc5d0 \uc758\ud574 \uad6c\ud604\ub418\uc5b4\uc84c\ub2e4.<br \/>\n<\/span><\/div>\n<ul>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uc77c\ubd80 OS\uc5d0\ub294 SGA\uc758 maximum size \uc81c\ud55c (\uc608\ub97c \ub4e4\uc5b4 HP\uc758 \uacbd\uc6b0 32bit\uc6a9\uc740 1.75G, 64bit\uc6a9\uc740 16G)\uc774 \uc788\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\n&nbsp;<\/p>\n<ol>\n<li>\n<div style=\"text-align: justify\">\n<h2><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Logical memory structure<br \/>\n<\/span><\/h2>\n<\/div>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\ubb3c\ub9ac\uc801\uc73c\ub85c shared memory\ubd80\ubd84\uc5d0 \ud560\ub2f9\ub418\ub294 SGA\uc640 OS Heap \ubd80\ubd84\uc5d0 \ud560\ub2f9\ub418\ub294 PGA memory\ubd80\ubd84\uc5d0 \ub2e4\uc2dc \ub17c\ub9ac\uc801\uc73c\ub85c \ub2e4\ub978 \ubaa9\uc801\uc73c\ub85c \uc0ac\uc6a9\ub418\ub294 memory\ub97c \uad6c\ubd84\uc9c0\uc744 \uc218 \uc788\ub2e4. \uc544\ub798\uc5d0 \uadf8 \uac01\uac01\uc744 \uc124\uba85\ud558\uc600\uc73c\uba70, \uc544\ub798 [\uadf8\ub9bc 2]\uc5d0\uc11c \uac04\ub2e8\ud788 \ub098\ud0c0\ub0b4\uc5c8\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><img src=\"https:\/\/i0.wp.com\/oracledba.zapto.org\/wordpress\/wp-content\/uploads\/1\/cfile7.uf.237ED24A563C68E01B381E.png?w=640\" data-recalc-dims=\"1\" \/><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\"><br \/>\n\t\t\t\t<\/span><\/p>\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\"><strong>[\uadf8\ub9bc 2]<br \/>\n<\/strong><\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Stack Memory<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">PGA\ubd80\ubd84\uc5d0 \uc18d\ud558\ub294 \uac83\uc73c\ub85c, stack \uc989 \ub098\uc911\uc5d0 \uc800\uc7a5\ub41c data\uac00 \uba3c\uc800 \uc77d\ud788\ub294 \ud615\ud0dc\uc758 \uba54\ubaa8\ub9ac\ub97c \ube60\ub974\uac8c \ud560\ub2f9\ud558\uae30 \uc704\ud574 \uc81c\uacf5\ub41c\ub2e4. \ub9ce\uc740 platform\uc5d0\uc11c \ud504\ub85c\uadf8\ub7a8\uc758 argument\ub098 \uadf8 \uc678 \uc77c\uc2dc\uc801\uc73c\ub85c \ub370\uc774\ud0c0\ub97c \uc800\uc7a5\ud558\uae30 \uc704\ud574 \ube60\ub974\uac8c \ud560\ub2f9\ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Call Global Area (CGA)<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc774 \ubd80\ubd84\ub3c4 PGA\uc5d0 \uc18d\ud558\uac8c \ub418\uba70, Program Interface Call (PGI)\uacfc \uac19\uc740 lifetime\uc744 \uac16\ub294\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc774\uac83\uc740 \ud558\ub098\uc758 call\ub0b4\uc5d0\uc11c\ub9cc \ud544\uc694\ud55c \uacc4\uc0b0\uc744 \uc704\ud574 \uc77c\uc2dc\uc801\uc73c\ub85c \ud544\uc694\ud55c \ubd80\ubd84\uc774\ub2e4.  \uadf8\ub7ec\ubbc0\ub85c \uac01 Program Interface Call (UPI\/OPI)\uc774 \ub05d\ub098\uba74 \ud574\ub2f9\ud558\ub294 CGA\ub3c4 \ubc18\ud658\ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">User Global Area (UGA)<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">UGA\ub294 session\ub2f9 \ud560\ub2f9\ub418\ub294 \uac83\uc73c\ub85c\uc368 session \ubc0f user \uc815\ubcf4\ub97c \uc720\uc9c0\ud558\uba70, MTS\uc778 \uacbd\uc6b0\uc5d0\ub294 SGA\uc5d0 dedicated connection\uc778 \uacbd\uc6b0\uc5d0\ub294 PGA\uc5d0 \ubb3c\ub9ac\uc801\uc73c\ub85c \uc704\uce58\ud55c\ub2e4. \ud55c \uc21c\uac04\uc5d0 \ud558\ub098\uc758 process\ub9cc\uc774 \uc811\uadfc \uac00\ub2a5\ud558\uae30 \ub54c\ubb38\uc5d0 \ub3d9\uae30\ud654\ub098 recovery\ub294 \ud544\uc694\ud558\uc9c0 \uc54a\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\"><strong>[\ucc38\uace0]<\/strong> sort_area_size<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 22pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">MTS\uc778 \uacbd\uc6b0 User Global Area (UGA)\ubd80\ubd84\uc740 shared pool (Oracle7)\uc5d0 \ud560\ub2f9\ub418\uace0 dedicated\uc778 \uacbd\uc6b0\uc5d0\ub294 private memory\uc5d0 \ud560\ub2f9\ub41c\ub2e4. sort area\ub294 \uc774 UGA\ubd80\ubd84\uc5d0 \ud560\ub2f9\ub418\uba70, sort_area_size parameter\ub294 \ud558\ub098\uc758 sorting \uc791\uc5c5\uc744 \uc704\ud574 \ud544\uc694\ud55c real memory\uc758 \ucd5c\ub300 \ud06c\uae30\ub97c \ub098\ud0c0\ub0b8\ub2e4.<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 22pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uc774 sort area\ub294 malloc function\uc744 \uc774\uc6a9\ud558\uc5ec \ud544\uc694\ud55c sort\uac00 \uc644\uc804\ud788 \uc218\ud589\ub420 \uc218 \uc788\ub294 \ud06c\uae30 \ud639\uc740 SROT_AREA_SIZE\uc5d0 \uc9c0\uc815\ub41c \ud06c\uae30 \uc911 \ud558\ub098\uc5d0 \ub9cc\uc871\ud560 \ub54c\uae4c\uc9c0 \uc810\ucc28\uc801\uc73c\ub85c \ub298\uc5b4\ub09c\ub2e4.<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 22pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\ud55c process\uc5d0\uc11c \ud558\ub098\uc758 sorting\uc774 \ub05d\ub098\uba74, \ub2e4\uc74c\uc758 sorting\uc744 \uc704\ud558\uc5ec sort_area__retained_size\uc73c\ub85c \uc904\uc5b4\ub4e4\uac8c \ub41c\ub2e4. \uae30\ubcf8\uc801\uc73c\ub85c \uc774 sort_area_size\uacfc sort_area__retained_size\uc740 \uac19\uc740 \uac12\uc744 \uac00\uc9c0\ub294\ub370, MTS\uc778 \uacbd\uc6b0 \ud639\uc740 \ub9e4\uc6b0 \ud070 sorting\uc791\uc5c5\uc778 \uacbd\uc6b0 sort_area__retained_size\uc744 \uc801\ub2f9\ud558\uac8c \uc791\uac8c \ud558\uc5ec process\uac00 \uc885\ub8cc\ub418\uae30 \uc804\uc5d0 sorting\uc5d0\uc11c \uc0ac\uc6a9\ub41c memory\ub97c \uc77c\ubd80\ubd84 \ud574\uc81c\ud558\ub3c4\ub85d \ud558\uac8c \ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 46pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em>(\uc8fc\uc758) UNIX system\uc758 dedicated connection\uc778 \uacbd\uc6b0 sort_area__retained_size\uc774 sort_area_size\ubcf4\ub2e4 \uc791\uc740 \uacbd\uc6b0 \uc2e4\uc81c release\ub41c memory\ub294 OS\uc5d0 \ubc18\ud658\ub418\ub294 \uac83\uc774 \uc544\ub2c8\ub77c UGA \ubd80\ubd84\uc5d0 \ubc18\ud658\ud558\uac8c \ub41c\ub2e4. \uadf8\ub7ec\ubbc0\ub85c \ubc18\ud658\ub41c \ubd80\ubd84\uc744 \ub2e4\ub978 process\uac00 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uac83\uc740 \uc544\ub2c8\uace0 \uc790\uae30 process\ub9cc\uc774 \uc0ac\uc6a9\uac00\ub2a5\ud558\uac8c \ub418\uc5b4 \uc2e4\uc81c sort_area_size\uc774 \ub9e4\uc6b0 \ud06c\uace0, sort_area__retained_size\uac00 \uc791\uc740 \uacbd\uc6b0, sorting\uc791\uc5c5\uc740 \ub05d\ub0ac\uc74c\uc5d0\ub3c4 \ubd88\uad6c\ud558\uace0 performance\uc5d0 \uc2ec\uac01\ud55c \uc601\ud5a5\uc744 \uc8fc\ub294 \uacbd\uc6b0\ub3c4 \ubc1c\uc0dd\ud558\uace0 \uc788\ub2e4. (Bug:566708\ucc38\uc870, status:not a bug)<br \/>\n<\/em><\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\">\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Process Global Area (PGA)<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">physical memory\uc5d0\uc11c \uae30\uc220\ud55c \uac83\uacfc \uac19\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Shared Global Area (SGA)<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">physical memory\uc5d0\uc11c \uae30\uc220\ud55c \uac83\uacfc \uac19\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<\/li>\n<li>\n<div style=\"text-align: justify\">\n<h2><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">CLASSES<br \/>\n<\/span><\/h2>\n<\/div>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Oracle operation\uc740 \uc790\uc2e0\uc774 \uc0ac\uc6a9\ud558\ub294 data\ub97c \ubb3c\ub9ac\uc801\uc73c\ub85c SGA\ub098 PGA\uc5d0 \uc800\uc7a5\ud55c\ub2e4. \uc774\ub54c \uc5b4\ub290 memory\ubd80\ubd84\uc5d0 data\ub97c \uc704\uce58\uc2dc\ud0ac \uac83\uc778\uc9c0\ub294 \uccab\uc9f8, \uadf8 data\uac00 private\uc778\uc9c0 public\uc778\uc9c0\uc5d0 \ub530\ub77c \ub2e4\ub974\uace0, \ub458\uc9f8\ub85c\ub294 \uadf8 data\uac00 \ud544\uc694\ud55c \uae30\uac04\uc5d0 \ub530\ub77c \ub2e4\ub974\ub2e4. \uc774 \uae30\uac04\uc774\ub77c\ub294 \uac83\uc740 lifetime\uc73c\ub85c \ud45c\ud604\uc774 \ub418\uba70 call, session, process, instance\ub85c \ub098\ub20c \uc218 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<\/li>\n<\/ol>\n<ul>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">call: call lifetime\uc740 Oracle Programmatic Interface (OPI) call\uc744 \uc218\ud589\ud558\ub294 \ub3d9\uc548\uc774\ub2e4. \uc774\ub7ec\ud55c call\uc744 \uc218\ud589\ud558\ub294 \ub3d9\uc548 \ud544\uc694\ud55c memory\ub294 PGA\ubd80\ubd84\uc5d0 \uc704\uce58\ud558\uac8c \ub418\uba70, \ud2b9\ubcc4\ud788 CGA\ub77c\uace0 \ubd80\ub978\ub2e4. \uc774 CGA\ubd80\ubd84\uc5d0 \uc18d\ud558\ub294 \uac83\uc740 DDL\uc774\ub098 DML operation\uc5d0\uc11c \uc77c\uc2dc\uc801\uc73c\ub85c \ud544\uc694\ud55c \uacc4\uc0b0, \ud639\uc740 PLSQL\uc5d0\uc11c local \ubcc0\uc218 \ub4f1\uc774\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">session: session\uc758 lifetime\uc740 client\uac00 database\uc5d0 \uc811\uc18d\ud558\uba74\uc11c\ubd80\ud130 \uc5f0\uacb0\uc744 \ub04a\uc744 \ub54c\uae4c\uc9c0\uc774\ub2e4. \uc608\ub97c \ub4e4\uc5b4, NLS parameter, optimizer goal, sql_trace \ub4f1 alter session \ubb38\uc7a5\uc73c\ub85c \uc9c0\uc815 \uac00\ub2a5\ud55c \ub370\uc774\ud0c0 \ub4f1\uc774 \uc774 class\uc5d0 \uc18d\ud55c\ub2e4. \uc774\ub7ec\ud55c data\ub4e4\uc774 \uc800\uc7a5\ub418\ub294 \uacf5\uac04\uc744 UGA\ub77c\uace0 \ubd80\ub978\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">process: process\uc758 lifetime\uc740 process\uac00 \uc2dc\uc791\ud574\uc11c \uc5c6\uc5b4\uc9c8 \ub54c\uae4c\uc9c0 \uc9c0\uc18d\ub41c\ub2e4. process lifetime\ub3d9\uc548 \ud544\uc694\ud55c data\ub294 shared, public \ubaa8\ub450 \uac00\ub2a5\ud558\uba70, \uc77c\ubc18\uc801\uc73c\ub85c CGA, PGA, UGA \ub97c \ud544\uc694\ub85c \ud558\ub294 private\uc778 \uacbd\uc6b0\uac00 \ub9ce\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">instance: instance\uc758 lifetime\uc740 startup nomount\uc0c1\ud0dc\uc5d0\uc11c db\uac00 shutdown\ub420 \ub54c\uae4c\uc9c0\uc774\ub2e4. instance lifetime\ub3d9\uc548 \ud544\uc694\ud55c data\ub294 \uc77c\ubc18\uc801\uc73c\ub85c public\uc73c\ub85c \ubcfc \uc218 \uc788\uc73c\uba70, buffer cache, log buffer, shared pool \ub4f1 \uc8fc\ub85c SGA \ubd80\ubd84\uc744 \ucc28\uc9c0\ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<\/ul>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc704\uc758 \uad6c\ubd84\uc740 call, session, process, transaction, system state\ub85c \uad6c\ubd84\ub418\ub294 state objects\uc640\ub3c4 \uad00\ub828\uc774 \uc788\ub2e4. \uc774\ub7ec\ud55c state objects\ub294 \uac01 state object\ub9c8\ub2e4 \uc5f0\uacb0\ub418\ub294 database entity\ub4e4\uc774 \uc874\uc7ac\ud558\uba70, fail\uc778 \uacbd\uc6b0\uc5d0\ub294 \uc774 resource\ub4e4\uc744 clean\ud558\uae30 \uc704\ud574 PMON\uc774 \uc774\uc6a9\ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol>\n<li>\n<div style=\"text-align: justify\">\n<h2><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">HEAPS<br \/>\n<\/span><\/h2>\n<\/div>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\ubaa8\ub4e0 \ub3d9\uc801\uc73c\ub85c \ud560\ub2f9\ub418\ub294 \uba54\ubaa8\ub9ac \ubd80\ubd84\uc740 heap manager\uc5d0 \uc758\ud574 \uad00\ub9ac\ub41c\ub2e4. heap manager\ub294 &#8216;heap&#8217;\uc774\ub77c\uace0 \ubd88\ub9ac\ub294 \uba54\ubaa8\ub9ac\uc758 \ub17c\ub9ac\uc801\uc778 \uc9d1\ud569\uc744 \ud560\ub2f9\/\ud574\uc81c\ud558\uac8c \ub41c\ub2e4. heap\uc774\ub780 deap descriptor\uc640 extent\ub77c\uace0 \ubd88\ub9ac\ub294 \uba54\ubaa8\ub9ac \uc870\uac01\uc758 \uc9d1\ud569\uc73c\ub85c \uad6c\uc131\ub418\uba70, \uac01 extent\ub294 \uc5f0\uc18d\ub41c \uba54\ubaa8\ub9ac \uc870\uac01\uc774\ub2e4.<br \/>\n<\/span><\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Memory Allocation<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uac01 heap\uc740 \ube44\uc5b4 \uc788\ub294 memory\uc758 chunk\ub4e4\uc758 list\ub97c \uac00\uc9c0\uace0 \uc788\ub2e4. user\uac00 \uc77c\uc815\ud55c \ud06c\uae30\uc758 memory chunk\ub97c \uc694\uccad\ud558\uba74, heap manager\uac00 heap\uc758 free chunk \uc911\uc5d0\uc11c \uc694\uccad\ud55c \ud06c\uae30\uc774\uc0c1\uc774 \ub418\ub294 \uac83\uc744 \ucc3e\ub294\ub2e4. \uc77c\ub2e8 \ucc3e\uc73c\uba74 \ud544\uc694\ud55c \ubd80\ubd84\ub9cc \uc798\ub77c\uc11c user\uc5d0\uac8c \ud560\ub2f9\ud574 \uc8fc\uace0, \ub098\uba38\uc9c0 \ubd80\ubd84\uc740 \ub2e4\uc2dc free list\uc5d0 \ub4e4\uc5b4\uac04\ub2e4. \ub0a8\uc740 chuck\uac00 \uc77c\uc815 \ud06c\uae30 \uc774\ud558\ub85c \uc791\uc544\uc9c8 \uacbd\uc6b0\ub77c\uba74, fragmentation\uc744 \ub9c9\uae30\uc704\ud574 \uc790\ub974\uc9c0 \uc54a\ub294\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Multiple Free Lists<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">heap\uc744 \uc0dd\uc131\ud560 \ub54c, \ub0b4\ubd80\uc801\uc73c\ub85c heap\uc774 multiple free list\ub97c \uac00\uc9c0\ub3c4\ub85d \uc9c0\uc815\ud560 \uc218 \uc788\ub2e4. \ub610\ud55c \uac01 heap\uc774 \uba87\uac1c\uc758 free list\ub97c \uac00\uc9c0\uace0 \uac01 list\ub294 \uc5b4\ub5a4 \ubc94\uc704\uc758 \ud06c\uae30\uc758  chunk\ub97c \uac00\uc9c8\uc9c0\ub3c4 \uc9c0\uc815\uac00\ub2a5\ud558\ub2e4. \uc774\ub807\uac8c multiple free list\ub97c \uac00\uc9c4 heap\uc73c\ub85c\ubd80\ud130 space\ub97c \ud560\ub2f9\ubc1b\uc744 \ub54c\ub294, \uac01 list\uc5d0\uc11c chunk\ub97c \ucc3e\uc744 \ub54c binary search\ub97c \uc774\uc6a9\ud558\uc5ec, \ud0d0\uc0c9 \uc2dc\uac04\uc744 \uc904\uc778\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Flexible Allocation<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">memory\ub97c \ud560\ub2f9\ubc1b\uace0\uc790 \ud560 \ub54c\ub294 \uc694\uccad \ud06c\uae30\uc640, \ucd5c\uc18c \ud06c\uae30\ub97c parameter\uac12\uc73c\ub85c \uc804\ub2ec\ud55c\ub2e4. \uc77c\ub2e8, \uc694\uccad\ud55c \ud06c\uae30\uc758 memory\ub97c \ucc3e\ub294\ub370, \ub9cc\uc57d \uc5c6\uc73c\uba74 \ucd5c\uc18c \ud06c\uae30\ub97c \ud3ec\ud568\ud558\ub294 \uba54\ubaa8\ub9ac\ub97c \ud560\ub2f9\ubc1b\uac8c \ub41c\ub2e4. \uc774\ub807\uac8c \ud558\uc5ec memory\uac00 \uc870\uac01\uc774 \ub098\ub354\ub77c\ub3c4 \uc6b4\uc601\uc774 \ub418\ub3c4\ub85d \ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Fee<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\ub9cc\uc57d \ud560\ub2f9\ub41c chunk\uac00 \ud574\uc81c\ub418\uba74, \uc774\uac83\uc740 \uc778\uc811\ud55c \ub2e4\ub978 free chunk\ub4e4\uacfc merge\ud55c \ud6c4 free list\uc5d0 \ub4f1\ub85d\uc2dc\ud0a8\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Permanent Memory<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc77c\ub2e8 \ud560\ub2f9\ub41c \ud6c4 \uc808\ub300 \ud574\uc81c\ub418\uc9c0 \uc54a\ub294 memory\ub97c permanent memory\ub77c\uace0 \ud558\ub294\ub370, \uac01 heap descriptor\ub294 \uc774\ub7ec\ud55c permanent chunk \ubd80\ubd84\uc744 \uac00\ub9ac\ud0a4\ub294 pointer\ub97c \uac00\uc9c0\uace0 \uc788\ub2e4. \uc774 permanent chunk\ub294 \ub450 \ubd80\ubd84\uc73c\ub85c \ub098\ub204\uc5b4\uc9c0\ub294\ub370 \uc55e\ubd80\ubd84\uc740 \uc774\ubbf8 permanent\ub85c \ud560\ub2f9\ub41c memory \ubd80\ubd84\uc774\uace0, \ub4b7\ubd80\ubd84\uc740 \uc544\uc9c1 \ud560\ub2f9\ub418\uc9c0 \uc54a\uc740 reserved area\uc774\ub2e4. chunk\uc758 header\uc5d0\ub294 \uc5b4\ub290 \ubd80\ubd84\ubd80\ud130\uac00 reserved area\uc758 \uc2dc\uc791\uc778\uc9c0\ub97c \uac00\ub9ac\ud0a4\ub294 pointer\uac00 \uc788\ub2e4. heap\uc73c\ub85c\ubd80\ud130 permanent memory\ub97c \ud560\ub2f9\ud560 \ub54c\uc5d0\ub294 reserved area\uac00 \uc694\uccad\ud55c \ud06c\uae30\ub97c \ub9cc\uc871\ud560 \ub9cc\ud07c \ud070\uc9c0\ub97c \ud655\uc778\ud55c \ub2e4\uc74c, \ucda9\ubd84\ud558\uba74 reserved area\uc758 \uc2dc\uc791\uc744 \uac00\ub9ac\ud0a4\ub294 pointer\ub97c \ud544\uc694\ud55c \ud06c\uae30\ub9cc\ud07c \ud560\ub2f9\ud55c \ub4a4\ub85c \uc62e\uae30\uace0, \uadf8\ub807\uc9c0 \uc54a\uc73c\uba74 \ud604\uc7ac\uc758 reserved area\ub294 \ud574\uc81c\ud558\uace0 \ub2e4\ub978 \ucda9\ubd84\ud788 \ud070 permanent chunk\uac00 \ud560\ub2f9\ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc2e4\uc81c permanent memory\ub294 heap\uc790\uccb4\uac00 \ud574\uc81c\ub418\uba74 \uadf8 \ubd80\ubd84\ub3c4 \ud574\uc81c\ub41c\ub2e4. \uc774 \uc678\uc5d0\ub3c4 mark and restore \ubc29\ubc95\uc744 \ud1b5\ud574 \ud574\uc81c\ub418\uae30\ub3c4 \ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Recreatable Chunk<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">memory chunk\uac00 heap\uc5d0 \ud560\ub2f9\ub420 \ub54c, chunk\uc758 \ub0b4\uc6a9\uc774 \uc7ac\uc0dd\uc131\uac00\ub2a5\ud55c \uac83\uc73c\ub85c \uba85\uc2dc\ud560 \uc218 \uc788\ub2e4. \uc774\ub7ec\ud55c option\uc73c\ub85c \uc0dd\uc131\ub418\uba74, \uc774 chunk\ub294 \uc0ac\uc6a9 \uc911\uc774\uc9c0 \uc54a\uc744 \ub54c \uba85\uc2dc\uc801\uc73c\ub85c &#8216;unpinned&#8217;\ub420 \uc218 \uc788\ub2e4. \uc0ac\uc6a9\uc790\uac00 heap\uc73c\ub85c\ubd80\ud130 space\ub97c \uc694\uccad\ud560 \ub54c \uacf5\uac04\uc774 \uc5c6\uc73c\uba74, \uc774\ub7ec\ud55c unpinned \ud639\uc740 recreatable chunk\ub97c \ud574\uc81c\ud558\uace0 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4. unpinned chunk\ub294 LRU list\uc5d0 \uc874\uc7ac\ud558\uac8c \ub418\uc5b4 \ubb34\uc5c7\uc744 \uac00\uc7a5 \uba3c\uc800 \ube44\uac8c \ud560 \uac83\uc778\uc9c0 \uacb0\uc815\ud560 \uc218 \uc788\uc73c\uba70, \uc774\ub7ec\ud55c \ubc29\ubc95\uc740 row cache\ub098 library cache\uc5d0 \uc774\uc6a9\ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Extents<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc5f0\uc18d\ub41c chunk\ub4e4\uc758 \uc9d1\ud569\uc744 extent\ub77c\uace0 \ubd88\ub9ac\uba70 \uc774 extent\ub4e4\uc774 heap\uc744 \uad6c\uc131\ud55c\ub2e4. heap\uc5d0\uc11c chunk\ub97c \uc694\uccad\ud558\uba74, heap manager\ub294 heap\uc5d0 \ud3ec\ud568\ub418\uc5b4 \uc788\ub294 extent\ub4e4\uc758 \uc9d1\ud569 \uc548\uc5d0\uc11c \uc694\uccad\ud55c \ud06c\uae30\uc758 \uc870\uac01\uc744 \ud560\ub2f9 \ubc1b\uc73c\ub824\uace0 \ud55c\ub2e4. \ub9cc\uc57d \uc774\ub54c \ubc1c\uacac\ud558\uc9c0 \ubabb\ud558\uba74, heap manager\ub294 \uc0c8\ub85c\uc6b4 extent\ub97c \uc694\uccad\ud558\uc5ec \uc774\uac83\uc744 heap\uc5d0 \ucd94\uac00\ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\ub9cc\uc57d \ud55c heap\uc758 extent\ub4e4\uc774 \ub2e4\ub978 heap\uc73c\ub85c\ubd80\ud130 \ud560\ub2f9\ub418\uc5c8\ub2e4\uba74, \uc774 heap\uc740 \ub2e4\ub978 heap\uc758 &#8216;subheap&#8217;\uc774\ub77c\uace0 \ud55c\ub2e4. &#8216;subheap&#8217;\uc740 \ub2e4\uc74c\uacfc \uac19\uc740 \uc6a9\ub3c4\ub97c \uc81c\uacf5\ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<ol>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">parent heap\uc5d0\uc11c \uc791\uc740 chunk\ub97c \ud560\ub2f9\ud558\ub294 \ub300\uc2e0 subheap\uc744 \ud560\ub2f9\ud558\uc5ec parent heap\uc758 fragmentation\uc744 \uc904\uc5ec\uc900\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">permanent memory \ubd80\ubd84\ub9cc\uc744 subheap\uc73c\ub85c \ubcc4\ub3c4\ub85c \uad00\ub9ac\uac00\ub2a5\ud558\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">heap\uc758 \uc77c\ubd80\ubd84\ub9cc \ud574\uc81c\ud560 \ud544\uc694\uac00 \uc788\uc744 \ub54c, subheap\uc73c\ub85c \ud560\ub2f9\ud558\uba74 \uc27d\uac8c \ud574\uc81c \uac00\ub2a5\ud558\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">subheap\uc774 \ud558\ub098\uc758 process\uc5d0 \uc758\ud574\uc11c \uc0ac\uc6a9\ub41c\ub2e4\uba74, latch\ub97c \uc0ac\uc6a9\ud560 \ud544\uc694\uac00 \uc5c6\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<\/ol>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">subheap\uc740 parent heap\uacfc \uad00\uacc4\uc5c6\uc774 pin\ub418\uace0 unpin\ub420 \uc218 \uc788\ub2e4. subheap\uc774 unpin\ub418\uba74, parent heap\uc740 subheap \uc758 extent\ub97c \ud574\uc81c\ud558\ub3c4\ub85d \uc694\uccad\ud560 \uc218 \uc788\ub2e4. \uc774\ub54c \uc0ac\uc6a9\ub418\uc9c0 \uc54a\uc740 extent\uac00 \uc804\ud600 \uc5c6\ub2e4\uba74, heap\uc740 subheap\uc758 owner\uc5d0\uac8c \uc804\uccb4 subheap\uc744 \ud574\uc81c\ud558\ub3c4\ub85d \uc694\uccad\ud55c\ub2e4. \uc774\ub7ec\ud55c \ubc29\ubc95\uc73c\ub85c subheap\uc774 \ub2e4\ub978 recreatable space\uc758 chunk\ucc98\ub7fc \ubcf4\uc774\uac8c \ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc2e4\uc81c subheap\uc758 \uc77c\ubd80\ubd84\uc774 \ube44\uc5b4\uc9c0\uac8c \ub418\uba74, \uadf8 \ube48 \ubd80\ubd84\uc740 \uc774\ud6c4\uc5d0 \uadf8 subheap\ub9cc\uc774 \uc0ac\uc6a9\uac00\ub2a5\ud558\uace0, parent heap\ub3c4 \uc0ac\uc6a9\ud558\uc9c0 \ubabb\ud55c\ub2e4. \uc774\ub7ec\ud55c \ubb38\uc81c\ub294 \ub9ce\uc740 memory \ubd80\ubd84\uc744 \ub0ad\ube44\ud558\ub3c4\ub85d \ud558\uae30 \ub54c\ubb38\uc5d0 \ud604\uc7ac \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uace0 \ube44\uc5b4 \uc788\ub294 \ubd80\ubd84\uc744 parent heap\uc5d0 \ubc18\ud658\ud558\ub3c4\ub85d \ud558\ub294 call\uc774 \uc874\uc7ac\ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Recovery<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">heap\uc758 space\ub294 \uacf5\uc720\ub420 \uc218 \uc788\uae30 \ub300\ubb38\uc5d0, heap manager\ub294 heap\uc5d0 \ub300\ud55c \uc0ac\uc6a9\uc744 \ub3d9\uae30\ud654\ud558\uace0, heap\uc758 \uc0c1\ud0dc\ub97c \ubcc0\uacbd \uc911 \uc8fd\uc740 process\uc5d0 \uc758\ud574 \uc77c\uad00\ub418\uc9c0 \uc54a\uc740 \uc0c1\ud0dc\ub85c \ub0a8\uc740 \ubd80\ubd84\uc744 \ubcf5\uad6c\uc2dc\ud0a4\ub294 \uae30\ub2a5\uc744 \uac00\uc9c0\uace0 \uc788\uc5b4\uc57c \ud55c\ub2e4. heap\uc774 \uc0dd\uc131\ub420 \ub54c, &#8216;recoverable&#8217;\ub85c \uc9c0\uc815\ub418\uba74, \uc774\uac83\uc774 concurrency control\uacfc recovery \uc694\uad6c\ub418\ub294 heap\uc784\uc744 \ub098\ud0c0\ub0b8\ub2e4. concurrent control\uc744 \uad6c\ud604\ud558\uae30 \uc704\ud574\uc11c\ub294 heap\uc758 \uc0c1\ud0dc\ub97c \ubcc0\uacbd\ud558\uae30 \uc804\uc5d0 latch \uc7a1\ub3c4\ub85d \ud558\uace0, recovery\ub97c \uc704\ud574\uc11c\ub294 \ubcc0\uacbd\uc5d0 \ub300\ud55c \uc774\uc804 \uc0ac\ud56d\uc744 heap\uc5d0 \uae30\ub85d\ud558\ub3c4\ub85d \ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">private memory\uc5d0 \ud560\ub2f9\ub41c heap\uc740 concurrency control\uc774\ub098 recovery\uac00 \ud544\uc694\ud558\uc9c0 \uc54a\ub2e4. shared memory\uc5d0 \ud560\ub2f9\ub41c heap\ub3c4, \ub3d9\uc2dc\uc5d0 \uc5ec\ub7ec process\uac00 \uc811\uadfc\ud560 \ud544\uc694\uac00 \uc5c6\ub294 \uac83\uc774\ub77c\uba74 concurrency control\uc774\ub098 recovery\uac00 \ud544\uc694\ud558\uc9c0 \uc54a\ub2e4. \ub9cc\uc57d \uc774 heap\uc744 \uc0ac\uc6a9\ud558\ub358 process\uac00 \ube44 \uc815\uc0c1\uc801\uc73c\ub85c \uc885\ub8cc\ub418\uba74, PMON process\uc5d0 \uc758\ud574\uc11c \uc989\uc2dc \ud574\uc81c\ub41c\ub2e4. \uc774\ub7ec\ud55c heap\uc73c\ub85c\ub294 UGA\uac00 \ub300\ud45c\uc801\uc778 \uacbd\uc6b0\uc774\ub2e4. \uc774\ub7ec\ud55c shared memory\ub0b4\uc758 non-recoverable heap\uc740 \ubc18\ub4dc\uc2dc recoverable parent heap\uc744 \uac00\uc838\uc57c \ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Error Checking<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">heap manager\ub294 heap\uc5d0 \ub300\ud574 \uc694\uccad \uc2dc error checking\uc791\uc5c5\uc744 \uc218\ud589\ud55c\ub2e4. \uc544\ub798\uc5d0 \uadf8 \uc911\uc694\ud55c \uac83\uc744 \uc815\ub9ac\ud558\uc600\ub2e4.<br \/>\n<\/span><\/p>\n<\/li>\n<\/ol>\n<ul>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uac01 chunk\uc758 header\ub0b4\uc5d0 \uc788\ub294 magic number\ub97c check\ud558\uc5ec chunk\uac00 overwrite\ub418\uc5c8\ub294\uc9c0 \uac80\uc0ac\ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\ubaa8\ub4e0 chunk\uac00 list\uc5d0 \ubc14\ub974\uac8c \ub4e4\uc5b4\uc788\ub294\uc9c0 \ud655\uc778\ud558\uae30 \uc704\ud574\uc11c free list\ub97c \uac80\uc0ac\ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uac01 chunk\uc758 \uae38\uc774\ub97c \uac80\uc0ac\ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">extent\uc758 header\ub97c \uac80\uc0ac\ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<\/ul>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">heap\uc5d0 \ub300\ud55c check\ub294 event (10235)\ub97c \uc0ac\uc6a9\ud558\uc5ec\ub3c4 \uc774\ub8e8\uc5b4\uc9c8 \uc218 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Memory Protection<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">unix\uc640 \uac19\uc740 \uc6b4\uc601 \uccb4\uc81c\uc5d0\uc11c\ub294 memory\uc758 \uc77c\uc815 \ubd80\ubd84\uc5d0 \ub300\ud574\uc11c \uc77c\uae30\/\uc4f0\uae30\uc5d0 \ub300\ud574 \uc81c\ud55c\ud560 \uc218\uc788\ub2e4. \uc774\uac83\uc740 \uc8fc\ub85c \uc6b4\uc601 \uccb4\uc81c\uc758 page \ub2e8\uc704\ub85c \uac00\ub2a5\ud55c\ub370 heap manager\ub294 \uc774\ub7ec\ud55c \uae30\ub2a5\uc758 \uc774\uc810\uc744 \uc774\uc6a9\ud560 \uc218 \uc788\ub294 interface\ub97c \uc81c\uacf5\ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">memory chunk\ub97c \ud558\ub098\uc758 page\uc5d0 \uc704\uce58\uc2dc\ud0ac \uc218 \uc788\ub294 option\uc744 \uc774\uc6a9\ud558\uc5ec \ub2e4\uc74c\uacfc \uac19\uc740 \uc81c\ud55c\uc801 \uc811\uadfc \ubc29\ubc95\uc744 \uc81c\uacf5\ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<ol>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\ubaa8\ub4e0 \uc811\uadfc\uc744 \ub9c9\ub294\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">read\ub294 \uac00\ub2a5\ud558\uace0 write\ub294 \ub9c9\ub294\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">read, write \ubaa8\ub450 \uac00\ub2a5\ud558\uac8c \ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">heap\uc740 \ub610\ud55c \ubaa8\ub4e0 extents\ub97c \ud558\ub098\uc758 page\uc5d0 \uc704\uce58\uc2dc\ud0a4\ub3c4\ub85d \ud560 \uc218\ub3c4 \uc788\ub294\ub370, \uc774\ub807\uac8c \ud558\uba74 heap\uc758 \ubaa8\ub4e0 extent\uc5d0 \ub300\ud574\uc11c \uc811\uadfc\uc744 \uc81c\ud55c\ud560 \uc218 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol>\n<li>\n<div style=\"text-align: justify\">\n<h2><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">BOOTSTRAPPING<br \/>\n<\/span><\/h2>\n<\/div>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">SGA, PGA, \ud639\uc740 UGA\uac00 \ud560\ub2f9\ub420 \ub54c memory\ub97c \ucd08\uae30\ud654\ud558\uace0 \ud560\ub2f9\ud558\uae30 \uc704\ud574 \ud638\ucd9c\ub418\ub294 routine\uc774 \ud544\uc694\ud558\ub2e4. \uc774 notifier routine\uc5d0 flag\ub97c \uc804\ub2ec\ud558\uc5ec \uc5b4\ub5a4 \uc885\ub958\uc758 memory\uac00 \ucd08\uae30\ud654\ub418\uc5b4\uc57c\ud558\uace0, \ud560\ub2f9\ub418\uc5b4\uc838\uc57c \ud558\ub294\uc9c0\ub97c \uc54c\ub824\uc900\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc774\ub807\uac8c \uba54\ubaa8\ub9ac\uac00 \ucd08\uae30\ud654\ub418\uace0 \ud560\ub2f9\ub418\ub294 \uc21c\uc11c\uac00 \uc911\uc694\ud55c \uacbd\uc6b0\uac00 \ub9ce\uc740\ub370 \uba3c\uc800, instance\uac00 startup\ub420 \ub54c\ub294 \ub2e4\uc74c\uc758 \uc21c\uc11c\uc640 \uac19\ub2e4.<br \/>\n<\/span><\/p>\n<ol>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">fixed PGA\uac00 \ud560\ub2f9\ub418\uace0, \uc774\uac83\uc744 \ucd08\uae30\ud654\ud558\uae30 \uc704\ud574 notifier\uac00 \ud638\ucd9c\ub41c\ub2e4. \uc5ec\uae30\uc5d0\uc11c fixed PGA\ub780 \ubaa8\ub4e0 PGA variable\ub4e4\uc758 \uc9d1\ud569\uc744 \ub9d0\ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">notifier\uac00 \ud638\ucd9c\ub418\uc5b4 init.ora file\ub0b4\uc758 parameter\ub97c \uc774\uc6a9\ud558\uc5ec \ud544\uc694\ud55c SGA size\ub97c \uacc4\uc0b0\ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">SGA\uac00 \uc0dd\uc131\ub418\uace0 process\uc5d0 mapping\ub41c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">notifier\uac00 SGA\ub97c \ucd08\uae30\ud654\ud55c\ub2e4. \uc774 \uc2dc\uc810\uc5d0\uc11c SGA heap\uc73c\ub85c\ubd80\ud130 SGA memory\ub97c \ud560\ub2f9\ud558\uace0 fixed SGA\uc5d0 \uc774 memory\uc5d0 \ub300\ud55c pointer\ub97c \uc800\uc7a5\ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">PGA\ub97c \ucd08\uae30\ud654\uc2dc\ud0a8\ub2e4. \uc774 \ub54c PGA heap\uc73c\ub85c\ubd80\ud130 PGA memory\ub97c \ud560\ub2f9\ud558\uace0 fixed PGA\uc5d0 \uc774 memory\uc5d0 \ub300\ud55c pointer\ub97c \uc800\uc7a5\ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<\/ol>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc774\ubbf8 start\ub418\uc5b4 \uc788\ub294 instance\uc5d0 \uc811\uc18d\ud558\uae30 \uc704\ud55c \uc21c\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<br \/>\n<\/span><\/p>\n<ol>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">fixed PGA\uac00 \ud560\ub2f9\ub418\uace0 notifier\uac00 \ud638\ucd9c\ub418\uc5b4 PGA\ub97c \ucd08\uae30\ud654\uc2dc\ud0a8\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">SGA\uac00 process\uc758 address space\uc5d0 mapping\ub41c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">PGA\ub97c \ucd08\uae30\ud654\ud558\uae30 \uc704\ud574 notifier\uac00 \ud638\ucd9c\ub41c\ub2e4. \uc774 \ub54c PGA heap\uc73c\ub85c\ubd80\ud130 PGA\uac00 \ud560\ub2f9\ub418\uace0, \uc774 \ubd80\ubd84\uc5d0 \ub300\ud55c pointer\uac00 fixed PGA\uc5d0 \uc800\uc7a5\ub41c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uc5ec\uae30\uc5d0\uc11c \uc911\uc694\ud55c \uac83\uc740 PGA\uac00 \ucd08\uae30\ud654\ub418\uae30\uc804\uc5d0 \uba3c\uc800 SGA\uac00 \ud56d\uc0c1 \uc0ac\uc6a9\uac00\ub2a5\ud558\uace0 \ucd08\uae30\ud654\ub418\uc5b4 \uc788\uc5b4\uc57c \ud558\uba70, \uadf8 \uc5ed\uc740 \uc131\ub9bd\ud558\uc9c0 \uc54a\ub294\ub2e4\ub294 \uac83\uc774\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<\/ol>\n<\/li>\n<li>\n<div style=\"text-align: justify\">\n<h1><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Library Cache Manager<br \/>\n<\/span><\/h1>\n<\/div>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">heap manager(KGH)\ub294 \uba54\ubaa8\ub9ac \ud560\ub2f9\uacfc \ud574\uc81c\ub97c \ubaa8\ub450 \ub2f4\ub2f9\ud55c\ub2e4.  Library cache manager\ub294 \uc774 heap manager\uc758 client\ub85c\uc11c, library cache object\ub97c \uc81c\uc5b4\ud558\uace0 \uad00\ub9ac\ud55c\ub2e4. \uc989, library cache manager\uac00 library cache object\ub97c \uad00\ub9ac\ud558\ub2e4 \uba54\ubaa8\ub9ac\uac00 \ub354 \ud544\uc694\ud558\uba74 heap manager\ub97c \uc694\uccad\ud558\ub294 \ub4f1 shared pool\uc744 \uad00\ub9ac\ud558\uace0 \uc870\uc791\ud558\uae30 \uc704\ud574\uc11c\ub294 heap manager\uc640 library cache manager\uac00 \ud568\uaed8 \uc791\uc5c5\ud574\uc57c \ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">library cache\uc758 \uac00\uc7a5 \uc911\uc694\ud55c \ubaa9\uc801\uc740 library cache\ub97c \ube60\ub974\uac8c \ucc3e\uace0 \uc800\uc7a5\uc2dc\ud0a4\ub294 \uae30\ubc95\uc744 \uc81c\uacf5\ud558\ub294 \uac83\uc778\ub370 \uadf8 \ubaa9\uc801\uc744 \uc704\ud574 HASHING \uae30\ubc95\uc744 \uc774\uc6a9\ud55c\ub2e4. \uc774 hashing\uae30\ubc95\uc744 \uc774\uc6a9\ud558\uc5ec object\uc5d0 \ub300\ud55c identity(name)\uc744 \ud3ec\ud568\ud558\uace0 \uc788\ub294 HANDLE\uc744 \ucc3e\uc544\ub0b4\uba70, library cache handle\uc740 \ub2e4\uc2dc library cache object\ub97c \uac00\ub9ac\ud0a4\uace0 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<\/li>\n<li>\n<div style=\"text-align: justify\">\n<h2><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">hash table and hash bucket<br \/>\n<\/span><\/h2>\n<\/div>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">hash table\uc740 hash bucket\ub4e4\ub85c \uad6c\uc131\ub418\uc5b4 \uc788\uace0 hash bucket\uc758 \ucd08\uae30 \uac2f\uc218\ub294 509\uac1c\uc774\ub2e4. \uc774 bucket\uc774 \uaf49 \ucc28\uba74 (\uc2e4\uc81c\ub85c\ub294 \ud3c9\uade0\uc801\uc73c\ub85c \ud558\ub098\uc758 bucket\uc5d0 \ubcf5\uc218\uac1c\uc758 handle\uc774 \ud560\ub2f9\ub418\uc5b4\uc9c0\uba74) bucket\uc758 \uc218\uac00 \ub298\uc5b4\ub098\uc11c \ub2e4\uc74c prime number\ub9cc\ud07c \ub41c\ub2e4. \uc989 509, 1021, 2039\uc640 \uac19\uc740 \uc21c\uc11c\ub85c \ub298\uc5b4\ub098\uba70, \uc774\ub807\uac8c bucket\uc758 \uc218\uac00 \ud55c\ubc88 \ub298\uc5b4\ub098\uba74 \uae30\uc874\uc758 table\uc5d0 \uc874\uc7ac\ud558\ub358 library cache object\ub4e4\ub3c4 \uc0c8\ub85c\uc6b4 table\uc5d0 \uc0c8\ub85c\uc6b4 hashing\uc744 \uc774\uc6a9\ud558\uc5ec \uc7ac\ubc30\uce58\ub41c\ub2e4. \uc774\ub7ec\ud55c \uc791\uc5c5\uc740 \uc2e4\uc81c \ub9e4\uc6b0 \ub4dc\ubb3c\uace0 \uc9e7\uc740 \uc2dc\uac04(3 ~ 5\ucd08\uac04)\ub3d9\uc548\ub9cc library cache\uc758 \uc811\uadfc\uc744 \ub9c9\ub294 \ud070 \ubd80\ud558\ub97c \uc8fc\uc9c0 \uc54a\ub294 \uc791\uc5c5\uc774\ub2e4. \uc774\ub807\uac8c \ub298\uc5b4\ub09c hash table\uc740 \uc904\uc5b4\ub4e4\uc9c0\ub294 \uc54a\ub294\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p style=\"text-align: justify; margin-left: 21pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em><strong>[\ucc38\uace0]<\/strong> _kgl_bucket_count<br \/>\n<\/em><\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em>\ucd08\uae30 bucket\uc758 \uc218\ub294 _kgl_bucket_count\ub77c\ub294 hidden parameter\uc5d0 \uc758\ud574\uc11c \ubcc0\uacbd\ub418\uc5b4 \uc9c8 \uc218 \uc788\uc73c\uba70, \uc2e4\uc81c \uc774 \uac12\uc744 \ubc14\uafb8\ub294 \uac83\uc740 \ub300\ubd80\ubd84 \ubd88\ud544\uc694\ud558\ub098, \ub9e4\uc6b0 \ub9ce\uc740 object\ub97c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\uc5d0\ub294  \uc544\ub798 [\ud45c 1]\uacfc \uac19\uc774 \ubcc0\uacbd\ud558\ub294 \uac83\uc774 \ub3c4\uc6c0\uc774 \ub41c\ub2e4. bug381193(fixed in 8.0.2)\uc744 \ucc38\uc870\ud574\ubcf4\uba74 \uc2e4\uc81c \uc774\uac83\uc774 ora-600[17033]\uc5d0 \ub300\ud55c workaround\uac00 \ub418\uae30\ub3c4 \ud55c\ub2e4.<br \/>\n<\/em><\/span><\/p>\n<p style=\"text-align: center\">\n&nbsp;<\/p>\n<div style=\"margin-left: 22pt\">\n<table style=\"border-collapse:collapse\" border=\"0\">\n<colgroup>\n<col style=\"width:109px\">\n<col style=\"width:46px\">\n<col style=\"width:45px\">\n<col style=\"width:49px\">\n<col style=\"width:48px\">\n<col style=\"width:45px\">\n<col style=\"width:48px\">\n<col style=\"width:48px\">\n<col style=\"width:47px\">\n<col style=\"width:49px\"><\/colgroup>\n<tbody valign=\"top\">\n<tr>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  solid 0.75pt; border-left:  solid 0.75pt; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">_KGL_BUCKET_COUNT\uc758 \uac12<\/span><\/p>\n<\/td>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  solid 0.75pt; border-left:  none; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">0<\/span><\/p>\n<\/td>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  solid 0.75pt; border-left:  none; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">1<\/span><\/p>\n<\/td>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  solid 0.75pt; border-left:  none; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">2<\/span><\/p>\n<\/td>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  solid 0.75pt; border-left:  none; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">3<\/span><\/p>\n<\/td>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  solid 0.75pt; border-left:  none; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">4<\/span><\/p>\n<\/td>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  solid 0.75pt; border-left:  none; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">5<\/span><\/p>\n<\/td>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  solid 0.75pt; border-left:  none; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">6<\/span><\/p>\n<\/td>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  solid 0.75pt; border-left:  none; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">7<\/span><\/p>\n<\/td>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  solid 0.75pt; border-left:  none; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">8<\/span><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  solid 0.75pt; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">bucket\uc758 \uac2f\uc218<\/span><\/p>\n<\/td>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">509<\/span><\/p>\n<\/td>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">1021<\/span><\/p>\n<\/td>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">2039<\/span><\/p>\n<\/td>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">4093<\/span><\/p>\n<\/td>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">8191<\/span><\/p>\n<\/td>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">16381<\/span><\/p>\n<\/td>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">32749<\/span><\/p>\n<\/td>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">65521<\/span><\/p>\n<\/td>\n<td style=\"padding-left: 7px; padding-right: 7px; border-top:  none; border-left:  none; border-bottom:  solid 0.75pt; border-right:  solid 0.75pt\">\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">131071<\/span><\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\"><strong>[\ud45c 1]<\/strong><span style=\"font-size:10pt\"><br \/>\n\t\t\t\t\t<\/span><\/span><\/p>\n<p style=\"text-align: center\">\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">library cache manager\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uc808\ucc28\ub97c \ud1b5\ud574 object\ub97c \ucc3e\ub294\ub2e4.<br \/>\n<\/span><\/p>\n<ol>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uc8fc\uc5b4\uc9c4 object\uc758 namespace, object name, owner, database link\uac12\uc744 \uc774\uc6a9\ud558\uc5ec \ub098\uba38\uc9c0\ub97c \uad6c\ud558\ub294 modulo hash function\uc744 \uc801\uc6a9\ud558\uc5ec object\uac00 \uc874\uc7ac\ud558\ub294 hash bucket\uc744 \ucc3e\uc544\ub0b8\ub2e4.<br \/>\n<\/span><\/div>\n<p style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><em>[\ucc38\uace0] sql \ubb38\uc7a5\uc758  \uacbd\uc6b0 \uc55e, \ub4a4 64 bytes\uc758 \uae00\uc790\ub97c \uc774\uc6a9\ud558\ub2e4.<\/em><br \/>\n\t\t\t\t\t\t<\/span><\/p>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">hash bucket\uc744 \ucc3e\uc740 \ub2e4\uc74c linked list\ub97c \ub530\ub77c object\uac00 \uc874\uc7ac\ud558\ub294\uc9c0\ub97c check\ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\ub9cc\uc57d object\uac00 \uc874\uc7ac\ud55c\ub2e4\uba74 (9)\ub85c \uac00\uace0, \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294\ub2e4\uba74 library cache manager\ub294 \uc8fc\uc5b4\uc9c4 \uc774\ub984\uc73c\ub85c empty object\ub97c \uc0dd\uc131\ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">(3)\uc5d0\uc11c \uc0dd\uc131\ub41c empty object\ub97c hash table\uc5d0 \ud3ec\ud568\uc2dc\ud0a8\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">client \uc5d0\uac8c object\ub97c load\ud558\ub3c4\ub85d \uc694\uccad\ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">client\uac00 disk\uc5d0\uc11c \uc77d\uc5b4 object\ub97c \ucc3e\ub294\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">heap manager\uc5d0\uac8c memory\ub97c \ud560\ub2f9\ud558\ub3c4\ub85d \uc694\uccad\ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">object\ub97c load\ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\ucc3e\uc740 object\ub97c \uc0ac\uc6a9\ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<\/ol>\n<p>\n&nbsp;<\/p>\n<p style=\"text-align: center\"><img src=\"https:\/\/i0.wp.com\/oracledba.zapto.org\/wordpress\/wp-content\/uploads\/1\/cfile30.uf.272AD94D563C68E125A362.png?w=640\" data-recalc-dims=\"1\" \/><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\"><br \/>\n\t\t\t\t<\/span><\/p>\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\"><strong>[\uadf8\ub9bc 3]<br \/>\n<\/strong><\/span><\/p>\n<p>\n&nbsp;<\/p>\n<\/li>\n<li>\n<div style=\"text-align: justify\">\n<h2><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Library Cache Handle<br \/>\n<\/span><\/h2>\n<\/div>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">library cache handle\uc740 library cache object\ub97c \uac00\ub9ac\ud0a4\uace0 \uc788\uc73c\uba70, library cache object\uc758 \uc774\ub984, namespace, timespace, reference list, object\ub97c locking\ud558\uace0 \uc788\ub294 lock list, pinning \ud558\uace0 \uc788\ub294 pin list\ub97c \ud3ec\ud568\ud558\uace0 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">library cache manager\ub294 anonymous PL\/SQL block\uc744 \ud3ec\ud568\ud55c \ubaa8\ub4e0 object\uc5d0 \uc774\ub984\uc744 \ubd99\uc778\ub2e4. \uc774 \uc774\ub984\uc740 object\uc758 owner, database link\uc774\ub984\uacfc link\uc758 owner\ub85c \uad6c\uc131\ub418\uc5b4\uc9c0\uba70, \uac19\uc740 namespace\uc548\uc5d0\uc11c\ub294 \uc720\uc77c\ud55c \uc774\ub984\uc744 \uac00\uc9c0\uac8c \ub41c\ub2e4. namespace\ub294 library cache object\ub97c \uc720\ud615\ubcc4\ub85c \ub098\ub204\uae30 \uc704\ud574 \uc0ac\uc6a9\ub418\uc5b4\uc9c4\ub2e4. v$librarycache view\ub97c \ud1b5\ud574 \uc774 namespace\ub97c \ud655\uc778\ud560 \uc218 \uc788\ub294\ub370 \ub2e4\uc74c\uacfc \uac19\uc740 \uc885\ub958\uac00 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<\/li>\n<\/ol>\n<ul>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">SQL AREA (SQL cursor)<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">TABLE\/PROCEDURE (view, synonym, sequence \ub4f1 \ud3ec\ud568)<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">BODY<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">TRIGGER<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">INDEX<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">CLUSTER<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">OBJECT (PL\/SQ anonymous block)<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">PIPE<br \/>\n<\/span><\/div>\n<\/li>\n<\/ul>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">handle\uc740 \ud604\uc7ac \uc790\uc2e0\uc744 \ucc38\uc870\ud558\uace0 \uc788\ub294 reference\uac00 \ud558\ub098\ub3c4 \uc5c6\uace0,  memory\ub0b4\uc5d0 &#8216;KEEP&#8217;\ud558\ub3c4\ub85d mark\ub418\uc9c0 \uc54a\uc558\ub2e4\uba74 free\ub418\uc5b4\uc9c8 \uc218 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol>\n<li>\n<div style=\"text-align: justify\">\n<h2><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Library Cache Object<br \/>\n<\/span><\/h2>\n<\/div>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">library cache \ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uc885\ub958\uc758 library objects\ub97c \uac00\uc9c0\uace0 \uc788\ub2e4. \uc5ec\uae30\uc5d0\uc11c shared cursors\ub780 sql\ubb38\uc7a5\uc744 \ub098\ud0c0\ub0b4\ub294\ub370, \ub2e8 ddl \ubc0f alter system\ubb38\uc7a5\uc740 \uc0ac\uc6a9\ub418\uace0 \ubc14\ub85c memory\uc5d0\uc11c flush\ub418\uc5b4 library cache\uc5d0 \ub0a8\uc544\uc788\uc9c0 \uc54a\ub294\ub2e4.<br \/>\n<\/span><\/p>\n<ol>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">packages<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">procedures<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">functions<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">trigger<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">shared cursors<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">anonymous PL\/SQL blocks<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">table definitions<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">view definitions<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">form definitions<br \/>\n<\/span><\/div>\n<\/li>\n<\/ol>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc704\uc5d0\uc11c \ub098\uc5f4\ud55c library cache object\ub294 \uc5ec\ub7ec\uac1c\uc758 part\uc758 \uad6c\uc131\ub418\uc5b4\uc9c0\ub294\ub370 \uadf8 \uc911 dependency table, child table, authorization table, type, status flag, data block\uc5d0 \ub300\ud574 \uac04\ub2e8\ud788 \uc0b4\ud3b4\ubcf8\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p style=\"text-align: center\"><img src=\"https:\/\/i0.wp.com\/oracledba.zapto.org\/wordpress\/wp-content\/uploads\/1\/cfile29.uf.212E5039563C68E213C155.png?w=640\" data-recalc-dims=\"1\" \/><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\"><br \/>\n\t\t\t\t<\/span><\/p>\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\"><strong>[\uadf8\ub9bc 4]<br \/>\n<\/strong><\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">dependency table<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">dependency table\uc740 \uc790\uc2e0\uc774 dependent\ud558\uace0 \uc788\ub294 \ub2e4\ub978 library cache object\ub4e4\uc744 \uac00\ub9ac\ud0a8\ub2e4. \uc608\ub97c \ub4e4\uc5b4 \uc5b4\ub5a4 procedure\ub0b4\uc5d0 \uc5ec\ub7ec\uac1c\uc758 table\uc5d0 \ub300\ud55c operation\uc744 \ud3ec\ud568\ud558\uace0 \uc788\ub2e4\uba74 \uc774 procedure\uc758 dependency table\uc740 \uc774\ub7ec\ud55c dependent handles(tables)\uc744 \ud3ec\ud568\ud55c\ub2e4. \uc774\ub7ec\ud55c dependency \uc815\ubcf4\ub294 DBA_DEPENDENCIES, V$OBJECT_DEPENDENCY view\ub97c \ud1b5\ud574 \ud655\uc778\ud574 \ubcfc \uc218 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">object\uc758 \uad6c\uc870\uac00 \ubcc0\uacbd\ub418\uc5b4 timestamp\uac00 \ubcc0\uacbd\ub418\uac70\ub098 object\uac00 drop\ub418\ub294 \ub4f1\uc758 \ubcc0\uacbd\uc774 \ubc1c\uc0dd\ud558\uba74 \uc774 object\uc5d0 \ub300\ud55c \ubaa8\ub4e0 dependency references\uac00 invalidate\ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">child table<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">child table\uc740 text\uc0c1\uc73c\ub85c\ub294 \uac19\uc740 \ub2e4\ub978 version\uc758 library cache object\ub97c \uac00\ub9ac\ud0a8\ub2e4. \uc774\ub807\uac8c \ubaa8\ub4e0 child object\ub4e4\uc740 text\uc0c1\uc73c\ub85c\ub294 \uc644\uc804\ud788 \uc77c\uce58\ud558\uae30 \ub54c\ubb38\uc5d0 hash table\uc5d0\uc11c\uc758 \uac01 child reference\ub294  parent object\ub85c\ubd80\ud130\uc758 \uc0c1\ub300\uc801\uc778 \uc704\uce58\uc5d0 \uc758\ud574 reference\uba70, name\uc744 \uac00\uc9c0\uace0 \uc9c1\uc811 reference\ud560 \uc218\ub294 \uc5c6\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc608\ub97c \ub4e4\uc5b4 \uc11c\ub85c \ub2e4\ub978 \ub450 user\uac00 &#8216;SELECT * FROM DEPT&#8217;\ub77c\ub294 \ubb38\uc7a5\uc744 \uc218\ud589\ud558\uba74, \uc774 \ub450 \ubb38\uc7a5\uc740 text\uc0c1\uc73c\ub85c\ub294 \uc77c\uce58\ud558\ub098 DEPT\ub294 \uac01 user\uac00 \uac00\uc9c0\uace0 \uc788\ub294 \uc11c\ub85c \ub2e4\ub978 DEPT table\uc744 \ub098\ud0c0\ub0b8\ub2e4. hash table\uc740 SQL\ubb38\uc7a5 \uc790\uccb4\uc758 text\ub97c hash function\uc744 \uc774\uc6a9\ud558\ub294\ub370 \ub450 user\ubaa8\ub450 \uc774 \ubb38\uc7a5\uc744 \uc774\ub984\uc73c\ub85c \uac00\uc9c4 parent object\ub97c \ud1b5\ud574 object\uc5d0 \uc811\uadfc\ud558\uac8c \ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">authorization table<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc774 table\uc740 library object\uc5d0 \ubd80\uc5ec\ub41c \uad8c\ud55c\uc744 \ud3ec\ud568\ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">type<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">ORACLE7\uc5d0\uc11c\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 type\uc774 \uc874\uc7ac\ud558\uba70, \uc774\ud6c4 \ucd94\uac00\ub420 \uac83\uc774\ub2e4.shared cursor(SQL cursor, PL\/SQL anonymous block), index, table, cluster, view, synonym, sequence, procedure, function, package, table, package body, trigger<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p style=\"text-align: justify; margin-left: 21pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em><strong>[\ucc38\uace0]<\/strong> v$db_object_cache\uc758 type<br \/>\n<\/em><\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em>v$db_object_cache\uc5d0\ub294 shared cursor (v$sqlarea\ucc38\uace0)\ub97c \uc81c\uc678\ud55c library cache object\uc5d0 \ub300\ud55c \uc815\ubcf4\uac00 \ub4e4\uc5b4\uc788\ub2e4. \uc774 view\uc911 type column\uc5d0 table, index, view, procedure\ub4f1 \uc5ec\uae30\uc5d0\uc11c \uc124\uba85\ud55c type\uc5d0 \ub300\ud55c \uc815\ubcf4\uac00 \ub098\ud0c0\ub09c\ub2e4. \uadf8\ub7f0\ub370 \uc2e4\uc81c \uc774 type\uc678\uc5d0 &#8216;NON-EXISTENT&#8217;\uc640 &#8216;NOT LOADED&#8217;\ub77c\ub294 \ub450\uac00\uc9c0 value\uac00 \ub354 \ub098\ud0c0\ub09c\ub2e4. \uc774 \ub450\uac00\uc9c0 type\uc740 \ub2e4\uc74c\uacfc \uac19\uc740 \uc758\ubbf8\ub97c \uc9c0\ub2cc\ub2e4.<br \/>\n<\/em><\/span><\/p>\n<p>\n&nbsp;<\/p>\n<\/li>\n<\/ol>\n<ul style=\"margin-left: 49pt\">\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em>NON-EXISTENT: \uc874\uc7ac\ud558\uc9c0 \uc54a\ub294 object\ub77c\ub294 \uc774 \ud45c\ud604\uc740 \uc2e4\uc81c \uac19\uc740 \uc774\ub984\uc758 object\uac00 \uc0dd\uc131\ub418\uba74 \uadf8 \uc758\ubbf8\uac00 \ubcc0\uacbd\ub418\ub294 \uacbd\uc6b0\uc5d0 \ud574\ub2f9\ud55c\ub2e4.<br \/>\n<\/em><\/span><\/div>\n<\/li>\n<\/ul>\n<p style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em>\uc608\ub97c \ub4e4\uc5b4 scott.dept\uc5d0 \ub300\ud574\uc11c dept\ub77c\ub294 public synonym\uc744 system\uc774 \ub9cc\ub4e0 \ud6c4 \ubaa8\ub4e0 user\uc5d0\uac8c select\uad8c\ud55c\uc744 \uc8fc\uc5c8\uace0, eykim user\uac00 &#8216;SELECT * FROM DEPT&#8217;\ub77c\ub294 \ubb38\uc7a5\uc744 \uc218\ud589\ud558\uac8c \ub418\uba74 \uc774 v$db_object_cache\uc5d0 NON-EXISTENT type\uc744 \uac00\uc9c4 dept object\uac00 eykim user\ub85c \uc0dd\uc131\ub418\uc5b4 \uc788\ub294\uac83\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4. \uc774 \ud6c4 \ub9cc\uc57d eykim user\uac00 dept \ub77c\ub294 table\uc744 \ub9cc\ub4e4\uace0 \ub2e4\uc2dc \uac19\uc740 \ubb38\uc7a5\uc778 &#8216;SELECT * FROM DEPT&#8217;\ub97c \uc218\ud589\ud558\uba74 \uc774\ub54c\ub294 scott.dept\uac00 \uc544\ub2cc eykim.dept\ub97c select\ud558\ub294 \uac83\uc774\uba70 v$db_object_cache\uc5d0\ub3c4 type\uc774 TABLE\ub85c \ubcc0\uacbd\ub41c\ub2e4.<br \/>\n<\/em><\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\">\n&nbsp;<\/p>\n<ul style=\"margin-left: 49pt\">\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em>NOT LOADED: library object\uac00 \uc77c\ub2e8 memory\uc5d0 load\ub418\uc5c8\ub2e4\uac00 \uadf8 object\uc5d0 \ub300\ud55c \ub300\ubd80\ubd84\uc758 \uc0ac\ud56d\uc774 memory\uc5d0\uc11c flush\ub41c \uacbd\uc6b0\uc774\ub2e4. \uc989 library cache descriptor(handle)\uc740 \ub0a8\uc544\uc788\uc73c\ub098 \uc2e4\uc81c library cache object\uc5d0 \ub300\ud55c \ubaa8\ub4e0 \ub0b4\uc6a9\uc740 memory\uc5d0 \ub0a8\uc544\uc788\uc9c0 \uc54a\uc740 \uc0c1\ud0dc\uc774\ub2e4.<br \/>\n<\/em><\/span><\/div>\n<\/li>\n<\/ul>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">status flags<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">library cache object\uc758 \uc0c1\ud0dc\ub97c \ub098\ud0c0\ub0b4\ub294 status flag\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uc885\ub958\uac00 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">existent, non-existent, locally represented, being created, being altered, being dropped, being updated,<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">KGL data blocks<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\ud558\ub098\uc758 object\ub2f9 \ucd5c\ub300 8\uac1c\uc758 KGL data block\uc774 \uc788\uc73c\uba70, \uac01 object\ub9c8\ub2e4 control block\uc774 \uc788\uc5b4\uc11c \uc774 control block\ub0b4\uc758 heap descriptor\uac00 diana tree, p-code, source code, shared cursor context area\ub4f1 8\uac00\uc9c0 \uc885\ub958\uc758 KGL data block\uc911 \ud544\uc694\ud55c \ubd80\ubd84\uc744 \uac00\ub9ac\ud0a4\uac8c \ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uac01 data control block\uc5d0\ub294 heap pin count\ub77c\ub294 \uac12\uc774 \uc788\uc5b4\uc11c \uc774 \uac12\uc774 1\uc774\uc0c1\uc774\uba74 heap\uc5d0\uc11c free\uc2dc\ud0ac \uc218 \uc5c6\ub2e4. pin\ub41c library cache object \ub0b4\uc758 heap\ub4e4\uc740 \ub2e4\uc2dc \ubcc4\ub3c4\ub85c pin\ub418\uace0 load\ub418\uc5b4\uc9c4\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uadf8\ub9bc\uc5d0\uc11c \ubcfc \uc218 \uc788\ub4ef\uc774 \ud558\ub098\uc758 library cache object\uac00 8\uac1c\uc758 heap\uc774\ub098 subheap\uc73c\ub85c \uad6c\uc131\ub418\uc5b4\uc9c8 \uc218 \uc788\uc9c0\ub9cc, \ubc18\ub4dc\uc2dc 8\uac1c \ubaa8\ub450 \ud560\ub2f9\ub418\uc5b4\uc57c \ud558\ub294 \uac83\uc740 \uc544\ub2c8\ub2e4. PL\/SQL\uc758 \uacbd\uc6b0 common object information heap, source heap, diana heap, p-code heap, m-code heap, herror heap \uc774\ub807\uac8c 6\uac1c\uc758 heap\uc744 \uc8fc\ub85c \uc0ac\uc6a9\ud55c\ub2e4. \uc774 \uac01\uac01\uc740 \ub2e4\uc74c\uacfc \uac19\uc740 \ub0b4\uc6a9\uc744 \ud3ec\ud568\ud558\uace0 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<ul>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">common object information heap:global name, dependency list, security list, \uadf8 \uc678 object\uc5d0 \ub300\ud55c \uc815\ubcf4<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">source heap: PL\/SQL source<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">diana: parse\uc640 syntax tree, meta data\uc5d0 \ub300\ud55c \uae30\uc220 \ub4f1<br \/>\n<\/span><\/div>\n<p style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uc774 diana\uc5d0 \uc758\ud574\uc11c PL\/SQL program \uc758 size\uc81c\ud55c\uc774 \uc0dd\uae30\uac8c \ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify\">\n&nbsp;<\/p>\n<p style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em><strong>[\ucc38\uace0]<\/strong> PL\/SQL program unit\uc758 \ud06c\uae30 \uc81c\ud55c<br \/>\n<\/em><\/span><\/p>\n<p style=\"text-align: justify; margin-left: 7pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em>Oracle\uc740 diana\ub97c \uad6c\uc131\ud558\ub294 tree\uc758 node\uc758 \uac2f\uc218\ub97c program unit\ub9c8\ub2e4 \ub2e4\uc74c\uacfc \uac19\uc774 \uc81c\ud55c\ud558\uace0 \uc788\ub2e4. 7.0.15 \uc774\uc804 version\uae4c\uc9c0\ub294 source code\uc790\uccb4\uac00 64K \uae4c\uc9c0\ub9cc \uac00\ub2a5\ud588\uc9c0\ub9cc, 7.0.15 version\ubd80\ud130\ub294 \uc774 \uc81c\ud55c\uc740 \uc5c6\uc5b4\uc9c0\ub294 \ub300\uc2e0 diana\uc758 node \uac2f\uc218\uc758 \uc81c\ud55c\uc73c\ub85c \uc778\ud574 \uacb0\uad6d program\uc758 source\uc5d0 \uc81c\ud55c\uc774 \uc0dd\uae34\ub2e4. iana node\uc758 \uac2f\uc218\uc758 limit\uc740 oracle version\ubcc4\ub85c \ub2e4\uc74c\uacfc \uac19\ub2e4.<br \/>\n<\/em><\/span><\/p>\n<p style=\"text-align: justify; margin-left: 7pt\">\n&nbsp;<\/p>\n<ul>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em>~ 7.2: 16K<br \/>\n<\/em><\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em>7.3 &amp; 8.0: 32K<br \/>\n<\/em><\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em>8.1: 64M (package body\uc640 type body), \ub098\uba38\uc9c0 unit\uc5d0 \ub300\ud574\uc11c\ub294 32K<br \/>\n<\/em><\/span><\/div>\n<\/li>\n<\/ul>\n<p style=\"text-align: justify; margin-left: 7pt\">\n&nbsp;<\/p>\n<p style=\"text-align: justify; margin-left: 7pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em>\uc774 \uc81c\ud55c\uc740 \uac01 program unit\ub9c8\ub2e4\uc758 \uc81c\ud55c\uc774\ubbc0\ub85c \uc2e4\uc81c \uc81c\ud55c\uc5d0 \uac78\ub9ac\ub294 \uac83\uc740 \uc8fc\ub85c package body\uc774\ub2e4. \uadf8\ub798\uc11c 8.1\ubd80\ud130\ub294 \uc774 package body\ub098 type body\uc5d0 \ub300\ud574\uc11c\ub294 64M\uac2f\uc218\ub85c \ub298\ub838\ub2e4.<br \/>\n<\/em><\/span><\/p>\n<p style=\"text-align: justify; margin-left: 7pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em>tree node\ub97c \uad6c\uc131\ud558\ub294 \uac83\uc740 identifier, keyword, operator\ub4f1\uc778\ub370, \uc774\ub7ec\ud55c \uae00\uc790\ub4e4\uc758 \uae38\uc774\uac00 \uc608\ub97c \ub4e4\uc5b4 4 byte\uc815\ub3c4 \ub41c\ub2e4\uba74, \uc2e4\uc81c source code\uc758 \uc81c\ud55c\uc740 \uc774 node\uac2f\uc218 *4\uac00 \ub418\uc5b4 7.3\uac19\uc740 \uacbd\uc6b0 128K \uc815\ub3c4\uac00 \ub418\ub294 \uac83\uc774\ub2e4. \ubb3c\ub860 \uac01 identifier\ub098 operator\ub97c \uae34 \uae00\uc790\ub97c \uc774\uc6a9\ud558\uc600\ub2e4\uba74 \uc774 \ud06c\uae30\ub294 \ub354 \ucee4\uc9c8\uc218\ub3c4 \uc788\ub2e4.<br \/>\n<\/em><\/span><\/p>\n<p style=\"text-align: justify; margin-left: 7pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em>\uc774 diana\uc758 \ud06c\uae30\ub97c \ub098\ud0c0\ub0b4\ub294 \uac83\uc774 dba_object_size\uc758 view\uc758 parsed_size\uc778\ub370, Oracle7.2\ubd80\ud130\ub294 package body\ub098 type body\uc5d0 \ub300\ud574\uc11c\ub294 diana\ub97c disk\uc5d0 \uc800\uc7a5\ud558\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0 \uc774 \uac12\uc73c\ub85c 0\uc73c\ub85c \ub098\uc628\ub2e4. \uadf8\ub798\uc11c package body\uc758 \ud06c\uae30\uc5d0 \ub300\ud55c \uc815\ud655\ud55c \uac12\uc740 \uc54c \uc218 \uc5c6\uc73c\uba70, \ud3c9\uade0\uc801\uc73c\ub85c source code\uc758 \ud55c line\ub2f9 \uc57d 5 ~ 10\uac1c\uc758 diana node\uac00 \uc874\uc7ac\ud558\ub294 \uac83\uc744 \ucc38\uace0\ud560 \uc218 \uc788\ub2e4.<br \/>\n<\/em><\/span><\/p>\n<\/li>\n<\/ul>\n<p>\n&nbsp;<\/p>\n<ul>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">p-code heap: debugging \uc815\ubcf4<br \/>\n<\/span><\/div>\n<p style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em><strong>[\ucc38\uace0]<\/strong> \uc6d0\ub798\ub294 portable executable code\ub97c \uc704\ud55c \uac83\uc774\uc5c8\uc73c\ub098, \uc2e4\uc81c\ub85c\ub294 \uad6c\ud604\ub418\uc9c0 \ubabb\ud588\ub2e4. \ud604\uc7ac \ubaa8\ub4e0 code\ub294 machine dependent\ud558\ub2e4.<br \/>\n<\/em><\/span><\/p>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">m-code: executable code<br \/>\n<\/span><\/div>\n<p style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em><strong>[\ucc38\uace0]<\/strong> p-code\uc5d0 portable executable code\ub97c \uc800\uc7a5\ud558\uba74 \uc774\uacf3\uc5d0\ub294 machine dependent\ud55c \ubd80\ubd84\ub9cc \uc800\uc7a5\ud558\ub824\uace0 \ud558\uc600\uc73c\ub098 \uc2e4\uc81c \ubaa8\ub4e0 executable code\ub97c \ubaa8\ub450 \ud3ec\ud568\ud558\uace0 \uc788\ub2e4.<br \/>\n<\/em><\/span><\/p>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">error heap: compile\uc2dc \ubc1c\uc0dd\ud558\ub294 \uc624\ub958<br \/>\n<\/span><\/div>\n<\/li>\n<\/ul>\n<p>\n&nbsp;<\/p>\n<p style=\"text-align: center\"><img src=\"https:\/\/i0.wp.com\/oracledba.zapto.org\/wordpress\/wp-content\/uploads\/1\/cfile10.uf.2119E448563C68E402837C.png?w=640\" data-recalc-dims=\"1\" \/><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\"><br \/>\n\t\t<\/span><\/p>\n<p style=\"text-align: center\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\"><strong>[\uadf8\ub9bc 5]<\/strong><br \/>\n\t\t<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">shared SQL\ubb38\uc7a5\uc744 \uc704\ud574\uc11c\ub294 \uadf8\ub9bc\uc5d0\uc11c\uc640 \uac19\uc774 \ub450\uac1c\uc758 heap\uc774 \uc0ac\uc6a9\ub418\uc5b4\uc9c4\ub2e4. \ud558\ub098\ub294 object information heap\uc774\uace0 \ub2e4\ub978 \ud558\ub098\ub294 query\/execution plan heap\uc774\ub2e4. object\uc758 source\ub294 \uc774\ub984 \uc790\uccb4\uac00 \ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol>\n<li>\n<div style=\"text-align: justify\">\n<h2><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Locking\uacfc Pinning<br \/>\n<\/span><\/h2>\n<\/div>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">shared pool\uc0c1\uc5d0\uc11c concurrency control\uc744 \uc704\ud574\uc11c lock (latch\ub294 lock\uc758 \uc77c\uc885)\uacfc pin\uc774\ub77c\ub294 \ub450\uac00\uc9c0 data structure\uac00 \uc874\uc7ac\ud55c\ub2e4. lock\uc740 pin\ubcf4\ub2e4 \uc717 level\ub85c handle\uc5d0 lock\uc744 \uac74 \ud6c4\uc5d0\ub9cc object\ub97c pin\ud560 \uc218 \uc788\ub2e4. pin\uc740 object\uc758 \ub0b4\uc6a9\uc744 \uc77d\uac70\ub098 \ubcc0\uacbd\ud558\uae30 \uc704\ud574 \uac70\ub294 short-term lock\uc815\ub3c4\ub85c \uc0dd\uac01\ud560 \uc218 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">locks<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">lock\uc740 handle\uc5d0\ub9cc \uac78 \uc218 \uc788\uc73c\uba70, null, share, exclusive \uc774\ub807\uac8c \uc138\uac00\uc9c0 \uc885\ub958\uac00 \uc874\uc7ac\ud55c\ub2e4. null \ud639\uc740 shared mode\ub294 object\ub97c \uc218\ud589\ud558\uac70\ub098 compile\uc2dc \ucc38\uc870\ud558\ub294 \ub4f1 \uc77d\uace0\uc790 \ud560 \ub54c \uc0ac\uc6a9\ub418\uba70, exclusive lock\uc740 object\ub97c \ubcc0\uacbd\ud558\uace0\uc790 \ud560 \ub54c \ud544\uc694\ud558\ub2e4. shared lock\uacfc null lock\uc758 \ucc28\uc774\uc810\uc740 shared lock\uc740 \ub2e4\ub978 client\uac00 share lock\uc774\ub098 exclusive lock\uc744 \uc694\uccad\ud558\uba74 \uc624\ub958\ub97c \ubc1c\uc0dd\uc2dc\ud0a4\ub294\ub370 \ubc18\ud574, null lock\uc740 \uac19\uc740 object\uc5d0 \ub2e4\ub978 client\uac00 exclusive mode\ub85c pin\ud558\uace0\uc790 \ud558\uba74 \ud574\uc81c\ub41c\ub2e4\ub294 \uac83\uc774\ub2e4. \uc608\ub97c \ub4e4\uc5b4, read-only object\uc5d0 null lock\uc744 \uac74 \uacbd\uc6b0, \uc774 object\uac00 depend\ud558\uace0 \uc788\ub294 parent object\uc5d0 exclusive pin\uc774 \uac78\ub9ac\uba74, read-only object\uc5d0 \uac78\ub9b0 lock\uc740 broken\ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">read-only object\uc5d0 \uac78\ub9b0 \ubaa8\ub4e0 lock\uc740 null mode\uc5ec\uc57c \ud558\ub294\ub370 \uc774\uac83\uc740 object handle\uc744 \uc0ac\uc6a9\ud55c\ub2e4\ub294 \uac83\uc744 \ub098\ud0c0\ub0b8\ub2e4. null lock\uc774 invalidate\ub41c \uac83\uc744 \ud1b5\ud574, \uc774 object\ub97c \uc0ac\uc6a9\ud558\ub824\uace0 \ud558\ub294 process\ub85c \ud558\uc5ec\uae08 \uc774 object\uac00 parent object\uc758 \ubcc0\uacbd\uc73c\ub85c \uc778\ud574 invalid\ub418\uc5c8\uc74c\uc744 \uc54c\ub824 \uc900\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc774\ub7ec\ud55c lock\uc740 \uc774\uac83\uc774 session\uc774\ub098 transaction \ud639\uc740 call\uacfc \uad00\uacc4\ub418\uc5c8\ub294\uc9c0\uc5d0 \ub530\ub77c \ud574\uc81c\ub418\ub294 \uc2dc\uc810\uc774 \uacb0\uc815\ub41c\ub2e4. session\uc778 \uacbd\uc6b0\ub294 session\uc774 \uc885\ub8cc\ub420 \ub54c transaction\uc778 \uacbd\uc6b0\ub294 commit\uc774\ub098 rollback\ub420 \ub54c\uae4c\uc9c0 call\uc778 \uacbd\uc6b0\ub294 call\uc774 \ub05d\ub0a0 \ub54c\uae4c\uc9c0 \uc720\uc9c0\ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Pins<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">library cache object\ub97c locking\ud55c \ud6c4, process\ub294 \uadf8 object\ub97c \uc811\uadfc\ud558\uae30 \uc804\uc5d0 pin\ud558\uc5ec\uc57c \ud55c\ub2e4. pin\uc5d0\ub294 shared mode\uc640 exclusive mode, \ub450 \uac00\uc9c0\uac00 \uc788\ub294\ub370 \uc774\ub807\uac8c pin\ud568\uc73c\ub85c\uc368 \uc5b4\ub5a0\ud55c data block \uc989 heap\uc774 load\ub418\uc5b4 \uc0ac\uc6a9\ub418\uc5b4\uc9c8 \uac83\uc778\uc9c0\ub97c \ub098\ud0c0\ub0b8\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">pining\uacfc unpinning\uc744 \ud1b5\ud574 \uc5b4\ub5a0\ud55c heap\uc774 \ud574\uc81c\ub420 \uc218 \uc788\ub294\uc9c0\ub97c \uc54c \uc218 \uc788\ub2e4. client\uac00 \uc2e4\uc81c space\ub97c \uc0ac\uc6a9\ud558\uace0 \uc788\uc9c0 \uc54a\uc73c\uba74 \uadf8 \ubd80\ubd84\uc740 unpin\ud558\uc5ec\uc57c \ud558\ub294\ub370, \uc774\ud6c4 \ub2e4\ub978 client\uac00 \uc694\uccad\ud55c \ub0b4\uc6a9\uc774 space\uac00 \ubd80\uc871\ud55c \uacbd\uc6b0\uc5d0\ub294 heap manager\uac00 \uc774\ub7ec\ud55c unpin\ub41c space\ub97c \ud574\uc81c\ud558\ub3c4\ub85d unpin\ud55c client\uc5d0\uac8c \uc694\uccad\ud560 \uc218 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">procedure\ub97c \ubcc0\uacbd\ud558\ub294 \uc608\ub97c \ub4e4\uc5b4 lock\uacfc pin\uc744 \uc124\uba85\ud558\ub3c4\ub85d \ud558\uc790.<br \/>\n<\/span><\/p>\n<ol>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">shared pool\ub0b4\uc5d0 load\ub418\uc5b4 \uc788\ub294 library cache object\uc778 procedure\uc5d0 exclusive mode\ub85c lock\uc744 \uac74\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uc774\ub807\uac8c \ud568\uc73c\ub85c\uc368 \uc774 object\ub97c drop\ud558\uac70\ub098 replace\ud558\ub294 operation\uc744 \ub9c9\uc744 \uc218 \uc788\uace0, \uc774 object\ub97c reference\ud558\ub294 procedure, package, function \ub4f1\uc744 \uc0dd\uc131\ud558\uc9c0 \ubabb\ud558\uac8c \ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uc774 procedure\uc758 \uc815\uc758\uc640 \uad8c\ud55c \uc815\ubcf4\ub97c \uc5bb\uc5b4 security\ubc0f \uc624\ub958 \uac80\uc0ac\ub97c \uc218\ud589\ud558\uae30 \uc704\ud574 share mode\ub85c pin\uc744 \ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">shred pin\uc774 \ud574\uc81c\ub418\uace0, exclusive mode\ub85c repin\ub41c \ud6c4 procedure\ub294 recompile\ub41c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uc774 object\ub97c reference\ud558\ub294 \ubaa8\ub4e0 object\ub4e4\uc740 invalidate\ub41c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<\/ol>\n<p>\n&nbsp;<\/p>\n<\/li>\n<li>\n<div style=\"text-align: justify\">\n<h2><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">library cache latches<br \/>\n<\/span><\/h2>\n<\/div>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">latch\ub294 \ub9e4\uc6b0 \ube60\ub974\uac8c \uc7a1\uace0 \ud480 \uc218 \uc788\ub294 lock\uc758 \uc77c\uc885\uc774\ub2e4. lock(enqueue)\uc774 \uc8fc\ub85c \ub458 \uc774\uc0c1\uc758 process\uac00 \ub3d9\uc2dc\uc5d0 \uac19\uc740 data structure\ub97c access\ud558\ub294 \uac83\uc744 \ub9c9\uae30 \uc704\ud55c \uac83\uc774\ub77c\uba74 latch\ub294 \ub3d9\uc2dc\uc5d0 \uac19\uc740 code(oracle source code)\ubd80\ubd84\uc744 \uc2e4\ud589\ud558\ub294 \uac83\uc744 \ub9c9\uae30 \uc704\ud55c \uac83\uc774\ub77c\uace0 \ud560 \uc218 \uc788\ub2e4. latch\ub97c \uc7a1\uace0 \uc788\ub294 process\uac00 \uc8fd\uc73c\uba74 \uadf8 latch\ub97c \uc815\ub9ac\ud558\uc5ec \uc8fc\ub294 cleanup procedure\uac00 \ud638\ucd9c\ub418\uba70, \uac01 latch\uc5d0\ub294 level\uc774 \uc788\uc5b4\uc11c dead lock\uc774 \ubc1c\uc0dd\ub418\uc9c0 \uc54a\ub3c4\ub85d \ud55c\ub2e4. \uc989 \uc5b4\ub5a4 process\uac00 \ud2b9\uc815 level\uc758 latch\ub97c \uc7a1\uace0 \uc788\uc73c\uba74 \uc790\uae30\ubcf4\ub2e4 \ub0ae\uac70\ub098 \uac19\uc740 level\uc758 latch\ub294 \ub2e4\uc74c\uc5d0 \uc694\uccad\ud560 \uc218 \uc5c6\ub2e4. (nowait\uac00 \uc544\ub2cc \uacbd\uc6b0)<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">library cache latch\uc5d0\ub294 \uc138\uac00\uc9c0\uac00 \uc788\ub294\ub370 library cache latch, pin latch, load-lock latch \uc774\ub807\uac8c \uad6c\ubd84 \uac00\ub2a5\ud558\ub2e4. library cache latch\uac00 \uac00\uc7a5 \ub192\uc740 level\uc774\uba70 handle\uc5d0 lock\uc744 \uac78\uae30 \uc804\uc5d0 \uba3c\uc800 library cache latch\ub97c \uc7a1\uc544\uc57c \ud55c\ub2e4. heap\uc744 pin\ud558\uae30 \uc704\ud574\uc11c\ub294 \uba3c\uc800 library cache pin latch\uac00 \ud544\uc694\ud558\uace0, library cache entry\ub97c load\ud558\uae30 \uc804\uc5d0\ub294 load lock latch\ub97c \uc5bb\uc5b4\uc57c \ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\ucd08\uae30\uc5d0\ub294 \uc774\ub7ec\ud55c latch\uac00 \uc138 \uc885\ub958\ub9c8\ub2e4 \ud558\ub098 \ubfd0\uc774\uc5b4\uc11c contention\ubb38\uc81c\uac00 \ub9ce\uc774 \ubc1c\uc0dd\ud558\uc600\uc5c8\ub2e4. \ud2b9\ud788 library cache latch\uc758 \uacbd\uc6b0\uc5d0\ub294 handle\uc744 hashing\ud558\uac70\ub098, drop\ud639\uc740 \uc0c8\ub85c\uc6b4 handle\uc744 \uc0dd\uc131\ud558\ub294 \ub4f1\uc758 \uc791\uc5c5\ub9c8\ub2e4 \ud544\uc694\ud558\uae30 \ub54c\ubb38\uc5d0 \uac00\uc7a5 \uacbd\uc7c1\uc774 \uc2ec\ud588\uc5c8\ub294\ub370 Oracle7.2 \uc774\uc0c1\ubd80\ud130 \uc774\ub7ec\ud55c \ubb38\uc81c\ub97c \ub2e4\uc18c \ud574\uacb0\ud558\uae30 \uc704\ud574\uc11c library cache latch\ub97c \ubcf5\uc218\uac1c\ub85c \uc720\uc9c0\ud558\uace0 \uc788\ub2e4. \uac01 latch\ub294 \uac01\uac01\uc5d0 \ud560\ub2f9\ub41c object\ub9cc\uc744 \uc704\ud574 \uc0ac\uc6a9\ub418\uc5b4\uc9c4\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p>\n&nbsp;<\/p>\n<\/li>\n<li>\n<div style=\"text-align: justify\">\n<h1><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Shared Pool\uc758 tuning\uacfc monitoring<br \/>\n<\/span><\/h1>\n<\/div>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">shared pool\uc5d0 \ub300\ud55c \uc131\ub2a5 \ubb38\uc81c\ub294 \uae30\ubcf8\uc801\uc73c\ub85c shared pool\uc744 \ucda9\ubd84\ud788 \ud06c\uac8c \uc720\uc9c0\ud558\uba74 \ud574\uacb0\ud560 \uc218 \uc788\ub2e4. \uadf8\ub7ec\ub098 OS\uc758 shared memory\ub97c \uc0ac\uc6a9\ud558\ub294 shared pool\uc740 \ubb3c\ub9ac\uc801\uc73c\ub85c \uc81c\ud55c\uc774 \uc788\uc73c\uba70, \ub108\ubb34 \ud070 shared pool\uc740 memory\ub97c \ub0ad\ube44\ud558\uc5ec user process\uac00 \uc0ac\uc6a9\ud574\uc57c \ud558\ub294 memory\ubd80\ubd84\uc774 \ubd80\uc871\ud558\uac8c \ub418\ub294 \ubb38\uc81c\ub97c \uc57c\uae30\uc2dc\ud0ac \uc218\ub3c4 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\ub2e4\uc74c\uc5d0\uc11c shared pool \uc0ac\uc6a9\uc2dc \ubc1c\uc0dd\uac00\ub2a5\ud55c \ubb38\uc81c\ub97c \ucd5c\uc18c\ud654\ud558\uace0 \uc131\ub2a5\uc744 \ud5a5\uc0c1\uc2dc\ud0a4\uae30 \uc704\ud55c \ubc29\ubc95\uc744 \uc54c\uc544\ubcf4\ub3c4\ub85d \ud55c\ub2e4. \ud2b9\ud788 shared pool\uc5d0 \ubb38\uc81c\ub97c \uc57c\uae30\uc2dc\ud0a4\ub294 \uc8fc\uc694 \uc6d0\uc778\uc778 fragmentation\uacfc latch contention\uc744 \ub098\ub204\uc5b4 \uc544\ub798\uc640 \uac19\uc740 \uc21c\uc11c\uc5d0 \uc758\ud574 \uc0b4\ud3b4\ubcf8\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">view\ub97c \ud1b5\ud55c hitratio\ud655\uc778 \ubc0f tuning<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">latch contention \ud655\uc778<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">ORA-4031<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">Object\ub97c shared pool\uc5d0 KEEP<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">SQL\ubb38\uc758 \uacf5\uc720<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">PARSING \uac10\uc18c<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">CURSOR_SPACE_FOR_TIME<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">SESSION_CACHED_CUSROS<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">CLOSE_CACHED_OPEN_CURSORS<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uadf8 \uc678 \uc0ac\ud56d\ub4e4<br \/>\n<\/span><\/div>\n<\/li>\n<\/ol>\n<p>\n&nbsp;<\/p>\n<\/li>\n<li>\n<div style=\"text-align: justify\">\n<h2><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Library Cache\uc758 Tuning<br \/>\n<\/span><\/h2>\n<\/div>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">library cache\uc5d0 \ub300\ud55c \uc791\uc5c5\uc758 \uc218\ud589 \uc18d\ub3c4\ub97c \uc99d\uac00\uc2dc\ud0a4\uae30 \uc704\ud574\uc11c\ub294 library cache miss\ub97c \uc904\uc774\uace0, \uc6d0\ud558\ub294 sql \ubb38\uc7a5\uc774\ub098 object\ub4e4\uc774 \uac00\ub2a5\ud55c \ubaa8\ub450 cache\ub418\uc5b4 \uc788\uc5b4\uc57c \ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">library cache miss\uac00 \ubc1c\uc0dd\ud560 \uc218 \uc788\ub294 \ub2e8\uacc4\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 parse\ub098 execute\ub2e8\uacc4\uc5d0\uc11c \uac00\ub2a5\ud558\ub2e4.<br \/>\n<\/span><\/p>\n<\/li>\n<\/ol>\n<ul>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">Parse: SQL\ubb38\uc7a5\uc744 parsing\ud560 \ub54c, \uc774 \ubb38\uc7a5\uc758 parsing\ub41c \ud615\ud0dc\uac00 library cache\uc758 shard SQL area\ub0b4\uc5d0 \uc874\uc7ac\ud558\uc9c0 \uc54a\uc73c\uba74, Oracle\uc740 \uc774 \ubb38\uc7a5\uc744 parsing\ud55c \ud6c4 SQL area\uc5d0 \ud560\ub2f9\ud55c\ub2e4. \uadf8\ub7ec\ubbc0\ub85c parsing\ub2e8\uacc4\uc5d0\uc11c\uc758 library cache miss\ub97c \uc904\uc774\uae30 \uc704\ud574\uc11c\ub294 SQL\ubb38\uc7a5\uc744 \ucd5c\ub300\ub85c \uacf5\uc720\ud558\ub3c4\ub85d \uc720\ub3c4\ud558\uc5ec\uc57c \ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">Execute: SQL\ubb38\uc7a5\uc744 execute\ud560 \ub54c, \uc774\ubbf8 parsing\ub41c code\uac00 \ub2e4\ub978 \ubb38\uc7a5\uc744 cache\uc2dc\ud0a4\uae30 \uc704\ud574 shared pool\uc5d0\uc11c \ubc18\ud658\ub418\uc5c8\ub2e4\uba74, Oracle\uc740 \ub0b4\ubd80\uc801\uc73c\ub85c \uadf8 \ubb38\uc7a5\uc744 \ub2e4\uc2dc parsing\ud558\uace0, shared SQL area\ub97c \ud560\ub2f9\ud55c \ud6c4 execute\ud55c\ub2e4. \uadf8\ub7ec\ubbc0\ub85c \uc774\ub7f0 execute\ub2e8\uacc4\uc5d0\uc11c\uc758 miss\ub97c \uc904\uc774\uae30 \uc704\ud574\uc11c\ub294 \ucda9\ubd84\ud55c \uacf5\uac04\uc758 library cache\ub97c \ud655\ubcf4\ud558\uc5ec\uc57c \ud55c\ub2e4.<br \/>\n<\/span><\/div>\n<\/li>\n<\/ul>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc774\ub7ec\ud55c library cache\uc5d0 \ub300\ud55c hit\/miss \uc0c1\ud669\uc744 \ud655\uc778\ud558\uae30 \uc704\ud574\uc11c\ub294 V$LIBRARYCACHE view\ub97c \ucc38\uc870\ud558\uba74 \ub41c\ub2e4. \uc774 view\ub97c \ud1b5\ud574 library cache\uc758 \uc131\ub2a5 \ubb38\uc81c\ub97c \uc810\uac80\ud560 \uc218 \uc788\uc73c\uba70, \uc544\ub798\uc640 \uac19\uc740 \uc9c8\uc758\ub97c \ud1b5\ud574 \uac01 namespace\ubcc4\ub85c cache handle\uacfc cache object\uc758 hitratio\uac00 \ud655\uc778\uac00\ub2a5\ud558\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">SQL&gt; select namespace, gets, gethitratio, pins, pinhitratio, reloads, invalidations<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">from v$librarycache;<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\">NAMESPACE &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GETS     GETHITRATIO     PINS  PINHITRATIO   RELOADS INVALIDATIONS<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\">&#8212;&#8212;&#8212;&#8212;-&nbsp;&nbsp;&nbsp;&nbsp;&#8212;&#8212;   &#8212;&#8212;&#8212;&#8211;   &#8212;&#8212;-  &#8212;&#8212;&#8212;&#8212;  &#8212;&#8212;&#8211; &#8212;&#8212;&#8212;-<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\">SQL AREA       &nbsp;&nbsp;&nbsp;&nbsp;59366&nbsp;&nbsp;&nbsp;&nbsp; .994188593    155363  .995475113     &nbsp;&nbsp;&nbsp;&nbsp;1           11<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\">TABLE\/PROCEDURE&nbsp;&nbsp;&nbsp;&nbsp; 3043   &nbsp;&nbsp;&nbsp;&nbsp; .902398948      4699  .930836348     &nbsp;&nbsp;&nbsp;&nbsp;9            0<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\">BODY             &nbsp;&nbsp;&nbsp;&nbsp;   52   &nbsp;&nbsp;&nbsp;&nbsp; .557692308        63    .46031746   &nbsp;&nbsp;&nbsp;&nbsp;0            0<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\">TRIGGER       &nbsp;&nbsp;&nbsp;&nbsp;    0    &nbsp;&nbsp;&nbsp;&nbsp;             1        0             1    &nbsp;&nbsp;&nbsp;&nbsp;0            0<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\">INDEX                  &nbsp;&nbsp;&nbsp;&nbsp;   21                   0      21             0    &nbsp;&nbsp;&nbsp;&nbsp;0            0<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\">CLUSTER               &nbsp;&nbsp;&nbsp;&nbsp;   27  &nbsp;&nbsp;&nbsp;&nbsp;    444444444      15   .333333333&nbsp;&nbsp;&nbsp;&nbsp;0            0<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\">OBJECT                 &nbsp;&nbsp;&nbsp;&nbsp;     0           &nbsp;&nbsp;&nbsp;&nbsp;  0        1             1&nbsp;&nbsp;&nbsp;&nbsp;0            0<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\">PIPE                   &nbsp;&nbsp;&nbsp;&nbsp;     2               &nbsp;&nbsp;&nbsp;&nbsp;  0        2             0   &nbsp;&nbsp;&nbsp;&nbsp;0            0<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc5ec\uae30\uc5d0\uc11c \ub098\ud0c0\ub09c \uceec\ub7fc \uc911 \uc911\uc694\ud55c \uba87\uac00\uc9c0\uc758 \uc758\ubbf8\ub97c \uc0b4\ud3b4\ubcf4\uba74 \ub2e4\uc74c\uacfc \uac19\ub2e4.<span style=\"font-size:10pt\"><br \/>\n\t\t\t<\/span><\/span><\/p>\n<ul>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">gets: library object\uc758 handle\uc744 access\ud55c \ud69f\uc218<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">pins: library cache object\uac00 \uc2e4\uc81c \uc218\ud589\ub41c \ud69f\uc218<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">reload: execution \ub2e8\uacc4\uc5d0\uc11c library cache\uc5d0 \ub300\ud55c miss\uac00 \ubc1c\uc0dd\ud55c \ud69f\uc218<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">invalidations: non-existent library object\uac00 invalidated\ub41c \ud69f\uc218<br \/>\n<\/span><\/div>\n<\/li>\n<\/ul>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc5ec\uae30\uc5d0\uc11c gets\ub098 pins\uc740 \ud070 \uac12\uc744 \uac00\uc9c0\uace0, gethitratio\uc640 pinhittratio\uac12\uc774 \uc791\ub2e4\uba74 (\uc57d 85%\uc774\ud558), shared pool\uc758 \ud06c\uae30\ub97c \ub298\ub9ac\uac70\ub098, \uc774 \ubb38\uc11c\uc5d0 \ud3ec\ud568\ub420 tuning\uc791\uc5c5\uc774 \ud544\uc694\ud558\ub2e4. \uc704\uc758 \uc2e4\uc81c \uacb0\uacfc\ubb3c\uc5d0\uc11c \ubcfc \uc218 \uc788\ub4ef\uc774 gethitratio\ub098 pinhitratio\uc740 get\/pin\uacfc reload\uc758 \uac12\uc73c\ub85c \uacc4\uc0b0\ub41c \uac83\uc774 \uc544\ub2c8\ub2e4. \ub9cc\uc57d pins\uc5d0 \ub300\ud55c reload\uac00 1%\uc774\uc0c1\uc774 \ub418\uba74, library cache miss\ub97c \uc904\uc774\ub3c4\ub85d \ud558\uc5ec\uc57c \ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uadf8\ub7ec\ub098 \uc774 view\uc5d0\uc11c\ub294 namespace\ubcc4\ub85c \ub2e4\ub978 \ud1b5\uacc4\uac12\uc744 \ubcf4\uc5ec\uc8fc\uc9c0\ub9cc, \uc2e4\uc81c namespace\ubcc4\ub85c tuning\ud558\uae30\ub780 \ub9e4\uc6b0 \uc5b4\ub835\ub2e4. \uadf8\ub798\uc11c \uc2e4\uc81c\ub85c shared pool\uc744 \uc810\uac80\ud558\ub294 \uac83\uc740 \uc704\uc640 \uac19\uc774 namespace\ubcc4\ub85c \ubcf4\uae30 \ubcf4\ub2e4\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \uc804\uccb4\uc758 \ud569\uc744 \ud655\uc778\ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">SQL&gt; select sum(pins), sum(reloads)<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">from v$librarycache;<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\">SUM(PINS) SUM(RELOADS)<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\">&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\">    177678           10<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">library cache miss\ub97c \uc904\uc774\uae30 \uc704\ud574\uc11c\ub294 \uae30\ubcf8\uc801\uc73c\ub85c library cache\ub97c \uc704\ud55c \ucd94\uac00\uc801\uc778 memory\ub97c \ud560\ub2f9\ud558\uac70\ub098, SQL\ubb38\uc7a5 \ubc0f \ub2e4\ub978 \uacf5\uc720 \uac00\ub2a5\ud55c \ubb38\uc7a5\ub4e4\uc744 \ub3d9\uc77c\ud558\uac8c \uc791\uc131\ud558\ub294 \uac83\uc774 \ub3c4\uc6c0\uc774 \ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uacf5\uc720\uac00\ub2a5\ud55c memory\ub97c \uc99d\uac00\uc2dc\ud0a4\ub294 \uac83\uc740 shared_pool_size parameter\ub9cc \uc99d\uac00\uc2dc\ud0a4\uba74 \ub41c\ub2e4.  \uadf8\ub7ec\ub098 \uc774 \uac12\uc744 \ub108\ubb34 \uc99d\uac00\uc2dc\ucf1c user\uac00 \uc0ac\uc6a9\ud558\uc5ec\uc57c \ud560 memory\uc758 paging\uc774\ub098 swapping\uc744 \ubc1c\uc0dd\uc2dc\ucf1c\uc11c\ub294 \uc548\ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">SQL\ubb38\uc7a5\uc744 \uac00\ub2a5\ud55c \uacf5\uc720\ud558\uae30 \uc704\ud574\uc11c\ub294 SQL\ubb38\uc7a5\uc5d0\uc11c space, \ub300\uc18c\ubb38\uc790, bind\ubcc0\uc218 \ub4f1 \ubb38\uc7a5\uc774 \uc644\ubcbd\ud558\uac8c \ub3d9\uc77c\ud560 \ub54c \uacf5\uc720\ud558\uac8c \ub41c\ub2e4. \uc774\uac83\uc740 \uc774\ud6c4 SQL\ubb38\uc758 \uacf5\uc720 \ubd80\ubd84\uc5d0\uc11c\ub3c4 \uc790\uc138\ud788 \uc5b8\uae09\ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">shared pool\uc758 \ud55c \ubd80\ubd84\uc778 dictionary cache\uc5d0 \ub300\ud55c \ud1b5\uacc4 \uc815\ubcf4\ub294 v$rowcache view\ub97c \ud1b5\ud574 \ud655\uc778\uac00\ub2a5\ud558\ub2e4. \ub2e4\uc74c\uacfc \uac19\uc740 \uc870\ud68c\uacb0\uacfc \uc131\ub2a5\uc5d0 \ubb38\uc81c\uac00 \uc788\ub2e4\uace0 \ud310\ub2e8\ub418\uba74 (hitratio\uac00 90%\uc774\ud558)shared pool size\ub97c \ub298\ub824\uc57c \ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">SQL&gt; select sum(gets)\/(sum(gets)+sum(getmisses)) from v$rowcache;<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">row cache\uc5d0 \ub300\ud55c hit ratio\uac00 \ub192\uc740 \uac83\uc774 \ubc14\ub78c\uc9c1\ud558\ub098, V$SGASTAT\uc758 \uac12 \uc911 &#8216;dictionary cache&#8217;\uc640 &#8216;free memory&#8217;\uc5d0 \ub300\ud55c \uac12\uc744 \uc870\uae08 \ub354 \uc9c0\uc18d\uc801\uc73c\ub85c \uac80\ud1a0\ud574 \ubcf4\uc544\uc57c \ud55c\ub2e4. \ub9cc\uc57d &#8216;dictionary cache&#8217;\uac00 \uc0c1\ub300\uc801\uc73c\ub85c \ubcc0\uacbd\uc774 \uac70\uc758 \uc5c6\uace0, &#8216;free memory&#8217;\ub3c4 \ud06c\uace0 \ubcc0\ub3d9\uc774 \ubcc4\ub85c \uc5c6\ub2e4\uba74, user\uac00 object\ub97c \uc9c0\uc6b0\uace0 \ub2e4\uc2dc \ub9cc\ub4e4\uac70\ub098 grant\ub97c \ubcc0\uacbd\ud558\ub294 \ub4f1\uc758 \uc791\uc5c5\uc73c\ub85c \uc778\ud574 \uc774\ud6c4 row cache\uc5d0 \ub300\ud55c hit ratio\uac00 \ub098\ube60\uc9c8 \uac00\ub2a5\uc131\ub3c4 \uc788\uae30 \ub54c\ubb38\uc774\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Latch Contention \ud655\uc778<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong><em>V$LATCH<br \/>\n<\/em><\/strong><\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">v$latch view\ub97c \uc870\ud68c\ud574\ubcf4\uba74, \uc5b4\ub290 latch\uac00 \uac00\uc7a5 hit ratio\uac00 \ub098\uc05c\uc9c0\ub97c \uc54c \uc218 \uc788\uc73c\uba70, \ub610\ud55c sleep\uc744 \uc81c\uc77c \ub9ce\uc774 \uc77c\uc73c\ud0a4\ub294\uc9c0\ub97c \ud655\uc778\ud560 \uc218 \uc788\ub2e4. \uc5ec\uae30\uc5d0\uc11c sleep\uc758 \uc218\uac00 \ub354\uc6b1 \uc911\uc694\ud55c\ub370 \ub9cc\uc57d library cache latch\uac00 sleep\uc758 \uc218\uac00 \ub9ce\ub2e4\uba74, shared pool\uc758 \uad00\ub9ac\uc5d0 \ubb38\uc81c\uac00 \uc788\ub2e4\uace0 \ud310\ub2e8\ud560 \uc218 \uc788\ub2e4. \ub2e8 \uc774 view\ub294 \uc870\ud68c\ud55c \uc21c\uac04\uc758 latch\uc5d0 \ub300\ud55c \uc815\ubcf4\uac00 \uc544\ub2c8\ub77c database\uac00 startup\ub41c \ud6c4\uc5d0 \ub204\uc801\ub41c \uac12\uc778 \uac83\uc744 \uc8fc\uc758\ud558\uc5ec\uc57c \ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong><em>V$SESSION_WAIT<br \/>\n<\/em><\/strong><\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc131\ub2a5\uc774 \ub2a6\uc5b4\uc9c4\ub2e4\uace0 \ud310\ub2e8\ub418\ub294 \uc21c\uac04\uc5d0 v$session_wait\ub97c \uc870\ud68c\ud574 \ubcf4\uba74, latching\uc5d0 \ubb38\uc81c\uac00 \uc788\ub294\uc9c0 \uc788\ub2e4\uba74 \uc5b4\ub290 latch\uac00 \ubb38\uc81c\uc778\uc9c0\ub97c \ud655\uc778\ud560 \uc218 \uc788\ub2e4. \ub9cc\uc57d library cache latch\ub97c \uae30\ub2e4\ub9ac\ub294 process\uac00 3\uc774\ub098 4\uc774\uc0c1\uc73c\ub85c \uac12\uc774 \ud06c\ub2e4\uba74, latch\uc5d0 \ub300\ud55c \uad00\ub9ac\uac00 \ud544\uc694\ud558\ub2e4\uace0 \ubcfc \uc218 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc544\ub798\uc758 query\ub97c \uc774\uc6a9\ud558\ub3c4\ub85d \ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p style=\"text-align: justify; margin-left: 42pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">select count(*) from v$session_wait w, v$latch l<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 42pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">where w.wait_time=0<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 42pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">and w.event = &#8216;latch free&#8217;<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 42pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">and w.p2 = l.latch#<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 42pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">and l.name like &#8216;library%&#8217;;<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 42pt\">\n&nbsp;<\/p>\n<p style=\"text-align: justify; margin-left: 42pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">select * from v$session_wait<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 42pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">where evne != &#8216;client message&#8217;<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 42pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">and event not like &#8216;%NET%&#8217;<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 42pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">and wait_time=0<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 42pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">and sid &gt; 5;<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc774\ub7ec\ud55c latch\uc758 contention\uc744 \uc904\uc774\uae30 \uc704\ud574\uc11c\ub294 shared pool\ub0b4\uc5d0 fragmentation\uc744 \uac10\uc18c\uc2dc\ud0a4\uace0, \uacf5\uc720\ub294 \uc99d\uac00\uc2dc\ud0a4\ub418 parse\ub294 \uac10\uc18c\ud558\ub294 \ub4f1\uc758 \ubc29\ubc95\uc774 \uc788\ub2e4. \uadf8 \uc678\uc5d0\ub3c4 \ub3c4\uc6c0\uc774 \ub420 \ub9cc\ud55c initial parameter\ub4e4\uc774 \uc874\uc7ac\ud558\ub294\ub370, \uc544\ub798\uc5d0\uc11c \uac01\uac01\uc5d0 \ub300\ud574 \uc880 \ub354 \uc790\uc138\ud788 \uae30\uc220\ud558\uace0 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">ORA-4031<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">shared memory\uc758 \uc5f0\uc18d\ub41c \uacf5\uac04\uc744 \ud560\ub2f9\ud558\uace0\uc790 \ud560 \ub54c, \ud544\uc694\ud55c \uacf5\uac04\uc774 \uc5c6\uc73c\uba74, \ud604\uc7ac pin\ub418\uc5b4 \uc788\uc9c0 \uc54a\uc740 \ubaa8\ub4e0 object\ub4e4\uc744 flush\uc2dc\ud0a4\uba74\uc11c \ube48 \uacf5\uac04\ub4e4\uc744 merge\uc2dc\ucf1c \ud544\uc694\ud55c \uacf5\uac04\uc744 \ud655\ubcf4\ud558\ub824 \ud55c\ub2e4. \uadf8\ub7f0\ub370 \ubaa8\ub4e0 object\ub4e4\uc744 shared pool\uc5d0\uc11c flush\uc2dc\ud0a8 \ud6c4\uc5d0\ub3c4 \ud544\uc694\ud55c \uc5f0\uc18d\ub41c \uacf5\uac04\uc744 \uc5bb\uc9c0 \ubabb\ud558\uba74 ORA-4031\uc774 \ubc1c\uc0dd\ud558\ub294 \uac83\uc774\ub2e4. \uc774 \uc624\ub958\uac00 \uc6b4\uc601 \uc911\uc5d0 \ubc1c\uc0dd\ud558\uba74, database\ub97c restartup\ud574\uc57c \ud558\ub294 \uc0c1\ud669\uc774 \ub418\ub294 \uacbd\uc6b0\uac00 \ub9ce\uc73c\ubbc0\ub85c \ubbf8\ub9ac \ubd84\uc11d\ud558\uace0 \ub300\ube44\ud560 \ud544\uc694\uac00 \uc788\ub2e4. \uc544\ub798\uc5d0\uc11c \ub3c4\uc6c0\uc774 \ub420 \ub9cc\ud55c \uc0ac\ud56d\ub4e4\uc744 \uc810\uac80\ud558\uc5ec \ubcf8\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong><em>event 4031<br \/>\n<\/em><\/strong><\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">ORA-4031 \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uba74 trace file\uc774 \uc0dd\uae30\ub3c4\ub85d \ud558\uae30 \uc704\ud574 \ub2e4\uc74c\uacfc \uac19\uc774 event\ub97c init.ora file\uc5d0 \uc124\uc815\ud560 \uc218 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">event = &#8220;4031 trace name errorstack, level 4&#8221;<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc774\ub807\uac8c \ud558\uba74 ORA-4031 \uc624\ub958\uac00 \ubc1c\uc0dd\ud560 \ub54c\uc758 state object\uc5d0 \ub300\ud55c dump\ub97c \ubc1c\uc0dd\uc2dc\ud0a8\ub2e4. dump file\ub0b4\uc758 &#8216;load=X&#8217;\ubd80\ubd84\uacfc &#8216;name=&#8217;\ubd80\ubd84\uc744 \ud655\uc778\ud558\uace0 \uc774 \uc624\ub958\uac00 \ubc1c\uc0dd\ud560 \ub54c object\uac00 shared pool\uc5d0 load\uc911\uc774\uc5c8\ub294\uc9c0\ub97c \ud655\uc778\ud560 \uc218 \uc788\ub2e4. \ub9cc\uc57d object\uac00 load\uc911\uc774\uc5c8\ub2e4\uba74, \uc774 &#8216;name=&#8217; \ubd80\ubd84\uc5d0 \ub098\ud0c0\ub09c object\uc758 load\uac00 \ubb38\uc81c\uc758 \uc6d0\uc778\uc774\uba70 \uc774 object\ub294 shared pool\uc5d0 keep\ub418\uc5b4\uc9c0\ub294 \uac83\uc774 \ubc14\ub78c\uc9c1\ud558\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p style=\"text-align: justify; margin-left: 21pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em><strong>[\ucc38\uace0]<\/strong>Oracle 7.2\ubd80\ud130\ub294 package\ub098 function, procedure\uc640 \uac19\uc740 library unit\uc774 shared pool\uc0c1\uc5d0 \ubc18\ub4dc\uc2dc \uc5f0\uc18d\ub41c \uacf5\uac04\uc744 \uc7a1\uc9c0 \uc54a\uc544\ub3c4 \ub418\uc5b4 ORA-4031\uc774 \ub9ce\uc774 \uc904\uc5b4\ub4e4\uc5c8\ub2e4.<br \/>\n<\/em><\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em>\uc2e4\uc81c test\uacb0\uacfc \uac19\uc740 \ud615\ud0dc\uc758 procedure\uc5d0 \ub300\ud574\uc11c \uac19\uc740 \ubb38\uc7a5\uc744 \ubc18\ubcf5\ud558\uc5ec \uae30\uc220\ud558\uc5ec source\ud06c\uae30\ub9cc \uc99d\uac00\uc2dc\ud0a8 \uacbd\uc6b0 100\uac1c \uc774\uc0c1\uc758 chunk\ub97c \uc0ac\uc6a9\ud558\ub358 procedure\uac00 source\ub97c \uc904\uc778 \ud6c4 6\uac1c\uc758 chunk\ub9cc\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\uc744 \ud655\uc778\ud558\uc600\ub2e4.<br \/>\n<\/em><\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em>\uadf8\ub7ec\ubbc0\ub85c, \ub9cc\uc57d 7.3\uc5d0\uc11c \uc774 \uc624\ub958\uac00 \ubc1c\uc0dd\ud55c\ub2e4\uba74 \uc774\uac83\uc740 \uc774\ubbf8 shared pool\uc758 90%\uc774\uc0c1\uc740 \uc0ac\uc6a9\ub41c \uac83\uc744 \uc758\ubbf8\ud558\ub294 \uacbd\uc6b0\uac00 \ub9ce\uc73c\uba70, \uc774\ub7ec\ud55c \uacbd\uc6b0\uc5d0\ub294 shared pool\uc758 \ud06c\uae30\ub97c \ub298\ub824\uc8fc\ub294 \uac83\uc774 \ucd5c\uc120\uc774\ub2e4.<br \/>\n<\/em><\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong><em>X$KSMLRU<br \/>\n<\/em><\/strong><\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">x$ksmlru\uc774\ub77c\ub294 fixed table\uc740 shared pool\uc5d0 cache\ub418\uae30 \uc704\ud574 \ub2e4\ub978 object\ub97c \ubc00\uc5b4\ub0b8 allocation\ub4e4\uc5d0 \ub300\ud55c \uc815\ubcf4\ub97c \ub2f4\ub294\ub2e4. \uc774 table\uc740 \ubb34\uc5c7\uc774 memory\uc5d0 \ub9ce\uc740 \uacf5\uac04\uc744 \ucc28\uc9c0\ud558\uba74\uc11c \ud560\ub2f9\ub418\uc5c8\ub294\uc9c0\ub97c \uc54c\ub824 \uc8fc\ub294\ub370, \ud55c\ubc88 \uc870\ud68c\ud558\uace0 \ub098\uba74 \uc870\ud68c\ub41c \uc815\ubcf4\ub97c table\uc5d0\uc11c \uc9c0\uc6cc\uc9c4\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc911\uc694\ud55c column\uc758 \uc758\ubbf8\ub97c \uac04\ub2e8\ud788 \uc815\ub9ac\ud558\uba74 \ub2e4\uc74c\uacfc \uac19\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">KSMLRCOM: allocation\uc5d0 \ub300\ud55c type\uc744 \uae30\uc220\ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p style=\"margin-left: 63pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">&#8216;MPCODE&#8217;\ub098 &#8216;PLSQL%&#8217;\uacfc \uac19\uc740 \ub0b4\uc6a9\uc774 \ud3ec\ud568\ub418\uc5b4 \uc788\ub2e4\uba74, \ud070 PL\/SQL object\uac00 shared pool\uc5d0 load\ub41c \uac83\uc774\ubbc0\ub85c \uc774 PL\/SQL object\ub97c shared pool\ub0b4\uc5d0 &#8216;keep&#8217; \uc2dc\ud0a4\ub294 \uac83\uc744 \uace0\ub824\ud574 \ubcf4\uc544\uc57c \ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p style=\"margin-left: 63pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\ub9cc\uc57d MTS\ub85c \uc6b4\uc601\uc911\uc774\uace0 \uc774 \uceec\ub7fc\uc758 \uac12\uc774 &#8216;Fixed UGA&#8217;\uc640 \uac19\uc740 \uac83\uc774\ub77c\uba74, init.ora file\ub0b4\uc758 open_cursors\uac12\uc774 \ub108\ubb34 \ud06c\uac8c \uc124\uc815\ub418\uc5b4 \uc788\ub294 \uac83\uc774\ubbc0\ub85c, \uc904\uc77c \ud544\uc694\uac00 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 81pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em>[\ucc38\uace0] bug210682<br \/>\n<\/em><\/span><\/p>\n<p style=\"text-align: justify; margin-left: 81pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em>bug210682\ub294 status\uac00 not a bug\uc774\uba70, open_cursors\uc5d0 \uc758\ud574 1\uc774 \uc99d\uac00\ub420 \ub54c\ub9c8\ub2e4 \uc57d 25 bytes\ub97c fixed UGA\ub97c \uc0ac\uc6a9\ud558\ubbc0\ub85c open_cursors\ub97c \ub108\ubb34 \ud06c\uac8c \ud558\uba74 memory\uc0ac\uc6a9\uc5d0 \ubb38\uc81c\uac00 \uc788\ub2e4\uace0 \ub418\uc5b4\uc788\ub2e4. bug\uc740 \uc544\ub2c8\ub2e4.<br \/>\n<\/em><\/span><\/p>\n<p style=\"margin-left: 63pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">KSMLRSIZ&nbsp;&nbsp;&nbsp;&nbsp;:\ud560\ub2f9\ub41c \uc5f0\uc18d\ub41c memory\uc758 \ud06c\uae30\uc774\ub2e4. \uc774 \uac12\uc774 5K\uac00 \ub118\uc5b4\uac00\uba74 \ubb38\uc81c\uac00 \uc788\ub2e4\uace0 \ubcf4\uace0, 10K\uac00 \ub118\uc5b4\uac00\uba74 \uc2ec\uac01\ud55c \ubb38\uc81c\uac00, 20K\uac00 \ub118\uc5b4\uac00\uba74 \ub9e4\uc6b0 \uc2ec\uac01\ud55c \ubb38\uc81c\ub97c \uc57c\uae30\ud560 \uc218 \uc788\uc73c\ubbc0\ub85c \uc8fc\uc758\uac00 \ud544\uc694\ud558\ub2e4.<br \/>\n<\/span><\/p>\n<p style=\"margin-left: 63pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">KSMLRNUM&nbsp;&nbsp;&nbsp;&nbsp;:\uc774 object\uc758 \ud560\ub2f9\uc73c\ub85c \uc778\ud574 deallocate\ub41c object\uc758 \uac2f\uc218\ub97c \ub098\ud0c0\ub0b8\ub2e4.<br \/>\n<\/span><\/p>\n<p style=\"margin-left: 63pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">KSMLRHON&nbsp;&nbsp;&nbsp;&nbsp;:load\ub41c object\uc758 \uc774\ub984\uc744 \uac00\uc9c0\uace0 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p style=\"margin-left: 63pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">KSMLROHV&nbsp;&nbsp;&nbsp;&nbsp;:load\ub41c object\uc758 hash value\ub97c \ub098\ud0c0\ub0b8\ub2e4.<br \/>\n<\/span><\/p>\n<p style=\"margin-left: 63pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">KSMLRSES&nbsp;&nbsp;&nbsp;&nbsp;:\uc774 object\ub97c load\ud55c session\uc758 SDDR\uac12\uc774\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\"><strong><em>X$KSMSP<br \/>\n<\/em><\/strong><\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">datafile\ub0b4\uc758 free space\ub97c \ud655\uc778\ud558\ub294 dba_free_space view\uc640 \uac19\uc774 shared pool\ub0b4\uc758 free space\uc640 flush\ud560 \uc218 \uc788\ub294 freeable space\uc5d0 \ub300\ud55c \uc870\uac01\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub294 view\ub294 SYS.X$KSMSP\uc774\ub2e4. ORA-4031\uc774 \ubc1c\uc0dd\ud558\ub294 \uacbd\uc6b0 V$SGASTAT\ub9cc\uc73c\ub85c\ub294 shared pool\uc758 \uc804\uccb4 free space\ub9cc\uc744 \ud655\uc778\ud560 \uc218 \ubc16\uc5d0 \uc5c6\uc73c\ub098 \uc774 view\ub97c \ud1b5\ud574\uc11c\ub294 space \uc870\uac01\uc5d0 \ub300\ud55c \uc815\ubcf4\ub3c4 \uc5bb\uc744 \uc218 \uc788\uc5b4 \ub9e4\uc6b0 \uc720\uc6a9\ud558\ub2e4. x$ksmsp\ub294 \ub2e4\uc74c\uacfc \uac19\uc740 \uceec\ub7fc\uc744 \uac00\uc9c0\uace0 \uc788\uc73c\uba70, \ud560\ub2f9\ub41c chunk \ud558\ub098 \ub2f9 \ud558\ub098\uc758 row\uac00 \uc0dd\uc131\ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">KSMCHCOM &nbsp;&nbsp;&nbsp;&nbsp;:chunk\uc5d0 \ub300\ud55c \uc18d\uc131\uc744 \ub098\ud0c0\ub0b4\ub294 \uac04\ub2e8\ud55c text comment<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">KSMCHSIZ &nbsp;&nbsp;&nbsp;&nbsp;:chunk\uc758 \ud06c\uae30<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">KSMCHPTR &nbsp;&nbsp;&nbsp;&nbsp;:memory\uc0c1\uc5d0\uc11c \uc704\uce58\uc5d0 \ub300\ud55c hex\uac12<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">KSMCHCLS &nbsp;&nbsp;&nbsp;&nbsp;:chunk\uc758 class<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">          &nbsp;&nbsp;&nbsp;&nbsp;&#8220;perm&#8221;: permanent, &#8220;free&#8221;: free, &#8220;recr&#8221; for recreatable, &#8220;freeable&#8221;: freeable<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">SQL&gt; select ksmchcls, max(ksmchsiz), sum(ksmchsiz)<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">from x$ksmsp<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">group by ksmchcls;<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\">KSMCHCLS MAX(KSMCHSIZ) SUM(KSMCHSIZ)<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\">&#8212;&#8212;&#8211; &#8212;&#8212;&#8212;&#8212;- &#8212;&#8212;&#8212;&#8212;-<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\">free           3451712       3740800<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\">freeabl         103936      11809736<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\">perm           4636672       4636672<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\">recr             65344       1226664<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Object\ub97c shared pool\uc5d0 KEEP<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\ud06c\uae30\uac00 \ud070 PL\/SQL\uc758 \uacbd\uc6b0 ORA-4031\uc744 \uc77c\uc73c\ud0a4\uac70\ub098, \uc774\ubbf8 load\ub41c allocation\ub4e4\uc744 \ud574\uc81c\ud558\ub294 \ub4f1\uc758 \ubb38\uc81c\ub97c \uc57c\uae30\uc2dc\ud0ac \uc218 \uc788\ub2e4. \uadf8\ub7ec\ud55c \uacbd\uc6b0 \ubb38\uc81c\uac00 \ub420 \ub9cc\ud55c PL\/SQL object\ub97c shared pool\uc5d0 \uc62c\ub824 \ub193\uace0 LRU\ubc29\uc2dd\uc5d0 \uc758\ud574 \ubc00\ub824 \ub098\uac00\uc9c0 \uc54a\uace0 \ud56d\uc0c1 keep\uc2dc\ud0a4\uae30 \uc704\ud574 dbms_shared_pool package\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\ub2e4. \uc774 package\ub294 dbmspool.sql\uc5d0 \uc815\uc758\ub418\uc5b4 \uc788\uc73c\uba70, \uc608\ub97c \ub4e4\uc5b4 \ub2e4\uc74c\uacfc \uac19\uc774 \uc0ac\uc6a9\ud558\uba74 \ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">SQL&gt;execute dbms_shared_pool.keep(&#8216;SYS.STANDARD&#8217;);<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">STANDARD, DBMS_STANDARD, DIUTIL\uacfc \uac19\uc774 \ud06c\uae30\uac00 \ud070 object\ub4e4\uc774 \uc774\uc640 \uac19\uc774 keep\uc2dc\ucf1c\uc57c \ud558\ub294 \ub300\uc0c1\uc774 \ub418\uba70, \uc774 \uba85\ub839\uc740 db\uac00 startup\ub41c \ud6c4 \ub2e4\ub978 \ud560\ub2f9\uc774 \uc774\ub8e8\uc5b4\uc9c0\uae30 \uc804\uc5d0 \ubc14\ub85c \uc218\ud589\ud558\uc5ec\uc57c \ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">dbms_shared_pool package\ub294 7.0\ubd80\ud130 \ub9cc\ub4e4\uc5b4\uc84c\uc73c\uba70, 7.1.5\uae4c\uc9c0\ub294 package\ub9cc keep \uc2dc\ud0ac \uc218 \uc788\uc5c8\ub2e4.\uadf8\ub7ec\ub098 7.1.6\ubd80\ud130\ub294 standalone procedure, function, cursor \ub4f1\ub3c4 keep\uc774 \uac00\ub2a5\ud574 \uc84c\uc73c\uba70, 7.3\ubd80\ud130\ub294 trigger\uac00 7.3.3.1\ubd80\ud130\ub294 sequence\ub3c4 \uac00\ub2a5\ud558\ub2e4.<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 21pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em><strong>[\ucc38\uace0]<\/strong> \uc774\ubbf8 \uc5b8\uae09\ud55c \ubc14\uc640 \uac19\uc774 7.2\ubd80\ud130\ub294 \ud558\ub098\uc758 \uc5f0\uc18d\ub41c \uacf5\uac04\uc774 \uc544\ub2cc \uc870\uac01\uc73c\ub85c load\uac00 \uac00\ub2a5\ud558\uae30 \ub54c\ubb38\uc5d0 \uc774 package\uc5d0 \ub300\ud55c \ud544\uc694\uc131\uc774 \ub9ce\uc774 \uc904\uc5b4\ub4e4\uc5c8\ub2e4.<br \/>\n<\/em><\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uacf5\uc720 \uc99d\uac00<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">parse\ub098 execute\ub2e8\uacc4\uc5d0\uc11c \uc6d0\ud558\ub294 \ubb38\uc7a5\uc774 \uc774\ubbf8 library cache\ub0b4\uc5d0 \ub4e4\uc5b4 \uc788\uc744 \ud655\ub960\uc744 \ub192\uc774\uae30 \uc704\ud55c \uc911\uc694\ud55c \ubc29\ubc95 \uc911 \ud558\ub098\ub294 \uac00\ub2a5\ud55c \ud55c sql\ubb38\uc7a5\uc744 \ub611\uac19\uc774 \uc791\uc131\ud558\ub294 \uac83\uc774\ub2e4. space, \ub300\uc18c\ubb38\uc790\ub97c \ube44\ub86f\ud574 \ubaa8\ub4e0 \ubb38\uc7a5\uc774 \ub611\uac19\uc544\uc57c\ub9cc \uac19\uc740 \ubb38\uc7a5\uc774 \uacf5\uc720\uac00 \ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc608\ub97c \ub4e4\uc5b4, sql\ubb38\uc7a5\uc758 table\uc774\ub984\uc5d0 \ud56d\uc0c1 schema\uc774\ub984\uc744 \ubd99\uc5ec \uc0ac\uc6a9\ud558\uac8c \ub418\uba74, \uc5ec\ub7ec database user\uac00 \uac19\uc740 sql\ubb38\uc744 \uc790\uc8fc \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\uc5d0 \ub3c4\uc6c0\uc774 \ub418\uba70, \uadf8 \uc678\uc5d0\ub3c4 \uc544\ub798\uc640 \uac19\uc774 \uc0c1\uc218\ub300\uc2e0 \ubcc0\uc218\ub97c \uc0ac\uc6a9\ud558\ub294 \uac83\ub3c4 \uacf5\uc720\ub97c \uc99d\uac00\uc2dc\ud0a4\uae30 \uc704\ud55c \ud55c \ubc29\ubc95\uc774 \ub420 \uc218 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc608\ub97c \ub4e4\uc5b4 \ub2e4\uc74c\uacfc \uac19\uc740 \ubb38\uc7a5\uc774 \uc788\ub2e4\uace0 \ud558\uc790.<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">select * from dept where deptno=10;<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">select * from dept where deptno=20;<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc774 \ubb38\uc7a5\uc744 select * from dept where deptno=:dno;<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uacfc \uac19\uc774 bind variable\uc744 \uc0ac\uc6a9\ud55c \ud558\ub098\uc758 \ubb38\uc7a5\uc73c\ub85c \ub300\uce58\ub420 \uc218 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 21pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:9pt\"><em>[\ucc38\uace0] Oracle7.2\uae4c\uc9c0 \uc774\ub807\uac8c \ubcc0\uc218\ub97c \uc0ac\uc6a9\ud558\ub294 \uaca8\uc6b0 = \ube44\uad50\uac00 \uc544\ub2cc \ub300\uc18c\ube44\uad50\uc778 \uacbd\uc6b0\uc5d0\ub294 \uc804\uccb4\uc758 25%\ub97c search\ud55c\ub2e4\uace0 \ud310\ub2e8\ud558\uc5ec cost based optimizer\uac00 full table scan\uc744 \ud558\ub294 \uacbd\uc6b0\uac00 \uc788\uc73c\ubbc0\ub85c \uc8fc\uc758\ud558\uc5ec\uc57c \ud55c\ub2e4.<br \/>\n<\/em><\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">parsing\uc774 \uc801\uac8c \ubc1c\uc0dd\ud558\ub3c4\ub85d \uc720\ub3c4<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">library cache latch\uc5d0 \ub300\ud55c load\ub97c \uc904\uc774\ub294 \ub610 \ud558\ub098\uc758 \ubc29\ubc95\uc740 parse call\uc744 \uc904\uc774\ub294 \uac83\uc774\ub2e4. \uc774\ubbf8 parsed code\uac00 shred pool\uc5d0 cache\ub418\uc5b4 \uc788\ub294 \uc0c1\ud0dc\ub77c \ud558\ub354\ub77c\ub3c4, parse call\uc790\uccb4\uac00 \uad8c\ud55c check \ub97c \ud3ec\ud568\ud55c \uc5ec\ub7ec\uac00\uc9c0 \ubd80\ud558\uac00 \ub9ce\ub2e4. \uc774\ub7ec\ud55c parsing\uc744 \uc904\uc774\ub294 \ubc29\ubc95\uc740 precompiler\uc5d0\uc11c HOLD_CURSOR=TRUE\ub85c \uc9c0\uc815\ud558\ub294 \uac83\uc774\ub2e4. \ub2e8, \uc790\uc8fc \uc2e4\ud589\ub418\uc9c0 \uc54a\ub294 \ubb38\uc7a5\uc744 \uc704\ud574 \ubb34\uc870\uac74 library cache\ub0b4\uc5d0 open cursor\ud615\ud0dc\ub85c \ub450\ub294 \uac83\uc740 \ubc14\ub78c\uc9c1\ud558\uc9c0 \uc54a\uc73c\ubbc0\ub85c, \ub2e4\uc74c\uacfc \uac19\uc740 \uc870\ud68c\ub97c \ud1b5\ud574 parse call\uc774 \ub9ce\uc740 \ubb38\uc7a5\uc744 \ud655\uc778\ud558\uc5ec \ud544\uc694\ud55c program\ub9cc \uc774 option\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\uc774 \ubc14\ub78c\uc9c1\ud558\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">SQL&gt; select sql_text, parse_calls, executions from v$sqlarea<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">where parse_calls &gt; 100 and executions &lt; 2*parse_call;<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">system\uc5d0 \ub300\ud55c \uc804\uccb4 parsing \uc694\uccad \ud69f\uc218\ub294 \ub2e4\uc74c\uacfc \uac19\uc774 \uc870\ud68c \uac00\ub2a5\ud558\uba70, \uc774 \uac12\uc774 \uc57d 1\ucd08\ub2f9 10\ubc88 \uc774\uc0c1 \uc99d\uac00\ud55c\ub2e4\uba74 \ubb38\uc81c\uac00 \uc788\ub2e4\uace0 \ubcfc \uc218 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p style=\"text-align: justify; margin-left: 28pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">SQL&gt; select name, value from v$sysstat where name = &#8216;parse count&#8217;;<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">CURSOR_SPACE_FOR_TIME<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc774 parameter\uc758 \uac12\uc744 TRUE\ub85c \ud558\uba74, shared SQL area\uc758 object\ub97c \ucc38\uc870\ud558\ub294 open cursor\uac00 \uc874\uc7ac\ud558\ub294 \ud55c \ud574\ub2f9 object\ub97c \ud56d\uc0c1 shared pool\uc5d0 keep \uc2dc\ud0a4\uac8c \ub41c\ub2e4. \uac01 active cursor\uc758 SQL area\uac00 memory\uc5d0 \ud56d\uc0c1 \uc874\uc7ac\ud558\uae30 \ub54c\ubb38\uc5d0 \uc218\ud589 \uc18d\ub3c4\ub294 \ud5a5\uc0c1\ub418\uc9c0\ub9cc, \uadf8\ub9cc\ud07c \ub9ce\uc740 memory\ub97c \ucc28\uc9c0\ud558\uae30 \ub54c\ubb38\uc5d0 \uc774\uac83\uc740 memory\uac00 \ucda9\ubd84\ud558\uace0 OS\uc758 page fault\uac00 \uac70\uc758 \uc5c6\uc744 \ub54c\ub9cc TRUE\ub85c \uc124\uc815\ud558\ub3c4\ub85d \ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc774 parameter\ub294 cursor\ub97c \uc218\ud589\ud558\uace0 \ub09c \ub4a4\uc5d0\ub3c4 \uc644\uc804\ud788 \uc218\ud589\ud558\uace0 \ub05d\ub098\uae30 \uc804\uae4c\uc9c0\ub294 private SQL area\uc5d0\uc11c cursor \uc815\ubcf4\ub97c \ud574\uc81c\ud558\uc9c0 \uc54a\uae30 \ub54c\ubb38\uc5d0 cursor\ud560\ub2f9\uacfc \ucd08\uae30\ud654 \uc2dc\uac04\uc740 \uc904\uc774\uac8c \ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">SESSION_CACHED_CURSORS<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc774 parameter\ub294 7.1\uae4c\uc9c0\ub9cc \uc0ac\uc6a9\ud558\ub358 \uac83\uc73c\ub85c, \ud558\ub098\uc758 session\ub3d9\uc548 open\ub41c \uc0c1\ud0dc\ub85c cache\uc5d0 \uc720\uc9c0\ud558\uace0\uc790 \ud558\ub294 cursor\uc758 \uac2f\uc218\ub97c \uc9c0\uc815\ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">CLOSE_CACHED_OPEN_CURSORS<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">PL\/SQL\uc744 \uc0ac\uc6a9\ud560 \ub54c, \uadf8 \uc548\uc758 cursor\ub4e4\uc774 memory\uc5d0 cache\ub418\uc5b4 \uc788\ub294\ub370, \uc774 cursor \ub4e4\uc774 commit\uc2dc\uc5d0 \uc790\ub3d9\uc73c\ub85c close\ub418\ub3c4\ub85d \ud558\ub824\uba74 TRUE\ub85c \uc124\uc815\ud558\uba74 \ub41c\ub2e4. default\ub294 FALSE\uc774\uba70, latch bottleneck\uc774 \ubc1c\uc0dd\ud558\ub294 \uacbd\uc6b0\uc5d0\ub294 default\ub85c \uc720\uc9c0\ud558\uc5ec\uc57c \ud558\ub098, \uc774\ub807\uac8c \ub418\uba74 UGA\ubd80\ubd84\uc740 \ub354 \ub9ce\uc774 \uc0ac\uc6a9\ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">FORMS 4<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">SQL*Forms version 4\ub294 bind variable\uc744 \ub9ce\uc774 \uc0ac\uc6a9\ud558\uc5ec dynamic sql\uc744 \uc801\uac8c \uc0dd\uc131\uc2dc\ud0b4\uc73c\ub85c\uc368, shared pool\uc5d0 load\ud574\uc57c \ud558\ub294 \ubd80\ubd84\uc744 \uc904\uc600\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol>\n<li>\n<div style=\"text-align: justify\">\n<h2><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Reserved Shared Pool<br \/>\n<\/span><\/h2>\n<\/div>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\ub9e4\uc6b0 \ubc14\uc05c \uc2dc\uc2a4\ud15c\uc778 \uacbd\uc6b0 shared pool\ub0b4\uc5d0\uc11c \ub9ce\uc740 fragmentation\uc73c\ub85c \uc778\ud574\uc11c, \uc5f0\uc18d\ub41c \uacf5\uac04\uc744 \ucc3e\ub294 \uac83\uc774 \uc5b4\ub824\uc6b4 \uacbd\uc6b0\uac00 \uc788\ub2e4. \uc774\ub7ec\ud55c \uacbd\uc6b0\ub97c \uc704\ud574\uc11c Oracle 7.1.5\ubd80\ud130 shared pool\ub0b4\uc5d0 \uc77c\uc815 \uacf5\uac04\uc744 \ud655\ubcf4\ud574 \ub193\uace0 \ud070 \uacf5\uac04\uc758 \ud560\ub2f9\uc774 \ud544\uc694\ud55c \uacbd\uc6b0\ub9cc \uc0ac\uc6a9\ud558\ub3c4\ub85d reserved memory\ub97c \uc9c0\uc815\ud560 \uc218 \uc788\ub2e4. \uc774\uc640 \uad00\ub828\ub41c \ub450\uac1c\uc758 initial parameter\ub294 \ub2e4\uc74c\uacfc \uac19\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">shared_pool_reserved_size<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\ud070 object\uc758 \ud560\ub2f9\uc744 \uc704\ud574 \ubcc4\ub3c4\ub85c \ud655\ubcf4\ud574 \ub450\ub294 \uacf5\uac04\uc758 \ud06c\uae30\ub97c \uc9c0\uc815\ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\ub2e8\uc704: bytes<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uae30\ubcf8\uac12: 0 (reserved list\ub97c \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc74c\uc744 \ub098\ud0c0\ub0b8\ub2e4.)<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\ucd5c\uc18c: shared_pool_reserved_min_alloc (shared_pool_resrver_size\uac00 0\uc77c\ub54c\ub294 \uc758\ubbf8\uac00 \uc5c6\ub2e4)<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\ucd5c\ub300: 1\/2 shared_pool_size<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">shared_pool_reserved_min_alloc<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">reserved memory\ub0b4\uc5d0 \ud560\ub2f9\ud560 \uc218 \uc788\ub294 \ucd5c\uc18c \ud06c\uae30\ub97c \uc9c0\uc815\ud55c\ub2e4. \uc774\ubcf4\ub2e4 \uc791\uc740 \uac83\uc740 reserved space\uc5d0 \ud560\ub2f9\ud560 \uc218 \uc5c6\uc73c\uba70, \ud070 \ud560\ub2f9\uc758 \uacbd\uc6b0\uc5d0\ub3c4 \uc77c\ub2e8 shared pool\ub0b4\uc758 free list\uc5d0\uc11c \ud544\uc694\ud55c \uacf5\uac04\uc744 \ucc3e\uc544\ubcf4\uace0 \uc5c6\ub294 \uacbd\uc6b0 reserved space\uc5d0 \ud560\ub2f9\ud558\uac8c \ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\ub2e8\uc704: bytes<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uae30\ubcf8\uac12: 5000<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\ucd5c\uc18c\uac12: 5000<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\ucd5c\ub300\uac12: shred_pool_reserved_size<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">shared pool\uc758 flush\uc5d0 \ub300\ud55c \uc81c\uc5b4<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">ORA-4031\uc774 \ubc1c\uc0dd\ud558\ub294 \uacbd\uc6b0, \uc774 \uc624\ub958\uac00 \ubc1c\uc0dd\ud558\uae30 \uc804\uc5d0 \uc774\ubbf8 unpin\ub41c object\ub294 flush\uc2dc\ud0a4\uba74\uc11c \uc694\uad6c\ud558\ub294 space\ub97c \ucc3e\uace0\uc790 \uc2dc\ub3c4\ud55c\ub2e4. \ubaa8\ub4e0 object\ub97c flush\ud55c \ud6c4\uc5d0\ub3c4 \uc6d0\ud558\ub294 \uacf5\uac04\uc744 \ucc3e\uc9c0 \ubabb\ud558\ub294 \uacbd\uc6b0\uc5d0 ORA-4031\uc774 \ubc1c\uc0dd\ud558\ub294 \uac83\uc774\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc774\ub7ec\ud55c \uacbd\uc6b0\uc5d0 shared pool\ub0b4\uc5d0 \uc774\ubbf8 cache\ub41c object\ub4e4\uc744 flush\uc2dc\ud0b4\uc73c\ub85c\uc368, \uc2dc\uc2a4\ud15c\uc758 \uc131\ub2a5 \uc800\ud558\ub97c \uc57c\uae30\ud560 \uc218 \uc788\ub2e4. \uadf8\ub798\uc11c Oracle7.1.5\ubd80\ud130 dbms_shared_pool package\ub0b4\uc5d0 aborted_request_threshold\ub77c\ub294 procedure\ub97c \uc81c\uacf5\ud558\uc5ec \uc9c0\uc815\ub41c thresh hold\uac12 \uc774\uc0c1\uc774 \ub418\ub294 \ud560\ub2f9\uc774 \uc694\uad6c\ub41c \uacbd\uc6b0\uc5d0\ub9cc flush\ub97c \uc218\ud589\ud558\ub3c4\ub85d \ud560 \uc218 \uc788\ub2e4. \uc774 threshold\ubcf4\ub2e4 \uc791\uc740 \uac12\uc5d0 \ub300\ud574\uc11c\ub294 unpin \uc0c1\ud0dc\uc778 object\ub97c flush\ud558\uae30 \uc804\uc5d0 \uc624\ub958\ub97c \uc57c\uae30\ud558\uac8c \ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<ol style=\"margin-left: 50pt\">\n<li>\n<div style=\"text-align: justify\">\n<h3><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">V$SHARED_POOL_RESERVED view\ub97c \uc774\uc6a9\ud55c tuning<br \/>\n<\/span><\/h3>\n<\/div>\n<\/li>\n<\/ol>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">shared_pool_reserved_size\uc758 \ucd08\uae30\uac12: shared_pool_size\uc758 10%\uc815\ub3c4\uac00 \uc801\ub2f9\ud558\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">shared_pool_reserved_min_alloc\uc758 \ucd08\uae30\uac12: default\uc778 5000 bytes\uc815\ub3c4\uac00 \uc801\ub2f9\ud558\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">shared_pool_reserved_size\uc758 tuning<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">memory\uac00 \ucda9\ubd84\ud55c \uacbd\uc6b0 \uac00\ub2a5\ud55c SGA\ub97c \ub298\ub824\uc11c<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">REQUEST_MISS = 0<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uac00 \ub418\uba74 \ucd5c\uc0c1\uc774\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uadf8\ub7ec\ub098 OS memory\uac00 \ud55c\uc815\ub418\uc5b4 \uc788\ub294 \uacbd\uc6b0, \ubaa9\ud45c\ub294 \uc544\ub798\uc640 \uac19\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">REQUEST_FAILURES=0\uc774\uac70\ub098 \uc99d\uac00\ub418\uc9c0 \uc54a\ub294\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">LAST_FAILURE_SIZE &gt; shared_pool_reserved_min_alloc<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">AVG_FREE_SIZE &gt; shared_pool_reserved_min_alloc<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">(1)  shared_pool_reserved_size\uac00 \ub108\ubb34 \uc791\uc740 \uacbd\uc6b0<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 22pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\ub9cc\uc57d \uc704\uc758 \uae30\uc900\ub4e4\uc774 \uc804\ud600 \ub9cc\uc871\ub418\uace0 \uc788\uc9c0 \uc54a\ub2e4\uba74, shared_pool_reserved_size\ub97c \uc99d\uac00\uc2dc\ud0a4\uace0, \uac19\uc740 \ud06c\uae30\ub9cc\ud07c shared_pool_size\ub3c4 \uc99d\uac00\uc2dc\ud0a8\ub2e4. \ub610\ub294 shared_pool_size\ub294 \uc99d\uac00\uc2dc\ud0a4\uc9c0 \uc54a\uace0 shared_pool_reserved_min_alloc\uac12\uc744 \uc99d\uac00\uc2dc\ud0a8\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">(2)  shared_pool_reserved_size\uac00 \ub108\ubb34 \ud070 \uacbd\uc6b0<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 22pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uc774\ub54c, REQUEST_MISS=0\uc774\uac70\ub098 \uc99d\uac00\ud558\uc9c0 \uc54a\uace0 FREE_MEMORY\uac00 shared_pool_reserved_size\uc758 50% \uc774\uc0c1\uc774\ub77c\uba74 shared_pool_reserved_size\uac00 \ub108\ubb34 \ud06c\uac8c \uc124\uc815\ub41c \uacbd\uc6b0\uc774\ubbc0\ub85c \uc774\ub54c\ub294 shared_pool_reserved_size\ub098 shared_pool_min_allock\uac12\uc744 \uac10\uc18c\uc2dc\ud0a8\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">(3)  shared_pool_size\uac00 \ub108\ubb34 \uc791\uc740 \uacbd\uc6b0<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 22pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">REQUEST_FAILURES \uac00 0\ubcf4\ub2e4 \ud06c\uac70\ub098 \uc99d\uac00\ud558\ub294 \uacbd\uc6b0<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 22pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">LAST_FAILURE_SIZE &lt; shared_pool_reserved_min_alloc\uc744 \ub9cc\uc871\ud558\uba74<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 22pt\">\n&nbsp;<\/p>\n<p style=\"text-align: justify; margin-left: 22pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">\uc774\ub54c\ub294 shared_pool_size\uac00 \uc791\uc740 \uacbd\uc6b0\uc774\ubbc0\ub85c<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 22pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">shared_pool_size\ub97c \uc99d\uac00\uc2dc\ud0a4\uac70\ub098<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 22pt\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">shared_pool_reserved_size\uc640 shared_pool_reserved_min_alloc\uac12\uc744 \uac10\uc18c\uc2dc\ud0a8\ub2e4.<br \/>\n<\/span><\/p>\n<p style=\"text-align: justify; margin-left: 22pt\">\n&nbsp;<\/p>\n<\/li>\n<li>\n<div style=\"text-align: justify\">\n<h2><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Large Pool<br \/>\n<\/span><\/h2>\n<\/div>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Oracle8.0\uc5d0\uc11c large pool\uc774\ub77c\ub294 \uc0c8\ub85c\uc6b4 SGA\ub0b4\uc758 \uad6c\uc131\uc774 \ub3c4\uc785\ub418\uc5c8\ub2e4. large pool\uc774\ub780 shared pool\uacfc \uc720\uc0ac\ud558\ub098 \uc2e4\uc81c shared pool\ub0b4\uc758 \uc77c\ubd80\ubd84\uc744 \uc0ac\uc6a9\ud558\ub294 \uac83\uc740 \uc544\ub2c8\uace0 SGA\ub0b4\uc5d0 \uc9c1\uc811 \ud560\ub2f9\ud558\uba70, \uc774 pool\uc744 \uc0ac\uc6a9\ud560 \uc218 \uc788\ub294 \uc791\uc5c5\ub4e4\uc744 \uc81c\ud55c\ud558\uace0 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">Oracle8\uc5d0\uc11c large pool\uc744 \uc0ac\uc6a9\ud558\ub294 \uc8fc\uc694 \ubaa9\uc801\uc740 \ub2e4\uc74c\uacfc \uac19\uc774 \ub450\uac00\uc9c0\ub85c \ubcfc \uc218 \uc788\ub2e4.<br \/>\n<\/span><\/p>\n<\/li>\n<\/ol>\n<ul>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">MTS connection\uc5d0\uc11c session \uc815\ubcf4, \uc989 UGA\ub97c \ud560\ub2f9\ud558\uae30 \uc704\ud574\uc11c<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">sequential file IO\uc758 buffering\uc744 \uc704\ud574\uc11c (\uc608\ub97c \ub4e4\uc5b4, multiple IO slave\ub97c \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0\uc758 recovery)<br \/>\n<\/span><\/div>\n<p style=\"text-align: justify\">\n&nbsp;<\/p>\n<\/li>\n<\/ul>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">MTS connection\uc774 large pool\uc744 \uc0ac\uc6a9\ud558\ub294 \uacbd\uc6b0, \uc77c\ub2e8 fixed UGA\ub77c\uace0 \ud558\ub294 \ubd80\ubd84\uc740 shared large pool\uc744 \uc0ac\uc6a9\ud558\uace0, \ub098\uba38\uc9c0 session memory (UGA)\ub294 large pool\uc5d0 \ud560\ub2f9\ub41c\ub2e4. \ub9cc\uc57d large pool\uc774 \ucda9\ubd84\ud558\uc9c0 \uc54a\uc73c\uba74 ORA-4031\uc774 \ubc1c\uc0dd\ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">large pool\uc744 \uc9c0\uc815\ud558\uae30 \uc704\ud574\uc11c\ub294 init.ora file\ub0b4\uc5d0 large_pool_size\ub77c\ub294 parameter\ub97c \uc0ac\uc6a9\ud558\uace0, larlge_pool_min_alloc parameter\ub294 \uc774 large pool\uc5d0 \ud560\ub2f9\ub420 \ucd5c\uc18c\ud55c\uc758 memory chunk size\ub97c \uc81c\ud55c\ud55c\ub2e4.  \uc774 large_pool_min_alloc\uc758 \uac12\uc774 \ud074\uc218\ub85d large pool\uc758 fragmentation\uc740 \uc904\uc5b4\ub4e0\ub2e4. \ub9cc\uc57d \uc774 parameter\ub97c \uc9c0\uc815\ud558\uc9c0 \uc54a\uc73c\uba74 large pool\uc740 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\ub294\ub2e4. \uadf8\ub7ec\ub098 \ub2e4\uc74c \uc911 \ud558\ub098\ub77c\ub3c4 \ub9cc\uc871\ub418\ub294 \uc0c1\ud669\uc5d0\uc11c\ub294 large pool\uc5d0 \uad00\ud55c parameter\uac00 \uc124\uc815\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4 \ud558\ub354\ub77c\ub3c4 Oracle\uc774 \uc790\ub3d9\uc73c\ub85c \ud544\uc694\ud55c large pool\uc744 \uacc4\uc0b0\ud558\uc5ec \ud560\ub2f9\ud558\uc5ec \uc0ac\uc6a9\ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<ul>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">parallel_automatic_tuning = true<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">parallel_min_servers=n<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">dbwr_io_slaves=n<br \/>\n<\/span><\/div>\n<\/li>\n<\/ul>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">large pool size\uc5d0 \ub300\ud55c \uacc4\uc0b0\uc740 \ub2e4\uc74c \uac12\uc5d0 \uc758\ud574\uc11c \uacb0\uc815\ub41c\ub2e4.<br \/>\n<\/span><\/p>\n<ul>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">parallel_max_servers<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">parallel_threads_per_cpu<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">parallel_server_instances<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">mts_dispatchers<br \/>\n<\/span><\/div>\n<\/li>\n<li>\n<div style=\"text-align: justify\"><span style=\"font-family:\ub9d1\uc740 \uace0\ub515; font-size:10pt\">dbwr_io_slaves<br \/>\n<\/span><\/div>\n<\/li>\n<\/ul>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\">\uc774\ub7ec\ud55c default\uc5d0 \uc758\ud574 \uacc4\uc0b0\ub41c large pool\uc774 \ub108\ubb34 \ud06c\uac8c \ub418\uba74, performance\uc5d0 \ubb38\uc81c\uac00 \uc0dd\uae30\uac70\ub098 db startup\uc774 \uc548\ub420 \uc218 \uc788\ub2e4. \uadf8\ub7ec\ubbc0\ub85c \uc774\ub7ec\ud55c \ub54c\uc5d0\ub294 \uc801\ub2f9\ud55c \uac12\uc758 large_pool_size\ub85c \uc9c0\uc815\ud55c \ud6c4 \ub2e4\uc2dc startup\ud558\uc5ec\uc57c \ud55c\ub2e4.<br \/>\n<\/span><\/p>\n<p>\n&nbsp;<\/p>\n<p><span style=\"font-family:\ub9d1\uc740 \uace0\ub515\"><br \/>\n\t\t<\/span>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; &nbsp; Oracle Memory Model &nbsp; Oracle \uc758 \uc8fc\uc694 \ud2b9\uc9d5 \uc911 \ud558\ub098\uac00 SGA\ub0b4\uc5d0shared pool\uc774\ub780 structure\ub97c \ub3c4\uc785\ud55c \uac83\uc774\ub2e4. shared pool\uc744 \uc798 \uc774\ud574\ud558\uace0 \uad00\ub9ac\ud558\ub294 \uac83\uc740 Oracle\uc744 \uc0ac\uc6a9\ud558\ub294\ub370 \uc788\uc5b4\uc11c \uc131\ub2a5 \ud5a5\uc0c1 \ubc0f \ubb38\uc81c \ubc1c\uc0dd\uc2dc \ud574\uacb0\uc5d0 \ub9ce\uc740 \ub3c4\uc6c0\uc774 \ub41c\ub2e4. \uc774 shared pool\uc744 \uc774\ud574\ud558\uae30 \uc704\ud574 \uba3c\uc800 Oracle\uc758 memory structure\ub97c \uc0b4\ud3b4\ubcf8\ub2e4. Oracle\uc774 \uac00\uc7a5 \ub9ce\uc774 \uc0ac\uc6a9\ub418\uace0 \uc788\ub294 \uc6b4\uc601\uccb4\uc81c\uc778 Unix\uc5d0\uc11c\uc758 Oracle\uad00\ub828 memory \ud615\ud0dc\ub97c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":640,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"spay_email":""},"categories":[11],"tags":[298,299,300,301],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/haisins.synology.me\/wordpress\/wp-content\/uploads\/1\/cfile7.uf.237ED24A563C68E01B381E.png?fit=531%2C213","amp_enabled":true,"_links":{"self":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/639"}],"collection":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=639"}],"version-history":[{"count":0,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/639\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=\/wp\/v2\/media\/640"}],"wp:attachment":[{"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=639"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=639"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/haisins.synology.me\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=639"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}