詳細講解西軟FOXHIS增量備份與恢復方法

2022-09-26 15:54:16 字數 4092 閱讀 6603

如何為西軟資料做增量備份及恢復

西軟在實施階段時,會設定好幾www.cppcns.com個linux shell的自動任務,把資料每天全庫備份兩次,並且並把資料通過ftp拷至備份庫,其實這樣做存在非常大的安全隱患,資料庫伺服器如果給ko了,您酒店只有當天的兩次備份,資料損失將是12個小時來計算,對酒店經營非常不利。如果通過sybase和中標的高可用集群配置將帶來成本的高額上公升,可能大部分酒店總經理都不會批准這個方案,前段時間做了乙個方案,並在我們集團的某酒店資料庫中實現了,過程非常簡單,就看各位edp有沒有心思去做。這樣的做的好處是可以幫您把資料損失量控制在乙個小時之內。

提醒各位edp,這個方案不太適合伺服器效能較低的酒店,差異備份雖然資料量不大,但是還會稍微影響生產資料庫的io效能的。

方案tyvpz總體概述:(這個辦法可以有效避免複雜的crontab重新命名檔案的操作,但是在寫指令碼的時候有點累贅)

預備:準備工作設定

1. 編寫簡單的linux shell檔案,作用是呼叫sql指令碼檔案;

2. 編寫sql備份指令碼檔案;

3. 設定linux crontab任務,讓差異備份自己每小時進行;

4. 通過windows 批處理檔案,從linux ftp中把資料定時拉出來;

5. 備份恢復。

預備:設定sybase資料sp_dboption引數。

1.進入命令列介面

2.輸入:sybase 密碼:sybase

3.輸入:isql -usa 密碼為空按回車

4.輸入:sp_dboption foxhis,trunc,false //關閉truncation,保證增量備份可以在database online的情況下使用。

5.首先執行全庫備份:

dump database foxhis to 'xx/xx/xx/fu程式設計客棧ll_full.dat' 6點一次

操作完以上工作後再進行下面的操作

一、編寫簡單的linux shell檔案,作用是呼叫sql指令碼檔案

首先需要用sybase使用者進入linux系統,在/home/sybase目錄下建立乙個您的指令碼資料夾

-bash-3.2$ mkdir hotelbackup //新建指令碼資料夾

-bash-3.2$ cd hotelbackup //來到剛剛新建的指令碼資料夾裡

-bash-3.2$ vi 00.sh //用vi新建乙個空白的shell檔案然後在vi的狀態下,按一下字母「a」啟動vi的編輯模式,然後輸入:

#!/bin/sh

/home/sybase/bin/./isql -usa -p -i/home/sybase/hotelbackup/00.sql //不要直接寫isql,一定要寫全路徑,避免isql啟動失敗!

:wq //輸入完成後,按下「esc」然後輸入「:wq」是儲存退出。

這樣第乙個shell指令碼就編寫完成,具體意思就是說:啟動isql命令輸入使用者名稱和密碼,並在isql狀態下執行00.sql這個指令碼的sql語句。

二、編寫sql備份指令碼檔案;

dump tran foxhis to '/home/sybase/hotelbackupfile/00.log'

go //把差異備份到以上目錄

1. 我們的備份策略是每12小時做一次全庫備份,每小時做一次差異備份。上面的語句是做差異備份,檔名「00」可以自定義,我這裡的00就是0點的意思,各位酒店edp可以隨心所欲地命名。

2. 接下來我們設定全庫備份語句:

dump database foxhis to 'home/tyvpzsybase/hotelbackupfile/06.bak'

go //把全庫備份拷到以上目錄

3.一天又24個小時,為了少寫一些crontab的語句,我們建議各位酒店的edp同事做24個s**件和24個sql檔案,這樣保證不會有錯誤,並且會自動覆蓋昨天的備份,基本起到全自動的備份目的,00.sh/00.sql、01.sh/01.sql .....23.sh/23.sql。也就是說,06和18的sql指令碼就用第2點的語句,其它時候就用第1點的語句。把著一對對的檔案放到hotelbackup檔案後,我們繼續第三大點crontab的設定。

三、編寫自動執行crontab自動執行指令碼。

1. 首先用sybase使用者登入,切忌不要用root。

2. 然後輸入以下語句:

-bash-3.2$ crontab -e

//啟動crontab編輯模式,編輯完成完成後按"esc"並輸入":wq"儲存退出

3. 我們在後面新增如下語句:

意思很明顯每天的1點、2點.....6點30分......18點30分自動執行sh的命名,剛剛大家看到s**件就是呼叫sql檔案,所以備份當您設定完這個crontab後,按下」esc「再輸入「wq」儲存退出後,資料庫就會自動開始幫您自動做增量備份了,每天都資料會自動自己覆蓋,無需擔心備份爆慢的情況出現。

0 1 * * * sh /home/sybase/hotelbackup/01.sh

0 2 * * * sh /home/sybase/hotelbackup/02.sh

0 3 * * * sh /home/sybase/hotelbackup/03.sh

0 4 * * * sh /home/sybase/hotelbackup/04.sh

0 5 * * * sh /home/sy程式設計客棧base/hotelbackup/05.sh

30 6 * * * sh /home/sybase/hotelbackup/06.sh

0 7 * * * sh /home/sybase/hotelbackup/07.sh

0 8 * * * sh /home/sybase/hotelbackup/08.sh

0 9 * * * sh /home/sybase/hotelbackup/09.sh

0 10 * * * sh /home/sybase/hotelbackup/10.sh

0 11 * * * sh /home/sybase/hotelbackup/11.sh

0 12 * * * sh /home/sybase/hotelbackup/12.sh

0 13 * * * sh /home/sybase/hotelbackup/13.sh

0 14 * * * sh /home/sybase/hotelbackup/14.sh

0 15 * * * sh /home/sybase/hotelbackup/15.sh

0 16 * * * sh /home/sybase/hotelbackup/16.sh

0 17 * * * sh /home/sybase/hotelbackup/17.sh

30 18 * * * sh /home/sybase/hotelbackup/18.sh

0 19 * * * sh /home/sybase/hotelbackup/19.sh

0 20 * * * sh /home/sybase/hotelbackup/20.sh

0 21 * * * sh /home/sybase/hotelbackup/21.sh

0 22 * * * sh /home/sybase/hotelbackup/22.sh

0 23 * * * sh /home/sybase/hotelbackup/23.sh

0 24 * * * sh /home/sybase/hotelbackup/00.sh

四、通過windows 批處理檔案,從linux ftp中把資料定時拉出來;(待更新)

五、 備份恢復。

回覆備份就非常簡單,如果在資料在20點30分擔時候掛掉了,也就是說我們損失了半個小時的資料,操作方法如下:

load database from foxhis(databasename) 'home/sybase/hotelbackupfile/18.bak'

load tran from 'home/sybase/hotelbackupfile/19.log'

load tran from 'home/sybase/hotelbackupfile/20.log'

go online database foxhis

只要這簡單的幾個語句就可以把資料恢復過來,非常簡單。

本文標題: 詳細講解西軟foxhis增量備份與恢復方法

本文位址:

UITableView 詳細講解

建立 uitableview datatable uitableview alloc initwithframe cgrectmake 0,0,320,420 datatable setdelegate self datatable setdatasource self self.view adds...

UITableView 詳細講解

建立 uitableview datatable uitableview alloc initwithframe cgrectmake 0,0,320,420 datatable setdelegate self datatable setdatasource self self.view adds...

const 詳細講解

const使用詳解 2005 11 15 16 47 02 關於c 中的const關鍵字的用法非常靈活,而使用const將大大改善程式的健壯性,現將本人的一些體會總結如下,期望對大家有所幫助 一 const基礎 如果const關鍵字不涉及到指標,我們很好理解,下面是涉及到指標的情況 int b 50...