网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.Oracle9i学习笔记.
.FreeBSD-5.2下安装ORACLE9i手记.
.调用linux日期函数,实现每天自动.
.静态 SQL语句中的“动态”功能.
.删除Oracle 9i数据库.
.ORACLE DBA(数据库管理员)的职责.
.Oracle中提取和存储数据库对象的.
.不重建快照的情况下可以修改主表.
.影响ORACLE性能的源头:性能调优.
.ORACLE问题,每天10问(十一).
.如何监控Oracle索引的使用完全解.
.客户信息系统之Oracle方案.
.利用SQL语句完成位操作.
.PL/SQL在from后面使用变量,以及输.
.Oracle 全球解答的最hot的21个问.
.如何查看Oracle数据表的建表语句.
.如何执行实例程序.
.v$logmnr_content create statem.
.Oracle8网站应用简介(NT+IIS+AS.
.如何制作一个通用的ISO镜像.

在异种机之间实现数据库迁移

发表日期:2008-2-9



  在异种机之间进行数据库迁移是一件麻烦的事,但有时候为了进行数据库升级或其他原因又必须进行这种操作,我在工作中就碰到了这种情况,要求是将原来在vax机(操作系统为open vms)上的生产治理库procdb(sybase数据库)迁移到alpha机(操作系统为digital unix)上。 借助syabse的power designer和unix的shell命令可以很方便地完成此项工作。
  具体过程如下:
  一、ALPHA服务器上建立新的数据库procdb
  1.建立生产治理库procdb
  #isql -Usa -Pxxxxxxx
  1>create database procdb
  2>on data1_dev=60
  3>log on data2_dev=60
  4>with override
  5>go
  2.增加新用户
  1>use master
  2>go
  3>sp_addlogin sss,xxxxxxxxxx,procdb
  4>go
  5>use procdb
  6>sp_changedbowner sss
  7>go
  二、生产治理库procdb的移植
  1.使用PowerDesigner 从vax上的procdb中移出数据库结构
  * 运行PowerDesigner;
  * 选择File菜单下的Reverse Engineering …;
  * 连接到vax上的procdb数据库;
  * 迁移库结构;
  * 保存该文件。
  2.将从vax获取的数据库结构移入alpha机的procdb数据库
  * 连接到alpha上的procdb数据库;
  * 选择Database菜单下的Gernate Database。将数据库表结构写入alpha机的procdb数据库;
  * 执行Database菜单下的Gernate Trigger and Procedure,将存储过程和触发器写入alpha机的procdb数据库;
  3.数据迁移
  * 注册到unix机上,用select 语句选出Procdb数据库中的表并且输出到文件tabname.txt中:
  #isql -U sss -P xxxxx -o tabname.txt
  1> select name from sysobjects
  2> where type ='U'
  3> go
  * 建立awk.out文件,用于产生从vax机上读取数据的bcp命令批:
  # vi awk.out
  awk.out
  {
  print "bcp" $1"out "$1".dat -U sss -P xxxxx -S vax_sybase -c"
  }
  * 产生读取数据的bcp文件bcp.out
  #awk -f awk.out tabname.txt >bcp.out
  产生的bcp.out文件格式如下:
  bcp table1 out table1.dat -U sss -P xxxxx -S vax_sybase -c
  bcp table2 out table2.dat -U sss -P xxxxx -S vax_sybase -c
  bcp table3 out table3.dat -U sss -P xxxxx -S vax_sybase -c
       .
       .
       .
  * 建立awk.in文件,用于产生写入数据到alpha机上的bcp命令批:
  awk.in
  {
  print "bcp" $1"in "$1".dat -U sss -P xxxxx -S alpha_sybse -c"
  }
  * 建立用于插入数据的bcp文件bcp.in
  #awk -f awk.in tabname.txt >bcp.in
  产生的bcp.out文件格式如下:
  bcp table1 in table1.dat -U sss -P xxxxx -S vax_sybase -c
  bcp table2 in table2.dat -U sss -P xxxxx -S vax_sybase -c
  bcp table3 in table3.dat -U sss -P xxxxx -S vax_sybase -c
       .
       .
       .
  
  * 执行这两个bcp文件
  #ksh bcp.out
  #ksh bck.in
  自此,数据库迁移完成,以上代码在digital unix上运行通过。power designer在Win98上运行。
上一篇:嵌套表和可变数组 人气:723
下一篇:用外联接提高表连接的查询速度 人气:780
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐