为了摆脱开发过程中随遇到问题,随google的弊端,能更加深入地进一步拓深对Oracle的掌握,开始把《ORACLE数据库实例教程》再系统地看一遍。
 
        下面是每节视频我的随记,有同道学习的朋友可以拿去借鉴,当作大纲,欢迎讨论,一起学习。
 
1z0_031_01-----oracle 的结构组件

 实例和数据库的关系:一个实例只能操作一个数据库,一个数据库可以被多个实例管理。数据库与实例之间是1对1或1/n的关系,在非并行的数据库系统中每个Oracle数据库与一个 实例相对应;在并行的数据库系统中,一个数据库会对应多个实例,同一时间用户只与一个 实例相联系,当某一个实例出现故障时,其他实例自动服务,保证数据库正常运行。在任何 情况下,每个实例都只可以对应一个数据库。

----实例:操作oracle数据库的一种手段,包括内存结构和后台进程。为便于理解,可以简单地这么认为:启动oracle的服务,那么随之初始化实例,关闭oracle服务,则实例消失。
 
memory structure + backgroud process
   
memory strcuture: 
   A   系统全局区:SGA(System Global Area)--共享的(can be set dynamically with SGA_MAX_SIZE)
     ----shared pool(key performance-related memory structure:
     ----library cache:Sql&PL/SQL
     ----dictionary cache) : table/column/index....
     ----database buffer cache: 存储查询数据的副本(can be set dynamically with DB_CACHE_SIZE)
    ----redo log buffer:记录所有数据块的改变,用于恢复数据库.
    ----other...large poll,java poll,et.
   
   B  程序全局区:PGA(Programe Global Area)
    ----为每个用户进程连接到服务器所保留的内存结构,存储session信息(独占服务器形式),排序区,游标状态
    ----如果是共享服务器,则session信息存储于系统全局区SGA。
   
  backgroud process:select * from v$bgprocess where paddr<>'0'
  ----DBWR进程
  ----LGWR进程
  ----SMON进程
  ----PMON进程
  ----RECO进程
  ----CKPT进程
  ----ARCH进程
  ----LCKn进程
  ----Dnnn进程
   
   
----数据库:数据文件,控制文件,在线日志文件。辅助的文件还有参数文件和归档日志文件。
 相关视图:v$datafile;v$controlfile;v$logfile;
   
  
  
 
----客户端与服务器的交互:
    oracle 的用户进程并不能直接操作数据,而是通过与服务器进程的会话,由服务器进程来进行数据操作,由服务器进程履行用户进程的任务,返回结果。