《Oracle RDBMS应用系统设计与开发》由会员分享,可在线阅读,更多相关《Oracle RDBMS应用系统设计与开发(57页珍藏版)》请在金锄头文库上搜索。
1、E mail zyj5681 1 OracleRDBMS应用系统设计与开发赵元杰2007 07 0413601365681 E mail zyj5681 2 内容提要 团队与合作问题 Oracle关键问题 数据库设计方法问题 Oracle功能的发现与使用问题 严谨的程序设计问题 测试阶段管理问题 试用问题 E mail zyj5681 3 团队与合作 现代软件项目特 互联网的时代 项目小组 项目小组的成熟度和能力 而非个别程序员的个人魅力 程序员准确定位 程序员不是斗士 一般是杀不净的BUG 几百个数字英雄却很难铸造出一个强劲的产业 流水线的软件产业 强有力的团队共同协作 担任不同角色和责任
2、管理者要做 将多个自由英雄团结起来 组建出高效的开发小组 中国不缺个人英雄 而是缺乏强有力的团队 E mail zyj5681 4 团队与合作 项目小组角色与分工 经常面临的问题 项目无法按期完成 完成以后还要不断修补完善 对软件人员和用户来说象一场噩梦遥遥无期 项目进行当中人员流失 产品夭折 客户需求不断改变 永远对开发完成的产品不满意 开发成员之间矛盾不断 互相抱怨 工程进展缓慢 小组成员分工不均 工作分配失去平衡等等 问题对策 项目负责人责任 称之为组长或项目经理 项目负责人能力 古人云 一将无能 累死千军 项目经理根据需求制定出开发的目标 确实落实到实际中 E mail zyj5681
3、 5 团队与合作 项目小组角色与分工 角色与分工 E mail zyj5681 6 团队与合作 项目小组角色与分工 角色与分工 E mail zyj5681 7 团队与合作 项目小组角色与分工 形成一致的意见 是否已经很清晰的理解了开发的需求和目标 并使每个人员充满斗志地准备开始完成共同的目标 是否制定了一套规范的 经过评测的 可复用的技术框架 每个人的角色分工是不是都非常清楚地落实了 是不是已经制定了开发过程中的周期划分及评估办法 而不是冒险等项目期限快到的时候才发现补牢已晚 E mail zyj5681 8 团队与合作 项目小组角色与分工 形成一致的意见 续 项目管理人员是否有随时把握开发
4、进度的有效手段 小组人员是否都互相认识而且熟悉 每个人是否都明白和他关联的角色是谁 相互之间的工作流程 是否忘了布置文档撰写及管理的方法或标准 E mail zyj5681 9 团队与合作 DBA 总设计师 开发人员 一般DBA与开发者存在障碍 主要问题是 所有权 职责与分工问题 DBA觉得是问题的替罪羊 需要沟通 问题在于对策 搞好关系 责任明确 DBA是数据库的维护者 开发者是使用数据库人员 为了共同的目标 E mail zyj5681 10 团队与合作 DBA责任 一般DBA负责数据库管理 也涉及数据库的逻辑设计 执行物理设计的实现 协作开发人员工作 确保高性能 安全及备份恢复 E ma
5、il zyj5681 11 内容提要 团队与合作问题 Oracle关键问题 数据库设计方法问题 Oracle功能的发现与使用问题 严谨的程序设计问题 测试阶段管理问题 试用问题 E mail zyj5681 12 Oracle关键问题 Oracle安装问题 操作系统的安装问题 规划磁盘空间 交换空间问题 一般空间问题 Oracle安装建议 默认安装与自定义安装问题 数据文件与日志文件等问题 安装需要的选件问题 E mail zyj5681 13 Oracle关键问题 表空间与数据文件 开发阶段考虑的问题 要接近将来的实际情况 磁盘空间的分配 开发环境与实际环境的空间比例问题 为开发阶段创建US
6、ER INDEX表空间 表空间存放开发阶段的对象 不要将对象创建在SYSTEM表空间上 ALTERUSERQUOTA限制 用EXP IMP将用户对象从SYSTEM表空间移出 或ALTERTABLEMOVE移动 E mail zyj5681 14 Oracle关键问题 表空间与数据文件 数据文件大小问题 在OS允许情况下 要中庸一些为好 不要轻易RESIZE 与实际数据量比例计算 Oracle10g的BIGFILE问题 支持大文件 与OS有关 与32bit和64bit有关 与Oracle块大小有关 Oracle9i 10g的OMF问题 支持OMF管理 维护带来危险 文件大小也不合理 E mail
7、 zyj5681 15 Oracle关键问题 日志文件问题 日志文件分布问题 树立开发环境就是实际的模拟 一般开始就应注意安全与性能 日志文件在不同的磁盘 与归档日志文件分开 日志文件大小问题 应用DML并发数据量 8i默认太小 9i默认太大 10g默认还合理 可创建合理大小并删除小的日志文件 E mail zyj5681 16 Oracle关键问题 临时表空间问题 临时表与临时文件问题 8i临时表对应数据文件 9i 10g临时表空间对应临时文件 TEMPFILE 排序的最大数据量的估计 临时文件大小问题 临时文件一次给足 告诉程序不要随便用ORDERBY等语句 总设计师对排序的理解与估计 索
8、引 集合操作等 E mail zyj5681 17 Oracle关键问题 用户 权限于角色 总设计师规划与DBA创建 创建用户名与实际用户问题 Oracle系统角色 Oracle默认系统权限 开发权限与管理权限 是否创建应用角色问题 E mail zyj5681 18 用户 权限 角色 UPDATEONEMP INSERTONEMP SELECTONEMP CREATETABLE CREATESESSION HR CLERK HR MGR A B C Oracle关键问题 用户角色与权限 E mail zyj5681 19 Oracle关键问题 用户与权限 160多种系统权限 systempr
9、ivileges 参考原版OracledatabaseSQLreference参考原版OracledatabaseadministratorSELECTDISTINCTPRIVILEGEFROMdba sys privsorderbyPRIVILEGE对象权限 Objectprivileges 参考原版OracledatabaseSQLreference参考原版Oracledatabaseadministrator角色 老三样 CONNECT RESOURCE DBAselect fromdba roles E mail zyj5681 20 Oracle关键问题 用户与权限 一般用户权限 E
10、 mail zyj5681 21 Oracle关键问题 用户与权限 一般开发者权限 E mail zyj5681 22 Oracle关键问题 用户与权限 一般开发者权限 2 E mail zyj5681 23 Oracle关键问题 用户与权限 一般开发者权限 3 E mail zyj5681 24 Oracle关键问题 用户与权限 一般开发者权限 4 E mail zyj5681 25 Oracle关键问题 用户与权限 一般开发者权限 5 E mail zyj5681 26 Oracle关键问题 用户与权限 DBA权限与ANY 能做任何的意思 如CREATEANYTABLE SYS具有此权限
11、普通开发者不需要ANY 动态的PL SQL用ANY 在SQL 下能将对象创建到另外用户下 一般在PL SQL下不能 请用ANY即可 进入测试后建议不要用ANY E mail zyj5681 27 Oracle关键问题 用户与权限 DBA权限与ANY E mail zyj5681 28 Oracle关键问题 用户与权限 SYSDBA与SYSOPER SYSDBA 以sysdba连接才有效 执行STARTUP和SHUTDOWN操作ALTERDATABASE open mount backup 或changecharactersetCREATEDATABASEDROPDATABASECREATESP
12、FILEALTERDATABASEARCHIVELOGALTERDATABASERECOVER包括RESTRICTEDSESSION权限 E mail zyj5681 29 Oracle关键问题 用户与权限 SYSDBA与SYSOPER SYSOPER 执行STARTUP和SHUTDOWNCREATESPFILEALTERDATABASEOPEN MOUNT BACKUPALTERDATABASEARCHIVELOGALTERDATABASERECOVER包括RESTRICTEDSESSION权限SYSTEM类似SYSOPER SYSTEM权限没有SYS那么多SYSTEM和DBA角色均能改SY
13、S的口令SYSTEM和SYS口令忘记 创建口令文件orapwd E mail zyj5681 30 内容提要 团队与合作问题 Oracle关键问题 数据库设计方法问题 Oracle功能的发现与使用问题 严谨的程序设计问题 测试阶段管理问题 试用问题 E mail zyj5681 31 数据库设计方法问题 应用系统的类型 OLTP系统 并发用户数多 高峰 安装时选择默认的块大小 表结构要考虑INITRANS等参数 OLAP系统 并发用户数少 高峰 每次I O量 块大小要大些 不用考虑INITRANS等参数 DSS系统 只读表空间问题 用户也要分3 6 9等以满足统计分析用户要求 大数据处理要避开
14、高峰时运行 E mail zyj5681 32 数据库设计方法问题 图形界面与脚本问题 图形界面方便 直观 但也要脚本 脚本便于阅读 文档就是脚本 而不是图形的拷贝 移植到真实环境是脚本 而不是图形界面 脚本与注释问题 脚本也要加详细注释 脚本就是程序 脚本的书写要求可读性 脚本也要有规范 脚本规范参考 rdbms admin中Oracle的样例 E mail zyj5681 33 数据库设计方法问题 自动创建与卸出问题 采用脚本自动创建表空间 用户 权限 采用脚本自动创建表 索引 约束 视图 卸出脚本单独形成文件 正式运行后卸出脚本要保管好 不要放在磁盘里 脚本与环境有关问题 脚本也可带变量
15、 数据文件路经 Windows UNIX LINUX 表空间名不变 10g可改名 数据文件大小可变 规模大小可变 E mail zyj5681 34 数据库设计方法问题 数据库结构一次创建问题 不要采用图形工具创建 不要经常ALTERTABLE ALTERTABLE要经总设计师的批准 ALTERTABLE要在文档上修改 必要的ALTER问题 存储参数不合理时用 建议不要使用联机重定义 联机重定义是对不合理的已经存在结构进行定义 不合理就迁移到新表空间 E mail zyj5681 35 数据库存储设计问题 空间的有效利用问题 Oracle数据文件结构 Oracle存储块结构 不同的对象采用不同
16、的块大小 Oracle9i 10g块的可变问题 9i开始支持块大小可变 可变也得考虑合理 根据不同对象特性设计块大小与表空间 总设计师要研究Oracle的PCTFREE和PCTUSED E mail zyj5681 36 数据库存储设计问题 应用系统的数据存储量 大表一定分区 表分区 索引也要分区 中等数据量的表要考虑STORAGE参数 大表小表 索引要做 Storage估计 索引与的访问来确定PCTFREE 表要分相对固定与修改频繁 要根据表修改频率确定PCTFREE和PCTUSED 不同的Oracle版本PCTFREE和PCTUSED差别 E mail zyj5681 37 内容提要 团队与合作问题 Oracle关键问题 数据库设计方法问题 Oracle功能的发现与使用问题 严谨的程序设计问题 测试阶段管理问题 试用问题 E mail zyj5681 38 Oracle功能发现问题 Oracle产品选件 Oracle企业与标准版差异 Oracle的Partition常被遗忘问题 不用选件不要装 Oracle产品已装哪些选件 SELECT FROMV OPTION E mail zy