好学IT学院:IT信息技术分享交流平台
来源:互联网  作者:本站整理  发布时间:2009-09-18  ★★★加入收藏〗〖手机版
摘要:在进行ORACLE数据库项目的开发过程,表结构经常需要批量的变更,如果少的话,也没什么,要是到了50个表左右,就得想想了!…

在进行ORACLE数据库项目的开发过程,表结构经常需要批量的变更,如果少的话,也没什么,要是到了50个表左右,就得想想了!

操作流程如下:

1.建立工作目录

[00_RELEASE]
  [01_BACKUP]  [02_EXPDATA]  [03_DESCRIPT]  [04_DLL]  [05_LOG]

[01_BACKUP]所有以前表结构的DDL描述。
  [02_EXPDATA]对要操作表的dmp备份。
  [03_DESCRIPT]旧数据库中的表结构描述文件,对比以前的表结构,修正录入新的数据。
  [04_DLL]最新的DLL文本及DOS .bat 运行环境。
  [05_LOG]操作过程中的相关日志信息。

2.备份DDL文档,以日期为单位,把相关DDL放入[01_BACKUP]。

[废话]在linux行,一般都是直接cp的,但是前提,数据必须有一定要求存放,windows,文件夹的位置,不规律,就直接用手了。

3.导出要变更的所有表。

exp TIGER/TIGER@DB file=c:\00_RELEASE\02_EXPDATA\20090913-1UINTbase tables(TABLE1,TABLE2,TABLE3)

4.导出旧表的表结构(BAT文件)

DESC TABLE1;
  DESC TABLE2;
  DESC TABLE3;

SELECT   *   FROM   ALL_TAB_COLUMNS   WHERE   OWNER = 'TIGER' AND  TABLE_NAME   ='TABLE1'
  SELECT   *   FROM   ALL_TAB_COLUMNS   WHERE   OWNER = 'TIGER' AND  TABLE_NAME   ='TABLE2'
  SELECT   *   FROM   ALL_TAB_COLUMNS   WHERE   OWNER = 'TIGER' AND  TABLE_NAME   ='TABLE3'

5.备份所有表数据(CSV,EXCEL)(BAT文件)

SELECT COUNT(*) FROM TABLE1;
  SELECT COUNT(*) FROM TABLE2;
  SELECT COUNT(*) FROM TABLE3;

6.删除要变更的表(BAT文件)

DROP TABLE1;
  DROP TABLE2;
  DROP TABLE3;

7.将DDL描述文件放入[04_DLL]文件夹,更新DDL执行一览。

具体的就按这个吧,linux上道理一样,把bat变成bshell或者cshell就行了。

http://blog.csdn.net/open_sky/archive/2009/08/27/4489946.aspx

系统的procedure和KBN的DDL执行同样用这种方法,批量执行。

8.导入原有数据

恩,整理了一下!

华为H3C IVS IP智能监控解决方案
  如何实现如此大规模社会资源的实时监控?如何实现如此海量视频信息的高质量可靠存储?如何有效管理和维护如此复杂的监控系统?如何降低系统…
  • 好学触屏公众号虎力全开、杨帆起航!
  • 四大名著全套小学生版注音版
  • 诗词中的科学全4册
  • 曹文轩系列儿童文学全套画本