提前認識軟體開發(34) 資料庫的維護

來源:互聯網
上載者:User

對於某些大型軟體產品,一旦商用,必然會儲存很多使用者資訊,這就對產品所使用的資料庫(以下簡稱業務資料庫)帶來了壓力。為了保證業務資料庫的平穩運行,需要在日常工作中對資料庫做一些基本的維護操作。

業務資料庫的維護規則如下:

1. 對業務資料庫必須進行定期全量備份

業務資料庫的定期備份能在資料庫被意外破壞時進行快速恢複,備份策略可以根據資料增量大小採用周計劃或月計劃。

假如備份資料庫db_100,則Oracle、Sybase和SQL Server中的操作方法如下:

(1) Oracle使用者模式的備份

exp db_100/db_100 owner=db_100 buffer=8192(或64000)    file=exp_db100.dmp(或磁帶裝置/dev/rmt0)    tables=    rows=y    compress=n    log= exp_db100.log

參數說明:

owner:將要卸出的使用者名稱列表。

buffer:緩衝區大小。

file:由export建立的輸出檔案的名字。

tables:將要卸出的表名列表。

rows:指明是否卸出表資料的行數,預設為“y”。

compress:指明在裝入期間是否將表資料壓縮到一個地區中。如果在卸出資料時,指定參數compress=y,那麼裝入時,就會將資料壓縮到一個初始地區中。這種選擇可以保持初始化地區的原始大小。預設為“y”。

log:指定一個接收有用資訊和錯誤資訊的檔案。

(2) Sybase中資料庫的備份

dump database db_100 with /home/data/db100.dmp(或磁帶裝置/dev/rmt0)

(3) SQL Server中資料庫的備份

use master    go    exec sp_addumpdevice 'disk', 'dev_db100',    disk ='C:backupdev_db100.dat'    go    backup database db_100 to dev_db100    go

2. 對業務資料庫定期進行資料清理,清理前必須完成備份操作

對每天記錄增長較多的日誌表採用備份表的機制,即建立和生產表一樣結構的備份表,根據項目的需要決定生產表和備份表保留的時間。

假設1000號業務要處理主日誌生產表tb_mainlog,要求是該生產表保留2天的記錄,備份表保留90天的記錄,篩選日期的欄位名為startdatetime,分批提交的間隔為60分鐘,有一個預存程序pr_backuptable用於備份,則只需如下調用:

exec pr_backuptable ‘tb_mainlog’,’tb_mainlog_bak’,2,90,’startdatetime’, ‘yyyy.mm.dd hh:mi:ss’,60,’’

參數說明:

參數1:生產表名

參數2:備份表名

參數3:生產表保留的天數

參數4:備份表保留的天數

參數5:篩選日期欄位名

參數6:篩選日期欄位的格式

參數7:分批提交的間隔(單位:分鐘)

參數8:用於進行比較的擴充條件

更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/Programming/project/

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.