《福建省电力公司oracle培训教材--ORACLE的体系结构21292.pptx》由会员分享,可在线阅读,更多相关《福建省电力公司oracle培训教材--ORACLE的体系结构21292.pptx(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ORACLEORACLE数据库管理员数据库管理员 体系结体系结构构技术支持部 汤庆锋福州磬基电子有限公司本课程学习内容本课程学习内容物理结构物理结构逻辑结构逻辑结构存储结构存储结构进程结构进程结构实例和数据库的启动和关闭实例和数据库的启动和关闭OracleOracle的体系结构的体系结构 要了解要了解OACLEOACLE的体系结构,必须先了解两个基本概念:数据库的体系结构,必须先了解两个基本概念:数据库(DATABASE)DATABASE)和实例和实例(INSTANCE)INSTANCE)。数据库数据库数据库是一个数据的集合。数据库不仅是指物理上的数据,也指我们将要学习数据库是一个数据的集合。
2、数据库不仅是指物理上的数据,也指我们将要学习到的逻辑、存储及进程对象的一个组合。一个数据库中的数据逻辑上存储在表到的逻辑、存储及进程对象的一个组合。一个数据库中的数据逻辑上存储在表中,物理上必然存储在物理文件中。在其内部,数据库结构提供一张数据存储中,物理上必然存储在物理文件中。在其内部,数据库结构提供一张数据存储到文件的逻辑图,允许不同类型的数据分开存储,这些逻辑划分就是表空间。到文件的逻辑图,允许不同类型的数据分开存储,这些逻辑划分就是表空间。表空间表空间数据文件数据文件数据库数据库表空间表空间1表空间表空间2表空间表空间3表空间表空间4OracleOracle的体系结构的体系结构表空间表
3、空间表空间是数据库的逻辑划分,每个数据库至少有一个表空间(表空间是数据库的逻辑划分,每个数据库至少有一个表空间(systemsystem表表空间),为了便于管理、维护及提高运行效率,空间),为了便于管理、维护及提高运行效率,ORACLEORACLE建议创建多个表建议创建多个表空间来存储不同类型的数据。例如空间来存储不同类型的数据。例如user_datauser_data表空间供一般用户使用,表空间供一般用户使用,rollback_datarollback_data表空间供回滚段使用,表空间供回滚段使用,ydgl_dataydgl_data表空间供用电管理使用。表空间供用电管理使用。数据文件数据
4、文件每一个表空间由一个或多个数据文件组成,这些文件叫数据文件。数据每一个表空间由一个或多个数据文件组成,这些文件叫数据文件。数据文件里面不仅存储了文件里面不仅存储了ORACLEORACLE系统数据,而且还存储了所有的用户的数系统数据,而且还存储了所有的用户的数据。据。OracleOracle的体系结构的体系结构实例实例 ORACLEORACLE实例是存取和控制数据库的软件机制,它包含一个系实例是存取和控制数据库的软件机制,它包含一个系统全局区和一组后台进程。统全局区和一组后台进程。实例实例 =内存分配内存分配 +一组后台进程一组后台进程 如果把如果把OracleOracle比作一部汽车,实例比
5、作一部汽车,实例(instance)instance)相当于汽车的相当于汽车的发动机一样发动机一样,启动启动oracleoracle前提应先启动前提应先启动instance.instance.OracleOracle的体系结构的体系结构ORACLEORACLE的体系结构的组成部分:的体系结构的组成部分:物理结构物理结构逻辑结构逻辑结构存储结构存储结构进程结构进程结构OracleOracle的体系结构图的体系结构图物理结构物理结构 数据库的物理结构是描述数据库中的数据以什么形式存储在介质上数据库的物理结构是描述数据库中的数据以什么形式存储在介质上.每每一个一个OracleOracle数据库中的数
6、据都被物理的存储在数据库文件中数据库中的数据都被物理的存储在数据库文件中.分配给每一数分配给每一数据库对象的物理空间总量取决于物理操作系统文件据库对象的物理空间总量取决于物理操作系统文件.因此因此,物理数据库结构是物理数据库结构是由构成数据库的操作系统文件所决定由构成数据库的操作系统文件所决定。数据文件数据文件 日志文件日志文件 控制文件控制文件 参数文件参数文件 警告、跟踪文件警告、跟踪文件一个数据库在物理上的构成一个数据库在物理上的构成数据文件数据文件日志文件日志文件控制文件控制文件参数文件参数文件警告、跟踪文件警告、跟踪文件Sys1ORCL.oraSys1ORCL.oraUsr1ORCL
7、.oraUsr1ORCL.oraTmp1ORCL.oraTmp1ORCL.oraRbs1ORCL.oraRbs1ORCL.oraLog1ORCL.oraLog1ORCL.oraLog2ORCL.oraLog2ORCL.oralog3ORCL.oralog3ORCL.oraLog4ORCL.oraLog4ORCL.oraCtl1ORCL.oraCtl1ORCL.oraInitORCL.oraInitORCL.oraorclALRT.logorclALRT.log物理结构物理结构ORACLEORACLE数据库缺省安装完后,产生的物理结构如下图所示:数据库缺省安装完后,产生的物理结构如下图所示:文件
8、类型文件类型文件名称文件名称文件描述文件描述物理位置物理位置数据文件数据文件Sys1ORCL.oraSys1ORCL.ora系统数据文件系统数据文件%ORACLE_HOME%ORACLE_HOME%DATABASEDATABASEUsr1ORCL.oraUsr1ORCL.ora用户数据文件用户数据文件Tmp1ORCL.oraTmp1ORCL.ora临时数据文件临时数据文件Rbs1ORCL.oraRbs1ORCL.ora回滚数据文件回滚数据文件重做日志文件重做日志文件Log1ORCL.oraLog1ORCL.ora日志文件日志文件1 1%ORACLE_HOME%ORACLE_HOME%DATAB
9、ASEDATABASELog2ORCL.oraLog2ORCL.ora日志文件日志文件2 2log3ORCL.oralog3ORCL.ora日志文件日志文件3 3Log4ORCL.oraLog4ORCL.ora日志文件日志文件4 4控制文件控制文件Ctl1ORCL.oraCtl1ORCL.ora%ORACLE_HOME%ORACLE_HOME%DATABASEDATABASE参数文件参数文件InitORCL.oraInitORCL.ora%ORACLE_HOME%ORACLE_HOME%DATABASEDATABASE警告、跟踪文件警告、跟踪文件orclALRT.logorclALRT.log
10、%ORACLE_HOME%ORACLE_HOME%Rdbms80traceRdbms80trace物理结构数据文件物理结构数据文件 数据文件是用于存储全部数据库数据数据文件是用于存储全部数据库数据。例如数据库雇员表例如数据库雇员表(emp)emp)中的数中的数据和索引数据等据和索引数据等。一般来说,数据文件都有如下特征:一般来说,数据文件都有如下特征:一个数据库包含一个以上的数据文件(系统数据文件)一个数据库包含一个以上的数据文件(系统数据文件)数据文件必须与表空间相对应数据文件必须与表空间相对应一个表空间可包含一个或多个数据文件一个表空间可包含一个或多个数据文件数据文件可以改变其大小,也可以
11、设置为自动扩充数据文件可以改变其大小,也可以设置为自动扩充 为了提高数据库的操作性能为了提高数据库的操作性能,对于具有多个硬盘的系统对于具有多个硬盘的系统,应合理布局数据应合理布局数据文件文件,以提高操作速度。例如,可在一个硬盘上存储数据文件,而在另一个以提高操作速度。例如,可在一个硬盘上存储数据文件,而在另一个硬盘上存储索引文件,这样就能并行存取。硬盘上存储索引文件,这样就能并行存取。数据文件维护数据文件维护向一个表空间创建和增加数据文件向一个表空间创建和增加数据文件命令方式命令方式ORACLE Enterprise ManagerORACLE Enterprise ManagerStora
12、ge ManagerStorage Manager(推荐)推荐)示例:向表空间示例:向表空间USER_DATAUSER_DATA增加一个数据文件增加一个数据文件user2.dbfuser2.dbf到到D D盘的盘的oradataoradata目录下,目录下,大小为大小为1010M M。命令方式:命令方式:ALTER TABLESPACE USER_DATA ADD DATAFILE ALTER TABLESPACE USER_DATA ADD DATAFILE d:oradatauser2.dbfSIZE 10M;d:oradatauser2.dbfSIZE 10M;注意:已经创建的数据文件不
13、能被删除。注意:已经创建的数据文件不能被删除。允许和禁止数据文件的自动扩展允许和禁止数据文件的自动扩展 用户可创建或修改已存在的数据文件使它们在数据库需要更多空间时自用户可创建或修改已存在的数据文件使它们在数据库需要更多空间时自动增加文件尺寸这些文件以指定的增长量增长到指定的最大值动增加文件尺寸这些文件以指定的增长量增长到指定的最大值.如上例的命令方式:如上例的命令方式:ALTER DATABASE DATAFILE d:oradatauser2.dbf AUTOEXTEND ON NEXT ALTER DATABASE DATAFILE d:oradatauser2.dbf AUTOEXTE
14、ND ON NEXT 10M MAXSIZE 100M;10M MAXSIZE 100M;物理结构重做日志文件物理结构重做日志文件 重做日志文件是用于记录数据库所做的全部变更,以便在系统发生故障重做日志文件是用于记录数据库所做的全部变更,以便在系统发生故障时,用它对数据库进行恢复。当对数据库进行修改时(如插入、修改、删除时,用它对数据库进行恢复。当对数据库进行修改时(如插入、修改、删除等),等),oracle oracle 将对数据库所做的全部变更首先记录在将对数据库所做的全部变更首先记录在SGASGA的日志缓冲区中。的日志缓冲区中。后台进程(后台进程(LGWRLGWR)将日志缓冲区中的信息写
15、入日志文件中。而将日志缓冲区中的信息写入日志文件中。而ARCHARCH后台进程后台进程实现重做日志文件的归档。实现重做日志文件的归档。日志文件都有如下特征:日志文件都有如下特征:一个数据库必须至少有两个日志文件,日志文件以循环方式使用一个数据库必须至少有两个日志文件,日志文件以循环方式使用日志文件允许镜象日志文件允许镜象 log1log2log3外部存储设备LGWR重做日志文件重做日志文件 为了防止日志文件为了防止日志文件出现故障,出现故障,OracleOracle允许设置镜象日志。所谓镜象日志允许设置镜象日志。所谓镜象日志就是上不同的磁盘上同时维护两个或多个联机日志文件副本。这样如果一个就是
16、上不同的磁盘上同时维护两个或多个联机日志文件副本。这样如果一个日志文件的磁盘发生故障,则可用另一个磁盘上的日志文件日志文件的磁盘发生故障,则可用另一个磁盘上的日志文件。重做日志文件的归档的条件重做日志文件的归档的条件 重做日志文件的归档重做日志文件的归档取决于是否启用了取决于是否启用了ARCHIVELOG(归档归档)模式。模式。ORACLEORACLE在缺省状态下是没有启用在缺省状态下是没有启用ARCHIVELOG(归档归档)模式,如何启模式,如何启用我们将在下面的章节学习。用我们将在下面的章节学习。创建联机重做日志组和成员创建联机重做日志组和成员 创建联机重做日志组和成员创建联机重做日志组和
17、成员方法方法1 1:用带有:用带有ALTER DATABASE ADD LOGFILEALTER DATABASE ADD LOGFILE子句创建。子句创建。方法方法2 2:用带有:用带有ORACLE Enterprise ManagerORACLE Enterprise Manager工具创建(推荐)。工具创建(推荐)。下面的语句给数据库添加一个新的重做日志组下面的语句给数据库添加一个新的重做日志组ALTER DATABASE ADD LOGFILE GROUP ALTER DATABASE ADD LOGFILE GROUP 5(d:orantdatabaselog5_1.ora)SIZE
18、 500K;5(d:orantdatabaselog5_1.ora)SIZE 500K;下面的语句给数据库添加一个新的重做日志组下面的语句给数据库添加一个新的重做日志组5,5,增加一个成员增加一个成员ALTER DATABASE ADD LOGFILE MEMBER ALTER DATABASE ADD LOGFILE MEMBER d:orantdatabaselog5_2.ora TO GROUP 5;d:orantdatabaselog5_2.ora TO GROUP 5;归档重做日志文件归档重做日志文件 归档重做日志文件(归档重做日志文件(Archive Log FilesArchiv
19、e Log Files)也叫离线日志也叫离线日志文件。它是在线重做日志文件的拷贝。当数据库处于文件。它是在线重做日志文件的拷贝。当数据库处于ARCHIVELOGARCHIVELOG状态时,归档进程将拷贝已写满的(状态时,归档进程将拷贝已写满的(FilledFilled)重重做日志文件到另一路径。归档日志文件主要用做数据库的恢做日志文件到另一路径。归档日志文件主要用做数据库的恢复。复。数据库缺省被创建为数据库缺省被创建为NOARCHIVELOGNOARCHIVELOG模式模式归档重做日志文件归档重做日志文件设置数据库为设置数据库为ARCHIVELOGARCHIVELOG模式模式1.1.关闭数据库
20、并编辑初始化参数:关闭数据库并编辑初始化参数:Sqlshutdown immediateSqlshutdown immediate编辑初始化参数使编辑初始化参数使log_archive_start=truelog_archive_start=true2.2.启动数据库于启动数据库于MOUNTMOUNT状态状态Sqlstartup mount;Sqlstartup mount;3.3.修改数据库的归档模式修改数据库的归档模式Sqlalter database archivelog;Sqlalter database archivelog;4.4.打开数据库打开数据库Sqlalter databa
21、se open;Sqlalter database open;查询重做日志和归档信息查询重做日志和归档信息可以通过可以通过archive log listarchive log list命令来查询数据库工作于哪种模式命令来查询数据库工作于哪种模式Sqlarchive log listSqlarchive log list通过查询下面的数据字典可以获得重做日志组和成员的信息通过查询下面的数据字典可以获得重做日志组和成员的信息V$logV$logV$logfileV$logfile控制文件控制文件 每一个每一个Oracle Oracle 数据库都有一个控制文件数据库都有一个控制文件control
22、file control file 控制文件记录数控制文件记录数据库的物理结构其中包括据库的物理结构其中包括:数据库名称数据库名称相关的数据库和联机重做日志文件的名称和位置相关的数据库和联机重做日志文件的名称和位置数据库创建的时间戳数据库创建的时间戳当前日志序列号当前日志序列号检查点信息检查点信息 Oracle Oracle 数据库的控制文件和数据库同时创建数据库的控制文件和数据库同时创建,控制文件主要用于打开控制文件主要用于打开数据库、存取数据库和恢复数据库。如果控制文件被破坏,则无法对数据库数据库、存取数据库和恢复数据库。如果控制文件被破坏,则无法对数据库进行操作。进行操作。为了防止控制文
23、件被破坏,为了防止控制文件被破坏,ORACLEORACLE允许镜象控制文件。一般一个数据库允许镜象控制文件。一般一个数据库应至少有两个控制文件,它们分别分布在不同的磁盘上。应至少有两个控制文件,它们分别分布在不同的磁盘上。控制文件的名字(包括镜象)由初始化参数文件(控制文件的名字(包括镜象)由初始化参数文件(INITORCL.ORA)INITORCL.ORA)中的参数中的参数CONTROL_FILESCONTROL_FILES指出。指出。如何镜像控制文件如何镜像控制文件创建附加的控制文件拷贝创建附加的控制文件拷贝 用户创建新的控制文件的方法是将现有文件拷贝到新的地址将文件名添用户创建新的控制文
24、件的方法是将现有文件拷贝到新的地址将文件名添加到控制文件列表类似地用户通过拷贝文件为新的名字或地址来重命名现有加到控制文件列表类似地用户通过拷贝文件为新的名字或地址来重命名现有文件并且改变控制文件列表中的文件名文件并且改变控制文件列表中的文件名。1.关闭数据库关闭数据库2.使用操作系统的命令将现存的控制文件拷贝到不同的地方使用操作系统的命令将现存的控制文件拷贝到不同的地方3.编辑数据库初始化文件中的编辑数据库初始化文件中的CONTROL_FILES 参数添加新的控制文件名或参数添加新的控制文件名或更改现存的控制文件更改现存的控制文件。4.4.重新启动数据库重新启动数据库删除控制文件删除控制文件
25、删除控制文件删除控制文件 用户可以从数据库中删除控制文件例如如果控制文件的位用户可以从数据库中删除控制文件例如如果控制文件的位置不合适或控制文件破坏时用户可能希望这样做。记住在任何置不合适或控制文件破坏时用户可能希望这样做。记住在任何时候数据库建议至少有两个控制文件。时候数据库建议至少有两个控制文件。1.1.关闭数据库关闭数据库。2.2.编辑数据库初始化参数文件中的编辑数据库初始化参数文件中的CONTROL_FILES 参数删除旧的控参数删除旧的控制文件名制文件名。3.3.重新启动数据库重新启动数据库。警告警告:这个操作不能物理上从磁盘上删除不希望的控制文件,用户从数据库这个操作不能物理上从磁
26、盘上删除不希望的控制文件,用户从数据库中删除控制文件之后使用操作系统的命令来删除不需要的文件中删除控制文件之后使用操作系统的命令来删除不需要的文件参数文件参数文件 参数文件在数据库启动过程中被读取来初始化参数文件在数据库启动过程中被读取来初始化ORACLEORACLE系统环系统环境。参数文件有如下作用:境。参数文件有如下作用:设置数据库的缺省参数设置数据库的缺省参数设置设置SGASGA成份的大小成份的大小指定控制文件、镜象控制文件指定控制文件、镜象控制文件通过调整内存结构来,优化数据库性能通过调整内存结构来,优化数据库性能定义各种的操作参数定义各种的操作参数 每一个每一个ORACLEORACL
27、E数据库至少有一个的参数文件数据库至少有一个的参数文件,参数文件是一参数文件是一个文本文件。可通过操作系统编辑程序来维护它。参数文件在个文本文件。可通过操作系统编辑程序来维护它。参数文件在修改后,必须关闭和重新启动数据库,才能使新的参数值有效修改后,必须关闭和重新启动数据库,才能使新的参数值有效。参数文件参数文件DB_NAME:DB_NAME:数据库的标志名,是唯一的。数据库的标志名,是唯一的。CONTROL_FILE:CONTROL_FILE:控制文件名,需指定绝对路径。控制文件名,需指定绝对路径。通常需修改的参数:通常需修改的参数:DB_BLOCK_BUFFERS:SGADB_BLOCK_
28、BUFFERS:SGA中数据块缓冲区的块数。中数据块缓冲区的块数。LOG_BUFFER:LOG_BUFFER:分配给分配给SGASGA中日志缓冲区的大小中日志缓冲区的大小Shared_Pool_Size:Shared_Pool_Size:共享共享SQLSQL的大小。的大小。Open_Cursors:Open_Cursors:一个用户同时能打开的游标最大数。一个用户同时能打开的游标最大数。Processes:Processes:能同时连到能同时连到ORACLEORACLE的进程最大数的进程最大数Log_Archive_Start:Log_Archive_Start:启动自动归档启动自动归档Log
29、_Archive_Format:Log_Archive_Format:归档文件的文件名格式归档文件的文件名格式Log_Archive_Dest:Log_Archive_Dest:归档日志文件的目标(目录)归档日志文件的目标(目录)跟踪、警告文件跟踪、警告文件 当当ORACLE进程检测到一个错误时将会关于错误的信息转进程检测到一个错误时将会关于错误的信息转储到它的跟踪文件,以便系统管理员通过跟踪文件的信息来排储到它的跟踪文件,以便系统管理员通过跟踪文件的信息来排除故障和调整应用程序和事例除故障和调整应用程序和事例。orclAlRT 是一个特殊的跟踪文件也称警告文件,是一个特殊的跟踪文件也称警告文
30、件,Oracle 使使用它来保存对数据库进行特殊操作的日志。用它来保存对数据库进行特殊操作的日志。系统系统管理员应该经常查看跟踪文件管理员应该经常查看跟踪文件,来防范系统免遭不测来防范系统免遭不测.跟踪、警告文件的缺省路径在跟踪、警告文件的缺省路径在%ORACLE_HOME%/RDMBS80/TRACEORACLE_HOME%/RDMBS80/TRACE目录下目录下存储结构存储结构 OracleOracle使用机器的内存来存放常用信息和所有运行在该机使用机器的内存来存放常用信息和所有运行在该机器上的器上的OracleOracle程序。也称程序。也称 SGA(System Global Area
31、),SGA(System Global Area),是是ORACLEORACLE的高速内存缓冲区。的高速内存缓冲区。SGASGA存放数据库中所有用户的共享信息,存放数据库中所有用户的共享信息,SGASGA设置的越大,设置的越大,数据库运行的速度就越快,因为这样可以避免从磁盘上读取数数据库运行的速度就越快,因为这样可以避免从磁盘上读取数据。据。SGASGA在数据库启动时被分配,在数据库关闭时被收回。在数据库启动时被分配,在数据库关闭时被收回。SGASGA主要由以下成分构成:主要由以下成分构成:数据库缓冲存储区数据库缓冲存储区(Database Buffer Cache)Database Buff
32、er Cache)日志缓冲区日志缓冲区 (Redo Log Buffer)Redo Log Buffer)共享池共享池 (Shared Pool)Shared Pool)存储结构存储结构数据库缓冲存储区数据库缓冲存储区 数据库缓冲存储区用于存储数据库中数据块的副本它是由一组缓冲块所数据库缓冲存储区用于存储数据库中数据块的副本它是由一组缓冲块所组成。缓冲块的数目由初始化参数组成。缓冲块的数目由初始化参数DB_BLOCK_BUFFERDB_BLOCK_BUFFER的值所确定。的值所确定。一个缓冲块一个缓冲块(oracleoracle块块)的大小由参数的大小由参数DB_BLOCK_SIZEDB_BL
33、OCK_SIZE所确定。所确定。当用户进程需要进行操作的数据块不在数据库缓冲区时则必须将被操作当用户进程需要进行操作的数据块不在数据库缓冲区时则必须将被操作的数据块从磁盘读入;如果被操作的数据块在数据库缓冲区中已存在,就可的数据块从磁盘读入;如果被操作的数据块在数据库缓冲区中已存在,就可直接对其操作。直接对其操作。大的数据库缓冲区可减少数据的大的数据库缓冲区可减少数据的I/OI/O操作,提高查询的速度。操作,提高查询的速度。数据库缓冲存储区数据库缓冲存储区(字节字节)=)=DB_BLOCK_BUFFER*DB_BLOCK_SIZEDB_BLOCK_BUFFER*DB_BLOCK_SIZE存储结
34、构存储结构日志缓冲区日志缓冲区 日志缓冲区记录对数据库所作的变更信息。这些信息由日志缓冲区记录对数据库所作的变更信息。这些信息由InsertInsert、UpdataUpdata、DeleteDelete、CreateCreate等操作所致,它们以日志项等操作所致,它们以日志项的形式存放在日志缓冲区中。的形式存放在日志缓冲区中。后台进程后台进程LGWRLGWR将日志缓冲区中的信息写入磁盘的日志文件将日志缓冲区中的信息写入磁盘的日志文件中,可启动中,可启动ARCHARCH后台进程进行日志文件归档。后台进程进行日志文件归档。日志缓冲区的大小由初始化参数日志缓冲区的大小由初始化参数LOG_BUFFE
35、RLOG_BUFFER(字节)的值字节)的值所确定。所确定。存储结构存储结构共享池共享池共享池包含共享池包含SQLSQL区和数据字典存储区。区和数据字典存储区。SQLSQL区包含执行特定的区包含执行特定的SQLSQL语句所用的信息,这些信息为执行语句所用的信息,这些信息为执行同一个同一个SQLSQL语句的多个进程共享。其包含如下一些内容:语句的多个进程共享。其包含如下一些内容:SQLSQL或或PL/SQLPL/SQL语句的文本语句的文本SQLSQL或或PL/SQLPL/SQL语句的分析表语句的分析表SQLSQL或或PL/SQLPL/SQL语句的执行规则语句的执行规则 数据字典存储区:由于数据字
36、典存储区:由于ORACLEORACLE经常使用数据字典,所以在经常使用数据字典,所以在共享池专门开辟一片区域存放数据字典,该区域叫数据字典存共享池专门开辟一片区域存放数据字典,该区域叫数据字典存储区。数据字典存储区为所有用户进程所共享。储区。数据字典存储区为所有用户进程所共享。数据字典是数据字典是ORACLEORACLE最重要的成分之一,它记录了所有用户的姓名、基表和视图的定义、最重要的成分之一,它记录了所有用户的姓名、基表和视图的定义、用户权限以及数据存储等方面的信息。用户权限以及数据存储等方面的信息。共享池的大小由初始化参数共享池的大小由初始化参数SHARED_POOL_SIZESHARE
37、D_POOL_SIZE决定决定。进程结构进程结构 ORACLEORACLE进程可分为用户进程、服务器进程和后台进程。进程可分为用户进程、服务器进程和后台进程。用户进程用户进程当用户运行一个当用户运行一个ORACLEORACLE应用程序时,系统就为它建立一个用户进程。应用程序时,系统就为它建立一个用户进程。服务器进程服务器进程服务器进程处理与之相连的用户进程的请求。它与用户进程相通讯,为服务器进程处理与之相连的用户进程的请求。它与用户进程相通讯,为用户进程的用户进程的ORACLEORACLE请求服务。具体来说,它实现如下功能:请求服务。具体来说,它实现如下功能:1.1.分析和执行分析和执行SQL
38、SQL语句语句2.2.将磁盘上的数据块读入共享的将磁盘上的数据块读入共享的SGASGA的数据缓冲区中的数据缓冲区中3.3.把把SQLSQL语句的执行结果返回给用户进程语句的执行结果返回给用户进程后台进程后台进程 后台进程也称系统进程,是后台进程也称系统进程,是ORACLEORACLE为完成某些特定的功能,而特设的为完成某些特定的功能,而特设的一类进程。一类进程。DBWRDBWR:数据写进程数据写进程 用于把数据库缓冲存储区的数据写入磁盘数据文件中。用于把数据库缓冲存储区的数据写入磁盘数据文件中。LGWR LGWR:日志文件写的进程日志文件写的进程 用于把日志缓冲区的数据写入磁盘日志文件中。用于
39、把日志缓冲区的数据写入磁盘日志文件中。CKPT CKPT:检测点进程检测点进程 在检查点完成后用于修改数据文件和控制文件的标题。在检查点完成后用于修改数据文件和控制文件的标题。ARCH ARCH:归档方式备份进程归档方式备份进程 PMON PMON:做程序的清洁工作,处理一些不正常退出的事件做程序的清洁工作,处理一些不正常退出的事件 SMON SMON:做系统的清洁工作,执行系统出错后自动恢复工作做系统的清洁工作,执行系统出错后自动恢复工作 LCKN LCKN:Oracle Oracle系统表级或行级加锁的进程系统表级或行级加锁的进程.RECO RECO:恢复进程。主要用于解决分布式事务时所出
40、现的故障。恢复进程。主要用于解决分布式事务时所出现的故障。实例和数据库的启动和关闭实例和数据库的启动和关闭 实例和数据库的启动和关闭是实例和数据库的启动和关闭是DBADBA的重要职责之一。只有打的重要职责之一。只有打开数据库,其他用户才能对数据库中的数据进行操作,一旦数开数据库,其他用户才能对数据库中的数据进行操作,一旦数据库关闭,便不能对其操作。据库关闭,便不能对其操作。重要的概念:实例重要的概念:实例(instance)instance)ORACLE ORACLE实例是存取和控制数据库的软件机制,它包含一个系统全局区和实例是存取和控制数据库的软件机制,它包含一个系统全局区和一组后台进程。一
41、组后台进程。实例实例 =内存分配内存分配 +一组后台进程一组后台进程 如果把如果把OracleOracle比作一部汽车,实例比作一部汽车,实例(instance)instance)相当于汽车的发动机一样相当于汽车的发动机一样,启动启动oracleoracle前提应先启动前提应先启动instance.instance.实例和数据库的启动实例和数据库的启动有三种启动方式:有三种启动方式:随操作系统随操作系统(例如例如NT)NT)的启动而启动(缺省)的启动而启动(缺省)图形界面工具图形界面工具-Oracle Instance ManagerOracle Instance Manager字符界面工具字
42、符界面工具-Oracle Server Manager(svrmgr30.exe)Oracle Server Manager(svrmgr30.exe)实例和数据库的启动过程实例和数据库的启动过程启动实例但未安装(启动实例但未安装(nomount)Oracle读读INIT.ORA文件,定位控制文件,创建并文件,定位控制文件,创建并初始化初始化SGA,启动后台进程。启动后台进程。安装安装(mount)Oracle打开控制文件确认数据文件和联机日志打开控制文件确认数据文件和联机日志文件的位置(不进行校验检查),安装数据库并文件的位置(不进行校验检查),安装数据库并获得实例锁。获得实例锁。打开打开(
43、open)Oracle打开并锁定数据文件,获取启动锁,打开并锁定数据文件,获取启动锁,打开所有联机日志文件,在必要时进行冲突恢复打开所有联机日志文件,在必要时进行冲突恢复数据库启动数据库启动学习服务管理器学习服务管理器(svrmgr30.exe)svrmgr30.exe)的启动方式:的启动方式:1 1)唤醒数据库服务管理器)唤醒数据库服务管理器 C:SVRMGR30.EXEC:SVRMGR30.EXE2 2)以系统管理员身份登录以系统管理员身份登录 SVRMGR connect internal;SVRMGR connect internal;注:注:InternalInternal用户等价于
44、用户等价于SYS(SYS(数据字典用户)数据字典用户)3 3)启动)启动instanceinstance;连上数据库;打开数据库连上数据库;打开数据库 SVRMGRSTARTUP;SVRMGRSTARTUP;数据库关闭数据库关闭关闭步骤:关闭步骤:1 1)唤醒数据库服务管理器)唤醒数据库服务管理器 C:SVRMGR30.EXEC:SVRMGR30.EXE2 2)以系统管理员身份登录以系统管理员身份登录 SVRMGR connect internal;SVRMGR connect internal;注:注:InternalInternal用户等价于用户等价于SYS(SYS(数据字典用户)数据字典用户)3 3)关闭数据库;卸下数据库;关闭)关闭数据库;卸下数据库;关闭instanceinstance;SVRMGRSHUTDOWN;SVRMGRSHUTDOWN;问题问题?