一、Oracle体系结构(1)物理结构datafilesredologfilescont rolfilesparameterfile数据文件日志文件 控制文件参数文件(2)内存结构(SGA)占OS内存的60-70%,大小可由参数文件内参数计算share dpool(共享池),databasebuffercache(数据缓冲区),redologbuffer(重做日 志缓冲区)(如以下图所示)SGA=share_pool_size+db_block_sizedb_block_buff ers+log_buffers(3)instance=SGA+backgroundprocess 实例=内存分配+一组后台进程如果把Oracle比作一部汽车,instance 相当于汽车的发动机一样,启动oracle前提应先启动instance.(4)session(连接)Oracle是 多用户、多任务、可分布式管理的数据库,同时可有许多个用户对数据库操作。(5)transaction(一组修改动作的集合) 交易事务Eg:1、insertDDL(数据定义语句) delete例如:create,alter,drop,conmit等commit 每两个DDL语句间是一个transaction2、update DML(数据控制语句)rollback例如:Insert,Delete,Update(6 )后台进程PMON,LCLN,RECO,SMON,DBWR,LGWR,CKPT,ARCHPMON做程序的清洁工作,处理一些 不正常退出的事件.SMON做系统的清洁工作,执行系统出错后自动恢复工作.LCKNOracle系统表级或行级加锁的进程. RECO恢复进程.DBWR数据写进程LGWR日志文件写的进程CKPT检测点ARCH归档方式备份进程 (7)分析一个SQL语句是怎样在Orcle内部工作的。A、用户发出SQL请求,打开游标;B、把SQL语句语法分析,执行计 划,数据字典等信息存入内存中共享池内;C、从数据文件中把相关数据块读入数据缓冲区;D、做相应操作,若做修改,先加上行级锁,经确 认后,把改过前后记录内容存入重做日志缓冲区内;E、返回结果给用户,关闭游标。备注:SQL语句大小写敏感的,同样的一个 语句,若大小写不同,oracle需分析执行两次,每句后必以“;”结束。二、启动和关闭数据库。(1)启动%svrmgrl .唤醒SVRMGRL数据库管理SVRMGRL>connectinternal;以系统管理员身份登录。SVRMGR L>startup启动instance连上数据库打开数据库(2)关闭(旧版Oracle用%sqldbalmod e=Y)%svrmgrl.(V7.3.2.0以上)唤醒SVRMGRL状态SVRMGRL>connectinternal; SVRMGRL>shutdown.(3)启动和关闭Oracle数据库过程图。 (4)如果不小心物理上删除了一Oracle的数据文件,比如说,某应用表空间所对应数据文件“a dc.dbf?Oracle读控制文件时,和打开数据库时所面对的参数不一致,Oracle数据库将启动不了,解决这种问题的方法是把其对 应的表空间先卸下,再删除,以保证控制文件描述和物理上存在文件一致。%svrmgrlSVRMGR>connectintern alSVRMGR>startupmountSVRMGR>alterdatabasedatafile‘/director y/abc.dbf’offline;SVRMGR>alterdatabaseope n;SVRMGR>droptablespaceabc;2、SVRMGR>archireloglist看当前数据库归档 方式3、exp.imp见telnet屏幕table表级user用户级database数据库级in cretypecompleteincrementalcumulative累计改过数据( 上次cun;或complete后改过的所 有数据)(1)createtable(2)insertdata(3)createindex (4)createtriggers,constraintsimp步骤:4、备份和恢复策略逻辑备份仅能 恢复到上次的备份点物理备份中的不归档备份可恢复到上次备份点物理备份中的归档备份恢复到failure的前 一刻见P6-98逻辑备份日刻表恢复:(1)impsystem/managerfile=incr19.dmp inctype=system恢复最后状态信息(2) impsystem/managerfile=x1.dmpinctype=restore (3)impsystem/managerfile=c8.dmpinctype=restore (4)impsystem/managerfile=c15.dmpinctype=restore (5)impsystem/managerfile=c16.dmpinctype=restore (6)impsystem/managerfile=c17.dmpinctype=restore (7)impsystem/managerfile=c18.dmpinctype=restore (8)impsystem/managerfile=c19.dmpinctype=restore五、用 户管理1、创建、改变、删除和监控oracle的新用户(1)赋于合法的用户或和密码SVRMGL>CREATEUSERuse rnameIDENTIFIEDBYuserpassword[DEFAULTTAB LESPACEtablespace1][TEMPORARYTABLESPACEta blespace2][QUOTAnKONtablespace1]; MUNLIMITED空 间限额(2)授于用户连接Oracle数据库的权限SVRMGL>grantconnecttousername[ withgrantoption];rolenameprivelege......常用的几个角色role(权限的集合) connect(8)连上Oracle,做最基本操作resource(5)具有程序开发最基本的权限dba (77)数据库管理员所有权限exp-full-database可把数据库整个备份输出的 权限imp-full-datsabase可把数据库整个备份恢复输 入的权限(3)alteruser;(4)dropuser[cascade];( 5)revokerolefromuser;ORACLE数据库入门余枫编1997.1datafiles redologfilescontrolfileparameteriles.dbf.logInitoraid .ora.ctlshared_pooldatabase_buffer_cacheredo_logbufferSGA backgroundprocessoracleuseruserusersessionshutdownopen 读参数文件initoraid.ora开机关机读控制文件读所有文件未连上数据库仅启动instancesnomount mount连上数据库,但未打开1、Oracle数据存储单位a、block数据块:2k最小的I-O单位,伴 随database产生而产生,不可变b、extent一组连续的数据块:是用户所能分配存储的最小单位c、segmen t段:有共同结构的一个或几个区域(extent)d、tablespace表空间:一组物理数据的逻辑组合,(象逻辑间数 据仓库)e、file文件:属于某个表空间的物理文件f、database数据库:一组表空间所构成的逻辑的可共享的 数据。三、Oracle数据的存储结构commonandvariableheader块地 址,段类型85-100bytesTabledirectory簇中的表信息,用于簇表段Rowdirectory 块中的行信息Freespace用于insertupdataRowdata 存储数据、索引block结构(系统管理员能在SQLDBA状态,查看视图dba-extents,dba-segment s,dba-tablespace,dba-data-files查看所有的extent,segment,tablespace和d atafile)3、行链行链1block2block当要存储的数据无法在一个数据块中存放时,需分配两个或多个数 据块,标志这几个datablock连接关系的存储信息行链4、行迁移1block2block当一个data block中的某部分数据经修改后增涨太快,无法继续放在本数据块中,从需把它搬迁到另一个datablock,以优化存储结构,标 志这个datablock迁移的存储信息称为行迁移。pctfree20%左右它们是互相消涨的pctused 40%左右Inittrans在单一块中最初活动的交易事务数Maxtrans在单一块中最大交易事务数5、控制bl ock空间使用的几个参数Pctfree低高1、可把块填得较满2、如果重组数据,代价较高3、易引起行迁移1、剩下 多的空间给以后修改用2、需更多的块存数据3、减少行链和重组数据的代价Pctused低高1、使重组数据时,代价较低 。2、增加了未用的空间数1、增加空间使用率2、但使重组数据时,代价较高6、决定extent的参数initial 最初分配的空间数(缺省为10k,5个数据块)next下一步分配的空间数maxe xtents最大分配的extent数minextents最小分配的extnet数,所有重 做日志回滚段的存储结构,必须成对地分配extentpctincrease增长率 ,指数级增长,optimal尽量设小,或为0(缺省为空,仅用于回滚段)f reelistpctincrease100()n1+存储参数的设定规则:1、在对象级的存储参数设置值覆 盖表空间级的设置2、未在对象级设置存储参数,由表空间级数设置决定3、未在表空间级设置存储参数,由Oracle数据库级参数 设置决定4、若存储参数改变后,新的选项只针对未分配的extents有效。data 数据段存储对象object(table,view,indexsequence...)index索引段t emporary临时段用做(join,groupby,orderbysorting操作)rollback回滚 段用于记录修改前后信息,minextent为2,increace为0bootstrap启动 段存储数据字典系统信息不能读写,放在系统表空间内,约占40 几个block7、segment段的分类datasegment中可能有十种不同类 型的存储对象(1)table(2)view实为一个select语句(3)index(一个表不多 于3个)(4)cluster(簇)(5)sequence序列(6)syn onme用于定义某个远程数据库同义词,实现分式数据库管理透明(7)snapsot快照 (8)storedprocedure(function)(9)package程序包(10)dbt rigger数据触发器,处理updata,delete,insert中可能出现的问题见sun屏幕,创建.... ..SQL语句以摚粩结束缺省:10分钟无SQL请求,做rollback 缺省:连接在线connecttime(1个小时) 8、table存储,按行格式123546............1、rowoverhead 行头2、rowpiece列数3、clusterkey(不一定有)4、rowid 行的唯一标记(有行链时,记录其它block的rowid5、le ngth6、value当字段值为null时,length为0,无6字value部分,所以某字段常为空,应放ta ble最后;尽量不设为null的字段rowid:xxxxxxxx.xxxx.xxxx块物理地址该row在块中的行号块所属的文件号9、表空间tablespacesystemRBSnosystem把system表空间单独放在一个硬盘上把system表空间单独放在一个硬盘上做成一组镜像(如下附图)toolsuserstempapplicationdataapplicationindex分开存放减少争用(rollback)12附图:四、备份和恢复(1)逻辑备份用Export/Import实用工具(2)物理备份操作系统下的备份1、备份分类归档方式不关闭database状态不归档方式关闭database后,把物理文件进行备份(cptar) |
|