BCP基本使用-sybase資料備份
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] {in | out} 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 interfaces_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:tempfilename -Usa -Ppassword -Sservername -c
example:
bcp zenzuguo..user out d:user.txt -Usa -P123456 -Szenzuguo -c -Jcp936
即可。
其中 -U後為SYBASE登入名稱,-P後為SYBASE登入口令,-S後為SYBASE服務名稱,-c代表使用可見文字方式匯出資料
如果為資料恢復只需要將out 替換為 in 即可。
可用如下方法生成一個可以一次匯出一個資料庫中所有表的資料的執行指令碼。
注:在會出現亂碼的情況下加上:-Jcp936
編輯一個如下文字檔案 檔名稱例為 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. 測試應用系統是否工作正常.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/106285/viewspace-898763/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQLSERVER 備份BCP命令說明SQLServer
- SQL Server資料庫 bcp匯出備份檔案應用SQLServer資料庫
- 資料庫備份基本策略資料庫
- MySQL資料庫的基本備份MySql資料庫
- Sybase備份指令碼 btmbfe_sybase_backup.sh指令碼
- 簡單介紹Sybase資料庫的備份與恢復(轉)資料庫
- 使用BCP匯入資料犯的錯
- 【RMAN】使用增量備份更新資料庫備份映象資料庫
- 使用RMAN備份資料庫資料庫
- 資料庫設計和基本備份規則資料庫
- 使用shell 指令碼備份資料指令碼
- 使用innobackupex備份mysql資料庫MySql資料庫
- 使用Xtrabackup備份mysql資料庫MySql資料庫
- 使用begin backup備份資料庫資料庫
- 資料備份≠容災備份
- Elasticsearch 使用 NFS 進行資料備份ElasticsearchNFS
- 使用閃回查詢備份資料
- 使用JOB定時備份資料庫資料庫
- (轉)使用Xtrabackup備份MySQL資料庫MySql資料庫
- 初探MySQL資料備份及備份原理MySql
- 【備份恢復】noarchive模式下使用增量備份恢復資料庫Hive模式資料庫
- mongo資料備份Go
- 資料備份策略
- oracle資料備份Oracle
- MySQL資料備份MySql
- 資料庫備份資料庫
- 使用NineData實現企業級資料庫備份, 資料備份告別“拆盲盒” ?資料庫
- Backup And Recovery User's Guide-備份資料庫-使用RMAN備份資料庫檔案GUIIDE資料庫
- 資料備份 reed-solomn 庫 的使用
- oracle資料庫使用rman備份指令碼Oracle資料庫指令碼
- 使用GnuPG保護你的備份資料
- (轉)使用Xtrabackup備份MySQL資料庫(續)MySql資料庫
- 使用MySQL Workbench進行資料庫備份MySql資料庫
- 資料同步和資料備份
- oracle資料庫備份之exp增量備份Oracle資料庫
- SYBASE IQ 基本知識
- 備份onetab資料
- mysql 資料庫 備份MySql資料庫