用bcp進行資料庫資料備份

2021-05-04 01:16:34 字數 2352 閱讀 5673

bcp 簡 要 說 明

bcp是sybase公司提供專門用於資料庫表一級資料備份的工具。

一般存放在所安裝的ase或者open client 的bin目錄中。

12版本以前的ase,bcp存放目錄為 $sybase/bin

12版本(含12版本)以後存放目錄為 $sybase/ocs-12_x/bin

其中$sybase為sybase安裝目錄,12_x代表12.0、12.5版本,顯示為12_0或者12_5

可執行檔名稱為bcp.exe

引數列表如下:(可用 bcp  得到)

usage: bcp [[database_name.]owner.]table_name[:slice_number] datafile

[-m maxerrors] [-f formatfile] [-e errfile]

[-f firstrow] [-l lastrow] [-b batchsize]

[-n] [-c] [-t field_terminator] [-r row_terminator]

[-u username] [-p password] [-i inte***ces_file] [-s server]

[-a display_charset] [-q datafile_charset] [-z language] [-v]

[-a packet size] [-j client character set]

[-t text or image size] [-e] [-g id_start_value] [-n] [-x]

[-m labelname labelvalue] [-labeled]

[-k keytab_file] [-r remote_server_principal]

[-v [security_options]] [-z security_mechanism] [-q]

常用資料備份格式為:

bcp dbname..tablename out c:/temp/filename -usa -ppassword -sservername -c

即可。

其中 -u後為sybase登入名稱,-p後為sybase登入口令,-s後為sybase服務名稱,-c代表使用可見文字方式匯出資料

如果為資料恢復只需要將out 替換為 in 即可。

可用如下方法生成乙個可以一次匯出乙個資料庫中所有表的資料的執行指令碼。

編輯乙個如下文字檔案 檔名稱例為 bcpscript:

use dbname 選中將要匯出資料的資料庫

go select 'bcp dbname..' + name + ' out c:/temp/' + name + ' -usa -p -ssybcdsrv -c' from sysobjects where type = 'u' 在sysobjects系統表中type為u的表為使用者表,系統表為s。

go 用如下格式執行:

isql -usa -ppassword -sservername -i bcpscript -o bcpout.bat

i引數後為輸入檔案,o引數後檔案為輸入檔案執行後得到的輸出檔案。

執行後可以得到乙個字尾名為 bat 的批處理檔案(在unix下則生成乙個shell檔案並更改相應的執行許可權),可直接執行。即在指定的目錄下匯出了相應的資料檔案。乙個表的資料為乙個檔案。如在unix下則可不用bat字尾。

備份得到的資料檔案如果需要重新往資料庫中恢復,只需要將上面操作步驟中bcp命令中的out 引數換為in引數即可。

注意:在對正式資料做操作前最好先作一些測試。

另外,如果牽涉到使用bcp進行字符集的更改,可以採用 -j charset 引數進行

關於bcp等工具的具體使用指南,請參見sybase相關文件。

針對系統移植所需做的工作,應該有如下幾個步驟:

1. 安裝新環境的硬體環境,包括網路,硬碟狀況;

2. 安裝新環境的作業系統,包括service pack;

3. 安裝相同版本的sybase資料庫產品,包括補丁;

4. 新增資料庫使用者,裝置等相關資訊,應與老系統中一致

5. 建立新系統資料庫;

6. 利用你所擁有的表指令碼或者通過sybase central中的生成ddl功能,將老系統中的建表指令碼匯出,生成資料庫中的表.最好將建表指令碼與建立表上約束(主鍵,外來鍵等)的指令碼分開,先在表上不建約束,在資料匯入後,再加上.;

7. bcp out 老系統中資料,根據上面提到的方法;

8. 執行建立其他物件的指令碼,包括索引,主鍵,外來鍵及儲存過程,觸發器,預設等;

9. 在新系統中對需要更改的表結構做更改,或者新增新錶;

10. 測試應用系統是否工作正常.

mysqldump進行資料庫備份

最近,遇到乙個場景需要對mysql資料庫進行備份,本文記錄一下。1.對整個資料庫備份,包括表結構和資料 格式 mysqldump h資料庫ip u使用者名稱 p 資料庫名 d xx.sql 檔案存放路徑 示例 mysqldump h132.72.192.432 uroot p test home c...

xtrabackup進行資料庫備份

最近需要將線上資料庫的資料同步到線下測試環境,所以在找資料庫同步的方法,發現了xtrabackup這個工具,便想試下是否可行。開源,免費,備份速度快,感覺挺強大有木有,廢話不多說,開始安裝。wget rpm ivh percona release 0.1 4.noarch.rpm yum y nog...

使用MYSQL進行資料庫備份

使用mysql進行資料庫備份,又很正規的資料庫備份方法,同其他的資料庫伺服器有相同的概念,但有沒有想過,mysql會有更簡捷的使用檔案目錄的備份方法,而且又快有好。一 資料備份捷徑 因為這個方法沒有得到官方正式文件的驗證,我們暫稱為試驗吧。目的 備份hosta主機中乙個mysql資料庫testa,並...