WEB开发网
开发学院数据库Oracle Oracle平台应用数据库系统的设计与开发 阅读

Oracle平台应用数据库系统的设计与开发

 2007-05-09 12:14:05 来源:WEB开发网   
核心提示: 2) 在开发会话关键型应用程序时,尽量实现失败检查和恢复能力,Oracle平台应用数据库系统的设计与开发(6),如指定后备数据库或实例、终止出错客户进程等,3) 编写代码时,适用于各种各样的应用系统,系统规模可大可小,要考虑应用程序的可维护性,尽量将应用程序独立于数据库的变化

2) 在开发会话关键型应用程序时,尽量实现失败检查和恢复能力,如指定后备数据库或实例、终止出错客户进程等。

3) 编写代码时,要考虑应用程序的可维护性,尽量将应用程序独立于数据库的变化。可使用视图、相对变量类型定义(%TYPE)、记录型变量定义(%ROWTYPE),采用表驱动的应用程序设计模式。

4) 进行充分的单元测试和模块测试,为应用集成打下坚实的基础。

5) 对关键表操作的应用程序实现要特别当心,必要的话,在应用中对关键表先做备份,应用成功执行后再删除备份表。

6) 编码结束后,应对代码进行优化。前面提到过,代码优化在数据库应用中非常重要,很高比例的性能问题与编码拙劣的应用程序有关。

7) 定期对应用操作的数据库对象增长的情况进行监控,避免因空间不足引起的应用程序的失败。

8) 对应用的数据定时进行整理。有些应用中,存放在数据库表中的数据只要求保存一段时间,就需要定时对数据进行删除。如果手工进行删除操作,工作量很大,可以用Oracle提供的作业来完成, unix系统下可用cron进程来实现。笔者在工作中经常使用cron来做数据的定时删除,根据应用要求,编制Pro*C/C++程序,编写Shell脚本调用应用程序,将Shell脚本提交给cron进程。

注意:在Shell脚本中必须设置相应的Oracle环境变量,如ORACLE_BASE、ORACLE_HOME、NLS_LANG、LD_LIBRARY_PATH、PATH等,用户环境文件中的定义是无效的。

9)对于大量删除操作的应用程序,如果表是分区存放的,可对数据分区执行截断(truncate)操作,截断操作执行速度快并且不会产生碎片,但截断后可能需要进行重建索引的工作。对大量的数据做删除(delete)操作,会引起数据库回滚段的急剧增长,建议根据删除数据量为这类应用创建特殊的专用回滚段,为专用回滚段指定合适的storage参数。平常,专用回滚段可以是离线的(offline),在事物开始前,使专用回滚段在线(online),指定事物使用专用回滚段,事物结束后再使专用回滚段离线,笔者使用的部分代码 (Pro*C/C++) 如下所示。

..
  EXEC SQL WHENEVER SQLERROR goto Error;
  EXEC SQL CONNECT :uid;
  ..
  EXEC SQL ALTER ROLLBACK SEGMENT RBS_SPEC ONLINE;
  EXEC SQL SET TRANSACTION USE ROLLBACK SEGMENT RBS_SPEC;
  ..
  EXEC SQL DELETE FROM .. WHERE ..;
  EXEC SQL ALTER ROLLBACK SEGMENT RBS_SPEC OFFLINE;
  ..

结束语

Oracle数据库是一个功能强大的数据库系统,适用于各种各样的应用系统,系统规模可大可小,应用设计或简单或复杂,因此在使用过程中要根据各自不同的应用进行设置与调整.

上一页  1 2 3 4 5 6 

Tags:Oracle 平台 应用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接