• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Sybase數據庫備份方案

    發布: 2008-7-25 17:33 | 作者: 網絡轉載 | 來源: UML軟件工程組織 | 查看: 56次 | 進入軟件測試論壇討論

    領測軟件測試網 Sybase數據庫產品自從1987年問世以來,它的客戶機/服務器(client/server)工作模式、分布處理的基礎體系結構、完善的安全保密性能、高速快捷的運行方式、多平臺跨操作系統的廣泛應用等優點,迅速被IT界接受并推廣應用。我們作為金融業的用戶,也在1995年開始使用Sybase10版本。在具體的使用中,發現集中式的數據管理有其優點,就是數據風險范圍大為縮小,但是作為Sybase的服務器一端,數據風險比較集中,如何做好數據庫的數據備份,成為至關重要的問題。

      在實際應用中,我們總結出了兩種全量備份方案:

      一、使用Sybase的Backup Server(備份服務器),做Dump備份

      轉儲數據庫(Dump database),就是為整個數據庫(包括數據、表結構、觸發器、游標、存儲過程、事務日志等)做一次物理備份。轉儲數據庫時,系統自動執行一次checkpoint,即將日志和數據從緩沖區拷貝到硬盤(只拷貝臟頁),把已被分配的頁(日志和數據)轉儲到設備。

      命令格式為:

       dump database 數據庫名 to 設備文件名 with 參數

      如果備份到硬盤的文件上,可以不預先估算備份文件的大小,只要硬盤有足夠的存儲空間就可以。如果是備份到dds磁帶上,那么就要估算一下備份后的大小,90米的dds磁帶壓縮存儲空間為4G,120米的磁帶壓縮存儲空間為8G,如果數據庫的備份文件超過了這個尺寸,就要考慮多文件轉儲,使用stripe參數。

      命令格式為:

       dump database 數據庫名 to 設備文件名1
        stripe on 設備文件名2
        stripe on 設備文件名3……
       with 參數

      這種數據備份方式是將整個數據庫的運行環境完整的復制一份,包括數據庫的臟頁和碎片,在使用load命令恢復時,只能恢復到同樣大小的數據庫中(數據和日志的大小都只能和原來完全一致),適用于在每天的日終營業網點下班后的日常備份。優點是數據庫完整無誤,缺點是不能直接查看備份內容。

      二、分數據結構和數據記錄做兩次備份

      在一般情況下,生產機的數據庫都比較龐大,而實驗機則相對較小,難以在實驗環境中以load命令恢復工作機的內容。所以,在工作實踐中,我們摸索出了第二種全量備份方案。

      1、數據結構備份

      在windows平臺的Sybase SQL Server Manager(數據庫管理)平臺中選擇ServeràGenerate ddl則產生整個數據庫服務器的所有信息,如果選擇databaseàgenerate ddl則產生所選定數據庫的信息,以master庫為例,產生的文件主要包括:config.ddl(配置)、devices.ddl(設備)、database.ddl(數據庫)、logins.ddl(用戶)、remote.ddl(遠程)、cache.ddl(緩沖)、segment.ddl()、group.ddl(用戶組)、user.ddl(用戶)、default.ddl(確。、rule.ddl(規則)、udt.ddl、table.ddl(表)、view.ddl(視圖)、proc.ddl(存儲過程)、triger.ddl(觸發器)。

      2、數據記錄備份

      將數據庫各表以Sybase自代的bcp(bulk copy)工具的方式導成一定格式的文本文件,命令格式:
    bcp 表名 out 路徑名 文件名 -c -t 分隔符 -u (用戶名)-p(密碼)-S(服務器名)
    如果將一個數據庫中的所有表都做一個bcp備份,就需要針對每一個表都做一次bcp,在一般情況下,一個數據庫有100多個表,工作量比較大?梢岳脭祿䦷熘械南到y表信息做一個bcp備份腳本。原理是每一個用戶表在系統表中都有信息記載,可以通過isql語句查詢得到,F舉一例說明:

      1)、先編輯一個名為mkbcpout.sql的文件,內容如下:

    select "echo bcp '"+name+" out ……………………'
    "+"bcp "+name+" out ./+"name+".table -c -t '|' -Uuser -Ppassword -S SERVER" from sysobjects where type='U'
    go

      2)、執行isql命令,以此文件作為輸入,執行結果輸出到另外一個文件里:

    isql -Uuser -Ppassword -S server -I mkbcpout.sql -O bcpout

      3)、對bcppout文件稍微修改,增加可執行權限

    chmod +x bcpout

      4)、執行bcpout,導出數據文本

    ./bcpout

     

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: Sybase SYBASE 方案 數據庫

    21/212>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>