我对ORACLE得一些认识
摘 要
本文主要讲述了ORACLE数据库的一些基本概念、Oracle10g的安装,SQL文的性能及Oracle 数据库操纵,安全管理及备份与恢复性能优化等ORACLE数据库的各项知识。本文作为学习Oracle的一份总述性资料,不求全文的结构合理、语句的优美,只在乎知识点的全面性、可再读性。 一、
关键词:ORACLE概念、安装、SQL文的性能、备份
二、 Oracle的一些基本概念 1.1 理解ORACLE实例 1.1.1 ORACLE SERVER
一个运行着的ORACLE数据库就可以看成是一个ORACLE SERVER,该SERVER由数据库(Database)和实例(Instance)组成,在一般的情况下一个ORACLE SERVER包含一个实例和一个与之对应的数据库。
一系列物理文件(数据文件,控制文件,联机日志等)的集合或与之对应的逻辑结构(表空间,段等)被称为数据库,简单的说,就是一系列与磁盘有关系的物理文件的组成。ORACLE内存结构和后台进程被成为数据库的实例,一个实例最多只能安装(Mount)和打开(Open)在一个数据库上,负责数据库的相应操作并与用户交互。
实例与数据库的关系如下图所示:
图一 ORACLE SERVER
1.1.2 ORACLE内存结构 (Memory structure)
a) 内存结构的组成
Oracle内存结构主要可以分共享内存区与非共享内存区,共享内存区主要包含SGA(System Global Area),非共享内存区主要由PGA(Program Global Area)组成,可以用如下图形表示。
图二 ORACLE MEMOERY STRUCTRUE
2) 全局共享区System Global Area(SGA)
System Global Area 是一块巨大的共享内存区域,他被看做是Oracle 数据库的一个大缓冲池,这里的数据可以被ORACLE的各个进程共用。
3) 共享池(Shared pool)
共享池是SGA中最关键的内存片段,特别是在性能和可伸缩性上。一个太小的共享池会扼杀性能,使系统停止,太大的共享池也会有同样的效果,将会消耗大量的CPU来管理这个共享池。不正确的使用共享池只会带来灾难。
共享池主要又可以分为以下两个部分: 1、SQL语句缓冲(Library Cache)
2、数据字典缓冲区(Data Dictionary Cache) 1.1.3 后台进程 (Background process)
后台进程是Oracle的程序,用来管理数据库的读写,恢复和监视等工作。Server Process主要是通过他和user process进行联系和沟通,并由他和user process