ORACLE技能培训.ppt
ORACLE技能培训,山东省邮政信息技术处,主要内容,ORACLE基本架构ORACLE FOR SCO系统安装及客户端的安装存储管理用户管理模式管理数据管理实例管理SQL语言系统性能优化系统日常维护,第一章、ORACLE基本架构,体系结构基本概念,体系结构图,Oracle 体系结构,物理结构datafiles redo log files control files parameter file 数据文件 日志文件 控制文件 参数文件,data files*.dbf,redo log files*.log,control file*.ctl,parameter ilesinitoraid.ora,内存结构(SGA),占OS内存的60-70%,大小可由参数文件内参数计算shared pool(共享池)database buffer cache(数据缓冲区)redo log buffer(重做日志缓冲区)(如以下图所示)SGA=share_pool_size+db_block_size*db_block_buffers+log_buffers,shared_pool,database_buffer_cache,redo_log buffer,实例,instance=SGA+background process 实例=内存分配+一组后台进程,SGA,background process,session(连接),Oracle是多用户、多任务、可分布式管理的数据库,同时可有许 多个用户对数据库操作。,oracle,user,session,user,user,后台进程,后台进程 PMON,LCLN,RECO,SMON,DBWR,LGWR,CKPT,ARCHPMON:做程序的清洁工作,处理一些不正常退出的事件SMON:做系统的清洁工作,执行系统出错后自动恢复工作LCKN:Oracle系统表级或行级加锁的进程RECO:恢复进程DBWR:数据写进程LGWR:日志文件写进程CKPT:检测点ARCH:归档方式备份进程,分析一个SQL语句是怎样在Orcle内部工作的,A、用户发出SQL请求,打开游标;B、把SQL语句语法分析,执行计划,数据字典等信息存入内存中共享池内;C、从数据文件中把相关数据块读入数据缓冲区;D、做相应操作,若做修改,先加上行级锁,经确认后,把改过前后记录内容存入重做日志缓冲区内;E、返回结果给用户,关闭游标。备注:SQL语句大小写敏感的,同样的一个语句,若大小写不同,oracle需分析执行两次,每句后必以“;”结束。,系统进程,第二章、ORACLE FOR SCO系统安装及客户端的安装,Optimal flexible architecture(OFA),硬件要求,软件要求,交换区的限制,当SGA比较大时,系统可能使用系统交换区,如果80%-90%的系统物理内存已经被使用,ORACLE建议交换区的大小至少设置为系统物理内存的3倍。,文件大小限制,4GB*(Oracle blocksize in KB)Support asynchronous I/O up to 2GB如果Blocksize=8k,那么最大的文件到32G,但是如果文件大小大于2G时,系统将不支持异步存取数据。Oracle建议使用大文件只是在只读的表空间上,如果要进行写,建议使用小的多个文件来代替一个大的数据文件。Tracle files(跟踪文件命名规则)Processname_pid.trcAlert_sid.logULIMIT参数,NFS-mounted datafiles,在两台计算机之间可以通过网络文件系统来共享文件。但是oracle server要求对文件的读写进行完成性检查,但是NFS不提供此功能。因此,Oracle的数据文件不能使用网络文件系统,即NFS。在创建表空间和增加数据文件是必须注意是否是NFS。,缺省安装配置说明和log location,如果使用缺省安装,用户只需提供ORACLE_BASE,ORACLE_HOME,ORACLE_SID的值即可。,控制文件的位置,缺省的安装在创建数据库时使用3个控制文件,分别在3个不同的mount点上。为了系统的可靠性,建议将3个控制文件放在不同的硬盘上。缺省的位置是:/mount_point1/oradata/db_name/control01.ctl/mount_point2/oradata/db_name/control02.ctl/mount_point3/oradata/db_name/control03.ctl,Redo 文件的位置和大小,创建数据时,系统缺省创建3个redo文件,缺省是500k,最小是100k。缺省位置是:/mount_point1/oradata/db_name/redosid01.ctl/mount_point2/oradata/db_name/redosid02.ctl/mount_point3/oradata/db_name/redosid03.ctl注意:在创建时用户可以改变文件的位置、大小,系统最少应该有2个redo文件。由于redo是连续的I./O,没有数据并发性,应此可以将redo文件放在一块盘上。,数据文件的位置和大小,Oracle软件的所有者,Oracle建议用户名为oracle(user name)Oracle用户的所属组名为dba如果安装系统中安装多个oracle系统,则他们的用户名应该不相同,这一点特别得注意。,实例名的规定,Oracle建议使用4个或少于4个字母,因为一些文件是根据实例名来命名的,如果实例名太长,并且操作系统支持的文件名短,在创建数据库时有可能不成功,并且不要使用特殊字符。不要依靠字母的大小写来区分实例名,oracle for sco在实例名上不区分大小写。,调整系统内核,调整系统参数的命令(SCO),/etc/conf/cf.d/configure类似菜单方式/etc/conf/bin/idtune 参数名 参数值命令方式,补丁程序的安装,假设补丁程序在A盘中,格式为DOS方式,文件名为oss459b.z,root用户方式,操作命令如下:#doscp a:/oss459b.z/tmp/oss459b.Z#uncompress oss459b.Z#custom选择coff link supplement即可。,设置oracle用户的缺省存取权限,在.profile文件中增加行(B or K shell):umask 022,环境变量设置(1),需要设置的环境变量及说明ORACLE_HOME:oracle软件的安装目录。Oracle安装程序自动创建此目录并且设置相应的权限。Oracle用户对此目录必须有读、写、执行权限。按照OFA的缺省设置为mount_point/app/oracle/product/release editon。ORACLE_SID:数据库实例名。在单实例的数据库系统中,sid=DB_NAME,并且不超过4个字母。nORACLE_TERM:安装过程中根据ORACLE_TERM的值来选择终端资源文件。如果为未定义ORACLE_TERM,那么系统将采用UNIX系统变量TERM来定位资源文件。PATH:路径包括$ORACLE_HOME/bin,/bin,/usr/bin,.,/usr/lbinLD_LIBRARY_PATH:Motif类库的目录,在安装基于Motif的oracle软件是需要指定。ORA_NLS32:在创建数据库时不使用缺省的US7ASCII字符集时需要指定。设置ORA_NSL32为$ORACLE_HOME/ocommon/nls/admin/data。Oracle建议在任何安装的时候指定此变量值。如果未指定该变量值,系统将用US7ASCII字符集。,环境变量设置(2),ORACLE_BASE:oracle 安装的基础目录。Oracle用户必须有读、写、执行权限。OFA的缺省目录是mount_point/app/oracleORACLE_DOS:安装文档的目录。ORACLE_PATH:在启动ORACLE和TOOLS时,系统先查找ORACLE_PATH目录,再查找PATH目录。ORACLE_PATH最长为242个字符。TMPDIR:在安装系统过程中重新链接需要足够的临时存取空间,如果系统的/tmp目录空间小,必须指定TMPDIR到一个更多的磁盘空间。TMPDIR的存取权限为777。,Mount the product installation CDROM,$su root#mkdir mount_point_directoy#chmod 777 mount_point_directory#/etc/mount f RCKRDG,lower/dev/cd0/cdrom#exit(ctrl+D)$,两种安装模式,Motif 方式/mount_point_directory/orainst/orainst/mCharacter 方式/mount_point_directory/orainst/orainst/c注意:如果要Motif方式安装,必须先运行/mount_point_directory/rootpre.sh,它将在sco open desktop上创建一个小图标,可以用这个图标运行oracle软件,使open desktop运行在图形方式下。,有关ORACLE_HOME和ORACLE_BASE,如果在环境变量中未指定ORACLE_BASE的值,系统将提示用户输入,并将ORACLE_HOME的值也设置为和ORACLE_BASE相同的值。建议最好指定ORACLE_BASE和ORACLE_HOME的环境变量值。,National Language Support(NLS),在提示选择NLS支持时,选择ALL Languate support不管选择何种NLS,安装提示语言总是American english。,重新链接可执行文件,在安装过程中,系统提示是否重新链接应用程序,选择是;当重新链接后,旧的可执行文件被重命名为在原名字的后面添加0,例如exp-exp0,可以将旧文件删除;可执行文件在$ORACLE_HOME/bin目录中,DBA组和OPERATOR组,DBA组有DBA权限OPERATOR组有 OPERATOR权限,SYS和SYSTEM的缺省口令,SYSTEM的缺省口令:managerSYS的缺省口令:change_on_install可以通过orapwd命令修改用户的口令。,运行root.sh脚本作用,#cd$ORACLE_HOME/orainst#sh./root.sh作用是设置oracle相关文件的权限,设置异步I/O的内核参数,如果数据库采用raw类型,而不是文件型数据库,可以将异步I/O功能打开,更改文件/etc/conf/sdevice.d/suds,将N改为Y添加异步I/O的内核功能 mkdev aioRebulid kernel在initsid.ora文件中添加async_write=TRUE,此参数只对raw类型的数据文件起作用需要调整的内核参数,oratab文件的功能,Oratab文件的格式Oracle_sid:oracle_home:Y|N如果想激活dbshut和dbstart脚本的功能,可以使用oratab文件,并且设置为最后位设置为Y。,数据库系统的自动启动和关闭,dbstart和dbshut在$ORACLE_HOME/bin目录中dbstart和dbshut更据/etc/oratab文件中的设置自动启动和关闭数据库启动脚本放在/etc/rc2.d目录中关闭脚本放在/etc/rc0.d目录中,侦听进程的启动和关闭,启动:lsnrctl start关闭:lsnrctl stop注意:在oracle8之前的系统,必须先启动侦听进程,然后再启动数据库系统,在关闭数据库时,先关闭侦听进程后关闭数据库系统。,第三章、存储管理,表空间的管理数据文件的管理参数说明,文本,文本,文本,文本,文本,文本,文本,文本,文本,数据库、表空间、数据文件之间的关系,数据库,表空间,数据文件,第一表空间,第二表空间,第三表空间,tablespace,segment,extent,block,segment,extent,block,segment,extent,block,segment,extent,block,表空间的逻辑存储单元,head,head,head,head,Oracle数据的存储结构,Oracle数据存储单位:block 数据块:2k 最小的I-O单位,伴随database产生而产生,不可变,如果要改变,只能recreate database。extent 一组连续的数据块:是用户所能分配存储的最小单位segment 段:有共同结构的一个或几个区域(extent),可跨越多个数据文件 tablespace 表空间:一组segement的逻辑组合,物理上看由一个或多个数据文件组成 file数据文件:属于某个表空间的物理文件 database 数据库:一组表空间所构成的逻辑的可共享的数据。,Segment(段)的分类,Data:数据段,存储对象(table,view,index,sequence)Temporary:临时段,用作(join,group by,order by,索引生成等),initial=next并为表空间大小的1/20-1/50,pctincrease=0。Rollback:回滚段,用来记录修改前后的信息,minextent为2,pctincrease应为0。,表空间 tablespace,System表空间:把system表空间单独放在一个硬盘上非system表空间:ToolsRbsUsersTempApplication dataApplication index,控制block空间使用的几个参数,pctfree 20%左右 它们是互相消涨的pctused 40%左右Inittrans 在单一块中最初活动的交易事务数Maxtrans 在单一块中最大交易事务数,存储参数的设定规则:,1、在对象级的存储参数设置值覆盖表空间级的设置2、未在对象级设置存储参数,由表空间级数设置决定3、未在表空间级设置存储参数,由Oracle数据库级参数 设置决定4、若存储参数改变后,新的选项只针对未分配的extents 有效。,行链,行链,1 block,2 block,当要存储的数据无法在一个数据块中存放时,需分配两个或多个数据块,标志这几个data block连接关系的存储信息,行迁移,行链,1 block,2 block,当一个data block中的某部分数据经修改后增涨太快,无法继续放在本数据块中,从需把它搬迁到另一个data block,以优化存储结构,标志这个data block迁移的存储信息称为行迁移。,Pctfree参数,Pctfree,低,高,1、可把块填 得较满2、如果重组数据,代价较高3、易引起行迁移,1、剩下多的空间给以后修改用2、需更多的块存数据3、减少行链和重组数据的代价,Pctused参数,Pctused,低,高,1、使重组数据时,代价较低。2、增加了未用的空间数,1、增加空间使用率2、但使重组数据时,代价较高,data segment中可能有十种不同类型的存储对象,(1)table(2)view 实为一个select语句(3)index(一个表不多于3个)(4)cluster(簇)(5)sequence 序列(6)synonme 用于定义某个 远程数据库同义词,实现分式数据库管理透明(7)snapsot 快照(8)stored procedure(function)(9)package 程序包(10)db trigger 数据触发器,处理updata,delete,insert中可能出现的问题,决定extent的参数,extent的参数,initial 最初分配的空间数(缺省为10k,5 个数据块)next 下一步分配的空间数maxextents 最大分配的extent数minextents 最小分配的extnet数,所有重 做日志回滚段的存储结构,必 须成对地分配extentpctincrease 增长率,指数级增长(1+pctincrease%)optimal 尽量设小,或为0(缺省为空,仅用于回滚段)freelist,n,Block 结构,(系统管理员能在SQLDBA状态,查看视图dba-extents,dba-segments,dba-tablespace,dba-data-files查看所有的extent,segment,tablespace和datafile),common and variableheader 块地址,段类型 85-100bytesTable directory 簇中的表信息,用于簇表段Row directory 块中的行信息Free space 用于insert updataRow data 存储数据、索引,block 结构,第四章、用户管理,用户属性,用户的属性特性缺省表空间:用户创建实体的缺省表空间,如果未指定临时表空间:用户使用的缺省表空间空间限制:对表空间使用容量的限制权限:用户拥有的对系统和实体操作权限缺省角色:用户拥有的角色(权限的集合)环境文件:限制系统资源如cpu,连接时间,等待时间,还限制数据库资源,如每各用户同时会话的数量,每次会话读取得数据块数等。,权限的分类,system privilege 针对整个系统操作的权限object privilege 针对整个具体object操作的 权限可以参看视图:dba-sys-privs、dba-tab-privs、dba-col-privs;Admin选项表是委托系统权限的能力。,权限的管理,Oracle缺省安全性,对象只能由有权创建的用户创建。一旦用户创建了一个对象,那个用户就变为同名的一个模式。一个模式是一个创建一个或多个数据库对象的用户。一个对象有一个对象的拥有者-创建用户的对象如果你是一个对象的拥有者,可以对该对象进行任何操作缺省时,任何其他用户不能查看或修改对象。,权限的授予和回收,授予:grantGrant update on username.tablename to otheruser with grant option回收:revokeRevoke update on username.tablename from otheruser,创建角色,创建角色,包括:connect、dba角色;alter any index权限;更改用户username的表tablename的权限。CREATE ROLE develop_role NOT IDENTIFIED;GRANT CONNECT TO develop_role;GRANT DBA TO develop_role;GRANT ALTER ANY INDEX TO develop_role;GRANT UPDATE ON username.tablename TO develop_role;,系统角色说明,Connect:基本操作权限Dba:所有权限Exp_full_database:全倒出数据库权限Imp_full_database:全倒入数据库权限Resource:创建实体权限Snmpagent:对系统视图进行查看的权限,创建用户的SQL脚本,创建用户develop,缺省表空间是post_comm,临时表空间是post_temp,使用缺省环境文件,没有表空间容量的限制,具有connect和dba角色。CREATE USER DEVELOP IDENTIFIED BY abc123 DEFAULT TABLESPACE POST_COMM TEMPORARY TABLESPACE POST_TEMP PROFILE DEFAULT;GRANT CONNECT TO DEVELOP;GRANT DBA TO DEVELOP;GRANT UNLIMITED TABLESPACE TO DEVELOP;ALTER USER DEVELOP DEFAULT ROLE ALL;,小结,角色通过将相关的权限集合在单一的角色下,使得DBA和应用程序开发者能够简化权限的管理。给用户分配角色而不是分别分配许多权限。,第五章、模式管理,表(table),定义列数据类型改变现存表的结构,常用的数据类型,Null的处理,在我们不知道具体有什么数据的时候,也即未知,可以用NULL,我们称它为空,ORACLE中,含有空值的表列长度为零。ORACLE允许任何一种数据类型的字段为空,除了以下两种情况:主键字段(primary key)定义时已经加了NOT NULL限制条件的字段说明:1.等价于没有任何值、是未知数。2.NULL与0、空字符串、空格都不同。3.对空值做加、减、乘、除等运算操作,结果仍为空。4.NULL的处理使用NVL函数。5.比较时使用关键字用“is null”和“is not null”。6.空值不能被索引,所以查询时有些符合条件的数据可能查不出来,count(*)中,用nvl(列名,0)处理后再查。7、排序时比其他数据都大(索引默认是降序排列,小大),所以NULL值总是排在最后。,视图(view),索引(index),序列(sequence),触发器(trigger),过程(procedure),函数(function),相关存储参数,第六章、实例管理,数据库的启动和关闭,在$ORACLE_HOME/bin/目录中,有两个脚本文件,即dbstart和dbshut关闭和启动数据库的规则:启动数据库时,先启动侦听进程,后起数据库(MTS的限制)关闭数据库时,向关闭侦听进程,后关数据库,启动和关闭数据库,启动%svrmgrl.唤醒 SVRMGRL数据库管理 SVRMGRL connect internal;以系统管理员身份登录。SVRMGRL startup启动instance连上数据库打开数据库关闭%svrmgrl.唤醒 SVRMGRL数据库管理 SVRMGRL connect internal;以系统管理员身份登录。SVRMGRL shutdown,启动和关闭Oracle数据库过程图,shutdown,open,读参数文件initoraid.ora,开机,关机,读控制文件,读所有文件,未连上数据库仅启动instances,nomount,mount,连上数据库,但未打开,快速关闭数据库,方法1系统即使在使用shutdown immediate关闭数据库时,如果一个主进程在回滚,会浪费很长时间,所以必须使用shutdown abort(关闭放弃)命令。在执行shutdown abort后,建议立即使用限制状态下重启数据库,即startup restrict方法2在执行shutdown abort之前,显示的引发检查点。用命令alter system checkpoint,以减少在线日志的大小,然后再shutdown abort。,第七章、数据管理,备份分类,逻辑备份 export/import工具物理备份 操作系统下备份归档方式(不关闭数据库)不归档方式(关闭数据库),Export,输出有3种方式:full方式、user方式、table方式。Full:输出整个数据库。User:输出一个用户的对象。Table:输出用户指定的表,索引,授权和数据。,脱机备份,脱机备份也叫物理备份,冷备份。在数据库正常关闭的情况下进行。物理备份需要备份的文件有:所有数据文件所有控制文件所有联机日志文件Initsid.ora文件如果目录结构是一致的,例如数据文件存储在/u01到/u05上,则可用tar cvf/dev/rmt/0hc/u01-5/oradata/sid,联机备份(1),联机备份也叫热备份,数据库必须运行在ARACIVELOG方式。启动ARCHIVELOG方式SVRMGRconnect internalSVRMGRstart mount centerSVRMGRalter database archiverlog;SVRMGRarchive log start;SVRMGRalter database open;SVRMGRexit;关闭ARCHIVELOG方式SVRMGRconnect internalSVRMGRstart mount centerSVRMGRalter database noarchiverlog;SVRMGRalter database open;SVRMGRexit;,联机备份(2),归档日志文件的位置是由参数文件initsid.ora文件的设置决定的Log_archive_dest=/u0/oracle/arch/center/archLog_archive_start=TRUE可以用archive log list命令查看ARCHIVELOG的情况注意:尽管log_archive_start=true,但是如果不执行alter database archiverlog命令,数据库就不会进入归档方式。当数据库运行在归档方式下,如果不运行alter database noarchiverlog命令,不管数据库关闭、启动,其还是运行在归档方式。,联机备份(3),联机备份安排在用户最少的时候进行。联机备份的步骤:1.逐个表空间的数据文件备份设置表空间为备份状态备份表空间的数据文件将表空间恢复到正常状态2.备份归档的日志文件临时停止归档处理记录在归档日志中的文件重新开始归档处理备份归档的日志文件,然后删除3.通过alter database backup controlfile命令备份控制文件,联机备份脚本,Import,数据恢复,imp步骤,create tableinsert datacreate indexcreate triggers,constraints,备份和恢复策略,备份和恢复策略 逻辑备份仅能恢复到上次的备份点 物理备份中的不归档备份可恢复到上次备份点 物理备份中的归档备份恢复到failure的前一刻,第八章、SQL语言,DDL数据定义语言Create,drop等DML数据控制语言select,update,delete,insert等,SQL概述,SQL是一种面向数据库的通用数据处理语言规范,能完成以下几类功能:提取查询数据,插入修改删除数据,生成修改和删除数据库对象,数据库安全控制,数据库完整性及数据保护控制。数据库对象包括表、视图、索引、同义词、簇、触发器、函数、过程、包、数据库链、快照等(表空间、回滚段、角色、用户)。数据库通过对表的操作来管理存储在其中的数据。,数据库查询(select),1)用SELECT语句从表中提取查询数据。语法为SELECT DISTINCT column1,column2,FROM tablename WHERE conditions GROUP BY conditions ORDER BY expressions ASC/DESC;说明:SELECT子句用于指定检索数据库的中哪些列,FROM子句用于指定从哪一个表或视图中检索数据。2)SELECT中的操作符及多表查询WHERE子句。(LIKE,IS,)WHERE子句中的条件可以是一个包含等号或不等号的条件表达式,也可以是一个含有IN、NOT IN、BETWEEN、LIKE、IS NOT NULL等比较运算符的条件式,还可以是由单一的条件表达通过逻辑运算符组合成复合条件。3)ORDER BY 子句ORDER BY 子句使得SQL在显示查询结果时将各返回行按顺序排列,返回行的排列顺序由ORDER BY 子句指定的表达式的值确定。4)连接查询利用SELECT语句进行数据库查询时,可以把多个表、视图的数据结合起来,使得查询结果的每一行中包含来自多个表达式或视图的数据,这种操作被称为连接查询。连接查询的方法是在SELECT命令的FROM子句中指定两个或多个将被连接查询的表或视图,并且在WHERE子句告诉ORACLE如何把多个表的数据进行合并。根据WHERE子句中的条件表达式是等还是不等式,可以把连接查询分为等式连接和不等式连接。5)子查询如果某一个SELECT命令(查询1)出现在另一个SQL命令(查询2)的一个子句中,则称查询1是查询2的子查询。,常用函数用法,一个函数类似于一个算符,它操作数据项,返回一个结果。函数在格式上不同于算符,它个具有变元,可操作0个、一个、二个或多个变元,形式为:函数名(变元,变元,)函数具有下列一般类形:单行函数 分组函数1)单行函数对查询的表或视图的每一行返回一个结果行。它有数值函数,字符函数,日期函数,转换函数等。2)分组函数返回的结果是基于行组而不是单行,所以分组函数不同于单行函数。在许多分组函数中可有下列选项:l DISTRNCT 该选项使分组函数只考虑变元表达式中的不同值。l ALL该选项使分组函数考虑全部值,包含全部重复。全部分组函数(除COUNT(*)外)忽略空值。如果具有分组函数的查询,没有返回行或只有空值(分组函数的变元取值的行),则分组函数返回空值。,数据操纵语言(DML),数据库操纵语言(DML)命令用于查询和操纵模式对象中的数据,它不隐式地提交当前事务。它包含UPDATE、INSERT、DELETE、SELECT等命令。,UPDATE语句,UPDATE tablename SET column1=expression1,column2=expression2,WHERE conditions;例如:SQLUPDATE EMP SET JOB=MANAGER WHERE ENAME=MAPTIN;SQL SELECT*FROM EMP;UPDATE子句指明了要修改的数据库是EMP,并用WHERE子句限制了只对名字(ENAME)为MARTIN的职工的数据进行修改,SET子句则说明修改的方式,即把MARTION的工作名称(JOB)改为MARAGER,INSERT语句,INSERT INTO tablename column1,column2,VALUES expression1,expression2,;例如:SQLSELECT INTO DEPT(DNAME,DEPTNO)VALUES(ACCOUNTING,10),DELETE语句,DELETE FROM tablename WHERE conditions;例如:SQLDELETE FROM EMP WHERE EMPNO=7654;DELETE命令删除一条记录,而且DELETE命令只能删除整行,而不能删除某行中的部分数据.,事务控制命令,提交命令(COMMIT):可以使数据库的修改永久化.设置AUTOCOMMIT为允许状态:SQL SET AUTOCOMMIT ON;回滚命令(ROLLBACK):消除上一个COMMIT命令后的所做的全部修改,使得数据库的内容恢复到上一个COMMIT执行后的状态.使用方法是:SQLROLLBACK;,第九章、系统性能优化,优化理论参数调整,更改initsid.ora文件,数据文件中的I/O瓶颈,联机日志文件事务由LGWR进程写入日志文件,而表空间的写入由DBWR进程完成,如果日志文件和数据文件存放在一块盘上,后台进程就有I/O冲突。控制文件每个数据库都应该有3个控制文件,并且放在3块独立的盘上,它们只有很少的I/O。归档日志LGWR以循环方式写入联机日志文件,当oracle以归档方式运行时,在覆盖日志文件之前ARCH进程将进行备份,ARCH和LGWR进程之间有I/O冲突。它们不能和system,data,index,rbs表空间放在一起。,后台进程并发的I/O,3种后台进程访问磁盘中的数据文件,即DBWR,LGWR,ARCH。DBWR的数量可以在initsid.ora文件中定义,oracle 7.3是db_writers,而oracle 8是dbwr_io_slaves,oracle建议DBWR的数量取n到2n之间,n 是磁盘数。也可以启动多个LGWR和ARCH进程。在数据的物理设计时,必须减少DBWR,LGWR,ARCH进程的I/0冲突。,物理I/O优化,磁盘的分配(理想8块盘)System,control file1Rbs,用户rbs,control file2Data_1,control file3Index_1Temp,用户temp,user,data_2tools,index_2Redo_1,redo_2,redo_3Arch file,数据文件的移动,SVRMGR connect internalSVRMGRshutdown immediateSVRMGRexit$mv/u01/oradata/wg73/post_ludan.dbf/u02/oradata/wg73/post_ludan.dbfSVRMGR connect internalSVRMGR startup mount wg73SVRMGR alter database rename file/u01/oradata/wg73/post_ludan.dbf to/u02/oradata/wg73/post_ludan.dbfSVRMGR alter database openSVRMGR exit,联机数据文件的移动,方法同数据文件的操作方法。,控制文件的移动,SVRMGR connect internalSVRMGRshutdown immediateSVRMGRexit$mv/u1/center/ctrlwg73.ctl/u2/center/ctrlwg73.ctl编辑config.ora文件SVRMGR connect internalSVRMGRstartupSVRMGRexit,数据文件收缩,alter database命令来回收数据文件中未使用的空间,但是如果回收空间的数据文件正在被某个数据对象所使用,则不能改变这个文件的大小。alter database datafile/u01/center/post_ludan01.dbf resize 200Mb如果系统提示超出范围,将可以看出超出的数据块数,根据系统的db_block_size可以算出超出的容量来。之后重新执行该命令。,第十章、系统日常维护,第十一章、课程总结,附录A:ORACLE 7.3.4 FOR SCO系统安装手册,附录B:相关站点,