国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

在異種機(jī)之間實現(xiàn)數(shù)據(jù)庫遷移

2024-07-21 02:36:23
字體:
供稿:網(wǎng)友

  在異種機(jī)之間進(jìn)行數(shù)據(jù)庫遷移是一件麻煩的事,但有時候為了進(jìn)行數(shù)據(jù)庫升級或其他原因又必須進(jìn)行這種操作,我在工作中就碰到了這種情況,要求是將原來在vax機(jī)(操作系統(tǒng)為open vms)上的生產(chǎn)治理庫PRocdb(sybase數(shù)據(jù)庫)遷移到alpha機(jī)(操作系統(tǒng)為digital unix)上。 借助syabse的power designer和unix的shell命令可以很方便地完成此項工作。
  具體過程如下:
  一、ALPHA服務(wù)器上建立新的數(shù)據(jù)庫procdb
  1.建立生產(chǎn)治理庫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
  二、生產(chǎn)治理庫procdb的移植
  1.使用PowerDesigner 從vax上的procdb中移出數(shù)據(jù)庫結(jié)構(gòu)
  * 運(yùn)行PowerDesigner;
  * 選擇File菜單下的Reverse Engineering …;
  * 連接到vax上的procdb數(shù)據(jù)庫;
  * 遷移庫結(jié)構(gòu);
  * 保存該文件。
  2.將從vax獲取的數(shù)據(jù)庫結(jié)構(gòu)移入alpha機(jī)的procdb數(shù)據(jù)庫
  * 連接到alpha上的procdb數(shù)據(jù)庫;
  * 選擇Database菜單下的Gernate Database。將數(shù)據(jù)庫表結(jié)構(gòu)寫入alpha機(jī)的procdb數(shù)據(jù)庫;
  * 執(zhí)行Database菜單下的Gernate Trigger and Procedure,將存儲過程和觸發(fā)器寫入alpha機(jī)的procdb數(shù)據(jù)庫;
  3.?dāng)?shù)據(jù)遷移
  * 注冊到unix機(jī)上,用select 語句選出Procdb數(shù)據(jù)庫中的表并且輸出到文件tabname.txt中:
  #isql -U sss -P xxxxx -o tabname.txt
  1> select name from sysobjects
  2> where type ='U'
  3> go
  * 建立awk.out文件,用于產(chǎn)生從vax機(jī)上讀取數(shù)據(jù)的bcp命令批:
  # vi awk.out
  awk.out
  {
  print "bcp" $1"out "$1".dat -U sss -P xxxxx -S vax_sybase -c"
  }
  * 產(chǎn)生讀取數(shù)據(jù)的bcp文件bcp.out
  #awk -f awk.out tabname.txt >bcp.out
  產(chǎn)生的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文件,用于產(chǎn)生寫入數(shù)據(jù)到alpha機(jī)上的bcp命令批:
  awk.in
  {
  print "bcp" $1"in "$1".dat -U sss -P xxxxx -S alpha_sybse -c"
  }
  * 建立用于插入數(shù)據(jù)的bcp文件bcp.in
  #awk -f awk.in tabname.txt >bcp.in
  產(chǎn)生的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
       .
       .
       .
  
  * 執(zhí)行這兩個bcp文件
  #ksh bcp.out
  #ksh bck.in
  自此,數(shù)據(jù)庫遷移完成,以上代碼在digital unix上運(yùn)行通過。power designer在Win98上運(yùn)行。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 博乐市| 静乐县| 通州区| 达尔| 大港区| 伊宁县| 高安市| 金秀| 宜春市| 新化县| 邛崃市| 哈巴河县| 大安市| 马公市| 罗定市| 渑池县| 咸宁市| 白沙| 华安县| 高陵县| 龙井市| 和林格尔县| 安溪县| 翁牛特旗| 景洪市| 环江| 中卫市| 南郑县| 威远县| 岳阳市| 平顶山市| 桐梓县| 新野县| 苍山县| 昆山市| 大方县| 揭东县| 大方县| 宜州市| 六枝特区| 会东县|