友情提示:如果本网页打开太慢或显示不完整,请尝试鼠标右键“刷新”本网页!阅读过程发现任何错误请告诉我们,谢谢!! 报告错误
喜书网 返回本书目录 我的书架 我的书签 TXT全本下载 进入书吧 加入书签

oracle从入门到精通(PDF格式)-第15章

按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!




  自底向上 右边放主键,左边放外键  

  level(伪列)  

  层次的级别:不固定值。  



                               第 44 页,共 106 页 


…………………………………………………………Page 45……………………………………………………………

资源来自网络,仅供学习!                                                      Oracle 从入门到精通 



  使用 level 和 LPAD 层次化格式的显示  

  修剪分支  

    

  Oracle 9i 对 DML 和DDL 语句的扩展  

  多表插入的 INSERT 语句   

  insert 。。。。 select 语句可以被用来在单个 DML 语句中向多个表插入数据。  

  多表插入语句:  

  无条件 INSERT  

  条件 ALL INSERT  

  条件 FIRST INSERT  

  轮巡 INSERT   

    



二、Management:  



1。Oracle的构件和组件  



  instance 实例/例程  

  database 数据库  

  SGA  系统全局区  

  shared pool  共享池  

  library cache  库高速缓存区  

  data dictionary cache 字典高速缓存区  

  database buffer cache  数据库高速缓存区  

  redo log buffer 重做日志缓冲区  

  java pool     java 池  

  large pool   大池  

  PMON   进程监视进程  

  SMON   系统监视进程  

  DBWR  数据库写进程  

  LGWR  日志写进程  

  CKPT    检查点进程  

  data file  数据文件  

  control file  控制文件  

  redo log file  重做日志文件  

  parameter file  初始化参数文件  

  password file   口令文件  

  archived log file  归档日志文件  

  user process  用户进程  

  server process  服务进程  

  PGA   程序全局区  

  tablespace 表空间  



                                 第 45 页,共 106 页 


…………………………………………………………Page 46……………………………………………………………

资源来自网络,仅供学习!                                       Oracle 从入门到精通 



2。数据库的物理结构:  



1。控制文件  



2。   数据文件  



3。   重做日志文件  



4。   data file  数据文件:  



5。   作用:存放数据。  



6。   数据文件大小可以扩展。  



7。 tablespace 表空间:一个或多个数据文件的逻辑组成。  



 一个数据库最少有一个 system 表空间,一个表空间最少有一个数据文件。  



8。   redo log file  重做日志文件  



 重做日志:在数据库中发生的所有改变,改变的每一条信息都叫做一条重做日志信息。  

 存放重做日志信息的文件就叫做重做日志文件。  

 作用:利用日志记录可以恢复损坏的数据库,保证数据的可恢复性。  

 重做日志组:包含一个或多个日志文件。  

 特点:  

 一个数据库最少有两个组,一个组最少有一个组成员。  

 重做日志的大小是固定的。  

 写入方式是顺序写入,按时间。  

 切换(一个写满往下一个写),循环(都写满了就重新回到头组写)。  



 9。   control file  控制文件  



 数据库中的核心文件。  

 存放内容:  

 数据库的名称和编号,数据库的结构信息(数据文件和重做日志文件的地址)  

  当前的 SCN system change number 系统改变号:  

   给系统的每一次改变编号(最后一次同步的 SCN 号)。  

   控制文件的 SCN 号和所有存放数据文件的头部的 SCN 相同。  

   启动的时候,一样启动,不一样恢复。  

 特点:一个数据库最少需要一个控制文件,但一般情况下都会有复用/副本。                  



 10。 parameter file  初始化参数文件  



 非必要文件  

 跟实例有关。  



                         第 46 页,共 106 页 


…………………………………………………………Page 47……………………………………………………………

资源来自网络,仅供学习!                                             Oracle 从入门到精通 



 11。 password file   口令文件  



  非必要文件。  

  作用:做特权身份认证。  

  sysdba/sysoper/普通身份  



 12。 archived log file  归档日志文件  



  非必要文件。  

  内容:  

  重做日志文件(redo log file)内容的备份。  

  作用:使数据库所有的日志都会保留下来。  

 特点:每个重做日志内容都会对应一个归档文件。  

 LOG SEQUENCE 日志序列号:重做日志内容的序列号。  

  非归档日志:  

   没有归档日志文件;  

   性能要好一些;  

  可以选择归档模式或非归档模式。  

   



3。instance 实例/例程  



  启动的步骤:  

  (1)启动实例;  

  实例包含:  

 1。SGA   

  2。后台进程   

  一个实例只有一个 SGA,可以有多个 PGA,建立一次连接(会话)就产生一次PGA。  

   

  ORACLE 的内存结构:  

      SGA 在实例启动的时候分配,是 ORACLE 实例的基本组件; 大小可以动态改变(内部大 

  小)  

         通过 SGA_MAX_SIZE 定义大小(总大小是静态的)  

      PGA 程序全局区(私有区域):在服务进程启动的时候分配。  

   

 PGA 程序全局区  

  是为每个用户进程连接 ORA 数据库提供的内存区域;  

  当进程创建时分配;  

  当进程结束时释放;  

  一个 PGA 只被一个进程使用;  

  包含:有连接的信息  

   

  SGA  系统全局区  

  所有数据库的后台进程和服务进程的共用内存区域。  

  包含:  

  1。shared pool  共享池  



                            第 47 页,共 106 页 


…………………………………………………………Page 48……………………………………………………………

资源来自网络,仅供学习!                                                 Oracle 从入门到精通 



   设置大小的参数:SHARED_POOL_SIZE  

   包含:  

  library cahce  库高速缓存区  

   大小由共享池决定。  

   包含:SQL 语句和 SQLPLUS 文本,分析代码,执行计划  

   存储目的:与性能有关。  

   当两个语句相同的时候不需要重新分析,使用相同的执行计划即可。  

   管理方法:采用 LRU (最近使用算法)least recent used 当空间不足的时候,使用 LRU。  

   结构:  SQL 区域、PL/SQL 区域  

  data dictionary cache 字典高速缓存区  

          内容:最近最多使用的数据字典信息  

          作用:为了能够在分析的时候所需要的字典信息能在内存中找到,避免使用物理 I/O。  

          管理方法:采用 LRU (最近使用算法)                   

     

  2。database buffer cache  数据库高速缓存区  

  单位:块。  

  内容:最近最常数据块  

  作用:减少物理 I/O,提高性能  

  参数:DB_BLOCK_SIZE 决定主数据块的大小。  

 会影响性能;  

  设置后不允许修改;  

  管理方法:采用 LRU (最近使用算法)  

  由独立的自缓冲区组成:  

 DB_CACHE_SIZE  

 CB_KEEP_CACHE_SIZE  

 DB_RECYCLE_CACHE_SIZE  

  可以通过 ALTER SYSTEM 命令动态增加或收缩:  

 ALTER SYSTEM SET DB_CACHE_SIZE =96M;  

         

 redo log buffer 重做日志缓冲区  

 记录了对数据块所作的所有修改。  

  作用:数据库的恢复  

  大小由 LOG_BUFFER 决定。  

 顺序单条写入,批量写出到文件。  

   

  java pool     java 池  

  可选  

  java_pool_size 大小  

  large pool   大池  

  可选  

 减轻共享池的负担。  

   被用于:   1。在共享服务器中的会话的内存需求(UGA);  

             2。I/O 辅助;  

             3。备份恢复操作或 RMAN;  

             4。并行执行的信息缓冲区;  

  large_pool_size 大小  



                              第 48 页,共 106 页 


…………………………………………………………Page 49……………………………………………………………

资源来自网络,仅供学习!                                            Oracle 从入门到精通 



   



4、进程结构  



1。   用户进程:开始于数据库用户请求连接数据库  



2。   服务进程:与 ORA 实例连接,开始于用户会话的建立。  



  分为:    专用服务进程、共享服务进程  

  性能专用更好。  

  利用资源方面共享更好(网站方面)。  



3。   后台进程:当 ORA 实例启动时启动  



  后台进程包含:  

1。PMON   进程监视进程  

  监视用户进程(客户端连接服务器的进程)到服务进程(在服务器端响应用户进程的进程)的 

  连接。  

  创建会话。  

   监视会话是否异常中断,如果中断:PMON 会回滚事务、解锁、释放资源。  



2。SMON   系统监视进程  



  任务:会检测 SCN 号,相等:启动  

  不相等,实例恢复(1)前滚将日志应用  

                   (2)打开数据库  

                   (3)恢复数据库  

         恢复的起点是走后一次 CHECKPOINT 的位置。  

   每 3 秒合并空闲空间  

  释放临时段  

      临时段:暂时存放在排序时中没有空间的字段值。  

         在排序中产生的。  

         数据量大的时候,排序是分成若干块执行的,当字段值排好序之后就放到临时段中。  

   



1。  DBWR  数据库写进程  



  /DBW0/DBWn   n:0…9  

   将脏数据写回到数据文件中。  

   

  当发生以下情况执行:    

  当发生检查点事件的时候,checkpoint  



                            第 49 页,共 106 页 


…………………………………………………………Page 50……………………………………………………………

资源来自网络,仅供学习!                                             Oracle 从入门到精通 



  脏块达到极限值;  

  没有空间的缓冲空间  

  超时  

  RAC PING 请求  

  表空间离线  

  表空间只读  

  在表执行 DROP 或TRUNCATE  

  表空间上执行 BEGIN BACKUP         



2。   LGWR  重作日志写进
返回目录 上一页 下一页 回到顶部 0 0
未阅读完?加入书签已便下次继续阅读!
温馨提示: 温看小说的同时发表评论,说出自己的看法和其它小伙伴们分享也不错哦!发表书评还可以获得积分和经验奖励,认真写原创书评 被采纳为精评可以获得大量金币、积分和经验奖励哦!