《ORACLE技能培训课件.ppt》由会员分享,可在线阅读,更多相关《ORACLE技能培训课件.ppt(117页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ORACLE技能培训山东省邮政信息技术处主要内容lORACLE基本架构lORACLEFORSCO系统安装及客户端的安装l存储管理l用户管理l模式管理l数据管理l实例管理lSQL语言l系统性能优化l系统日常维护第一章、ORACLE基本架构体系结构基本概念体系结构图体系结构图内存结构(SGA)l占OS内存的60-70%,大小可由参数文件内参数计算sharedpool(共享池)databasebuffercache(数据缓冲区)redologbuffer(重做日志缓冲区)(如以下图所示)SGA=share_pool_size+db_block_size*db_block_buffers+log_bu
2、ffersshared_pooldatabase_buffer_cacheredo_logbuffer实例linstance=SGA+backgroundprocess实例=内存分配+一组后台进程SGAbackgroundprocesssession(连接)lOracle是多用户、多任务、可分布式管理的数据库,同时可有许多个用户对数据库操作。oracleusersessionuseruser分析一个SQL语句是怎样在Orcle内部工作的lA、用户发出SQL请求,打开游标;lB、把SQL语句语法分析,执行计划,数据字典等信息存入内存中共享池内;lC、从数据文件中把相关数据块读入数据缓冲区;lD、
3、做相应操作,若做修改,先加上行级锁,经确认后,把改过前后记录内容存入重做日志缓冲区内;lE、返回结果给用户,关闭游标。l备注:SQL语句大小写敏感的,同样的一个语句,若大小写不同,oracle需分析执行两次,每句后必以“;”结束。系统进程Optimal flexible architecture(OFA)软件要求软件要求操作系统Scounix5.04orhigher开发包Scodevelopmentpackage5.01A系统补丁Cofflinkersupplement5.05oss459bfromscoanonymouseTCP/IP包在配置网卡时自动安装/etc/servicesListe
4、ner1521/tcp交换区的限制l当SGA比较大时,系统可能使用系统交换区,如果80%-90%的系统物理内存已经被使用,ORACLE建议交换区的大小至少设置为系统物理内存的3倍。NFS-mounted datafilesl在两台计算机之间可以通过网络文件系统来共享文件。但是oracleserver要求对文件的读写进行完成性检查,但是NFS不提供此功能。因此,Oracle的数据文件不能使用网络文件系统,即NFS。l在创建表空间和增加数据文件是必须注意是否是NFS。缺省安装配置说明和loglocationl如果使用缺省安装,用户只需提供ORACLE_BASE,ORACLE_HOME,ORACLE
5、_SID的值即可。安装提示缺省值Installloglocation$ORACLE_HOME/orainst/install.logSqlloglocation$ORACLE_HOME/orainst/sql.logOperationingsystemloglocation$ORACLE_HOME/orainst/os.logMakeloglocation$ORACLE_HOME/orainst/make.logInstallationsourceCDROMlanguageAmerican/englishRootactionsRoot.sh控制文件的位置l缺省的安装在创建数据库时使用3个控制文
6、件,分别在3个不同的mount点上。为了系统的可靠性,建议将3个控制文件放在不同的硬盘上。l缺省的位置是:/mount_point1/oradata/db_name/control01.ctl/mount_point2/oradata/db_name/control02.ctl/mount_point3/oradata/db_name/control03.ctlRedo文件的位置和大小l创建数据时,系统缺省创建3个redo文件,缺省是500k,最小是100k。缺省位置是:/mount_point1/oradata/db_name/redosid01.ctl/mount_point2/orada
7、ta/db_name/redosid02.ctl/mount_point3/oradata/db_name/redosid03.ctl注意:在创建时用户可以改变文件的位置、大小,系统最少应该有2个redo文件。由于redo是连续的I./O,没有数据并发性,应此可以将redo文件放在一块盘上。数据文件的位置和大小数据文件DefaultsizeMinimumsize位置PASSWORD1entryN/A$ORACLE_HOME/dbs/orapw$ORACLE_SIDSYSTEM40MB5MBmnt_pt1/oradata/db_name/system01.dbfROLLBACK8.5MB1400
8、KBmnt_pt1/oradata/db_name/rdbs01.dbfTEMP550KB260KBmnt_pt1/oradata/db_name/temp01.dbfUSERS1M200KBmnt_pt1/oradata/db_name/user01.dbfTOOLS15M1MBmnt_pt1/oradata/db_name/tools01.dbf实例名的规定lOracle建议使用4个或少于4个字母,因为一些文件是根据实例名来命名的,如果实例名太长,并且操作系统支持的文件名短,在创建数据库时有可能不成功,并且不要使用特殊字符。l不要依靠字母的大小写来区分实例名,oracleforsco在实例
9、名上不区分大小写。调整系统内核参数名建议值描述SHMMAXThemaximumsize(inbytes)ofasinglesharedmemorysegmentSHMMIN1Theminimumsize(inbytes)ofasinglesharedmemorysegmentSHMMNI100ThenumberofsharedmemoryidentifiersSEMMNS60ThenumberofsemaphoresinthesystemULIMITTheallowablein512bytesblocks.Itshouldbelargerthananydatabasefile.SEMMNI20
10、Thenumberofsemaphoresetidentifersinthesystem.SEMMNIdeterminesthenumberofsemaphoresetsthatcanbecreatedatanyonetime调整系统参数的命令(SCO)l/etc/conf/cf.d/configure类似菜单方式l/etc/conf/bin/idtune参数名参数值命令方式设置oracle用户的缺省存取权限l在.profile文件中增加行(BorKshell):umask022环境变量设置(1)l需要设置的环境变量及说明ORACLE_HOME:oracle软件的安装目录。Oracle安装程序
11、自动创建此目录并且设置相应的权限。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_
12、PATH:Motif类库的目录,在安装基于Motif的oracle软件是需要指定。ORA_NLS32:在创建数据库时不使用缺省的US7ASCII字符集时需要指定。设置ORA_NSL32为$ORACLE_HOME/ocommon/nls/admin/data。Oracle建议在任何安装的时候指定此变量值。如果未指定该变量值,系统将用US7ASCII字符集。MounttheproductinstallationCDROMl$surootl#mkdirmount_point_directoyl#chmod777mount_point_directoryl#/etc/mountfRCKRDG,lowe
13、r/dev/cd0/cdroml#exit(ctrl+D)l$两种安装模式lMotif方式/mount_point_directory/orainst/orainst/mlCharacter方式/mount_point_directory/orainst/orainst/c注意:如果要Motif方式安装,必须先运行/mount_point_directory/rootpre.sh,它将在scoopendesktop上创建一个小图标,可以用这个图标运行oracle软件,使opendesktop运行在图形方式下。有关ORACLE_HOME和ORACLE_BASEl如果在环境变量中未指定ORACLE
14、_BASE的值,系统将提示用户输入,并将ORACLE_HOME的值也设置为和ORACLE_BASE相同的值。l建议最好指定ORACLE_BASE和ORACLE_HOME的环境变量值。NationalLanguageSupport(NLS)l在提示选择NLS支持时,选择ALLLanguatesupportl不管选择何种NLS,安装提示语言总是Americanenglish。重新链接可执行文件l在安装过程中,系统提示是否重新链接应用程序,选择是;l当重新链接后,旧的可执行文件被重命名为在原名字的后面添加0,例如exp-exp0,可以将旧文件删除;l可执行文件在$ORACLE_HOME/bin目录中
15、DBA组和OPERATOR组lDBA组有DBA权限lOPERATOR组有OPERATOR权限SYS和SYSTEM的缺省口令lSYSTEM的缺省口令:managerlSYS的缺省口令:change_on_installl可以通过orapwd命令修改用户的口令。运行root.sh脚本作用l#cd$ORACLE_HOME/orainstl#sh./root.shl作用是设置oracle相关文件的权限设置异步I/O的内核参数l如果数据库采用raw类型,而不是文件型数据库,可以将异步I/O功能打开,更改文件/etc/conf/sdevice.d/suds,将N改为Y添加异步I/O的内核功能mkdevai
16、oRebulidkernel在initsid.ora文件中添加async_write=TRUE,此参数只对raw类型的数据文件起作用需要调整的内核参数参数名参数值NAIOREQ512NAIOBUF512NAIOREQPP512oratab文件的功能lOratab文件的格式Oracle_sid:oracle_home:Y|Nl如果想激活dbshut和dbstart脚本的功能,可以使用oratab文件,并且设置为最后位设置为Y。数据库系统的自动启动和关闭ldbstart和dbshut在$ORACLE_HOME/bin目录中ldbstart和dbshut更据/etc/oratab文件中的设置自动启动
17、和关闭数据库l启动脚本放在/etc/rc2.d目录中l关闭脚本放在/etc/rc0.d目录中侦听进程的启动和关闭l启动:lsnrctlstartl关闭:lsnrctlstopl注意:在oracle8之前的系统,必须先启动侦听进程,然后再启动数据库系统,在关闭数据库时,先关闭侦听进程后关闭数据库系统。第三章、存储管理l表空间的管理l数据文件的管理l参数说明数据库、表空间、数据文件之间的关系数据库表空间数据文件第一表空间第二表空间第三表空间tablespacesegmentextentblocksegmentextentblocksegmentextentblocksegmentextentblo
18、ck表空间的逻辑存储单元headheadheadheadOracle数据的存储结构Oracle数据存储单位:block数据块:2k最小的I-O单位,伴随database产生而产生,不可变,如果要改变,只能recreatedatabase。extent一组连续的数据块:是用户所能分配存储的最小单位segment段:有共同结构的一个或几个区域(extent),可跨越多个数据文件tablespace表空间:一组segement的逻辑组合,物理上看由一个或多个数据文件组成file数据文件:属于某个表空间的物理文件database数据库:一组表空间所构成的逻辑的可共享的数据。Segment(段)的分类l
19、Data:数据段,存储对象(table,view,index,sequence)lTemporary:临时段,用作(join,groupby,orderby,索引生成等),initial=next并为表空间大小的1/20-1/50,pctincrease=0。lRollback:回滚段,用来记录修改前后的信息,minextent为2,pctincrease应为0。表空间tablespacelSystem表空间:把system表空间单独放在一个硬盘上l非system表空间:ToolsRbsUsersTempApplicationdataApplicationindex控制block空间使用的几个
20、参数pctfree20%左右它们是互相消涨的pctused40%左右Inittrans在单一块中最初活动的交易事务数Maxtrans在单一块中最大交易事务数存储参数的设定规则:1、在对象级的存储参数设置值覆盖表空间级的设置2、未在对象级设置存储参数,由表空间级数设置决定3、未在表空间级设置存储参数,由Oracle数据库级参数设置决定4、若存储参数改变后,新的选项只针对未分配的extents有效。行链行链1block2block当要存储的数据无法在一个数据块中存放时,需分配两个或多个数据块,标志这几个datablock连接关系的存储信息行迁移行链1block2block当一个datablock中
21、的某部分数据经修改后增涨太快,无法继续放在本数据块中,从需把它搬迁到另一个datablock,以优化存储结构,标志这个datablock迁移的存储信息称为行迁移。Pctfree参数Pctfree低高1、可把块填得较满2、如果重组数据,代价较高3、易引起行迁移1、剩下多的空间给以后修改用2、需更多的块存数据3、减少行链和重组数据的代价Pctused参数Pctused低高1、使重组数据时,代价较低。2、增加了未用的空间数1、增加空间使用率2、但使重组数据时,代价较高datasegmentdatasegment中可能有十种不同类型的存储对象中可能有十种不同类型的存储对象(1)table(2)view
22、实为一个select语句(3)index(一个表不多于3个)(4)cluster(簇)(5)sequence序列(6)synonme用于定义某个远程数据库同义词,实现分式数据库管理透明(7)snapsot快照(8)storedprocedure(function)(9)package程序包(10)dbtrigger数据触发器,处理updata,delete,insert中可能出现的问题决定extent的参数extent的参数initial最初分配的空间数(缺省为10k,5个数据块)next下一步分配的空间数maxextents最大分配的extent数minextents最小分配的extnet数
23、,所有重做日志回滚段的存储结构,必须成对地分配extentpctincrease增长率,指数级增长(1+pctincrease%)optimal尽量设小,或为0(缺省为空,仅用于回滚段)freelistnBlockBlock结构结构(系统管理员能在SQLDBA状态,查看视图dba-extents,dba-segments,dba-tablespace,dba-data-files查看所有的extent,segment,tablespace和datafile)commonandvariableheader块地址,段类型85-100bytesTabledirectory簇中的表信息,用于簇表段Ro
24、wdirectory块中的行信息Freespace用于insertupdataRowdata存储数据、索引block结构第四章、用户管理用户属性l用户的属性特性缺省表空间:用户创建实体的缺省表空间,如果未指定临时表空间:用户使用的缺省表空间空间限制:对表空间使用容量的限制权限:用户拥有的对系统和实体操作权限缺省角色:用户拥有的角色(权限的集合)环境文件:限制系统资源如cpu,连接时间,等待时间,还限制数据库资源,如每各用户同时会话的数量,每次会话读取得数据块数等。权限的分类systemprivilege针对整个系统操作的权限objectprivilege针对整个具体object操作的权限可以参
25、看视图:dba-sys-privs、dba-tab-privs、dba-col-privs;Admin选项表是委托系统权限的能力。权限的管理权限的管理OracleOracle缺省安全性缺省安全性l对象只能由有权创建的用户创建。一旦用户创建了一个对象,那个用户就变为同名的一个模式。一个模式是一个创建一个或多个数据库对象的用户。l一个对象有一个对象的拥有者-创建用户的对象l如果你是一个对象的拥有者,可以对该对象进行任何操作l缺省时,任何其他用户不能查看或修改对象。权限的授予和回收权限的授予和回收l授予:grantGrantupdateonusername.tablenametootheruserw
26、ithgrantoptionl回收:revokeRevokeupdateonusername.tablenamefromotheruser创建角色创建角色l创建角色,包括:connect、dba角色;alteranyindex权限;更改用户username的表tablename的权限。CREATEROLEdevelop_roleNOTIDENTIFIED;GRANTCONNECTTOdevelop_role;GRANTDBATOdevelop_role;GRANTALTERANYINDEXTOdevelop_role;GRANTUPDATEONusername.tablenameTOdevel
27、op_role;系统角色说明系统角色说明lConnect:基本操作权限lDba:所有权限lExp_full_database:全倒出数据库权限lImp_full_database:全倒入数据库权限lResource:创建实体权限lSnmpagent:对系统视图进行查看的权限创建用户的SQL脚本l创建用户develop,缺省表空间是post_comm,临时表空间是post_temp,使用缺省环境文件,没有表空间容量的限制,具有connect和dba角色。CREATEUSERDEVELOPIDENTIFIEDBYabc123DEFAULTTABLESPACEPOST_COMMTEMPORARYTA
28、BLESPACEPOST_TEMPPRO;GRANTCONNECTTODEVELOP;GRANTDBATODEVELOP;GRANTUNLIMITEDTABLESPACETODEVELOP;ALTERUSERDEVELOPDEFAULTROLEALL;小结l角色通过将相关的权限集合在单一的角色下,使得DBA和应用程序开发者能够简化权限的管理。给用户分配角色而不是分别分配许多权限。第五章、模式管理表(table)l定义列l数据类型l改变现存表的结构常用的数据类型类型参数描述Char(n)N=1-255固定长度字符串,定义时指定最大长度Date日期类型,可保存年月日小时分秒Long可变长字符串,最
29、大长度为2GBLongraw可变长原始二进制数,最大长度为2GBNumber(p,s)P=1-38S=-84-127定义长度和小数点后面的位数Raw(n)N=1-255可变长的二进制数据rowid和rowid的格式相同的十六进制格式varchar2(n)n-=1-4000可变长的文本串,必须指定最大长度Null的处理l在我们不知道具体有什么数据的时候,也即未知,可以用NULL,我们称它为空,ORACLE中,含有空值的表列长度为零。lORACLE允许任何一种数据类型的字段为空,除了以下两种情况:主键字段(primary key)定义时已经加了NOT NULL限制条件的字段说明:l1.等价于没有任
30、何值、是未知数。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)相关存储参数第六章、实例管理数据库的启动和关闭l在$ORACL
31、E_HOME/bin/目录中,有两个脚本文件,即dbstart和dbshutl关闭和启动数据库的规则:启动数据库时,先启动侦听进程,后起数据库(MTS的限制)关闭数据库时,向关闭侦听进程,后关数据库启动和关闭数据库l启动%svrmgrl.唤醒SVRMGRL数据库管理SVRMGRLconnectinternal;以系统管理员身份登录。SVRMGRLstartup启动instance连上数据库打开数据库l关闭%svrmgrl.唤醒SVRMGRL数据库管理SVRMGRLconnectinternal;以系统管理员身份登录。SVRMGRLshutdown启动和关闭启动和关闭OracleOracle数据
32、库过程图数据库过程图shutdownopen读参数文件initoraid.ora开机关机读控制文件读所有文件未连上数据库仅启动instancesnomountmount连上数据库,但未打开快速关闭数据库 l l方法方法1 1 系统即使在使用系统即使在使用shutdown immediateshutdown immediate关闭数据库时,关闭数据库时,如果一个主进程在回滚,会浪费很长时间,所以必如果一个主进程在回滚,会浪费很长时间,所以必须使用须使用shutdown abortshutdown abort(关闭放弃)命令。(关闭放弃)命令。在执行在执行shutdown abortshutdow
33、n abort后,建议立即使用限制状态后,建议立即使用限制状态下重启数据库,即下重启数据库,即startup restrictstartup restrictl l方法方法2 2 在执行在执行shutdown abortshutdown abort之前,显示的引发检查点。之前,显示的引发检查点。用命令用命令alter system checkpoint,alter system checkpoint,以减少在线日志的以减少在线日志的大小,然后再大小,然后再shutdown abortshutdown abort。第七章、数据管理备份分类l逻辑备份export/import工具l物理备份操作系统
34、下备份归档方式(不关闭数据库)不归档方式(关闭数据库)Exportl输出有3种方式:full方式、user方式、table方式。Full:输出整个数据库。User:输出一个用户的对象。Table:输出用户指定的表,索引,授权和数据。脱机备份l脱机备份也叫物理备份,冷备份。在数据库正常关闭的情况下进行。l物理备份需要备份的文件有:所有数据文件所有控制文件所有联机日志文件Initsid.ora文件如果目录结构是一致的,例如数据文件存储在/u01到/u05上,则可用tarcvf/dev/rmt/0hc/u01-5/oradata/sid联机备份(1)l联机备份也叫热备份,数据库必须运行在ARACIV
35、ELOG方式。l启动ARCHIVELOG方式SVRMGRconnectinternalSVRMGRstartmountcenterSVRMGRalterdatabasearchiverlog;SVRMGRarchivelogstart;SVRMGRalterdatabaseopen;SVRMGRexit;l关闭ARCHIVELOG方式SVRMGRconnectinternalSVRMGRstartmountcenterSVRMGRalterdatabasenoarchiverlog;SVRMGRalterdatabaseopen;SVRMGRexit;联机备份(2)l归档日志文件的位置是由参数
36、文件initsid.ora文件的设置决定的Log_archive_dest=/u0/oracle/arch/center/archLog_archive_start=TRUEl可以用archiveloglist命令查看ARCHIVELOG的情况l注意:尽管log_archive_start=true,但是如果不执行alterdatabasearchiverlog命令,数据库就不会进入归档方式。当数据库运行在归档方式下,如果不运行alterdatabasenoarchiverlog命令,不管数据库关闭、启动,其还是运行在归档方式。联机备份(3)l联机备份安排在用户最少的时候进行。l联机备份的步骤
37、:1.逐个表空间的数据文件备份l设置表空间为备份状态l备份表空间的数据文件l将表空间恢复到正常状态2.备份归档的日志文件l临时停止归档处理l记录在归档日志中的文件l重新开始归档处理l备份归档的日志文件,然后删除3.通过alterdatabasebackupcontrolfile命令备份控制文件联机备份脚本Import数据恢复imp步骤lcreatetablelinsertdatalcreateindexlcreatetriggers,constraints备份和恢复策略备份和恢复策略逻辑备份仅能恢复到上次的备份点物理备份中的不归档备份可恢复到上次备份点物理备份中的归档备份恢复到failure的
38、前一刻第八章、SQL语言lDDL数据定义语言Create,drop等lDML数据控制语言select,update,delete,insert等SQL概述概述lSQL是一种面向数据库的通用数据处理语言规范,能完成以下几类功能:提取查询数据,插入修改删除数据,生成修改和删除数据库对象,数据库安全控制,数据库完整性及数据保护控制。l数据库对象包括表、视图、索引、同义词、簇、触发器、函数、过程、包、数据库链、快照等(表空间、回滚段、角色、用户)。数据库通过对表的操作来管理存储在其中的数据。数据库查询(数据库查询(select)l1)用SELECT语句从表中提取查询数据。语法为lSELECTDISTI
39、NCTcolumn1,column2,FROMtablenameWHEREconditionsGROUPBYconditionsORDERBYexpressionsASC/DESC;l说明:SELECT子句用于指定检索数据库的中哪些列,FROM子句用于指定从哪一个表或视图中检索数据。l2)SELECT中的操作符及多表查询WHERE子句。(LIKE,IS,)lWHERE子句中的条件可以是一个包含等号或不等号的条件表达式,也可以是一个含有IN、NOTIN、BETWEEN、LIKE、ISNOTNULL等比较运算符的条件式,还可以是由单一的条件表达通过逻辑运算符组合成复合条件。l3)ORDERBY子句
40、lORDERBY子句使得SQL在显示查询结果时将各返回行按顺序排列,返回行的排列顺序由ORDERBY子句指定的表达式的值确定。l4)连接查询l利用SELECT语句进行数据库查询时,可以把多个表、视图的数据结合起来,使得查询结果的每一行中包含来自多个表达式或视图的数据,这种操作被称为连接查询。l连接查询的方法是在SELECT命令的FROM子句中指定两个或多个将被连接查询的表或视图,并且在WHERE子句告诉ORACLE如何把多个表的数据进行合并。根据WHERE子句中的条件表达式是等还是不等式,可以把连接查询分为等式连接和不等式连接。l5)子查询l如果某一个SELECT命令(查询1)出现在另一个SQ
41、L命令(查询2)的一个子句中,则称查询1是查询2的子查询。常用函数用法常用函数用法一个函数类似于一个算符,它操作数据项,返回一个结果。函数在格式上不同于算符,它个具有变元,可操作0个、一个、二个或多个变元,形式为:函数名(变元,变元,)函数具有下列一般类形:单行函数分组函数1)单行函数对查询的表或视图的每一行返回一个结果行。它有数值函数,字符函数,日期函数,转换函数等。2)分组函数返回的结果是基于行组而不是单行,所以分组函数不同于单行函数。在许多分组函数中可有下列选项:lDISTRNCT该选项使分组函数只考虑变元表达式中的不同值。lALL该选项使分组函数考虑全部值,包含全部重复。全部分组函数(
42、除COUNT(*)外)忽略空值。如果具有分组函数的查询,没有返回行或只有空值(分组函数的变元取值的行),则分组函数返回空值。数据操纵语言数据操纵语言(DML)数据库操纵语言(DML)命令用于查询和操纵模式对象中的数据,它不隐式地提交当前事务。它包含UPDATE、INSERT、DELETE、SELECT等命令。UPDATE语句lUPDATEtablenameSETcolumn1=expression1,column2=expression2,WHEREconditions;l例如:S QLUPDATEEMPlSETJOB=MANAGERlWHEREENAME=MAPTIN;lSQLSELECT*
43、FROMEMP;lUPDATE子句指明了要修改的数据库是EMP,并用WHERE子句限制了只对名字(ENAME)为MARTIN的职工的数据进行修改,SET子句则说明修改的方式,即把MARTION的工作名称(JOB)改为MARAGERINSERT语句lINSERTINTOtablenamecolumn1,column2,VALUESexpression1,expression2,;l例如:SQLSELECTINTODEPT(DNAME,DEPTNO)lVALUES(ACCOUNTING,10)DELETE语句lDELETEFROMtablenameWHEREconditions;l例如:SQLDE
44、LETEFROMEMPlWHEREEMPNO=7654;lDELETE命 令 删 除 一 条 记 录,而 且DELETE命令只能删除整行,而不能删除某行中的部分数据.事务控制命令l提交命令(COMMIT):可以使数据库的修改永久化.设置AUTOCOMMIT为允许状态:SQLSETAUTOCOMMITON;l回 滚 命 令(ROLLBACK):消 除 上 一 个COMMIT命令后的所做的全部修改,使得数据库的内容恢复到上一个COMMIT执行后的状态.使用方法是:lSQLROLLBACK;第九章、系统性能优化l优化理论l参数调整更改initsid.ora文件数据文件中的I/O瓶颈l联机日志文件事务
45、由LGWR进程写入日志文件,而表空间的写入由DBWR进程完成,如果日志文件和数据文件存放在一块盘上,后台进程就有I/O冲突。l控制文件每个数据库都应该有3个控制文件,并且放在3块独立的盘上,它们只有很少的I/O。l归档日志LGWR以循环方式写入联机日志文件,当oracle以归档方式运行时,在覆盖日志文件之前ARCH进程将进行备份,ARCH和LGWR进程之间有I/O冲突。它们不能和system,data,index,rbs表空间放在一起。后台进程并发的I/Ol3种后台进程访问磁盘中的数据文件,即DBWR,LGWR,ARCH。lDBWR的数量可以在initsid.ora文件中定义,oracle7.
46、3是db_writers,而oracle8是dbwr_io_slaves,oracle建议DBWR的数量取n到2n之间,n是磁盘数。也可以启动多个LGWR和ARCH进程。l在数据的物理设计时,必须减少DBWR,LGWR,ARCH进程的I/0冲突。物理I/O优化l磁盘的分配(理想8块盘)System,controlfile1Rbs,用户rbs,controlfile2Data_1,controlfile3Index_1Temp,用户temp,user,data_2tools,index_2Redo_1,redo_2,redo_3Archfile数据文件的移动lSVRMGR connect int
47、ernallSVRMGRshutdown immediatelSVRMGRexitl$mv/u01/oradata/wg73/post_ludan.dbf /u02/oradata/wg73/post_ludan.dbflSVRMGR connect internallSVRMGR startup mount wg73lSVRMGR alter database rename filel /u01/oradata/wg73/post_ludan.dbf to l /u02/oradata/wg73/post_ludan.dbflSVRMGR alter database openlSVRMGR
48、 exit联机数据文件的移动l方法同数据文件的操作方法。控制文件的移动lSVRMGR connect internallSVRMGRshutdown immediatelSVRMGRexitl$mv/u1/center/ctrlwg73.ctl /u2/center/ctrlwg73.ctll编辑config.ora文件lSVRMGR connect internallSVRMGRstartuplSVRMGRexit数据文件收缩lalterdatabase命令来回收数据文件中未使用的空间,但是如果回收空间的数据文件正在被某个数据对象所使用,则不能改变这个文件的大小。lalterdatabasedatafile/u01/center/post_ludan01.dbfresize200Mbl如果系统提示超出范围,将可以看出超出的数据块数,根据系统的db_block_size可以算出超出的容量来。之后重新执行该命令。第十章、系统日常维护第十一章、课程总结附录A:ORACLE7.3.4FORSCO系统安装手册附录B:相关站点