


         8             ORACLE

             Own only what you can always carry with you; know
             languages, know countries, know people. Let your
             memory be your travel bag.
                          Alexander Solzhenitsyn

             When I was younger I could remember anything, whether
             it had happened or not.
                          Mark Twain

  뢠 ࠧ ࠢ ᯮ짮  ⥬ ORACLE,
   짮⥫   .    ᥡ:
    * 饥 ᠭ ᯮ짮  ⥬ ORACLE
    * ⥬ 쭠  (SGA)
    * ணࠬ   (PGA)
    *  ⥪
    * ணࠬ 

  ஡ ଠ樨  ॡ   ᯮ짮  
 "㪮 짮⥫  ⠫樨"  襩 樮 ⥬.
ࠬ, ᮤঠ騥  䠩 INIT.  ORA, ᠭ  ਫ D,  ⠪
  ॡ   ⥬ ORACLE.

         ORACLE ᯮ  ?


    ORACLE RDBMS ᯮ   ᫥ 楫:
*  ࠭ 믮 ணࠬ 
*  ࠭  ,  室      믮 ணࠬ
  (ਬ - ⥪饣 ﭨ ,  ண 롨 ப)
*   ଠ樨,  ࠧ  ᯮ  裡
   ᠬ ORACLE (ਬ -  䨪樨 ଠ樨)
*   ଠ樨,  ।  ⨢  ਩-
    (ਬ -   ,  ।騥  ᪠  ணࠬ)

  樮 ⥬ ORACLE ᯮ  "㠫 ".
㠫쭠    -   樮 ⥬ ᯮ짮
    ᯮ짮 譨 ⥫,  ᯥ稢
  ᯮ짮 ᭮ .

㠫쭠          ᯮ짮 樨
ॠ쭮 (᭮)  筮  (筮 - ᪮).  樮 ⥬
 짮⥫᪨ ணࠬ 頥  㠫쭮 , 
  ॠ쭠 .

         ணࠬ 

 ணࠬ    -   ᭮ ,  ᯮ㥬 
࠭ ணࠬ  ,    ᯮ   ᯮ.
ணࠬ  RDBMS ࠭  , 筮 ⫨筮   ਪ
ணࠬ  (  饭).

    

ணࠬ  筮     ࠧ     ⮫쪮 
䨪樨    ୮  ⠫樨 ணࠬ ᯥ祭. ॡ㥬
ࠧ    ⭮ 樮 ⥬.

                                    -- 89 --



    쪮 ⠥, ࠧ塞   ࠧ塞

ணࠬ  - ⮫쪮 ⠥   ⠫஢c   ࠧ塞
   ࠧ塞.  (⠫ ࠧ塞 ணࠬ   
樮 ⥬, ਬ -     PC).   ORACLE RDBMS
ࠧ,   ⮫쪮  ,  ⮡ 짮⥫   ᮧ
ᮡ⢥   ᭮ .   ਢ   ᭮  
筮 蠥 ந⥫쭮 ⥬.  ணࠬ 짮⥫ ⠪ 
 ࠧ塞묨  ࠧ塞묨;   ⨫ ORACLE ⠫
ࠧ塞묨,   - .  ᪮쪮 ஢ ORACLE,  ࠡ  
 ,  ᯮ짮  ணࠬ  ORACLE.

        System Global Area (SGA)

쭠   ⥬  (筮 뢠 SGA) ᮤন  
ࠢ ଠ     ORACLE.    ⠪
 Shared Global Area (ࠧ塞 쭠 ),  ନ
.

SGA ।  ᪥  ORACLE   㤠  ⠭.
騬  짮⥫  室  ⥪騥  ଠ樨  SGA.

室  ⮣,  SGA ᮤন ⮫  ᯮ㥬 ଠ, 
(॥) ঠ SGA  ᭮ ,   祬 ﭭ 뢠 
᪠.  ਬ, SGA ᮤন:

* ଠ, ।  ᠬ (ਬ -  ଠ 䨪樨)
*   
* ଠ ᫮  (࠭   ᫮).

     ⨬쭮 ࠡ  設⢥ ⥬ SGA    ﭭ
⮢  ॠ쭮 .  ᫨   ⠪, ந⥫쭮 ⥬
  ᪨ ᭨,  ⠪   SGA   ࠭筮
  譥   ᭮ .

        

     SGA  ।    ORACLE  ⥬  .
 ⮣,  ⮡ ᬮ ࠧ SGA ᫥  , ᯮ
  SHOW SGA ⨫ SQL*DBA.  (.  ਫ ).

    ࢨ筮 । ࠧ SGA     ஢ ࠬ஢
䠩 INIT.ORA.  㦤 ࠬ஢,  祭  ﭨ  SGA
  ਫ D.  ஬ ⮣,  ⥫쭠 ଠ,   

        塞   

    SGA  ࠧ塞,  ⠪  "뢠",        
ଠ ⮫쪮 RDBMS.     ORACLE ।  SGA.

        Program Global Area (PGA)

    쭠 ணࠬ  (筮 뢠 PGA) ᮤন   
ࠢ ଠ  ⢥ , ਬ -짮⥫᪮.
    ନ - 쭠   (PGA).




                                    -- 90 --



 筮 ।   ᮥ 짮⥫  ORACLE, 
   樮 ⥬.  PGA ᮤন ଠ  祭
(  ⢮    ணࠬ 짮⥫)     
ORACLE  ⥪騩 .

        

     PGA  ,    ᪨.     樮
⥬.  PGA ।   祭 짮⥫; ᫨ ॡ㥬
  㯭,   ᮮ饭   訡.   訡 㤥 訡
ORACLE   訡 樮 ⥬.  筮   
  ॣ樨, 짮⥫   ࠡ   PGA.

騥 ࠬ  䠩  INIT.ORA   ࠧ PGA  짮⥫᪨
ᮢ:
    * OPEN_CURSORS
    * OPEN_LINKS
    * SAVEPOINTS
    * DB_FILES
    * LOG_FILES

      PGA  䮭 ᮢ (DBWR,  LGWR,  SMON, PMON  ARCH)
   ⥫ ࠬ஢.

        ࠧ塞   

PGA -   ࠧ塞    .  PGA ।
   짮⥫.  PGA     뢠
ணࠬ  ORACLE    ⢥ 짮⥫᪮ .

         ⥪

     SQL  - ,  뤠 짮⥫᪨ ᮬ, 㦤 
 ⥪.   ⥪ -   ⤥쭠  PGA  ,
ᮤঠ ﭨ   SQL.   ⥪ ᮤন 
 ,  室  믮  SQL, :
    * ⥪ SQL - 
    * SQL -   ࠭᫨஢ 
    *   ப १ ࠡ    ஬ 祭
    * ᯮ㥬  믮  ଠ ﭨ 
    * ࠢ ଠ  ஢

    ନ "  ⥪"  筮  ਬ   ᨭ
ନ "".    10 㦤  ࠧ稥    ⨬
ନ.

        ⢮ ஢

짮⥫᪨     ᪮쪮  ஢ (, ᫥-
⥫쭮, ⥩ ⥪); ⢮  ஢ ⠭
ࠬ஬ OPEN_CURSORS 䠩 INIT.ORA.  讥 ⢮  ஢
 ࠡ⠥   ᯮ짮 㠫쭮 ;  ࠡ  ॠ쭮
 짮⥫  뢠 㦭 .

᫨      - ࠭祭    ⢮ 
஢,  ᤥ ᫥饥:



                                    -- 91 --



    * 㢥 祭 ࠬ OPEN_CURSORS
    * 㢥 CONTEXT_AREA
    * 㢥 CONTEXT_INCR

  ॡ ४ᨢ   ஢      믮. ਬ,
 CREATE TABLE   ᮡ 讣 ᫠ 䨪権  
⠡ ᫮  (⮡   ⠡  ⮫).   ⠪
஢  믮 ४ᨢ 맮;    믮 ᪮쪮
맮.

         

     ⥪ ᯥࢠ ᮧ  ।  ࠧ,   ⥬
᪨      室.   ࠧ,  । 㤥
 ࠧ   ⥪.

 ,  ࢮ砫쭮 ।塞    ⥪,
⠭  ࠬ஬  CONTEXT_AREA 䠩 INIT.ORA.   設⢠
樮 ⥬  㬮砭  ਭ 4.  ᠭ 짮⥫
ணࠬ     ⨨  ஢ 㪠뢠  祭 .

      9                    ORACLE

             Solitude is fine but you need someone to tell you
             that solitude is fine.
                                 Honore de Balzac

  뢠 ࠧ  ,    ⠢ ⥬ ORACLE.
  ନ  楯樨:
    *  짮⥫
    * 䮭 
    *   姠 ⥬ ORACLE
    * ⥬    ᪮쪨 ᠬ
    * ணࠬ 䥩
    * ࠩ ⮪ 

    饥 ᠭ ⨯ ᮢ,  ᯮ㥬 ORACLE RDBMS;
騥 ࠭祭  樨, 騥  樮 ⥬.    
⭮ ଠ樥   "㪮 짮⥫  ⠫樨"
  襩 樮 ⥬;   ஡ ଠ  ࠩ
ணࠬ 䥩   "㪮⢥ 짮⥫  SQL*Net".

           ⠪  ?

     -    "ࠢ  " 樮 ⥬,    - 
堭 樮 ⥬, 騩 믮 ਨ 蠣. 
樮 ⥬ ᯮ ନ ࠡ (job)   (task).  筮
    ᮡ⢥  ,  ன  ࠡ⠥.

     ᮢ  ⥬  (ਬ - ORACLE RDBMS) 祭 , ⠪
 ।,   ࠧ  믮  ࠡ⪠  ᮢ  
 . ਬ  ⢥ 祭  ᮢ 
㯠:
* ஢ ࠡ 㦥 ⠪ ࠧ, ⮡  ࠡ⠫
  ࠫ쭮,       ᮡ⢥ ।
* ।  ᠬ ࠧ塞  ,  
  ॡ  த⥫ ࢠ ६.


                                    -- 92 --



     ࠧ, ࠧ ᮢ  㢥 ந⥫쭮.

         ᮢ ⥬ ORACLE

    ⥬ ORACLE   ᭮ ⨯ ᮢ:

       짮⥫:

 짮⥫ ᯮ ।⢥  祫  ਪ
ணࠬ,   ⨢஢  .   짮⥫,
ᮥ訩   ORACLE ॡ  ⠪  .

   ࢥ:

     ࢥ  ⨢ 㣨 ᠬ,  ⮡ "  "
    믮﫨 ⢨

    ஬ ⮣,   ⨯ ᮢ - ࢥ஢:

  ⥭ :

      뢠    ⮩      ࠧ "姠筠
⥬ ORACLE  ⥭ ".   ⥭ ᮬ  
짮⥫ (⮬  ନ - ⥭)

  䮭 :

 ⠭  ᮢ (ARCH,  DBWR,  LGWR,  PMON, SMON), ᯮ㥬
 -ᮢ ⥬ ORACLE.  ᠭ  ࠧ " 
ORACLE" ⮩ . 묨 ᠬ      짮-
,   믮 㭪樨,    짮⥫ ⥬.  
        ORACLE      .

        筠  姠筠 ⥬ ORACLE

     ᮢ  ORACLE RDBMS   ᭮ ਠ  ᨬ
 ⮣,   ࠡ 짮⥫᪠ ணࠬ  ORACLE:    
ࠧ .

     樮 ⥬   롮:  
姠 ORACLE.   ⠫쭮 㦤  権  
"㪮 짮⥫  ⠫樨".

        짮⥫᪨ 

    짮⥫᪨     ⥬. 짮⥫᪨
 뢠  ਪ ணࠬ,  ⠪  ணࠬ  Pro*C, 
 㬥⠫쭮 ।⢠, ⠪  SQL*DBA. 짮⥫᪨ 
筮 ᮧ,  짮⥫ ᮥ  ⥬ ORACLE 
ନ   ᪠ ⭮ .

    짮⥫᪨      १ ணࠬ
䥩, 뢠   ⮩ .

         ORACLE




                                    -- 93 --



     筮  ⥬  ORACLE ணࠬ 짮⥫,   ORACLE 
ணࠬ 䥩 믮  ⢥ .   筮
⥬ ணࠬ 䥩 ⢥⢥  ࠧ   ணࠬ
 ORACLE,   ⠪ -  ।   짮⥫  ORACLE.

     ORACLE       樮 ⥬,  
ন ࠧ  ணࠬ  짮⥫  ணࠬ ORACLE
 ⢥ .   ࠧ 室  ঠ
楫⭮     .   樮  ⥬    
ᯥ ⠪ ࠧ࠭祭  ⮬   ࠡ    姠
ORACLE, ⮡ ।। ࠧ襭 ORACLE ணࠬ 짮⥫.

    쪮  ᮥ  ORACLE  ६ , ᯮ
 䥩.  짮⥫᪮ ணࠬ ,  ,
ঠ ⮣ 筮 ᮥ  ࠫ쭮 ᮥ 
ORACLE  ᯮ짮 ⥢ (姠筮) 䥩.

    㭮 9-1    ᮥ   짮⥫᪨ ᮬ 
ORACLE  筮 ⥬.
                Ŀ
                                                      
                                                   
                                                           
                                                        
  (          Ĵ
  ணࠬ)                       ணࠬ                  
                     Ĵ
                                        䥩              
                     Ĵ
                                                      
                                          O R A C L E          
               
         㭮 9-1 筠 ⥬   

        姠 ORACLE  ⥭ 

 姠筮 ⥬ ORACLE  ᠬ  ORACLE  ⤥  짮⥫-
᪮ .     筮 ⥬, ணࠬ 䥩 믮
㭪樨 ⢨   ணࠬ.   姠筮 ਠ
⢨ ⢫  ᯮ짮 堭  痢
樮 ⥬.

      ᮧ  ࠡ   짮⥫᪨
ணࠬ  뢠 "⥭묨 ᠬ".  姠筮 ⥬   
짮⥫᪨  ,  易   ORACLE,   ⥭ .

    㭮 9-2  姠 ⥬,  ࠡ  
.  姠 ORACLE  ᯮ  ⠪    SQL*Net,  
ணࠬ 짮⥫ ࠡ⠥  쭮 ,      - 
㤠 .     . 9-3, ணࠬ 䥩 ⠪
ন   ணࠬ,   ⮪ 裡  ணࠬ
।⢠ 裡 ਭ 樮 ⥬    ⠫樨.

    姠筮   ⠪ ᯮ짮   ਫ, 
 ᮥ  ⥬ ORACLE   ᯮ짮  ⢥
.    ⥬   ᯮ  楫 ⫠  ࠡ
 짮⥫.
                Ŀ

                                    -- 94 --



                                               
  짮-                                        
  ⥫               Ĵ
                               ^  ணࠬ                  
               
                                                     
                Ŀ
                                        䥩   V          
                     Ĵ
                                                        
                                               
                                          O R A C L E          
               
             . 9-2 姠筠 ⥬   

               Ŀ
                     
  짮⥫   Ĵ
                                  ^              Ŀ
                   
                           Ŀ               
                              v        Ŀ ࠩ   -
            ^   - 
                                           ⢨      -
 
                                 Ŀ        ⮪ 
                  vĿ              
                                             
                           ^               
                  Ŀ    
                              v                   
                  Ĵ
                           ORACLE        
                  
              . 9-3 姠筠 ⥬   

            ORACLE

ORACLE RDBMS   ࠡ   ᭮,  ⠪   ᭮
ਠ. ᫨ 祭 ࠬ SINGLE_PROCESS 䠩 INIT.ORA  祭
TRUE, ⥬ ᮢ, ᫨ - FALSE, ⥬ ᭠.

  樮 ⥬  ORACLE  ᪠   -
᭮, ⠪   ᭮ ਠ ᨬ  ।饣 -
.    ⥬,  ন  ᪮쪮 ࠫ ᮢ 
ࠧ , ORACLE  ࠡ ⮫쪮  ᭮ ਠ
(⥩訩 ਬ - ࠡ ORACLE  ᮭ   MSDOS).

         ORACLE

 ORACLE  (뢠   짮⥫᪨) -  ⥬,
 ன   㯭 ⮫쪮  짮⥫. ᪮쪮 짮-
⥫ ६     .  ORACLE ࠡ⠥  ᮭ
  짮⥫᪮ ०,  ⠪  MS-DOS  ন
ࠡ ᪮쪨 짮⥫.  ⢥  砥   
 ORACLE;       㣨 ࠬ.



                                    -- 95 --



     ORACLE  ᯮ   䮭 ᮢ,  
  ᭮ ०. 筮 ந⥫쭮 ᭮
ORACLE , 祬 ᭮.

         ORACLE

᭠ ⥬  ORACLE  ( 짮⥫᪠)  㦨
६      짮⥫᪮ ਫ.  設⢮  ⥬
- 짮⥫᪨,  ⠪     २  
 ࣠ ६ 㯠    짮⥫.
 ⥬  ॡ       䮭 ᮢ  
    짮⥫.

          ORACLE

     ࠡ     짮⥫  ᭠  ⥬ ORACLE
ᯮ  ⥫  ,  뢠 䮭묨.   
ᮢ - 㢥祭 ந⥫쭮   ९   
㭪権,    믮       짮⥫ ⥬
ORACLE.    ᨭ஭ 믮 ⥭/   ,
ਭ  ᮢ ORACLE  ⮣,  ⮡ ⨣ 襣 ࠫ
, ᫥⥫쭮, 襩 ந⥫쭮  ⮢୮ ࠡ ⥬
ORACLE.     ORACLE    ᯮ짮   䮭
ᮢ.  뢠 DBWR, LGWR, SMON, PMON  ARCH.

    ᫨ ᪮쪮 ஢ ORACLE ࠧ   ,  
ᮡ⢥  䮭 ᮢ.

      樮 ⥬   ᮧ  ⮬᪨ 
    ORACLE.   㣨 樮 ⥬  ࢥ,
ࠢ   짮⥫ (䨪 짮⥫) ᮧ  
⠫樨 ORACLE. ஡ ଠ    ᢮ "㪮⢥
짮⥫  ⠫樨".

       ⥫쭮  ᪮쪮 ⥬ ORACLE,  ࠫ쭮
ࠡ   , ORACLE ᯥ稢 堭 
஢.   楫 ࠧ祭 ਭ 䮭  ᭠
䨪ᠬ,  易묨  䨪஬  ORACLE. ਬ,
   BIRD  ⥬ DEC VMS 㤥  ⤥  
᫥騬 :
    * ORA_BIRD_DBWR
    * ORA_BIRD_LGWR
    * ORA_BIRD_SMON
    * ORA_BIRD_PMON
    * ORA_BIRD_ARCH

        Database Writer (DBWR)

    祭 ⮣    -   ஢    
-    .   뢠  浪, ॡ㥬   ঠ-
 楫⭮ .    ࠭,   ᥣ 
㯭    .  ᫨ ॡ ⥫ ,   
뢠     ।.

  ⭮  ORACLE  ⢫  ⮪஢  (.   15), DBWR
 㦤   ஢    믮 樨 COMMIT.



                                    -- 96 --



⭮  ࠭   ࠭権,   믮
commit,  ୠ ୮ 믮 (      
commit).

        Log Writer (LGWR)

     LGWR 뢠   ୠ ୮ 믮.  ଠ
 ⮣ ୠ   SGA.  ⮫쪮 ࠭樨  뢠,
LGWR 뢠  ୠ  ⥪騩 䠩 ॣ樨.  (,  ᫨
 ஢  ॡ  ᫨誮  ,    ୠ ந 
 ࠭権.    ⠭ ﭭ묨,  ᫨ ᫥⢨
࠭ ⢨⥫쭮 뢠). LGWR 뢠    
 ⭮⥫쭮 ᮢ,  ᣥ஢  ୠ ॣ樨
.

        System Monitor (SMON)

     SMON - 믮 ⠭ ஢ ORACLE.  ᯮ
   ORACLE  ⠪  ⮣, ⮡ 믮 ᮮ⢥饥
⠭  ⪠   ࠧ塞 ᪮ ⥬.  ஬
⮣, SMON  ⢥⢥   ६ ᥣ⮢, 室
  ⯠   -  ⠭ "" ࠭権, ய饭-
  ६ ਨ  ⠭ ,  맢 訡 ⥭
䠩  뢮  offline.  ࠭樨    殢 ⠭ 
 SMON-,   ⠡筮 ࠭⢮  䠩   
online.  SMON ਮ᪨ "஡㦤",  ⮡ ஢,     
室,  ⠪  砥,  㣮  㦨 
室.

        Process Monitor (PMON)

祭 PMON - 믮 ⠭ ਩ 訢 짮⥫
᪨ ᮢ.  PMON ⢥砥 ⠪    -     ᢮
ᮢ,  ᯮ㥬 ᮬ.  ਬ -   ⨢ ⠡
࠭権, ᢮ 䨪樨 ꥪ⮢  ⥬   㡨ࠥ 䨪
ᮢ  ᯨ᪠ ⨢ ᮢ ORACLE.     SMON,  PMON
ਮ᪨  "஡㦤"  ᠬ,   ⠪   맢 㣨 ᮬ,
᫨  ।,  PMON  믮 ᢮ 㭪樨.

        Archiver (ARCH)

     Archiver ந ஢   室饣  online
䠩 ୠ ୮ 믮    .   ARCH ⨢,
᫨ ᯮ ० ARCHIVELOG  娢 ⨢஢ (⮬᪨ 
). ଠ  ⨢஢ 娢樨     15.

    ⠫   娢樨    樮 ⥬  
ॡ 뤥 筮 ࠩ.     ஡ ଠ樨
   15  "㪮 짮⥫  ⠫樨".

        ணࠬ 䥩

    ணࠬ 䥩 -  䥩  ணࠬ 짮⥫ 
⥬ ORACLE.   㭪樨 室:
* ᯥ祭 ⭮ ,  ।饣 ࠧ襭  
  ᠬ 짮⥫
* 㯠  ⢥ 饣 ,  ଠ   ଠ樨,
  । , ࠡ뢠 뢠  । 訡

                                    -- 97 --



* ந ८ࠧ  ࠭ ,    ᮡ  -  
  ࠬ ࠧ ⨯   譨 ⨯  짮⥫᪨
  ணࠬ.

ணࠬ ORACLE 믮 ࠡ    묨    짮⥫᪨
ணࠬ,  ਬ - 롨ࠥ ப    .  䥩  ⮨
 ᪮쪨 ⥩,  ।⠢塞  ணࠬ ᯥ祭 ORACLE,  ⠪
 ।⢠ 樮 ⥬.

         ணࠬ 䥩

   㭪 9-4,  ணࠬ 䥩  ⮨   ᪮쪨
⥩:
* ணࠬ  䥩   ஭ 짮⥫ (뢠 ⠪ UPI - User
  Program Interfase)
* ணࠬ 䥩  ஭ ORACLE (뢠 OPI)
* ࠧ ࠩ (⮪-ᨬ ணࠬ,  ᯥ稢騥 )
* ணࠬ 裡 樮 ⥬
* ORACLE call interface (OCI)
* 䥩 ४ SQL (SQL)

         ࠩ,  ணࠬ  䥩   ஭ 짮⥫,
  ஭ ORACLE      ணࠬ ᯥ祭 ORACLE.

SQL*Net -   ணࠬ 䥩,   짮⥫᪨
ணࠬ  ORACLE 㭪樮஢    ࠧ .

    ࠩ ணࠬ 䥩

    ࠩ ⪮ 易   ।祩  .    믮 樨 
뢠,  ࠧꥤ,  ᨣ樨  訡  ஢ 訡.  
ࠩࠬ     ᯥ ࠩ ⮪ 裡.  ᥣ
     㬠稢 ࠩ.   ࠩ  
設⢠ ⠫権 ORACLE    㬠稢 ࠩ஬.

       ⠫஢  ᪮쪮  ࠩ஢  (ਬ  - ᨭ஭ 
ࠩ DECnet)     㬠稢  ࠩ,  ࠧ ⤥
짮⥫ 㪠뢠   裡  ࠩ.  
 ᯮ짮 ࠧ ࠩ.       ࠫ쭮
뢠    ,    ᪮쪨 (묨  
㤠묨), ᯮ ࠩ SQL*Net.

    㪮⢮ 짮⥫    ⠫樨  ⠫쭮 뢠 롮 
⠫ ࠩ஢,  ⠪  ࠩ஢ ᫥ ⠫樨.
"㪮⢮ 짮⥫  SQL*Net" 뢠 롮 ࠩ  ६ ࠡ
( 饭  ORACLE).


    ணࠬ ᯥ祭 裡 樮 ⥬

    ⥫쭮 뢠  䥩    ஭  ORACLE   ஭
짮⥫ १ ணࠬ  ।⢠, ।⠢塞 樮
⥬.  ਬ ⮬: DECnet, TCP/IP  ASYNC.    ᯥ稢
 (ࠧ) 짮⥫  樮 ⥬.

     ᯥ祭 ࠡ ORACLE ମ  ࠧࠡ⠭ ᯥ樠 ࠩ 
 ⮪ 裡.


                                    -- 98 --



    ⥢ ணࠬ ᯥ祭  ⠢ ௮樥 ORACLE,
 筮 த ⤥쭮 ⠢騪   쨬 ଠ.
                              Ŀ    Ŀணࠬ
                              ணࠬ     ணࠬ  -
               Ŀ    . OCI    . PCC 
                          ͻ
                ,     䥩     䥩           
               ⠢-   ORACLE        PCC SQL             
                       CALL (OCI)      (SQL)             
                ORACLE                                       
             ͼ                                   
              Ĵ         
              ணࠬ 䥩 짮⥫ (UPI)           
   Ĵ Ŀ     
               DECNET        ASYNC         SINGLE           
             Ĵ        
                 ^ VMS           RS232                         
                 DECNET         ^                         SQL* 
                 Ŀ                                    Net  
                                Ŀ                          
                     v                                         
                 VMS                                          
               DECNET         RS232 v                          
              Ŀ    Ŀ    Ĵ        
               DECNET       ASYNC          SINGLE           
              Ĵ      
              ணࠬ 䥩 ORACLE (OPI)                 
              Ĵ         
             ͼ
                                                          ணࠬ
                      O R A C L E   R D B M S             ORACLE
               
            㭮 9-4  ணࠬ 䥩

         10                    SQL - 

Perhaps of all the creations of  man  language  is  the  most astonishing
Lytton Strachey A clear statment is the strongest argument.  English proverb

     ⮩  뢠,   ந室 ᫥ 뤠  
SQL.   襣     ᫥ ᮣ襭,
뢠   .    ᥡ:
    * । SQL - ஢
    * ᯮ짮 ஢  ⥩ ⥪
    * 蠣 ࠡ⪨ SQL - ஢:
          * ᮧ 
          * ࠧ 
          * 뢠 ६
          * ᠭ १⮢
          * । 室
          * 믮
          *   - 롮ઠ ப
    * ᯥ樠 ⨯ ᮢ

  ਪ ।⢠ ORACLE  ,  , ࠭稢
ᯮ짮 SQL,  SQL -  ᯥ稢   殢 
     .   㣨 ⪨  㯠       室
⥬  ORACLE RDBMS ⥭樠쭮  楫⭮ .

                                    -- 99 --



    ⠫, ᠭ  ⮩   襩      
짮⥫, ࠡ  㬥⠫묨  ਪ묨 ।⢠ ORACLE.
, ᫨  ࠧࠡ稪 ਪ ணࠬ,  , , ॡ
  ࠢ 㯮 (ᮡ      
ਫ).   ⭮,  ணࠬ  䥩    ࠢ  ⨫⠬
ORACLE,   ப   .  ⠫ﬨ   
㬥樨  ४ࠬ,  ਬ - "㪮 짮⥫ 
PRO*FORTRAN".

          ᥡ ।⠢ SQL -  ?

     SQL -  ப  몥 SQL, ।  ࠡ RDBMS.
  ப ⮨  १ࢨ஢ ᫮ SQL (᫮,   SQL
ᯥ樠쭮 祭  筮   ᯮ㥬  㣨 楫).  ਬ -
᫮ SELECT  UPDATE - १ࢨ஢ ᫮    ᯮ짮  
⢥   ⠡.     ⥭ "।"
SQL,  ਬ:

    SELECT ENAME, DEPTNO FROM EMP ;

쪮 ⠪    믮 ( ⫨稥  ࠣ). ਬ,

    SELECT ENAME

    ਢ  ᮮ饭,  訢饬 ⥫ ଠ. 
SQL  ࠪ⮢  祭  ( ) ணࠬ  .

           ⥪

     楫 ࠡ⪨  SQL 뢠  ஬.  -  
ࠪ᪨ ᨭ " ⥪",  㦤襩   8. 稥
 ⨬ ﬨ 쬠 ⮭.

 -  ࠡ   ࠭ ଠ樨.  ᮤন ଠ
 ﭨ  SQL     ६.    ,
  -   , 㯭 짮⥫,   ⠪
।⢮, ᯮ㥬  ࠧ .    
䨪, ᯮ㥬  뫮  .

    ,  ᨬ  ⢨,  ।ਭ 짮⥫, 
室  ࠧ ﭨ    䠧.

     ⥪ -   , ᮤঠ ଠ . 
     ⥪.

        ⮩ ਬ 믮 SQL - 

     ਢ 饭 ᠭ 믮  SQL.   ⮬
ਬ ᯮ  DML (UPDATE);  ᮢ (SELECT) ॡ
⥫  蠣.  ⠫쭮  ᠭ ࠡ⪨   ⨯  ஢
SQL ਢ   ⮩  .

    ⨬,  ᯮ ணࠬ  PRO*FORTRAN-    楫 㢥
 ᥬ 㦠騬 ⤥.  ணࠬ   ᫥騩 :

    EXEC SQL UPDATE EMP SET SAL = 1.10 * SAL
         WHERE DEPTNO = :DEPTNO


                                   -- 100 --



    ⨬,    ᮥ  ORACLE   ᮮ⢥騥 ਢ
  ᥩ.  :DEPTNO -    ६  몠, ᮤঠ
祭   ⤥;  祭   ᥭ  ६ 
믮 襣 .  믮 SQL -  PRO*FORTRAN
᪮ 祭 DEPTNO   .

    믮  ࠧ  ᫥騥 蠣:

1.  .   ᮧ  맮  ணࠬ 䥩.
     ᮧ ᨬ  ⨯ SQL - ;  ᮧ 
   ।ਨ .   ணࠬ  ४஢   ᮧ
   .

2.   .  ᨭ⠪  SQL  
   ।⠢ 㦠  .  ࠧ 砥  ᥡ:
* ࠭ SQL - 
* 㧪   
* ஢ 稩 㯠  騬 ꥪ⠬ 
* ।  㯠,   㤥 ᯮ짮  믮
   
* । ॡ㥬  믮 ᮢ
* ஢  ᮢ.

ਬ, । ꥪ⮢ , ॡ㥬  믮 
(ਬ - ⠡  ),   䨪஢- ,   﫨
  믮 .

3. 뢠    ६.   ⮩ 窥 ORACLE "" ᮤঠ
    SQL,      筮  ଠ樨, ⮡ 
   믮.   ਬ  㦤  祭  ६  .
    襬 ਬ -    祭   :DEPTNO.   뢠
   "뢠 ६".  ணࠬ  㪠  ⢨⥫쭮
   祭 ६,   ,  ஬  ᯮ.

4. 믮 .  ⮩ 窥 RDBMS   室 ଠ
   믮 .

        ᯮ짮 ஢  ୮ 믮 ஢

    ᫥ 믮  䠧     ⠥  筮 ଠ樨
 ७   室  䠧  ᠬ 砫.  
࠭   ,  SQL -  樨    ⨬ ஬.
㣨 ᫮,    ஠஢   믮 䠧
뢠  ६   㣨  祭  믮  
୮ ࠧ.  ᫨ 易 ६   ⨯   
祭,      䠧 뢠    믮 .
᫨ ६ 易  뫪 (,    祭),  ⯠
室  ୮ 뢠, ⠪  ORACLE   
६     ⮬᪨    祭.

     ᪮쪮  ஢,    ࠭ ஠஢
ﭨ ᪮쪨 SQL - ஢.  ୮ 믮  ஢
 稭  䠧 뢠  믮,  ⥬ ᠬ ६ 
⨨  ஢    ࠧ ஢.

    ࠡ⪠  (⠫쭮)



                                   -- 101 --



᫨  ⠫ ।騥 , ᯮ,   ⨫ ORACLE 
ࠡ ⮬᪨  設⢮ 짮⥫  㦤  ⮫ ⠫쭮
ଠ樨.  ,  ࠧࠡ稪 ਫ   ORACLE   
ଠ   ᠭ  襭 ࠪ⨪ ਪ
ணࠬ. ਬ,  㬥⠫  ।⢠  
ࠧࠡ稪 ࠢ ⢮   ᯮ짮 ஢.

     㭪 10-1  ⠤ ᯮ  SQL.
                Ŀ
                  ।          
                   ⥪ ()        
                
                Ŀ
                  믮 ࠧ  
                  SQL   ⥪    
                
                              <Ŀ
                Ŀ   
                  易  ⠢塞     
                         祭               
                   
                Ŀ   
                  믮 ⥪騩 ,     
                  室騩   -     ⠥ -
                          ⥪                 , -
, ᫨      
   >Ĵ 믮
       Ŀ    ⭮
                 , ᫨        -
                 ,  १       ^  ࠧ
                  
                             >Ĵ
               Ŀ   
  蠣        ।, ᫨  -   
 믮      , ६    ^
 ⮫쪮              १             
 ᮢ         
                             >
               Ŀ
                 ᫨   , 
                  १騥     
                 ப                     
             
            㭮 10-1 ⠤ ࠡ⪨ SQL - ஢

        ⨥  ⨥ ஢

     設⢮ 짮⥫ ORACLE   ⮬
ࠡ ஢  ⨫⠬,  ணࠬ  䥩 ।⠢
ࠧࠡ稪  ਪ ⥬  ᮪ ஢ ࠢ ࠬ.
ਬ,    ᮧ , ⨢  RDBMS.

      ᮫⭮ ࠭祭  饥 ⢮ ६
 짮⥫ ஢,  ᫥     ࠭祭:
*   ॡ 㠫쭠 , ⠪  ⢮
  짮⥫᪨ ஢ ࠭稢 㯭  .



                                   -- 102 --



* ⥬  । ⢠ ஢   짮⥫ ⠭-
   ࠬ஬  OPEN_CURSORS  䠩  INIT.ORA.   ⠫쭮 
  ࠬ ᠭ  ਫ D.

 ᮧ  ஢  ।⠢  २⢠ ன
ਫ. ਬ, 㢥祭 ⢠ ஢ 筮   㬥-
    ஢ SQL ஢   ந⥫쭮.

᫨  筮 ,  ᪮쪮 ஢  ॡ  । ,
  㡥,  ᬮ    ࠫ쭮.

  ஡ ଠ樨  ன  ਪ  ணࠬ  
 19.

    ⠪᪨ ࠧ ஢

 ६ ࠧ  ।  짮⥫᪮   RDBMS 
⮢  믮.   ⮬ ⠯  ࠡ⪨     
 訡.   ६ ࠧ  RDBMS 믮 ᫥饥:
* ࠭᫨ ,  ஢   ᮮ⢥⢨ ࠢ ᠭ
* ஢,    ⥪騩 짮⥫ ਢ  - 
  訢 ⢨
* 믮  ᬮ ᫮   楫 ஢ન । ⠡ 
  ⮫殢
* ८ࠧ   ᯮ짮 ᨭ   ஢   
  ᮮ⢥騬 ⠡栬
*  । ᮢ ࠧ   ⠡栬  ᮮ⢥
  
* १ࢨ () 室 ꥪ  (⠡,  , )
     ⠢ 묨   믮 
* 롨ࠥ ⨬  㯠   (ਬ -  롨 
  ࠧ묨 㯭묨 ᠬ).

஢ ࠬ᪮ ࠧ  ()  ⬥  ⨨ 
      SQL -   㣮 (୮
ᯮ짮).

     ࠬ᪮ ࠧ ᯥ樠쭮 ࠧࠡ⠭ ⠪ ࠧ, ⮡
᪫  ࠧ  ⭮ 믮 .  ORACLE
࠭᫨   SQL    ࠧ,   ୮ 믮 
᫥ 饭  ⮬ .

     ࠧ  SQL       訡,  
  訡, 塞  믮. ஬ ⮣,  訡 
     ࠧ .   訡,   訡
८ࠧ ,  訡   (த 㡫஢ 祭 ப,
㥬 㭨쭮)  ⠪ ஢,  ⭮  訡,  
  㦥  뤠 짮⥫ ⮫쪮  ⠯ 믮.

        뢠 ६

     䠧 ࠡ⪨ SQL - , 뢠 "뢠 ६", 
㪠뢠  祭 ,    ᯮ짮  ࠡ
.   짮⥫      뢠    ⮬,    
믮  뢠 ६, ⠪  ⨫   訢 
। 祭 .



                                   -- 103 --



⮡ 易 ६,  室 ᯥ஢   祭
(⠭),   ⮣ 祭,  ⮡ ORACLE   ᮮ⢥饥
祭   믮.  ᫨   㪠뢠   (뢠 
뫪),     믮 뢠  ୮ 믮.  
   祭  㦭 ,   ORACLE 㤥  室 
㦭 , ᯮ .   ᪮  祭 㪠뢠 , 
 㪠뢠 ⠪ ⨯      祭 ( 砥, ᫨
ORACLE ॡ 믮 ८ࠧ  ࠧ ⨯).

        ᠭ १⮢

 ᠭ  १⮢ 樨 ॡ ⮫쪮  ஢ ᮢ.
 ⫨  ஢ 㣨  ⨯ ⥬,     砥 ᯥ譮
믮  .    ६  ⠫  
⮫쪮  祭  ᯥ  㤠,       
ப.    ᥣ ।⠢  ⠡筮 ଠ  
१ 롨 ப (  筮,  㯯).   䠧 ᠭ
 室  ,  ᫨ १ ⥭.  ਬ, 
,   ᫥饣   ॡ  ⮫:

    SELECT ENAME, EMPNO FROM EMP ;

     ,     १ 㤥  :

    SELECT * FROM DEPT ;

     ⮬ 砥 室 䠧 ᠭ १⮢.   ⮬ ।
ࠪ⨪ (,  ⨯   ) १.

        । 室

        䠧  ᠭ,  䠧  ।  ᯮ ⮫쪮 
ᮢ.   䠧 ।  㪠뢠 ᯮ, ࠧ  ⨯ 
 ६,    ਭ ࠭ 祭.(᫨ 室,
ORACLE 㤥 믮 ८ࠧ ).

        믮

       믮  SQL  -  室 ⢨ ந.
  ஢   㪠  ⢮ 믮.   뢠
"ࠡ⪠ ᨢ".   "n" 믮,  ⥬ 易  ।
  砫  ᨢ ࠧ୮ "n".    ஡ ᬮ  㪮⢥
 ணࠬ 䥩, ਬ "㪮⢮ 짮⥫  PRO*C".

        ࠡ⪠ ஢ DDL

믮 ஢ DDL ⫨砥  믮 DML  ᮢ, ⠪   
砥  ᯥ ॡ     ᫮ .  ஢
DDL 䠧 ࠬ᪮ ࠧ 砥   ᥡ  ६   
,   饭  ᫮,  믮.   ࠡ⪥   ஢
 ⠤ 뢠  । 室.

        ࠡ⪠ ᮢ

 ࠡ⪥ ᮢ   ⭮襭    ⥫ .
   ᥡ  ⮫쪮  SELECT,     믮 
㣨  SQL.  ਬ,   ᫥ ஢  ॡ
믮   ࠧ:

                                   -- 104 --



    INSERT INTO table SELECT ....
    UPDATE table SET x = y WHERE ...
    DELETE FROM table EHERE ...
    CREATE table AS SELECT ...

      ᫥騥 ᮡ:
*   ॡ 믮 䠧 ᠭ  ।
*  䠧 믮 ॠ쭮   믮 ( ᪫祭 ।⥫쭮
  ࠡ  ⮢  롮થ ப)
* ॡ  ⨢稢 ⥭ (.  12)
*  ᯮ짮  ஬筮 ࠡ⪨ ६ ᥣ (.4).

    롮ઠ १ ப 

 砥  ᮢ    䠧 믮 ᫥ 䠧 롮ન १
ப. ப 롨  㯮冷稢  ᮮ⢥⢨  ᮬ  
ᯥ譠 롮ઠ 頥 । ப   ,   㤥 ࠭
᫥.  ப  롨    ᨢ;   ⮬ 砥 ࠧ୮
ᨢ "n" । ⢮ ப, 頥   롮થ.

         11                 

                Success generally depends upon knowing how long
                it takes to succeed.
                      Charles Louis de Secondant Montesquieu

     ⮩    । ࠭樨  ᯮᮡ,    
 ࠭樨       .   뢠 ᫥騥
:
   * ।  ࠭樨 (뢠 ⠪ ᪮ 楩 ࠡ)
   * 窨 ࠭  " ᭨"    ᮣᮢ ⥭
   * SQL - , ᯮ㥬  ࠢ ࠭ﬨ:
         * COMMIT
         * ROLLBACK
         * SAVEPOINT
    * 䥪  뤠  ஢   .

    ਠ ⮩   㤥 ᥭ  ࠧࠡ稪 ਫ, ⠪  
ࠬ    .  易    ⮩ ଠ  
  :
    *  12        ࠫ쭠 ࠡ⪠  ஢
    *  15        ⠭  

        । ࠭樨

    ࠭ ( ᪠  ࠡ) -    ᫥⥫쭮 SQL
-  ஢,   ORACLE ࠪ   ꥪ. 設⢮
ணࠬ ਫ ᮤঠ ᪮쪮 ⨯ ࠭権.  ࠭  
  饩 -     ப  ⠡ १⮢
 ,     - ᫥ 砩,    "ᬮ
"  楫 襣     뤠 ஢ ᮢ.

    ࠭      ᪮쪨 ஢ SQL 
᫥⥫쭮,   ⪮  .  ਬ,   ਢ
⨬ ࠭樨:
    * ᮧ ⠡   TEMPTABLE
    * ⠢   ப  ⠡ VENDORS
    * 㤠 㤭  ᯨ᪮  ⤥,    㤭

                                   -- 105 --



㣮 ⤥,  ஥⮢,    ਭ ⨥  த-
  㦡 ( ᨬ  ⮣, ᪮쪮 SQL - ஢ 믮 
᪮쪮 ⠡ ).

     ᫥ ਬ   ᮮ⢥ ⠡  ࠪ⮢
  ࠭;  ⮫쪮 ᫥ ᯥ譮 믮  ஢
  ⢨⥫쭮 ᥭ.

    ⨥ "ᯥ譮 襭 SQL - ஢"  ⫨砥  
"࠭ ᠭ" (committed).

ᯥ譮 믮 砥,   ஠஢   ࠢ,
 ⥬ 訡筮  ᯮ.  ,     ⢥ত  
࠭樨,  짮⥫,  뤠訩  ,  "⪠" 
(⬥   ). ᯥ譮 訫 ,   ࠭.

 ᠭ-砥,  宧鶴     ᪠ "ᤥ
 ⮩ ࠭樨  ﭭ묨".   뢠 ࠭, 
   ᪮쪨 ஢ SQL,   !  ࠭ 
ᠭ,     ⢨ " " 㣨 짮⥫.  
   ⪠ (⬥) ࠭ (roll back).  ⮩ 
㦤 ᮮ⢥騥  SQL: COMMIT  ROLLBACK.

     ࠭権  ⥬

⥬ ORACLE ࠭ ᮣᮢ   ᭮   ⢥-
 SQL - ,    ࠭樨 ( ࠭    
 ).   ࠭樨    ﭭ ࠭,
 ⪠뢠 .  ᫨ 樮 ⥬  ணࠬ 짮⥫
⪠    ࠭樨,    ⮬᪨ ⠭
 ﭨ, ।饥 ⮩ ࠭樨.

    ⨥ ࠭樨       ࠢ 묨
  ࠭  楫⭮        ⪠ ணࠬ 짮⥫ 
樮 ⥬.

    ਬ, ᫨  죨 ᭨     ॢ  㣮,
   ஢ ,   ⬥. ᫨ 訡
ந諠  ᥭ ,   ᤥ  㤥.  

    砫  砭 ࠭樨

࠭ 稭   ࢮ 믮  SQL - .
믮  SQL -   饭     砥  ᥡ
 DML, DDL  DCL.

    ࠭ 蠥     ᫥  ᮡ⨩:
    * 뤠 COMMIT  ROLLBACK
    * 뤠    DDL  (⠪  CREATE,  DROP,  RENAME  ALTER)
      (뢠 । ࠭)
    * 訫  DDL (࠭, ᮤঠ  ᥡ  DDL,
      뢠 ⮬᪨)
    * 짮⥫  ᮥ    ORACLE (ਬ - EXEC SQL ... RELEASE)
      (࠭ 뢠)
    * ਩ 襭  짮⥫ (࠭  ⪠뢠).




                                   -- 106 --



     ⮫쪮 ࠭ 襭, ᫥騩 SQL -  稭 
࠭.  ᫨    ࠭樨      COMMIT  
ROLLBACK,   ଠ쭮 襭 ணࠬ (ਬ - EXIT  SQL*Plus 
DISCONNECT) ⢥न 믮 ࠭樨,  , ਩ 襭
( ணࠬ 稢  EXIT  DISCONNECT) 맮 ⪠ .

    ᫨ ⢥  SQL 訫 ਩,  ⢨  
ᠭ,  ।騥    ᠭ   ⪠祭
짮⥫.   짮⥫᪠ ணࠬ ⪠뢠 ।
࠭樨,  ORACLE ⬥砥 訡   ⠭   ﭨ,
।饥 ࠭樨.

    ᫨ ਩  樮 ⥬ (  짮⥫᪨
),   ⠭  ६  ⠭ 樮 ⥬
(  ⠭  ORACLE).

    ࠭樨 ⨯ "⮫쪮-⥭"

    ࠭樨 ⠪ ⨯     뤠 ⮢   
㯮  ᪮쪨  ⠡栬. ਬ, ᫨  筮 ॡ,
⮡   㯯  易 ⠡ 뫨 ᮣᮢ  
.

    ᯮ SQL -  SET TRANSACTIONS READ ONLY   㪠, 
। ࠭ 㤥 ⮫쪮 .    ⠫쭮 ଠ樥 
⮬     12.

     ࠭樨 ।  ⨫ ORACLE?

   筮 ⨫ ORACLE  ਪ ணࠬ ᠬ  ।⠢, 
     ࠭樥      ६ ᤥ
COMMIT  ROLLBACK  ⮩ ࠭樨.

 饬  砥  ⮫쪮   ࠧࠡ稪   ਪ   ⥬, ᯮ騥
ணࠬ 䥩 ORACLE,    ⮬,  ⢨ 室
㯯஢  ࠭.  ⮬ ᯥ᪮  ⮩  
ࠢ쭮 ꥤ 믮塞 ࠡ  ⤥ ᪨ .

    ࠭  ᮤঠ    ,  室   
ࠡ (    !).   砫 ࠭樨    砭 
    易    ᮡ  ⠡栬   ᮣᮢ 
ᮡ.  㣨 ᫮, ࠭樨    SQL -  ஢,
믮  ᮣᮢ  .

    ਬ, ।  䮭  (᪠ - 1000 ஢)    
㣮   㬥襭 ࢮ , ⠪  㢥祭 ண.  
⢨  믮 .    砥 믮 commit ᫥
,  । .

    筮, ᫨  믮  樨   (250  750
஢),   ६  뢠    ⢨ (  
 ।).   㣮 ஭ -  易   , ਬ -
 -     । ࠭.

        ࠢ ࠭ﬨ   ஢ SQL




                                   -- 107 --



     믮  ⪠ ࠭樨 ᯮ  ᫥騥 SQL - 
    COMMIT WORK
    SAVEPOINT
    ROLLBACK WORK

     COMMIT    ROLLBACK    ࠡ  稭
. COMMIT   "ﭭ묨",  ROLLBACK "⬥" 
  ࠭樨.  SAVEPOINT 祭 "⠫쭮 ᭨"
, ⠪  ᫥⢨    ࠭ ,   
窥 ࠭.

         COMMIT WORK

 COMMIT WORK 믮 ᫥騥 ⢨:
    *  "ﭭ묨"   ,  ᤥ    ⥪饩 ࠭樨
      (⢥,      쭥襬)
    * 頥  窨 ࠭   ࠭樨
    * 蠥 ࠭
    * ᢮ ꥪ, ஢  ࠭樨

    ⠪  ᫥騩:  COMMIT [WORK]

    祢 ᫮ WORK 易⥫쭮.

㥬 ࠪ⨪  -    ਪ ணࠬ  ࠭樨 ,
ᯮ  COMMIT  WORK  (  ROLLBACK WORK),    ᫥
। ᮥ ࠭.  ᫨    ᠫ ࠭ 
ணࠬ 訫 ਩, ᫥  ᠭ ࠭ 㤥
⬥ (⪠).

     ந室  믮 COMMIT ?

।  ࠭樨,   ன  﫨 , 믮 ᫥饥:
    * RDBMS     rollback
    * RDBMS     ୠ ୮  믮  (
             ࠭樨)
    *  ந    

     ࠭      뢠,  믮 ᫥饥:
    * ࠭ 砥 "襭".
    * ᫨  ୠ ୮ 믮   ᠭ  online 䠩,
       믮
    * ஢ ப  ⠡ ᢮ (  ᢮
      ꥪ, ஢  ᨭ⠪᪮ ࠧ)

    ᫥ 믮  COMMIT  (    易⥫쭮 -    ),  
뢠  .   ᠭ ࠭樨  ॡ  ଠ
⪠    뢠.

    뢠    ୠ  ୮ 믮 筮
 ࠭ ଠ樨 ࠭樨,  ⠪     ⠭
 ⮣ 䠩.

        ᯮ짮  SAVEPOINT





                                   -- 108 --



    窨 ࠭   ᯮ짮   ࠭樨  
 .   ந쭮  ࠭   ࠡ    
६    쭥襬 ࠭   ⪠. 
ࠧ  让 ࠭樨    ࠭  筮   窥,  
  믮 commit  rollback.

⠪ ᮮ⢥饣 SQL -  ᫥騩:
    SAVEPOINT savepoint_id

     savepoint_id -  䨪 SQL (稭  ⥬  ࠢ, 
 㣨 ꥪ )  ६  몠 ணࠬ஢:

    SAVEPOINT add_eml1
    SAVEPOINT insertsmade

    ᫨  ᮧ  ࠭  ⠪  䨪஬,  
।, । ଠ . ᫥ ⮣,  窠 ࠭
ᮧ,  믮 COMMIT :

    COMMIT WORK

     ⪠  窥 ࠭:

    ROLLBACK WORK TO savepoint_id

     㬮砭   ਭ 5 ⨢ 祪 ࠭. ⨢
窮 ࠭ 뢠 ⠪,   ᯥ஢ ᫥ ᫥
樨 commit  rollback.   ࠭祭    
  祭 ࠬ SAVEPOINTS 䠩  INIT.ORA.  ᨬ쭮  
㪠 255 祪 ࠭.

 㭪 11-1  ᯮ짮 祪  ࠭   ⬥ 
࠭樨.

    UPDATE EMP SET DEPT = 'US SALES' WHERE DEPT = 'SALES'
    SAVEPOINT USDONE

    UPDATE EMP SET DEPT = 'INT'L SALES' WHERE MGR = 6745
    SAVEPOINT ILDONE

    UPDATE EMP SET  MGR = 6745  WHERE MGR = 5902
    ROLLBACK TO USDONE

    UPDATE EMP SET  MGR = 6745  WHERE MGR = 5902
    UPDATE EMP SET DEPT = 'INT' SALES' WHERE MGR = 6745
    COMMIT

  㭮 11-1 ਬ ஢ SAVEPOINT, COMMIT  ROLLBACK

    窨 ࠭   ࠪ⨢ ணࠬ,  ⠪   
ᮧ   ஬ 蠣 楤.    
ࠢ 訬, 묨 楤ࠬ. ਬ,  ᮧ 窨
࠭     ࠭樨   訬 ⢮     .
  砥 訡   室  ୮ 믮 
.




                                   -- 109 --



    窨 ࠭   ணࠬ,   ⤥ 楤. 
⮬ 砥 窨 ࠭   ᮧ । 砫  㭪樨.
᫨ 㭪 訫 ਩,   㤥   ।饬
ﭨ   ⥬ 믮 㭪  묨 ࠬࠬ  
믮  楤 ⠭.

        Rollback  ஢ 

    ᫨   믮  SQL ந諠 訡, ਬ -  ⪥
⠢ 㡫饥 祭    㭨  ,  ⪠뢠.
 砥 筮 ⮬,  ᫨  । 믮 
뫠  ᮧ  窠 ࠭.

    訡, ਢ騥  ⪠ -  訡, 騥 ⮫쪮  ⠯
믮,  ⠪  ⪠ ⠢ 㡫騩 㭨  
ࠢ쭮 ᫮  ᫮ ⮫. ⠪᪨ 訡  SQL - 
  ⠤ ᨭ⠪᪮       ਢ   ⪠⠬.
    ⪠祭  ।饭  "ᬥ⥫
஢" ( ⮩  樨 짮⥫ ࠢ ।०饥
ᮮ饭).

     ࠧ,  ਩ 襭 SQL -  ਢ  
    ࠡ;      ᮡ  ᥣ ।饣 
⥪饩 ࠭樨.  ᫨      DDL, ।騩  commit 
⪠뢠.

  ⭠   "⪠  ஢ ". ORACLE
믮       ᮧ ।⢥  । ⨬
஬ 窨 ࠭.  - ।⢥  ⮩ 窥 ࠭
 .

         ROLLBACK WORK

   㦨    ⬥  ࠡ    ᫥騩 ᨭ⠪:

    ROLLBACK  [ WORK ] [ TO [SAVEPOINT] savepoint_id ]

祢 ᫮ WORK 易⥫쭮.
ᯮ짮 ROLLBACK  ࠧ TO SAVEPOINT ਢ  :
    * 襭 ࠭樨
    * ⬥    ⥪饩 ࠭樨
    * ⪥ 祪 ࠭  ⥪饩 ࠭樨
    * ⬥  ஢ ࠭樨

    ᯮ짮 ROLLBACK  ࠧ TO SAVEPOINT ਢ  :

    * ⪠ ⮫쪮  ࠭樨
    * ࠭   窨 ࠭  ⪠ -  ᫥.  㭪 11-1
      ROLLBACK ⪠뢠 ࠡ, ࠭  窥 ࠭ ILDONE, 
      ࠭ ࠡ  窨 USDONE.
    * ᢮  ஢ ப  ⠡,  믮 ᫥ ᮧ
      窨 ࠭,   ᢮ ஢ ࠭樨 (TX).

஢ ࠭樨 ᢮  믮 commit  rollback.  ᫨
짮⥫  ப, ஢  襩 ࠭樨,  ਤ
  ᢮ TX.



                                   -- 110 --



㥬 ࠪ⨪  -    ਪ ணࠬ  ࠭樨 ,
ᯮ  COMMIT  WORK  (  ROLLBACK WORK),    ᫥
। ᮥ ࠭.  ᫨    ᠫ ࠭ 
ணࠬ  訫 ਩, ᫥  ᠭ ࠭ 㤥
⬥ (⪠).

        뤠  COMMIT  ROLLBACK

 COMMIT  ROLLBACK  뤠    ணࠬ 
짮⥫,  ⠪      (⮬᪨) ⥬ ORACLE.

          Commit/Rollback

     設⢥   த⮢  ORACLE         (commit) 
⪠ (rollback) ࠭     ᮮ⢥ .  ஬ ⮣,
  த  짮 ஬ SAVEPOINT.

     (⮬᪨)  Commit/Rollback

 commit ந室  ᫥ :
    * । ஬ DDL
    * ᫥  DDL
    *  ଠ쭮 ᮥ  

     ।  (⠪  CREATE, DROP  GRANT) ᥣ
ਢ    commit       ࠡ.  ᫨  
 DDL,  ।⥫쭮 ᪮쪮 ஢ DML,  ᯥࢠ
믮 commit  । ஢, ⥬ 믮  DDL

     ⪠ ந室,     ORACLE 
਩.  ⪠ ஢  믮  ਩ 믮
⮣ .

         12                   

               Make'em laugh; make'em cry; make'em wait.
                                       Charles Reade

               Thow canst not say I did it; never shake
               Thy gory locks at me.
                                       Shakespeare: Macbeth III.iv

     ⮩   㦤 ࠫ    ( ᪮쪮
짮⥫     ⥬    )  楫⭮ . 
ਬ,  㤥, ᫨  짮⥫  ६  
   ப  ⠡.

 ⮩  㦤 ᫥騥 ।:
    * ᮣᮢ ⥭
    * ࠭樨 ⨯ "⮫쪮 ⥭"
    * ४⨥ 㬠稢 ஢
    * ᯮ짮 ⨫ SQL*DBA  ᫥ ⥪饣 १ࢨ஢ 
      䨪権
    * 㦥 㯨 権
    * ࠬ SERIALIZABLE  ROW_LOCKING 䠩 INIT.ORA.

     ⤥    ⮩    ।⢥ 㪠뢠 ࠧ 
ORACLE RDBMS ᨨ 6  樥 ࠡ⪨ ࠭権   .

                                   -- 111 --



     ⮩    ଠ  ।⠢ ,  祬 室 設
짮⥫.  ঠ  襩 ⥯  ࠧࠡ稪
ਪ ⥬,   ࠫ   짮⥫ 
⠪ ஢ ,  ⨬樥 ந⥫쭮.
⥫   ⥫ ଠ  ᫥ ࠧ:

    * ਫ  - ࠢ筨  ⨫ SQL*DBA  ଠ樨  ।⢥
      MONITOR LOCKS
    *  11  - ࠢ ࠭ﬨ

            ᭮   ࠫ 饭  

᭮ 祭  ⥬ ࠢ   - ࠫ쭠
ࠡ,  㣨  ᫮  -     ⥬   
짮⥫.   ⭮  ࠢ  ࠫ쭮 ࠡ⮩  
      ஢ ࠢ쭮    ⮩
᫥⥫쭮,   ⠢  ᮬ  楫⭮.

    ࠫ  ⭮   ,  ⠪   ࠬ .
 ࠭஢,     믮     ⮬
浪,   ஬ 襭.  筮,   । ,
⠪  ⠡   ,  믮  㦭 浪. ᫨
짮⥫ ⨫  ⠡,   ᮤঠ     

           ।⮬ ஬  ᫥
:
    * "ﭭ " (  ४뢠 㣮)
    *  ࠫ  ਢ       
      ᮢ   㭨쭮 
    * ⠡  ,      ६   㤠 㣨 짮⥫
          .

    祢,  ᫨   짮⥫        
  ⮩  ⠡,   ⥩ ࠭஢ 楫⭮  -
⠢ 짮⥫  ᢮ ।.

 ORACLE RDBMS - ᤥ ⠪,  ⮡   뫮  ⢥
  騬   짮⥫.    SQL (DML,  DDL 
)  믮    ⮫쪮     ﭨ,
 ࠧ饥  ﭨ ࠭権   饭.   
  ஬  ந⥫쭮  楫⭮ .

⥬ ORACLE ࠡ뢠 ࠫ    , ᯮ
⥬  ࠧ ⨯ ஢  ० ࠡ.   
  ⨨ ࠭樨. ࠡ稪  ਪ  ⥬ 
࠭஢,   ࠭樨 । ࠢ쭮 ( ᠭ   11).

      ⨯ ஢ ,        ࠢ
짮⥫,  -.  騥 ஢  ࠡ饩  ⥬ ORACLE
  㢨,  ᯮ    MONITOR ⨫ SQL*DBA.  ⠪ 
ᠭ  MONITOR,  ⠪ ਬ 뤠 ਢ  ਫ .

            ᮢ ⥭

    ⥬ ORACLE ন   "ᮣᮢ  ⥭",  砥:




                                   -- 112 --



    * ࠭ ⮣,  , "" ஬ (ਬ -  )
         祭 ࠡ 
    * 짮⥫,  騥          
      

⥩訩   ᮣᮢ ⥭ -  ।⠢ ᥡ,  
믮 ,  "⠫ ᭨" ,   묨 
ࠡ⠥.    ᮣᮢ ⥭ ⥬ ORACLE 뢠 ⠪
"multi-version" , ⠪   ⥬ ६  
᪮쪮 ᨩ   ⠡.

    ORACLE RDBMS    ᮧ    ᮣᮢ ⥭,  ᫨
⠡  ६ ᬠਢ  ஢.  
室  ࠧ  ᮣᮢ ⥭,  RDBMS ᯮ  ⮩
楫 ଠ  ᥣ⮢   ⪠.      ⥭       ⥬
ORACLE   室   ஢ .   ࠭ ⥬, 
짮⥫, 騥   ᥪ  짮⥫ﬨ, 騬
  .

    "⠫ ᭨"    䠧  믮.    易⥫쭮
    ,    ।⠢ ᥡ  ⠪.   ⮣,
᫨  訢      ORACLE  ४  ஥
ﭨ  , ᯮ ᥣ ⪠.   室
⮫쪮  ⥬   ,       砫 .  
⮬ 砥 ⨣ ᮣᮢ ⥭        ६
ந⥫쭮 ⠥ ਥ.

 ᮣᮢ ⥭    । ࠧࠡ稪 ਪ
ணࠬ.  ਬ,   ணࠬ 

  ⮣,   EXEC SQL OPEN ᫥  ᮧ "⠫
᭨"       ,  ᤥ    "" 
ணࠬ. ⭮     맮  ணࠬ  
.

    ਬ ᮣᮢ ⥭

ਬ, ᫨ BARB 믮   ⠡ EMP,  १,  頥
   -  ,  ⢮  ⠡ EMP   
.  १   ᥡ  ,  ᤥ   
஢ DML   (ᠭ   )  ⠪  ᠭ 
 ⮩ ⠡,  ᤥ 㣨 짮⥫ﬨ.  ,
ᤥ BARB  ⠡ EMP ᫥ 砫 ,       १,
ࠢ      ᠭ  㣨 짮⥫.

    ᬮਬ  짮⥫:  Bert  Ernie,   
䨭ᮢ .  Bert 訢  ( TX-B - "transaction-B"),
㬬 DEBITS  CREDITS,   ࠢ  १.     Ernie
 뤠 ࠭ (TX-E)  ஢ ACCT1  ।஢ ACCT2.

᫨ Bert 訢  ,   Ernie 室 । ࠭樨,
ᮣᮢ ⥭ ࠭,  Bert    DEBITS 
CREDITS. ᫨ ਫ ࠧࠡ⠭ ࠢ쭮, ࠭ Ernie 㤥 ᠭ
᫥ 믮    ।.  ࠧ, Bert ᬮ 㢨 ⮫쪮
१ 襭 ࠭権;   ⮬ 砥  , 뤠  TX-E,
 ஥ 祭 .  ᫨   Bert  뤠  ᫥ ⮣,  
Ernie  ࠭ TX-E,    祭,    ⠪
ࠢ.

                                   -- 113 --



    ᫨ Ernie     ६   Bert 믮 , 
१  㢨      ᫨ Ernie 뤠 commit 
饭 Bert  ⨬ ப.

            饭 "Snapshot Too Old"

   RDBMS   뤠   १⮢, ᮣᮢ 
⥭.      祭 ⨢ 䨪 ( ⠡ 
ᥣ ⪠),  १ 祣    ᥣ ⪠ ⠥ 筮
ଠ樨  ४஢    .    ⮬ 砥
 訡 1555:

    ORA 1555 snapshot too old (rollback segment too small)
    (᭨ ᫨誮  (ᥣ ⪠ ᫨誮 )

    ⮩ 樨  , 稢 "ࠧ塞 ஢" 
訢 ⠡, ⨢   ࠭樨  
᪫⥫ ஢ . ᫨ ⠪   ,  室
⠪ ᯮ짮 襥 ⢮  訩 ࠧ ᥣ⮢ ⪠.

              ஢

    ORACLE RDBMS  ᯮ ஢  ࠢ ࠫ 㯮 
. ஢ -  堭, ।祭   ।饭
 ﭨ 짮⥫, ࠧ饣  . 饥
⢨   ।  ४⭮   
ᮮ⢥   (⠪  । ⮫殢,  ⠡,
ᮢ   稩).

஢ ᯮ  ⨦   楫:
    ⨢稢   ࠭,  ,  ᬠ-
    (⮢୮)      ਢ   짮⥫,   ,
                             ࠡ⠥.

    ⭮          ࠭,     -  
                         ࠢ쭮 浪  , ஢  

㬬 ᪠, ⬥⨬,   ஢ ᯮ  客
楫⭮     㯠     ࠭祭 ᫠
짮⥫.

    ஢ ⥬  ORACLE    ⮬⨧஢    ॡ
⥫쭮 ⥫⢠ 짮⥫.   ஢ 믮 
 SQL - ஢    襭 ⢨. 짮⥫ 
室  ஢ - , ORACLE ᤥ 
⮬᪨.

        ⥫⢠   ॡ 
㬠稢 ஢   ன    ⨬樨 ਪ ⥬.
 室  ⭠  ᯮ짮  ਪ ணࠬ
ணࠬ 䥩.

              ஢ ?
    ஢    㬠  祭 짮⥫ 
"६ ᮡ⢥"  ண  ,  ⠪   ⠡  
ப  ⠡.      ᭮ ⨯ ꥪ⮢:



                                   -- 114 --



* 짮⥫᪨ ꥪ, ਬ - ⠡    ப (  )
* ⥬ ꥪ,  짮⥫, ⠪  ࠧ塞  
  SGA   .

    ஢  訢  짮⥫,     ,  ⮡
㣨 짮⥫  믮  ⥬  ꥪ⮬ । 㭪樨.
 ᢮,   ࢮ 짮⥫  ⠭  㦥.

      ᢮ ࠡ ORSCLE RDBMS  짮⥫᪨ 楫 
讥 ⢮ .  짮⥫     ஢  ப
⠡,  ᯮ   SELECT ...  FOR UPDATE,   ⠡,
ᯮ  LOCK TABLE.

     ᫮         ஢  .  ࠢ
⤥ ⠡ ᫮ ORACLE RDBMS  ᠬ,   楫 ଠ쭮
㭪樮஢ ⥬.  ஢ 믮  ⪨ ࢠ
६.  ⥫쭮 ଠ樨 ᬮ  ࠧ "஢
᫮".

    த⥫쭮 ஢

த⥫쭮 ஢   ᨬ  ⮣,  頥.
 ⨯ ஢ (७ ஢)   祭 쪨
ࢠ -   権  ᮬ.  㣨 -   த⥫쭮
६ (ਬ  - ஢  ⠡  ப 믮  殮 ᥩ
࠭樨).  , ⤥ ⨯ ஢ 믮   ਮ,
   (ਬ - ஢ , ࠭饥,  ⮫쪮 
 ORACLE 㤥   । ᥣ ⪠).

     ⨯ ஢ ⬥  믮 commit.  ஢ ⠡
᭨  ⪠  窥 ࠭.  ࢨ஢  ப  ⠪
⪠  ⬥.

       ஢  ?

    ࠡ稪 ਫ,  ᯮ騥 SQL -  ஢ 
㡥,    짮⥫,    ॡ ஢ ,  
ᮮ⢥騥 ਢ  १ࢨ஢.   ⮬ 砥 ਬ 
ࠢ;

    * DBA  ஢  ⠡
    * ⠫ 짮⥫  ஢  ᢮  ᮡ⢥ ⠡,  
      ⠪ ⠡ 㣨 짮⥫,     ⠡
      ਢ (⠪    SELECT,  INSERT,  UPDATE, DELETE).

            稢   ஢

      ஢     ४,    ⮬ 
室.      ᯥ筮 ஢  
⠡  ப,  ᯮ   SQL (᫨    
ᤥ).

 ᫥ ࠧ ⮩  뢠 १ ஢ 
㬮砭.   ⥫ ࠧ  ᪠뢠,  
㬠稢 ஢ ,  ᯮ SQL -  LOCK TABLE  SELECT FOR
UPDATE.  ஬ ⮣,  뢠  SET  TRANSACTION  READ  ONLY, 
   ⥬ ORACLE  ᪮쪨 ᮢ  ࠭, 
   .

                                   -- 115 --



             ஢

    ஢  ⥬ ORACLE   ᫥騥 騥  ⥣ਨ:

    ஢  (뢠 ⠪ DML - ஢).   ஢ 
  .  ஢ ⠡      ⠡,   
 ६  ஢ ப ⮫쪮 । ப.

    ஢ ᫮   ⨯ ஢ 頥  ꥪ⮢ .
ਬ -  頥 । ⠡  ஢. ஢ ᫮
뢠  ⨯: ஢   ᨭ⠪  DDL - ஢ .

    ७ ஢  饫  १ࢨ஢ ७  
 믮 ⮬᪨.

⮡ 㢨 ⥪騥 ஢, ᯮ  MONITOR LOCK  MONITOR
LATCHES ⨫ SQL*DBA.  ⪮ ᠭ ⨯ ஢  ⥬ ORACLE
ਢ  . 12-1.
   ஢                                   
  
    ஢  (DML)
        ஢ ⠡                              TM
            EXCLUSIVE                                  X
            SHARE UPDATE                               RS
            SHARE ROW EXCLUSIVE                        SRX
            ROW SHARE                                  RS
            ROW EXCLUSIVE                              RX
            SHARE                                      S
        ஢ ப (࠭樨)                  TX
    ஢ ᫮
            ஢ ࠧ                         TD (S)
            DDL - ஢                           TD (X)
            ६ ᥣ TT (S  X)
    ७ ஢                              (᫮)
    饫                                            (᫮)

    ஢  ᫮
            塞
            ᪫⥫쭮
    ஢ ࠢ 䠩  ୠ
    ஢ ⠡ ࠭  Rollback - ᥣ⮢

㭮 12-1  ⪮ ᠭ  ⨯ ஢


            ஢  (DDL - ஢)

 ஢  - ࠭஢ ᮣᮢ   ࠫ쭮
㯥   ᪮쪨 짮⥫.  ஢  ।
  ⥫⢮  ६ DML - 権, ⮬  뢠 DML
- ஢. ਬ, ப  ⠡   ஢  
 ⮫쪮  ࠭樥,      ஢ ॥
᫥⥫쭮 ᪮쪨 ࠭権.

믮 ஢   ⥬ ORACLE  樥  ࠡ⪨ ࠭権
砭: 騥 ࠧ 뢠,    ᥡ 㬠稢 ஢



                                   -- 116 --



 ⥬ ORACLE  樥  ࠡ⪨ ࠭権.   ,   ORACLE
 ⠡  ப  । SQL - ஢  砥,  
   㪠  ஢.

     ࠧ,   ᫥ ࠧ ।,    ⥬
ORACLE  樥 ࠡ⪨ ࠭権   ࠬ 䠩 INIT.ORA ⠭
 㬠稢 祭:

    SERIALIZABLE = FALSE
    ROW_LOCKING = ALWAYS

(  ⮩  ᠭ 䥪  ⠭   ࠬ஢  ࠧ
  TRUE).  ⠢訥 ࠧ  ⮩    ࠧ
樨,      㬠稢 ஢  
 ᤥ.

             ᮣᮢ ⥭  ᮢ,    㤠

    SQL -  SELECT,  INSERT ...  SELECT,  UPDATE  DELETE אַ 
ᢥ 믮  .     ஢  ਢ離 
室  ᯮ   (   롨,
⠢,   㤠).

     SELECT ।⢥ 믮    ( ᮤঠ
 ).   INSERT ⠪  ᯮ짮 
.  UPDATE  DELETE   ࠧ WHERE  ਢ離 ⮫쪮
 । ப ⠡    ᢮ । ᮤঠ .

    ᮢ ⥭ ࠭   ,   ,
࠭ ⠪ ⨢稢 .     ॡ  - 
⢨  ஭ 짮⥫.  , ᫨     
    ⮩    ࠭樨,  ॡ ਬ 筮
஢ (ᠭ  ࠧ " 㬠稢 ஢").

            稢 ஢  ᮢ

     -  , ⮫쪮 騥    騥 . 
⮬   襩    ࠡ 㣨 SQL - ஢. 
짮⥫, 뤠 ,  ⨢稢 .

᫨   ᯮ ࠧ FOR UPDATE,       ᫥騥
ࠪ⨪:
    *   ॡ ஢ 
    *       ᢮ 㣨 ஢;  
      த ᥣ
    *  ᥣ 頥 ᮣᮢ  ⥭ 
    *  訢 ⠡    㣨 ࠭樨 ( ⮬ ᫥
        롨ࠥ ᠬ ப)

    ࠭, 믮  ,    㤥  ,  ᫨
 ᯮ㥬   頥       㣠 ࠭.  
ப  室 ஢.

ORACLE RDBMS   ᯮ  ᥣ ⠭ "⠫
᭨".   頥  ,   뫨 ᠭ   
  ,  뫨 믮  ࠭樨,  ன 
.


                                   -- 117 --



     㭪 12-2 ⪮ ᫥  㬠稢  ஢, 믮塞
 SQL - ஢  ⥬ ORACLE  樥 ࠡ⪨ ࠭権.

  SQL -                ஢ ப       
  
    SELECT                            
    SELECT FOR UPDATE               X                        RS
    LOCK table IN mode MODE:
            EXCLUSIVE               -                        X
            SHARE UPDATE            -                        RS
            SHARE ROW EXCLUSIVE     -                        SRX
            ROW SHARE               -                        RS
            ROW EXCLUSIVE           -                        RX
            SHARE                   -                        S
    INSERT                          X                       RX
    UPDATE                          X                       RX
    DELETE                          X                       RX
    DDL/DCL                         -                       X
㭮 12-2 稢 ஢  樥 ࠡ⪨ ࠭権

            稢 ஢    㤠

     ᮣᮢ ⥭ ⠪  ন  楫⭮ १⮢,
頥 ࠬ DELETE  UPDATE.  ,   ,
ᯮ ⠫ ᭨,   ᢮ ७ ᮢ.

  㦥 ⥬ 㣨 짮⥫  㦥  
  ப,         㤠.  ᫨ 
  ᫥  襣 ,    ⮣,   
 뫨 ᠭ,  ᮣᮢ ⥭ ⥬ ORACLE ॡ
⥫쭮 ࠡ.  ।, ন饩 ᮪ ⨢ ࠫ
   ⠡,   DELETE  UPDATE,  
讥    ⢮    ப,        믮 ய樮쭮 
 ࠢ  ,     ⢥ ப  襩
ࠫ쭮 ࠡ  ⮩  ⠡楩.

     ਢ ࠪ⨪  UPDATE, DELETE   INSERT:

    *     UPDATE, DELETE  INSERT ᥣ 稭  ᮣ
    *   믮  ᪫騥 ஢ (X)  ப, 騥
      䨪樨  ᪫騥  ஢  ப  (RX)   ⠡,
      ᮤঠ騥  ப.
    * 㣨 ࠭樨  訢 ப,  騥 䨪樨,  
    * 㣨 ࠭樨  믮  ⢨  㣨 ப
      ⠡  ᫨    ப  室    ⮬   䨧᪮ 
       ᫨ ஢ ঠ.
    * ஢ ப  ⠡ ᢮   (commit) ࠭樨.
    *  ⪠  窥 ࠭ ᢮ ஢, 믮 ᫥ 

            ४⨥ 㬠稢 ஢

筠 ஢  ।⥫쭥  㬠稢  ᫥ :

* ᫨    ᪮쪮 ⠡  ᮣᮢ ﭨ (
ᮮ⢥    ᥬ ⠡栬). ਬ஬  㦨  
 ᪮쪮 稭  ⠡.  ⮣   ⨣ 
ਬ  㬠稢 ஢  ࠭樨  ० "⮫쪮 ⥭".


                                   -- 118 --



*  ,  ⮡  㣮    ,  ஢
 襭 ࠭樨 (ᨬ  ⮣, 㤥    )

*   , ⮡    襭     뫮
࠭樨. ᫨  ᨫ ᪫⥫ ஢,  㤥 
⮫쪮 ᪫⥫쭮 ஢    祣 .

*   ॡ  믮 "⭮ ⥭" ( ᤥ   ࠭樨
᪮쪮 ᮢ   ⠡    㢥७,    ).
⮣  ⨣  ਬ  㬠稢 ஢  ࠭樨
  ०  "⮫쪮 ⥭".

࠭樨 ⨯ "⮫쪮 ⥭"  稭   SET TRANSACTION READ
ONLY,   ४뢠  㬠稢  祭 ஢    SQL -
஢:  LOCK TABLE  SELECT FOR UPDATE.   ᯮ
᪫⥫쭮  ४ 㬠稢 ஢ ; 
 ࠢ ஢ ᫮  ७ ஢.

            ᯮ짮  LOCK TABLE

 LOCK  TABLE   ४ 㬠稢 ஢
।   㪠 ०. ⠪ -  ᫥騩:

    LOCK TABLE table [,table] ... IN
         { ROW SHARE |
           ROW EXCLUSIVE |
           SHARE UPDATE |
           SHARE |
           SHARE ROW EXCLUSIVE |
           EXCLUSIVE }
    MODE [ NOWAIT ]
:

table      㪠뢠  ⠡, ஢  ᨭ, 
           ஢.  砥 ஢ ॠ쭮  ᮮ⢥騥
           ⠡.  ᫮  ஢  .

lock modes     ।  ० ஢, ᠭ . (ROW SHARE
            SHARE UPDATE , ⮬ ॠ쭮 ᯮ  ⨯
           ஢)

NOWAIT     㪠뢠,      砫 믮 ஢.
           ᫨   㯥, ࠢ ࠧ  頥  
           ਪ ணࠬ,   믮  ࠡ, ⮡
           ᫥⢨    ஢.   㬮砭 (᫨
           饭 NOWAIT)    㤥  ᢮ 饣
           ஢ - .

    塞  ᪫⥫ ஢

 ஢   ࠧ  ⨯ ࠧ塞 ஢
(shared locks),  ᪫⥫ (exclusive).

share locks    塞 ஢ 㪠뢠,  㥬  
           ࠧ묨 ᯮᮡ ࠧ.  砥,  ᪮쪮
           짮⥫  믮 ᪮쪮 ࠧ塞 - 
            .


                                   -- 119 --



exclusive lock ᪫⥫쭠 ஢ -   ⪨ ⨯ ஢.
            頥  ࠧ  (   
           ).   砥,   짮⥫, ᨢ訩
           ᪫⥫ ஢, 㤥 筮  ᮬ 
           ᢮ ஢.

            ᠭ ० ஢

    ஢      믮    㪠 ०.
 ஢ ।,    ஢  ⮣   (⠡
 ப)  믮 ६, ।, ⠪ ࠧ,  
⢨  믮    ⮩ ஢.  ਬ, ᫨ 
짮⥫ ᨫ ᪫⥫ ஢,   㣮  ᬮ 
ப   ⮩ ⠡.

    ᫨  ᡨ  ⮫  ஢, ஡ । 
 ⢨.

    Exclusive (X)       ᪫⥫ ஢ ࠧ 믮-
(᪫⥫쭠)       ஢ ꥪ⮢,  
                         㣨 ⢨.

Share (S)           塞 ஢ ࠧ ,
(ࠧ塞)           ⠡.

Row Share           ப ࠧ蠥 ࠫ
Share Update (RS)     ⠡.  頥 㣨
(ࠧ ப   짮⥫ ஢ ⠡  ᪫-
  ࠧ     ⥫쭮 ०.  ப  ࠧ-
 )            ᨭ (᫥ ⠢
                     ᮢ⨬  ।騬 ﬨ ORACLE RDBMS).

Row Exclusive (RX)  ᪫⥫  ப ஢ -
(᪫⥫쭠      ࠧ ப,  ஬ ⮣ -
  ப)          ஢  ࠧ塞 ०.   ஢
                    ਬ  , 㤠  ⠢ ப.

Share Row           ஢ ⨯ ᪫⥫쭮 ࠧ
Exclusive (SRX)     ப ᯮ  ᬮ ᥩ ⠡-
(᪫⥫쭮       롮   
 ࠧ ப)  㣨 짮⥫ ᬠਢ ப  ⮩ ⠡,
                       ஢ ⠡  ࠧ塞 ०
                      -  ப.

ᬮ  ,    ।  ⨯ ஢ ਬ  ,
 ७  ஢    ஢ ᫮ ᯮ ⠪ 
孮.

㭮 12-3  뢠 ० ஢   ०,  묨 
ᮢ⨬.
         饭      襭   ⢥騩
  ஢  ⢨         ⢨      SQL - 
  
    RS         ᪫⥫-     :    SELECR...FOR UPDATE
    Share Update  : X   RS,RX,S,SRX
    RX         ᪫⥫    :    UPDATE, INSERT,
                 ⥭/  RX, RS       DELETE
               : S,SRX,X

                                   -- 120 --



    S          :        ஢    LOCK TABLE table IN
               RX, SRX, X        ப: RS,S   SHARE MODE
    SRX        ⥭ ᥩ ⠡-  ஢    LOCK TABLE table IN
               : RX,S,SRX,X  ப: RS     SHARE ROW EXCLUSIVE
    X          , ஬ -           LOCK TABLE table IN
               ᮢ:                         EXCLUSIVE MODE
               RS,RX,S,SRX,X                    設⢮ DDL - ஢

㭮 12-3 ⨬ ० ஢ 

            ᪠ ஢

     ᪠  ஢;  ந室 
砥,   ᪮쪮 ஢   ஢ (ਬ -
஢ ப)    RDBMS  ⮬᪨      㣨 ஢
 ᮪ ஢ (⠪  ஢ ⠡). ⥫쭮, ⢮
஢ 㬥蠥,     ⥯ 蠥.  ᪠ ஢
⥫쭮 㢥稢 ⭮ 㯨 ஢. (㯨 뢠
  ⮩ ).  ORACLE RDBMS  믮 ᪠樨 ஢.

        ८ࠧ ஢

८ࠧ ஢ ,  ஢   ०
⮬᪨ ८ࠧ  ஢  㣮  ०.   
ਬ -  砥,  짮⥫  ஢ ⠡,  ⥬
ॡ ஢ 㣮 ०.  ஢  ⫨ 

             ᯮ SELECT FOR UPDATE

      LOCK TABLE 㬠稢 ஢  ४뢠
   SELECT FOR UPDATE.    믮     ஢
  믮 ᪫⥫ ஢ ப (    
UPDATE).    SELECT FOR UPDATE  UPDATE ⮨   ⮬,  SELECT
FOR  UPDATE   ப ࠭.  ࢠ  믮   
ப,  ஢,  ⥬    ப.
⢫,  ᠭ ࠭, "⨬筠" ஢.

 SELECT FOR UPDATE  ४,       ஢
ப,  ॠ쭮  .  ਬ, ᫨  頥   
  祭  ப    㢥७,  ப 
 -   .

 SELECT FOR UPDATE 蠥 ( ஢ ᢮)  뤠
COMMIT  ROLLBACK.   SELECT FOR UPDATE ।⥫쭥 뤠 
讣 ⢠ ப.

            ᯮ짮  SET TRANSACTION READ ONLY

 㬮砭  ⨢稢 ⥬  ORACLE  RDBMS ࠭
ᮣᮢ १⮢  .     
室 믮 ᪮쪮 ஢  ஬ ,  
⨢稢.  ⮬ 砥   ,    
⨢稢  ਬ   ࠭樨 (᪮쪨 ࠬ),  
⮫쪮   .

筮, ᫨      믮 ᪮쪮 ᮢ  ᪮쪨
⠡    -  䨪権  ,   । ࠭
⨯ "⮫쪮 ⥭".  ᫥ ⮣    㪠,  믮 ࠭

                                   -- 121 --



"⮫쪮 ⥭",   믮 ⮫쪮  ᮢ,  ᪮쪮 ॡ 
 ⠡ ,   ⮬,   १  ᮣᮢ.  
, १   ⠡  ᮣᮢ  ६  १⠬ 
 㣮 ⠡.

SQL -  SET TRANSACTION READ ONLY ᯮ  砫 ࠭樨
"⮫쪮 ⥭".  ⮬  ⭮ ᫥騥 ࠢ:

    *  SET TRANSACTION READ ONLY     -
      ஬ ࠭樨;  ⨢ 砥  訡.

    *   ⮩  ࠭樨  ⨬ ⮫쪮  ᮢ ( 
      襭  ࠭樨),      ᮮ饭   訡 (ਬ
      SELECT FOR UPDATE ਢ  訡).

    * ࠭ 蠥 ࠬ COMMIT, ROLLBACK  DDL - ࠬ
      (᫥  뤠 commit).

    *  ६ ࠡ ⠪ ࠭樨       
      "⠫쭮 ᭨" ,  ᯥ稢 ⥬ ᠬ ⠡ 
      ᮢ ᮣᮢ .

    *   ⠫ 짮⥫  த 訢  
      .

    * ࠭ ⨯ "⮫쪮 ⥭" 㤥  ⮫쪮  , 
뫨 ᠭ         砫;    ⮣, ᨬ   ,
஢ 㣨 ࠭ﬨ,   ࠭ 㤥   襭 
⮫쪮 ,  묨 稭.
    * 誮  ࠭樨 ⨯ "⮫쪮 ⥭"   訡
"⠫ ᭨ ᫨誮 " (snapahot  is  too old).   ⮬ 砥
࠭   祭   室 饭 .

            ஢ ᫮

    ஢ ᫮ 믮 ⮬᪨  ⥬ ORACLE RDBMS 
砥,   ॡ  믮 ࠡ 짮⥫. 짮⥫ 
 ।⢥ 訢  ஢ ᫮ . ᫨ 
 ⠡ ᫮,  ᫮ ⠥ ஢.

       楫    ᠭ  ꥪ⮢   (⠡,
஢    ஢)       ᯮ짮 (ਬ - 
᫮ 訢     ࠧ  ⥪饣 ).

        ஢ ࠧ

    ஢ ᫮  ࠧ塞 ० 뢠  ஢ ࠧ.
  ꥪ 稭   ஢ SQL -   
⨥    砫 ஢  ⮬  㣮
.

            ஢ DDL

஢ ᫮  ᪫⥫쭮 ० 뢠  DDL - ஢. 
믮  SQL - ,  ⥭樠쭮 ᮢ⨬  㣨
ࠬ,  뫠騬    ꥪ.  DDL -  (⠪ 
CREATE,  DROP,  DROP) ॡ ᪫⥫쭮 ஢.  ॡ ஢
⮫쪮 ᫥騥 DDL - :

                                   -- 122 --



    AUDIT  -  NOAUDIT
    GRANT ...
    COMMENT ...
    CREATE SYNONYM
    CREATE VIEW
    CREATE TABLE  (᫨ ⠡  ਧ)
    REVOKE ...

        ॡ ᪫⥫쭮 ஢ ᫮  ⮬
᪠ ࠧ ஢  ꥪ⮢,    뫠.

            ஢ ᫮  

஢ ࠧ  ஢, ᫨   ⠡  ஢.
᫨ ਧ ᪮쪮 ⠡,   ࠧ 騥 䨧᪨
.        ஢ ஢ ப (஢
),  DDL - ஢, ਬ   ⠡ , ਬ
 ᥬ  ⠡栬. ⥫쭮, ᫨    ⠡,
ਭ ,     ,  ⮬  
ᮧ  ⠡.     ᬠਢ  ࠧࠡ⪥ 奬
    ਫ    ਧ .

        ७ ஢  饫

७ ஢  饫       (
 㯭 짮⥫).  짮⥫   室
ࠢ    ࠡ⮩  ⥫쭮.  । ଠ  
஢  १ 뤠   ࠭  ⨫ SQL*DBA:  MONITOR
LOCKS  MONITOR LATCES.

        饫

饫 -  ⮩ 堭  ஢   ࠧ塞 
  SGA.  ਬ,     ⠡ 짮⥫,   
  ⠡ ᠭ    - .   뢠 饫 
祭 ⪮ ६  樨  ᬮ 㪠 .

 饫  ⥫쭮    樮  ⥬,
ᮡ   :         饫   .  
뤠  MONITOR LATCHES  ᪮쪮 ࠧ ⨯ 饫.
஡  ⮬ ᬮ  ਫ .

            ७ ஢

    ७ ஢ -  堭     ᮪
஢,   饫;  ᯮ  ࠧ 楫.

            ஢  ᫮

 ஢     祭    த⥫쭮  ন  
,    ஢   ᯮ짮.  뤠,
⮡ 㥬  짮⥫  ⨫ ᮣᮢ
।     ࠧ塞묨, ⠪  ᪫⥫묨.

塞 ஢  ᢮,    ᨭ⠪᪮
ࠧ . ᪫⥫ ஢ ᢮  襭
樨 DDL.


                                   -- 123 --



        ஢ ࠢ 䠩  ୠ

 ஢  ࠧ 䠩.  ਬ, ᫨ ஢ 頥
ࠢ騩 䠩,  ⮫쪮        .
㣨 ஢ न 娢    ᯮ짮 䠩 ୠ
୮ 믮.      ⮡ ࠭஢ 
᪮쪮 ஢    ஢    ࠧ塞 ०  
 -  ᪫⥫쭮 ०.

 ஢   ஫   ⥬    ࠧ ᪮.  
 ஢ 㪠뢠  䠩,    த  ६.

        ஢ ⠡ ࠭  ᥣ⮢ ⪠

 ஢  ⠡ ࠭⢠  ᥣ ⪠. ਬ -
  ORACLE,  뢠騥 ,  ਩   ᮣ襭,  
⠡ ࠭⢠    ﭨ online,   -  offline.
 ⪠  ⠪,  ⮡ ⮫쪮    뢠 
 ᥣ.

        ਭ ஢   SQL*DBA

 ࠡ饩  DBA     ᬮ ⥪騥 ஢ 
饫  ORACLE   ⨫ SQL* DBA.  ⮣ 室:
1.  SQL*DBA.
2. ᮥ   (connect)   짮⥫,騬 ਢ DBA

    SQLDBA>  CONNECT SYSTEM/MANAGER

3. ⥬ :

    SQLDBA>  MONITOR LOCKS

    SQLDBA>  MONITOR LATCHES

    ⠪   ਬ   ஡ ᠭ  ਫ .
ᯮ  SQL*DBA SPOOL, 室 ଠ  MONITIR  
  䠩.   室 ࠭  MONITOR ਭ ᫥騥
祭:
  TM   뢠 ஢   ⠡.  뤠 䨪
       (ID) ⠡.  ⢮   ०  ஢  .
        ஢   襭    , ⠪  .
  TX   뢠 ஢ ࠭樨  訢   ࠭樨,
       ॡ饩 ஢ ப 뢠 䨪 ࠭樨,
       ஢襩 ப. 㣨 ࠭樨, 騥  ஢
         ப   ᢮ ࢮ ஢.
  TD   뢠 ஢ ᫮  ⠡. 뢠 䨪
       ⠡    ⮫쪮  ० S  (஢  ࠧ) 
       X (DDL - ஢).
  TT   뢠 ஢  ᫮    ६ ᥣ.
  RT   뢠 ஢ ୠ.

,   뢠  ᮫⭮  ஢.   ⭮ 
஢ ⤥ ப.    ஢ ࠭樨 (TX)
㪠뢠,    ⠭ ஢ ப.

         㯨


                                   -- 124 --



    㯨 뢠 ,   짮⥫᪨ ⥬ 
ࠪਧ ⥬,   ᪮쪮 짮⥫   த ࠡ.

    㯨    ,         짮⥫
       ⥬  ꥪ⠬.  筮  砥, 
   짮⥫   㯠    ( ਬ - 
஢ ⠡),   㦥 ஢ 㣨 짮⥫.   
  짮⥫  ,  ঠ 㣨,  砥
㯨 .

㭮 12-4  㯨   짮⥫.
    ࠭              ६         ࠭ 

     1:                             2:

    UPDATE EMP                             UPDATE EMP
    SET SAL = 1200                         SET SAL = 1000
    WHERE ENAME = 'LEWIS'                  WHERE ENAME = 'MILLER'
                               X

     3:                             4:

    UPDATE EMP                             UPDATE EMP
    SET SAL = 1500                         SET SAL = 1750
    WHERE ENAME = 'MILLER'                 WHERE ENAME = 'LEWIS'
                               Y
    . 12-4 ਬ 㯨   ᮢ.

        (६ )  ࠭ 訢 ஢ ப
 ࠧ ப.  ,   ࠭ ⠥ ( commit 
襭 ࠭樨) ஢ ப, 㦥 ঠ 㣮 ࠭樥,
 㯨 . 㯨    ६ Y,  ⠪  
ଠ쭮  ਩ 襭    ࠭権   
室  , ,  ᢮ ᢮.

    ᫨    3 㤥 믮 roll back,  ࠭   ࠢ 
ᬮ  믮,  ⠪  ॡ , ஢   1.
 ࠧ,  ⮡ ࠭  訫, 室 ⪠  4.

᫨ ORACLE RDBMS 㦨 㯨,  ᮮ頥  ⮬   
࠭権  ⪠뢠  ⥪騩 .  筮 ⪠뢠 ,
ਭ騩 ࠭樨,  ன । 㯨.     ࠧ蠥
㯨,   ⠫ 짮⥫  த   
室  ⢥. 筮 饭 짮⥫  믮 
⪠ ᢮ ࠭樨,   १ ᪮쪮     ᢮
.

    筮 㯨   ᪠樨 ஢  짮⥫. ⨬,
  ࠭樨  ⠢ ப      ⠡,   
訢 訢  ०  ᪫⥫쭮 ஢ ப. ᫨ ⥬
 ࠭ ⠥  ᪫⥫ ஢ (  ⥭
,  ਬ),  㯨 .    ORACLE RDBMS ᠬ 
믮 ᪠樨 ஢, 㯨  ⥬ ORACLE -  ।.

              㯨 樨




                                   -- 125 --



    㯨  , ᫨ ᪮쪮 짮⥫,   
⠡栬, 믮 ஢   浪, ᨬ  ⮣, 
   믮 ஢.   ࠭ ⠭ 冷,  
஬  믮 饭  ⠡栬  襩 ⥬   쭥襬
㪮᭨⥫쭮 ᫥ ⮩ ᫥⥫쭮. ᫨ ⠪  ࠧ 
⢮  㣨 ਫ, 㯨 ᪫祭.

᫨  롨ࠥ 冷,  ஬  믮 ஢  ࠭樨,
稭 ᫥   ᮢ⨬ ( ᪫⥫).

            ࠬ SERIALIZABLE  ROW_LOCKING 䠩 INIT.ORA


砭: ⠢訥 ࠧ  ᭮ ᮢ  ⥬,  ࠡ⠫ 
           ࠡ⠥     ࠭  ORACLE   ࠡ  ANSI
           - ᮢ⨬ ०.

 ᪥  ORACLE  ࠬ ।  冷 ࠡ⪨
஢:   ORACLE  樥 ࠡ⪨ ࠭権 SERIALIZIBLE ⠭ 
FALSE   ROW_LOCKING  ⠭   ALWAYS.

     ࠬ     .  ਬ  ,
  ࠡ  ਫﬨ,  ࠧࠡ⠭묨  ࠭ ᨩ ORACLE;
⮫쪮 ⠬   ᬠਢ   ࠬ஢,  ⠪ 
ᯮ짮 ⫨  㬠稢 祭  ਢ  
ந⥫쭮.

⠭  ࠬ஢ ந  ⠭  ORACLE.
᫨     ᪮   ⥬    ᪮쪮 ஢ ORACLE,
   ᯮ짮  祭  ࠬ஢.

            ⠭ 祭 TRUE  SERIALIZABLE

     ࠬ SERIALIZABLE ⠭  TRUE,  ஢ ( )
믮  ஢ ⠡.  ,  ᫨   ப ⠡
(  ७      ⠪),   㣮    ᬮ
஢   ப  ⠡.

     ࠬ SERIALIZABL ⠭   TRUE,  ORACLE  RDBMS ⠪ 
ࠡ ࠫ ࠭権,  ᫨   ࠡ⠫ ᫥⥫쭮.
짮⥫ 砥  訢   ⠡  ⭮ 
祭 ࠭樨  ࠭⨥ ⮣,    ""  
("୮  ⥭"),       ࠫ쭮 ࠡ⪨.  
㣨 ࠭樨   믮   ⠡,   ⠥, 
     砭 襩 ࠭樨.

    ⠭ ࠬ SERIALIZABLE  TRUE -    ᯮᮡ ᯥ祭
" ⥭".   㪠  㣨 ᯮᮡ ⨦ ⮣:
    * ᯮ짮 SERIALIZABLE=FALSE  ஢ ⠡  ० ࠧ
      (SHARE)
    * ᯮ짮  SQL: SET TRANSACTION READ ONLY
    * ᯮ짮     SELECT  FOR  UPDATE,  ⮡ ஢
      ⠭ ப  ᪫⥫쭮 ०.

        ⠭ 祭 INTENT  ROW_LOCKING




                                   -- 126 --



    ᫨ ࠬ  ROW_LOCKING  ⠭  ALWAYS (㬠稢 祭 
ORACLE  樥 ࠡ⪨ ࠭権)         ⠡ (
 INSERT,  UPDATE  DELETE),  㣨 짮⥫   㣨
ப ⮩ ⠡      ⨢ 襩 ࠭樨.

t  ࠢ ஢  ஢  ப  ⮫쪮  ORACLE 
樥 ࠡ⪨ ࠭権,  ⥬  ࠡ⪨ ࠭権 ࠬ
ROW_LOCKING  ᥣ  ⠭   INTENT. ᫨ ROW_LOCKING ⠭ 
INTENT,          ⠡ (  INSERT,  UPDATE
 DELETE) 㣨 짮⥫    ஢.  ᫨ ⠡
஢ ,  㣨  짮⥫   믮  
஢ ப   SELECT FOR UPDATE,      
㦤   砭 襩 ࠭樨.   ࠧ,  ᪮쪮
짮⥫   믮 ஢ SELECT  FOR  UPDATE   ⮩ 
⠡ (  ⮬  ),    砭 ᪫饩
஢  믮 INSERT, UPDATE  DELETE.

          㬠稢 ஢

       ᯮᮡ ஢  䠩 INIT.ORA  
ࠬ,  ஬ 㬠稢        ਠ⮢
祭.  㭪 12-5   㬠稢 祭 
⠪ 稭  롮.
  ਠ                 I              II             III
    
     SERIALIZABLE=           FALSE          TRUE           TRUE
     ROW_LOCKING =           INTENT         ALWAYS         INTENT

  㭮 12-5    ᯮ짮  ࠬ஢  SERIALIZABLE  
                  ROW_LOCKING

ਠ I:  ⥭  ࠭  ORACLE RDBMS ( ⠡ 
            ࠫ )
ਠ II: ANSI - ᮢ⨬
ਠ III:ANSI - ᮢ⨬,   ஢  ஢ ⠡ ( ⠡
             ࠫ )

 ⥬ ORACLE  樥  ࠡ⪨  ࠭権,  饩 
஢  ஢ ப, ࠬ SERIALIZABLE ⠭  FALSE, 
ROW_LOCKING -  ALWAYS.

㭮 12-6    ஢,  ⥪騥 
ਠ⮢ 祭 ࠬ஢,    .  12-5.

           믮塞 ஢ ( ஢ ப  ⠡)
  
                       ਠ I      ਠ II      ਠ III
             ப ⠡ ப ⠡  ப ⠡
    
    SELECT             -     -         -      S         -     S
    SELECT FOR
    UPDATE             X     RS        X      S         X     S
    LOCK ... IN xxx MODE:

      EXCLUSIVE        X     X         X      X         X     X
      SHARE ROW
      EXCLUSIVE        SRX   SRX       SRX    SRX       SRX   SRX


                                   -- 127 --



      ROW SHARE        RS    RS        RS     RS        RS    RS
      ROW EXCLUSIVE    RX    RX        RX     RX        RX    RX
      SHARE            S     S         S      S         S     S

    INSERT             X     SRX       X      RX        X     SRX
    UPDATE             X     SRX       X      SRX       X     SRX
    DELETE             X     SRX       X      SRX       X     SRX
    DDL/DCL            -     X         -      X         -     X
 㭮 12-6 ਠ 㬠稢 ஢.


















































                                   -- 128 --
