




已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
OracleRDBMS应用系统设计与开发2007.07.0413601365681,内容提要,团队与合作问题;Oracle关键问题;数据库设计方法问题;Oracle功能的发现与使用问题;严谨的程序设计问题;测试阶段管理问题;试用问题。,团队与合作-现代软件项目特,互联网的时代:项目小组:项目小组的成熟度和能力,而非个别程序员的个人魅力;程序员准确定位;程序员不是斗士;一般是杀不净的BUG。几百个数字英雄却很难铸造出一个强劲的产业:流水线的软件产业;强有力的团队共同协作;担任不同角色和责任。管理者要做:将多个自由英雄团结起来;组建出高效的开发小组;中国不缺个人英雄,而是缺乏强有力的团队。,团队与合作-项目小组角色与分工,经常面临的问题:项目无法按期完成,完成以后还要不断修补完善,对软件人员和用户来说象一场噩梦遥遥无期;项目进行当中人员流失,产品夭折;客户需求不断改变,永远对开发完成的产品不满意;开发成员之间矛盾不断,互相抱怨,工程进展缓慢;小组成员分工不均,工作分配失去平衡等等;问题对策:项目负责人责任(称之为组长或项目经理);项目负责人能力(古人云:一将无能,累死千军);项目经理根据需求制定出开发的目标;确实落实到实际中。,团队与合作-项目小组角色与分工,角色与分工:,团队与合作-项目小组角色与分工,角色与分工:,团队与合作-项目小组角色与分工,形成一致的意见:是否已经很清晰的理解了开发的需求和目标,并使每个人员充满斗志地准备开始完成共同的目标?是否制定了一套规范的、经过评测的、可复用的技术框架;每个人的角色分工是不是都非常清楚地落实了;是不是已经制定了开发过程中的周期划分及评估办法?而不是冒险等项目期限快到的时候才发现补牢已晚;,团队与合作-项目小组角色与分工,形成一致的意见(续):项目管理人员是否有随时把握开发进度的有效手段?小组人员是否都互相认识而且熟悉;每个人是否都明白和他关联的角色是谁,相互之间的工作流程?是否忘了布置文档撰写及管理的方法或标准?,团队与合作-DBA-总设计师-开发人员,一般DBA与开发者存在障碍;主要问题是“所有权”:职责与分工问题;DBA觉得是问题的替罪羊;需要沟通。问题在于对策:搞好关系,责任明确;DBA是数据库的维护者;开发者是使用数据库人员;为了共同的目标。,团队与合作-DBA责任,一般DBA负责数据库管理;也涉及数据库的逻辑设计;执行物理设计的实现;协作开发人员工作;确保高性能、安全及备份恢复。,内容提要,团队与合作问题;Oracle关键问题;数据库设计方法问题;Oracle功能的发现与使用问题;严谨的程序设计问题;测试阶段管理问题;试用问题。,Oracle关键问题-Oracle安装问题,操作系统的安装问题:规划磁盘空间;交换空间问题;一般空间问题。Oracle安装建议:默认安装与自定义安装问题;数据文件与日志文件等问题;安装需要的选件问题。,Oracle关键问题-表空间与数据文件,开发阶段考虑的问题:要接近将来的实际情况;磁盘空间的分配;开发环境与实际环境的空间比例问题。为开发阶段创建USER/INDEX表空间;表空间存放开发阶段的对象;不要将对象创建在SYSTEM表空间上:ALTERUSERQUOTA限制;用EXP/IMP将用户对象从SYSTEM表空间移出;或ALTERTABLEMOVE移动。,Oracle关键问题-表空间与数据文件,数据文件大小问题:在OS允许情况下,要中庸一些为好;不要轻易RESIZE;与实际数据量比例计算;Oracle10g的BIGFILE问题:支持大文件;与OS有关;与32bit和64bit有关;与Oracle块大小有关。Oracle9i/10g的OMF问题:支持OMF管理;维护带来危险;文件大小也不合理。,Oracle关键问题-日志文件问题,日志文件分布问题:树立开发环境就是实际的模拟;一般开始就应注意安全与性能;日志文件在不同的磁盘;与归档日志文件分开。日志文件大小问题:应用DML并发数据量;8i默认太小;9i默认太大;10g默认还合理;可创建合理大小并删除小的日志文件。,Oracle关键问题-临时表空间问题,临时表与临时文件问题:8i临时表对应数据文件;9i/10g临时表空间对应临时文件(TEMPFILE);排序的最大数据量的估计。临时文件大小问题:临时文件一次给足;告诉程序不要随便用ORDERBY等语句;总设计师对排序的理解与估计;索引、集合操作等。,Oracle关键问题-用户、权限于角色,总设计师规划与DBA创建;创建用户名与实际用户问题;Oracle系统角色:Oracle默认系统权限;开发权限与管理权限;是否创建应用角色问题。,用户,权限,角色,UPDATEONEMP,INSERTONEMP,SELECTONEMP,CREATETABLE,CREATESESSION,HR_CLERK,HR_MGR,A,B,C,Oracle关键问题-用户角色与权限,Oracle关键问题-用户与权限,160多种系统权限(systemprivileges):参考原版OracledatabaseSQLreference参考原版OracledatabaseadministratorSELECTDISTINCTPRIVILEGEFROMdba_sys_privsorderbyPRIVILEGE对象权限(Objectprivileges):参考原版OracledatabaseSQLreference参考原版Oracledatabaseadministrator角色(老三样)CONNECT、RESOURCE、DBAselect*fromdba_roles,Oracle关键问题-用户与权限,一般用户权限:,Oracle关键问题-用户与权限,一般开发者权限:,Oracle关键问题-用户与权限,一般开发者权限(2):,Oracle关键问题-用户与权限,一般开发者权限(3):,Oracle关键问题-用户与权限,一般开发者权限(4):,Oracle关键问题-用户与权限,一般开发者权限(5):,Oracle关键问题-用户与权限,DBA权限与ANY:能做任何的意思,如CREATEANYTABLE;SYS具有此权限;普通开发者不需要ANY。动态的PL/SQL用ANY:在SQL下能将对象创建到另外用户下;一般在PL/SQL下不能,请用ANY即可;进入测试后建议不要用ANY。,Oracle关键问题-用户与权限,DBA权限与ANY:,Oracle关键问题-用户与权限,SYSDBA与SYSOPER:SYSDBA(以sysdba连接才有效):执行STARTUP和SHUTDOWN操作ALTERDATABASE:open,mount,backup,或changecharactersetCREATEDATABASEDROPDATABASECREATESPFILEALTERDATABASEARCHIVELOGALTERDATABASERECOVER包括RESTRICTEDSESSION权限,Oracle关键问题-用户与权限,SYSDBA与SYSOPER:SYSOPER:执行STARTUP和SHUTDOWNCREATESPFILEALTERDATABASEOPEN/MOUNT/BACKUPALTERDATABASEARCHIVELOGALTERDATABASERECOVER包括RESTRICTEDSESSION权限SYSTEM类似SYSOPER:SYSTEM权限没有SYS那么多SYSTEM和DBA角色均能改SYS的口令SYSTEM和SYS口令忘记:创建口令文件orapwd,内容提要,团队与合作问题;Oracle关键问题;数据库设计方法问题;Oracle功能的发现与使用问题;严谨的程序设计问题;测试阶段管理问题;试用问题。,数据库设计方法问题,应用系统的类型:OLTP系统:并发用户数多(高峰);安装时选择默认的块大小;表结构要考虑INITRANS等参数;OLAP系统:并发用户数少(高峰);每次I/O量、块大小要大些;不用考虑INITRANS等参数;DSS系统:只读表空间问题;用户也要分3、6、9等以满足统计分析用户要求;大数据处理要避开高峰时运行。,数据库设计方法问题,图形界面与脚本问题:图形界面方便、直观,但也要脚本;脚本便于阅读;文档就是脚本,而不是图形的拷贝;移植到真实环境是脚本,而不是图形界面。脚本与注释问题:脚本也要加详细注释,脚本就是程序;脚本的书写要求可读性;脚本也要有规范;脚本规范参考/rdbms/admin中Oracle的样例。,数据库设计方法问题,自动创建与卸出问题:采用脚本自动创建表空间、用户、权限;采用脚本自动创建表、索引、约束、视图;卸出脚本单独形成文件;正式运行后卸出脚本要保管好(不要放在磁盘里)。脚本与环境有关问题:脚本也可带变量;数据文件路经(Windows/UNIX/LINUX);表空间名不变(10g可改名),数据文件大小可变;规模大小可变。,数据库设计方法问题,数据库结构一次创建问题:不要采用图形工具创建;不要经常ALTERTABLE;ALTERTABLE要经总设计师的批准;ALTERTABLE要在文档上修改。必要的ALTER问题:存储参数不合理时用;建议不要使用联机重定义;联机重定义是对不合理的已经存在结构进行定义;不合理就迁移到新表空间。,数据库存储设计问题,空间的有效利用问题:Oracle数据文件结构;Oracle存储块结构;不同的对象采用不同的块大小。Oracle9i/10g块的可变问题:9i开始支持块大小可变;可变也得考虑合理;根据不同对象特性设计块大小与表空间;总设计师要研究Oracle的PCTFREE和PCTUSED。,数据库存储设计问题,应用系统的数据存储量:大表一定分区:表分区;索引也要分区;中等数据量的表要考虑STORAGE参数。大表小表、索引要做:Storage估计;索引与的访问来确定PCTFREE;表要分相对固定与修改频繁;要根据表修改频率确定PCTFREE和PCTUSED;不同的Oracle版本PCTFREE和PCTUSED差别。,内容提要,团队与合作问题;Oracle关键问题;数据库设计方法问题;Oracle功能的发现与使用问题;严谨的程序设计问题;测试阶段管理问题;试用问题。,Oracle功能发现问题,Oracle产品选件:Oracle企业与标准版差异;Oracle的Partition常被遗忘问题;不用选件不要装;Oracle产品已装哪些选件:SELECT*FROMV$OPTION;,Oracle功能发现问题,Oracle一般的功能:Oracle的Partition被遗忘问题安装时选择;在设计时使用;在SQL中使用。Oracle的Cluster被遗忘问题设计时选择;提高性能。Oracle的IOT被遗忘问题设计时选择;非结构化数据可提高性能。Oracle的NEST表被遗忘问题设计时选择;复杂关系:可减少查询时的关联。,Oracle功能发现问题,Oracle内置包:基本内置包DBMS_JOB;DBMS_PIPE;DBMS_SQL;.Oracle特殊的内置包:需要安装的内置包DBMS_PROFILE;DBMS_TRACE;.,内容提要,团队与合作问题;Oracle关键问题;数据库设计方法问题;Oracle功能的发现与使用问题;严谨的程序设计问题;测试阶段管理问题;试用问题。,严谨的程序设计问题,程序员要理解:事务处理技术:明确的COMMIT/ROLLBACK;由DDL语句隐含地完成;用户正常的断开(Disconnect)自动提交(autocommit);异常的终止自动回滚(autorollback);在程序中体现。理解事务的属性:原子的(Atomicity)所有的或没任何事.一致性(Consistency)每个事务之前或之后.独立性(Isolation)各自独立执行.耐久性(Durability)成功的提交可保数据长久保存在数据库中。,严谨的程序设计问题,程序员要理解:Oracle对象:表结构如何查看;表之间关系如何查看;索引与表的关系;PL/SQL程序与Trigger。业务的流程:各业务的处理流程;业务与各表的关系;业务与事务的联系。,严谨的程序设计问题,程序员要掌握:开发工具:熟练使用PL/SQL编程;开发工具的熟练使用;数据库DML:DML语言;忌讳和建议的SQL语句;动态的SQL问题;程序员要活学活用:要理论联系实际;数据库业务总是以事务来处理;将用户的业务理解成事务并在程序中体现;要实现事务的处理要求所涉及的语句。,严谨的程序设计问题,程序员要活学活用问题:照搬与模仿:有的例子与你的情况可能不符;注意搜集各种技巧,可学习方法;学习权威专家的样例。Oracle原版资料:详细的内容还是要看原版;OCP/OCM资料偏概念;中文网站文章有水平的不多(互相转载)。,严谨的程序设计问题,错误的捕捉与提示问题:普遍问题:多数人仅仅编写能够实现应用程序正面功能;用户只会以正确的方式输入正确的数据;系统(软件和硬件)总是处于良好的运行状态。结果是:应用程序中总会存在着不止一个的bug;用户总能找到恰当的时机使得你的程序出错;不预先花费时间来正确调试-无休止的善后工作;PL/SQL中的错误处理被忽略。,内容提要,团队与合作问题;Oracle关键问题;数据库设计方法问题;Oracle功能的发现与使用问题;严谨的程序设计问题;测试阶段管理问题;试用问题。,测试阶段,性能测试:增加用户观察应用反应最高容许能力硬件测试:增加硬件(如内存)减少硬件(拔掉硬盘、内存)容错测试:关闭主数据库,备用数据库能否接管检查事务的丢失情况,测试阶段,测试阶段考虑的问题:DBA创建另外的环境;尽量模拟用户的真实环境;系统架构师与DBA配合。考虑模拟数据:为关键表产生模拟数据;模拟数据从几万到几十,再到几百万;模拟插入、删除、修改操作系统的确响应;模拟10用户(进程)到100用户的资源竞争情况。,测试阶段,测试操作考虑的问题:采用跟踪搜索运行的情况;从数据字典查询;并发用户如何模拟问题。搜集和分析测试数据:采用有小工具搜集测试数据;分析各阶段的运行情况;提出测试问题与改进建议。,内容提要,团队与合作问题;Oracle关键问题;数据库设计方法问题;Oracle功能的发现与使用问题;严谨的程序设计问题;测试阶
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高血压课件的最后落语
- 电脑课件不能用的原因
- 高血压个人查房课件
- 医院护工派遣服务投标方案
- 电脑知识培训班课件
- 高考新闻比较阅读课件
- 建设工程劳务分包合同
- 电脑安装知识培训新闻课件
- qc小组组长考试答案及答案
- 电网电压知识培训
- T/CCS 060-2023智能化煤矿运维组织架构管理规范
- 小红书运营合伙协议书
- 呼吸与危重症医学科
- 结直肠癌导致急性肠梗阻外科治疗中国专家共识(2025版)课件
- (人教版)初中英语九年级全册 各单元测试卷及答案共十四套
- 2025年储能电池热管理技术在船舶动力系统中的应用研究报告
- 慢性胰腺炎中西医结合诊疗专家共识(2025年)解读课件
- 售后服务转移合同协议
- 廊坊市广阳区2025年小升初素养数学检测卷含解析
- 高值耗材点评制度
- 人教版2024-2025学年七年级数学上册教学计划(含进度表)
评论
0/150
提交评论