包括兩個方面:資料庫結構的遷移(如表結構、檢視、觸發器等)和資料的遷移
操作步驟如下:
1、利用工具(sybase自帶工具或第三方工具)生成以下指令碼備用:
createusetye、createtable、createview、createprocedure、
dropindex、createindex、droptrigger、createtrigger
2、執行如下sql語句,並將生成的結果儲存到檔案bcpout.bat
select "bcp dbname.."+name+" out "+name+".bcp -usa -ppassword
-sservername -c" from sysobjects
where type ="u" order by name
3、分別執行下面兩個sql語句,將生成的結果儲存到檔案bcpin1.bat和bcpin2.bat
select "bcp dbname.."+name+" in "+name+".bcp -usa -ppassword
-sservername -c -e" from sysobjects
where type ="u" and sysstat2&64>0 order by name
(生成有identity欄位的表的匯入語句)
select "bcp dbname.."+name+" in "+name+".bcp -usa -ppassword
-sservername -c " from sysobjects
where type ="u" and sysstat2&64<=0 order by name
(生成無identity欄位的表的匯入語句)
4、執行bcpout.bat中的批命令(windows環境在命令列下執行abc.bat > temp.txt)
則可bcp出所有表的資料。
5、在新平台下新建資料庫並依次執行createusetye、createtable、createview、
drop index、drop trigger
6、確定如下設定開啟
sp_dboption this4,"select into/bulkcopy/pllsort",true
gocheckpoint
go7、執行bcpin1.bat和bcpin2.bat指令碼,完成資料匯入。
8、執行createindex、droptrigger、createprocedure
9、恢復設定
sp_dboption this4,"select into/bulkcopy/pllsort",false
gocheckpoint
go說明:第6步的設定,以及drop index和drop trigger是為了確保採用快速bcp模式。
跨平台的DB2資料庫的遷移
現在我們要把這個資料庫遷移到不同的作業系統 比如從aix到linux 我們應該怎麼辦呢?因為作業系統不同,所以使用backup restore命令顯然是不行了。那麼是不是可以使用db2move命令呢?也不行,首先db2move命令沒有辦法遷移索引 外來鍵約束 觸發器,更不能遷移含自增欄位資料的表。那...
Oracle 11g 資料庫跨平台遷移
源端系統版本 red hat enterprise linux 6.5 目標端系統版本 windows 7 service pack1 目標端資料庫版本 oracle 11.2.0.4 1 建立測試表 create table test as select from sys.test sys使用者下...
db2跨平台資料庫遷移
現在我們要把這個資料庫遷移到不同的作業系統 比如從aix到linux 我們應該怎麼辦呢?因為作業系統不同,所以使用backup restore命令顯然是不行了。那麼是不是可以使用db2move命令呢?也不行,首先db2move命令沒有辦法遷移索引 外來鍵約束 觸發器,更不能遷移含自增欄位資料的表。那...