《ORACLE数据库入门策略.ppt》由会员分享,可在线阅读,更多相关《ORACLE数据库入门策略.ppt(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、ORACLE 数据库入门余枫编1997.1一、Oracle 体系结构(1)物理结构 datafiles redo log files control files parameter file 数据文件 日志文件 控制文件 参数文件 data filesredo log filescontrol fileparameter iles*.dbf*.logInitoraid.ora*.ctl(2)内存结构(SGA)占OS内存的60-70%,大小可由参数文件内参数计算 shared pool(共享池),database buffer cache(数据缓冲区),redo log buffer(重做日志缓
2、冲区)(如以下图所示)SGA=share_pool_size+db_block_size*db_block_buffers +log_buffersshared_pooldatabase_buffer_cacheredo_log bufferSGAbackground process(3)instance=SGA+background process 实例 =内存分配 +一组后台进程 如果把Oracle比作一部汽车,instance相当于汽车的发动机一样,启动oracle前提应先启动instance.(4)session(连接)Oracle是多用户、多任务、可分布式管理的数据库,同时可有许 多
3、个用户对数据库操作。oracleuseruserusersession(5)transaction(一组修改动作的集合)交易事务Eg:1、insert DDL(数据定义语句)delete 例如:create,alter,drop,conmit 等 commit 每两个DDL语句间是一个transaction 2、update DML(数据控制语句)rollback 例如:Insert,Delete,Update(6)后台进程 PMON,LCLN,RECO,SMON,DBWR,LGWR,CKPT,ARCHPMON 做程序的清洁工作,处理一些不正常退出的事件SMON 做系统的清洁工作,执行系统出错
4、后自动恢复工作LCKN Oracle系统表级或行级加锁的进程.RECO 恢复进程DBWR 数据写进程LGWR 日志文件写的进程CKPT 检测点ARCH 归档方式备份进程(7)分析一个SQL语句是怎样在Orcle内部工作的。A、用户发出SQL请求,打开游标;B、把SQL语句语法分析,执行计划,数据字典等信息存入内存中共享池内;C、从数据文件中把相关数据块读入数据缓冲区;D、做相应操作,若做修改,先加上行级锁,经确认后,把改过前后记录内容存入重做日志缓冲区内;E、返回结果给用户,关闭游标。备注:SQL语句大小写敏感的,同样的一个语句,若大小写不同,oracle需分析执行两次,每句后必以“;”结束。
5、二、启动和关闭数据库。(1)启动%svrmgrl.唤醒 SVRMGRL数据库管理 SVRMGRL connect internal;以系统管理员身份登录。SVRMGRL startup启动instance连上数据库打开数据库(2)关闭 (旧版Oracle用%sqldba lmode=Y)%svrmgrl以上)唤醒SVRMGRL状态SVRMGRLconnect internal;SVRMGRLshutdown.(3)启动和关闭Oracle数据库过程图。shutdownopen读参数文件initoraid.ora开机关机读控制文件读所有文件未连上数据库仅启动instancesnomountmoun
6、t连上数据库,但未打开(4)如果不小心物理上删除了一Oracle的数据文件,比如说,某应用表空间所对应数据文件“adc.dbf?Oracle读控制文件时,和打开数据库时所面对的参数不一致,Oracle数据库将启动不了,解决这种问题的方法是把其对应的表空间先卸下,再删除,以保证控制文件描述和物理上存在文件一致。%svrmgrlSVRMGRconnect internalSVRMGRstartup mountSVRMGRalter database datafile/directory/abc.dbf offline;SVRMGRalter database open;SVRMGRdrop tab
7、lespace abc;1、Oracle数据存储单位 a、block 数据块:2k 最小的I-O单位,伴随database产生而产生,不可变 b、extent 一组连续的数据块:是用户所能分配存储的最小单位 c、segment 段:有共同结构的一个或几个区域(extent)d、tablespace 表空间:一组物理数据的逻辑组合,(象逻辑间数据仓库)e、file 文件:属于某个表空间的物理文件 f、database 数据库:一组表空间所构成的逻辑的可共享的数据。三、Oracle数据的存储结构common and variableheader 块地址,段类型 85-100bytesTable d
8、irectory 簇中的表信息,用于簇表段Row directory 块中的行信息Free space 用于insert updataRow data 存储数据、索引block 结构(系统管理员能在SQLDBA状态,查看视图dba-extents,dba-segments,dba-tablespace,dba-data-files查看所有的extent,segment,tablespace和datafile)3、行链行链1 block2 block 当要存储的数据无法在一个数据块中存放时,需分配两个或多个数据块,标志这几个data block连接关系的存储信息行链4、行迁移1 block2 b
9、lock 当一个data block中的某部分数据经修改后增涨太快,无法继续放在本数据块中,从需把它搬迁到另一个data block,以优化存储结构,标志这个data block迁移的存储信息称为行迁移。pctfree 20%左右 它们是互相消涨的pctused 40%左右Inittrans 在单一块中最初活动的交易事务数Maxtrans 在单一块中最大交易事务数5、控制block空间使用的几个参数Pctfree 低高1、可把块填 得较满2、如果重组数据,代价较高3、易引起行迁移1、剩下多的空间给以后修改用2、需更多的块存数据3、减少行链和重组数据的代价Pctused 低高1、使重组数据时,代
10、价较低。2、增加了未用的空间数1、增加空间使用率2、但使重组数据时,代价较高 6、决定extent的参数initial 最初分配的空间数(缺省为10k,5 个数据块)next 下一步分配的空间数maxextents 最大分配的extent数minextents 最小分配的extnet数,所有重 做日志回滚段的存储结构,必 须成对地分配extentpctincrease 增长率,指数级增长,optimal 尽量设小,或为0(缺省为空,仅用于回滚段)freelist pctincrease100()n1+存储参数的设定规则:1、在对象级的存储参数设置值覆盖表空间级的设置2、未在对象级设置存储参数,
11、由表空间级数设置决定3、未在表空间级设置存储参数,由Oracle数据库级参数 设置决定4、若存储参数改变后,新的选项只针对未分配的extents 有效。data 数据段 存储对象 object(table,view,indexsequence.)index 索引段 temporary 临时段 用做(join,group by,order by sorting操作)rollback 回滚段 用于记录修改前后信息,minextent为2,increace为0bootstrap 启动段 存储数据字典系统信息 不能读写,放在系统表空间内,约占40 几个block 7、segment 段的分类data
12、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中可能出现的问题 见 sun屏幕,创建.SQL语句以 摚粩结束 缺省:10分钟无SQL请求,做rollback 缺省:连接在线con
13、nect time(1个小时)8、table存储,按行格式123546.1、rowoverhead 行头2、row piece 列数3、cluster key (不一定有)4、rowid 行的唯一标记(有行链时,记 录其它block的rowid5、length 6、value 当字段值为null时,length为0,无6字value部分,所以某字段常为空,应放table最后;尽量不设为null的字段rowid:xxxxxxxx .x x x x.xxxx 块物理地址 该row在块中的行号 块所属的文件号9、表空间 tablespacesystemRBSnosystem把system表空间单独放
14、在一个硬盘上把system表空间单独放在一个硬盘上做成一组镜像(如下附图)toolsuserstempapplication dataapplication index分开存放减少争用(rollback)12附图:四、备份和恢复(1)逻辑备份 用Export/Import 实用工具(2)物理备份 操作系统下的备份1、备份分类归档方式 不关闭database状态不归档方式 关闭database后,把 物理文件进行备份 (cp tar)2、SVRMGRarchire log list 看当前数据库归档方式3、exp.imp 见telnet屏幕 table 表级user 用户级database 数据
15、库级incretype complete incrementalcumulative 累计改过数据(上次cun;或complete后改过的所 有数据)(1)create table (2)insert data (3)create index (4)create triggers,constraintsimp步骤:4、备份和恢复策略 逻辑备份仅能恢复到上次的备份点 物理备份中的不归档备份可恢复到上次备份点 物理备份中的归档备份恢复到failure的前一刻 见P6-98逻辑备份日刻表恢复:(1)imp system/manager file=incr19.dmp inctype=system 恢
16、复最后状态信息 (2)imp system/manager file=x1.dmp inctype=restore (3)imp system/manager file=c8.dmp inctype=restore (4)imp system/manager file=c15.dmp inctype=restore (5)imp system/manager file=c16.dmp inctype=restore (6)imp system/manager file=c17.dmp inctype=restore (7)imp system/manager file=c18.dmp inct
17、ype=restore (8)imp system/manager file=c19.dmp inctype=restore五、用户管理1、创建、改变、删除和监控oracle的新用户(1)赋于合法的用户或和密码SVRMGLCREATE USER username IDENTIFIED BY userpassword DEFAULT TABLESPACE tablespace1 TEMPORARY TABLESPACE tablespace2QUOTA n K ON tablespace1;M UNLIMITED空间限额(2)授于用户连接Oracle数据库的权限SVRMGLgrant conne
18、ct tousername with grant option;rolenameprivelege.常用的几个角色role(权限的集合)connect (8)连上Oracle,做最基本操作 resource(5)具有程序开发最基本的权限 dba (77)数据库管理员所有权限 exp-full-database 可把数据库整个备份输出的 权限 imp-full-datsabase 可把数据库整个备份恢复输 入的权限(3)alter user;(4)drop user cascade;(5)revoke role from user;2、权限的管理权限的分类system privilege 针对整个系统操作的权限object privilege 针对整个具体object操作的 权限可查看dba-sys-privs,dba-fab-privs;视图dba-col-privs;六、SQL LOADER见屏幕 /oracle/home/rdbs/demo/ulcase*.ctlusend=scott/tiger