Oracleserver由例程和数据库两部分组成,例程是一组内存结构和后台进程的集合,内存结构包括数据高速缓存、重做日志缓冲区和共享池3部分,这些内存结构总称为SGA;后台进程包括SMON,PMON,DBWR,CKPT,LGWR.ARCH等。数据库是一组OS文件的集合,由数据文件、控制文件和重做日志组成。共享池:用于存放最近执行的SQL语句和数据字典信息(库高速缓存和数据字典高速缓存组成)。库高速缓存—用于存放最近执行的SQL语句,包括SQL语句文本、解析代码值及其执行计划,它还包含了许多上下文区ContextArea,也是共享游标。完全相同的SQL语句标准------语句文本相同—大小写相同—赋值变量相同。数据字典高速缓存---存放数据字典的信息,包括表、列的定义以及权限信息。数据高速缓存:用于存放最近访问的数据库信息。LRU,类似队列访问机制。重做日志缓冲区:用于记载例程变化。由很多中作记录组成,并且,每条重做记录记载了被修改数据块的位置以及变化后的数据。当执行update操作时,新数据2000将被存放到emp段锁对应的缓冲区B1中,旧数据1000将被存放到undo段所对应的缓冲区U1中,在修改这两个缓冲区之前,首相将它们的变化写到重做日志缓冲区,然后再修改它们的数据。PGA和SGA的总和应小于系统总内存减去操作系统和其它应用程序所需的内存空间后剩余的内存空间。数据库物理文件临时表空间—临时文件:重做日志(RedoLog):用于记录数据库变化,当进行例程恢复或介质恢复时需要使用重做日志。执行DDL和DML操作时,事务变化会被写到重做日志缓冲区,而在特定时刻LGWR会将重做日志缓冲区内容写入重做日志。控制文件(ControlFile):用于记录和维护数据库的物理结构。当装载数据库时,oracle会根据控制文件所记载的信息打开所有数据文件和重做日志,其记录的信息----数据文件的位置及大小、重做日志文件的位置及大小、数据库名称及创建时间、日志序列号。文本参数文件-----initsid.ora,服务器参数文件spfilesic.ora------------------------------------------------------用户进程和服务器进程:当在客户端运行应用程序时,会启动相应的应用进程,该进程成为用户进程。当连接到oracleserver时,oracle在服务器端会为用户派生一个新的进程,该进程为服务器进程。连接和会话:连接是用户进程到服务器进程的网络通信通道,连接和用户进程是一一对应的;会话是特定用户的连接,连接和会话是一对多的关系,但同一时刻,同一连接对应一个会话。当使用PFILE是,如果要修改初始化参数,只要手工编辑参数文件就可以,规则如下1、在修改或增加参数,若没有,则在文件尾部增加一行2、每行只能设置一个参数3、字符型参数的值可以用引号引住,数值型不用4、如果一个初始化参数有多个值,则用逗号隔开5、屏蔽参数用#SPFILE为二进制形式存放,修改其参数值只能用altersystemSPFILE和PFILE之间的转换管理---CREATEPFILE[=’PFILE_NAME’]FROMSPFILE[=’SPFILE_NAME’]在mount状态下移动数据文件用于移动任何表空间数据文件。1、关闭并装载数据库将数据库为mount状态2、移动数据文件到目标位置HOSTMOVED:\DEMO\SYSTEM01.DBFE:\DEM\SYSTEM01.DBF3、执行ALTERDATABASE命令物理移动完数据文件之后,还要使用ALTERDATABASERENAMEFILE‘D:\DEMO\SYSTEM01.DBF’TO‘E:\DEM\SYSTEM01.DBF’4、打开数据库ALTERDATABASEOPEN;方案:用户所拥有的数据库对象的集合。在oracle数据库中,对象是以用户来组织的,用户与方案是一一对应的关系,并且二者名称相同管理权限权限,是指执行特定类型SQL命令的权利。系统权限:它用于控制用户可以执行的一个或一组数据库操作。对象权限:是指范文其他方案对象的权利,它用于控制用户对其他方案对象的访问。GRANT|REVOKEsystem_priv[,system_priv…]TO{user|role|public[,user|role|public]]…[WITHADMINOPTION]系统权限不仅可以被授予用户和角色,也可以被授予用户组public,当将系统权限授予public后,所有用户具有该系统权限。另外,在授予系统权限时,可以带有WITHADMINOPTION选项,带有该选项,被授予权限的将用户,角色还可以将相应系统权限授予其他角色,用户。系统权限UNLIMITEDTABLESPACE不能授予角色。在必要的时候,调整这个参数的大小,可以提高数据缓存的命中率,从而大幅度的提高数据库的性能。第二个参数是DB_BLOCK_SIZE。这个参数主要是用来指定数据库在建立时所默认的块大小。如果块设置的比较小,则有可能会发生行链化现象,从而降低数据库的性能;也有可能增加数据库的碎片,浪费表空间的存储空间以及降低数据库的查询性能等等。所以根据需要有时候也要调整这个块大小来改善数据库的性能。第三个参数是SHARED_POOL_SIZE参数。这个参数主要是为那些数据字典缓存和共享SQL语句指定了在SGA里所分配的内存。简单的来说,合理配置这个参数,能够同等的共享SQL语句。调整这个参数,也是一种优化数据库性能的常用手段。第四个参数为SGA_MAX_SIZE参数,这个参数指定了SGA可以动态增长的最大内存。在SQLServer数据库中也有类似的参数。一般来说,在同台数据库服务器中若部署有多个应用服务的话,则往往需要合理配置这个参数来避免多个应用服务之间争用内存。如果这个参数设置的不合适的话,则有时候会导致另外一种应用服务由于没有足够的内存而停止服务。第五个参数为LOG_CHECKPOINT_INTERVAL。这个参数主要用来设置检查点的频率。在每个检查点中,数据库系统执行数据写出,将所有脏块(已经修改还没有保存到硬盘中的数据)写入到数据库中对应的数据文件中。默认情况下,如果在数据库缓存中有1/4的数据缓冲区是脏缓冲区,则数据库系统会自动执行检查点。另外一个强制的原则就是在进行日志切换时,也会执行检查点。在一些特定的情况下,如建立数据仓库,需要调整这个参数以满足特定场合的需要。========================六分钟学会创建Oracle表空间的步骤1、先查询空闲空间1.selecttablespace_name,file_id,block_id,bytes,blocksfromdba_free_space;2、增加Oracle表空间先查询数据文件名称、大小和路径的信息,语句如下:1.selecttablespace_name,file_id,bytes,file_namefromdba_data_files;3、修改文件大小语句如下1.alterdatabasedatafile2.'需要增加的数据文件路径,即上面查询出来的路径3.'resize800M;4、创建Oracle表空间1.createtablespacetest2.datafile'/home/app/oracle/oradata/oracle8i/test01.dbf'size8M3.autoextendon4.next5M5.maxsize10M;6.7.createtablespacesales8.datafile'/home/app/oracle/oradata/oracle8i/sales01.dbf'size800M9.autoextendon10.next50M11.maxsizeunlimited12.maxsizeunlimited是大小不受限制13.14.createtablespacesales15.datafile'/home/app/oracle/oradata/oracle8i/sales01.dbf'size800M16.autoextendon17.next50M18.maxsize1000M19.extentmanagementlocaluniform;20.unform表示区的大小相同,默认为1M21.22.createtablespacesales23.datafile'/home/app/oracle/oradata/oracle8i/sales01.dbf'size800M24.autoextendon25.next50M26.maxsize1000M27.extentmanagementlocaluniformsize500K;28.unformsize500K表示区的大小相同,为500K29.30.createtablespacesales31.datafile'/home/app/oracle/oradata/oracle8i/sales01.dbf'size800M32.autoextendon33.next50M34.maxsize1000M35.extentmanagementlocalautoallocate;36.autoallocate表示区的大小由随表的大小自动动态改变,大表使用大区小表使用小区37.38.createtablespacesales39.datafile'/home/app/oracle/oradata/oracle8i/sales01.dbf'size800M40.autoextendon41.next50M42.maxsize1000M43.temporary;44.temporary创建字典管理临时表空间45.46.createtemporarytablespacesales47.tempfile'/home/app/oracle/oradata/oracle8i/sales01.dbf'size800M48.autoextendon49.next50M50.maxsize1000M51.创建本地管理临时表空间,如果是临时表空间,所有语句中的datafile都换为tempfile52.53.8i系统默认创建字典管理临时表空间,要创建本地管理临时表空间要加temporarytablespace关键字54.创建本地管理临时表空间时,不得使用atuoallocate参数,系统默认创建uniform管理方式55.56.为表空间增加数据文件:57.altertablespacesalesadd58.datafile'/home/app/oracle/oradata/oracle8i/sales02.dbf'size800M59.autoextendonnext50M60.maxsize1000M;创建本地管理临时Oracle表空间,如果是临时表空间,所有语句中的datafile都换为tempfile8i系统默认创建字典管理临时表空间,要创建本地管理临时表空间要加temporarytablespace关键字创建本地管理临时表空间时,不得使用atuoallocate参数,系统默认创建uniform管理方式为表空间增加数据文件:1.altertablespacesalesadd2.datafile'/home/app/oracle/oradata/oracle8i/sales02.dbf'size800M3.autoextendonnext50M4.maxsize1000M;5、更改自动扩展属性:1.alterdatabasedatafile2.'/home/app/oracle/oradata/oracle8i/sales01.dbf',3.'/home/app/oracle/oradata/oracle8i/sales02.dbf'4.'/home/app/oracle/oradata/oracle8i/sales01.dbf5.autoexten