第一部分:ORACLE基础一、oracle体系结构要了解oracle体系结构必须先了解两个基本的概念:数据库和实例.1、数据库:数据库(database)是一个数据集合.oracle数据库都将其数据存放在数据文件中.在其内部,构数据库结数据对文件的逻辑映射,使不同的数据分开存储,这些逻辑划分称为表空间。①表空间表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间,叫做系统表空间(system表空间).一个表空间只能属于一个数据库。每个表空间由同一个磁盘上的一个或多个文件组成,这些文件称为数据文件。创建表空间的语句:createtablespaceorarodatafile'D:\OracleData\oraro.dat'size512Mautoextendon;增加数据文件:altertablespaseoraroadddatafile'D:\OracleData\oraro1.dat'size512M;删除表空间:droptablespaceoraroincludingcontentsanddatafiles;②数据文件每个表空间由同一个磁盘上的一个或多个文件组成,这些文件叫做数据文件(datafile),数据文件只能属于一个表空间.数据文件创建后可以改变大小.创建新的表空间需要创建新的数据文件.数据文件一旦加入到表空间中,就不能从表空间中移走,也不能与其他表空间发生联系.数据库必须的三类文件是datafile,controlfile,redologfile.其他文件prameterfile,passwordfile,archivedlogfiles并不是数据库必须的,他们只是辅助数据库的.查看数据库的物理文件组成:1)查看数据文件:SQL>select*fromv$datafile;2)查看控制文件:SQL>select*fromv$controlfile;3)查看日志文件:SQL>select*fromv$logfile;③控制文件控制文件是一个很小的二进制文件,用于记录数据库的物理结构。一个控制文件只属于一个数据库。创建数据库时,创建控制文件。当数据库的物理结构改变的时候,Oracle会更新控制文件。用户不能编辑控制文件,控制文件的修改由Oracle完成。数据库的启动和正常运行都离不开控制文件。启动数据库时,Oracle从初始化参数文件中获得控制文件的名字及位置,打开控制文件,然后从控制文件中读取数据文件和联机日志文件的信息,最后打开数据库。数据库运行时,Oracle会修改控制文件,所以,一旦控制文件损坏,数据库将不能正常运行。控制文件记录的数据库信息如下:数据库名称(DatabaseName)创建数据库的时间戳数据文件的名字及位置联机日志文件的名字及位置表空间信息日志历史记录(LogHistory)归档日志的信息备份信息当前的日志序列号(LogSequenceNumber)校验点信息(Checkpoint)控制文件的大小由下面的几个参数决定:MAXLOGFILESMAXLOGMEMBERSMAXLOGHISTORYMAXDATAFILESMAXINSTANCES当增加、重命名、删除一个数据文件或者一个联机日志文件时,Oracle服务器进程(ServerProcess)会立即更新控制文件以反映数据库结构的这种变化。所以,Oracle总是告诫我们,在数据库的结构发生变化后,要备份控制文件。日志写进程LGWR负责把当前日志序列号记录到控制文件中。校验点进程CKPT负责把校验点的信息记录到控制文件中。归档进程负责把归档日志的信息记录到控制文件中。初始化参数CONTROL_FILES的值记录控制文件的位置。通常,DBA应该镜像控制文件,把每个控制文件分布到不同的物理磁盘,发生灾难时,即使其中一个控制文件损坏,数据不会丢失,也不会使整个数据库陷于瘫痪。2、实例通俗的讲实例就是操作oracle数据库的一种手段.数据库实例也称作服务器,是用来访问数据库文件集的存储结构及后台进程的集合.一个数据库可以被多个实例访问(称为真正的应用群集选项).决定实例的大小及组成的各种参数或者存储在名称init.ora的初始化文件中,或者隐藏在数据库内部的服务器参数文件中.通过spfile引用该文件,spfile存储在spfile.ora文件中.实例启动时读取初始化文件,数据库系统管理员可以修改该文件,对初始化文件的修改只有在下次启动时才有效.3、监听程序监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。二、PL/SQLPL/SQL也是一种程序语言,叫做过程化SQL语言(ProceduralLanguage/SQL)。...