linuxdb2sql腳本
Linux環境下DB2資料庫的備份和恢復的實際應用代碼如下:
DB2資料庫備份腳本:
. /home/db2admin/sqllib/db2profile
db2 backup db datedb online to /dbbackup/date include logs
cd /dbbackup/datetoday=`date +」%Y%m%d」`
file1=」*$today*」
ftpfile=`ls $file1`
echo $ftpfile
lftp -c 「open ftp地址;user用戶名密碼@\$0;put $ftpfile」
find /dbbackup/date -ctime +15 -exec rm {} \;
恢復命令:
通過root命令登錄到伺服器上後切換到資料庫用戶名下用su – db2admin命令。
進入到備份文件存放目錄
執行如下命令
[db2admin@localhost db2back]$ db2 restore db datedb from /hom
⑵ DB2資料庫定時自動清理表數據的腳本語句
這個根據數據量來的:
若數據不大:
用crontab 寫個腳本語言,先獲取當前時間 比如php 為$day=inter(date("d",time()));//獲取當前日期
if($day=1){//判斷是否是月初
do{//數據大分頁刪除;根據時間取
$return = delData(time<strtotime(「-3 month」));
}while($total >(page-1)*每頁數量);
}
2.定時存儲過程
CREATE EVENT `e_call` ON SCHEDULE EVERY 3 MONTH eENDS 'time' ON COMPLETION NOT PRESERVE ENABLE DO call p_chk();
⑶ 請教高手:DB2 SQL腳本批量執行如何保存日誌問題
可以在命令編輯器或者Windows 的DB2 命令窗口或者 Linux 的shell 中執行SQL 腳本。在windows 的DB2 命令窗口或者 linux 的shell 中執行SQL語句,可以使用下面的命令執行script1.sql腳本:
db2 -t -v -f script1.sql -z script1.log
或者:
db2 –tvf script1.sql –z script1.log
在上面的命令中,
-t 表示語句使用默認的語句終結符——分號;
-v 表示使用冗長模式,這樣 DB2 會顯示每一條正在執行命令的信息;
-f 表示其後就是腳本文件;
-z 表示其後的信息記錄文件用於記錄屏幕的輸出,方便以後的分析(這是可選的,但我們建議使用該選項)。
當使用了-t選項而沒有標明語句終結符,則分號(;)會默認為語句的終結符。有時可能會出現使用另外的終結符的情況,例如用SQL PL 編寫的的腳本使用其它的符號而不是默認的分號,因為分號在SQL PL 是用於定義資料庫對象過程中的語句結束。
⑷ linux執行db2資料庫執行sql腳本為什麼亂碼
檢查一下sql文件的編碼是否和db2的編碼一致~
⑸ 想請教下各路大神,linux下每天定時給db2資料庫做一個全庫壓縮備份的腳本,應該怎麼寫呢
備份命令的栗子:db2 backup db tt online to /db2home/db2 compress include logs
然後命令掛到crontab裡面就行了
db2一備份資料庫就幾乎不動了,慎重哈~(其實一周備份一次就差不多了)