restore_database.sh 脚本:
#/bin/bash
DBRUN="dbisql -onerror exit -nogui -c"
CONNSTR="uid=dba;pwd=sql;dbn=utility_db"
restoreSQL="restore database 'iqdm.db' from '/iqdbbackup/20170901_full/iqdm_F_20170901190614.dmp'"
${DBRUN} ${CONNSTR} ${restoreSQL}
执行恢复命令 (执行前需要在协调节点开启utility_db):
# su - sybase
$ start_iq -n utility_db -gu utility_db -iqmt 5000 iqmc 2048 -iqtc 5000
# su - sybase
$ nohup ./restore_database.sh &
可以到 utility_database 的srvlog下查看恢复进度。
$ vi /data01/iq/160_11/IQ-16_0/logfiles/utility_db.0002.srvlog
可以看到备份集中的文件一个一个被恢复 。
I. 09/03 00:22:03. Stripe 0, Open /iqdbbackup/20170901_full/iqdm_F_20170901190614.dmp.967 OK
I. 09/03 00:22:13. Stripe 0 at EOV
I. 09/03 00:22:13. Stripe 0 Switching Media (mode 0)
I. 09/03 00:22:13. Stripe 0 OpenDevice mode 0
I. 09/03 00:22:13. Stripe 0, OpenDiskDev mode 0
I. 09/03 00:22:13. Stripe 0, Open /iqdbbackup/20170901_full/iqdm_F_20170901190614.dmp.968 OK
I. 09/03 00:22:21. Stripe 0 at EOV
I. 09/03 00:22:21. Stripe 0 Switching Media (mode 0)
I. 09/03 00:22:21. Stripe 0 OpenDevice mode 0
I. 09/03 00:22:21. Stripe 0, OpenDiskDev mode 0
I. 09/03 00:22:21. Stripe 0, Open /iqdbbackup/20170901_full/iqdm_F_20170901190614.dmp.969 OK
....