
导语
数据库在遭遇各种故障或数据损坏时,可通过备份文件来保护和恢复数据。引起故障的原因有多种,为避免数据库出现物理损坏或灾害引起数据丢失,需要进行保存副本,即备份。本文将系统讲解SUNDB数据库的备份方式以及冷备操作。
1. SUNDB备份方式
因各种故障导致数据库无法对外提供服务时,可通过当前数据库或数据库备份将数据库还原到可服务的状态,此操作即为恢复。使用当前数据库的恢复叫重启恢复(restart recovery),使用备份文件的恢复叫介质恢复(media recovery)。SUNDB自动或手动执行介质恢复,通过还原备份数据文件,然后用重启恢复的方式执行介质恢复及重启。

SUNDB支持冷备、热备(在线备份)方式,同时也支持物理备份和逻辑备份。
SUNDB正常运行需要使用数据文件与控制文件,因而在故障引起损坏时需要恢复数据文件与控制文件。
控制文件是创建数据库时生成的文件,存储数据库运行所需的信息。数据文件存储实际数据,包扩创建数据库时默认生成的系统表空间的数据文件及用户自定义表空间的数据文件。如果部分控制文件或数据文件损坏,可通过备份文件进行恢复。也就是说,为了进行数据库恢复,需要备份控制文件与数据文件。因此,SUNDB支持控制文件备份、数据库备份以及表空间备份。
2. 冷备与热备的区别
冷备是指在数据库停机状态下进行备份,在备份的过程中数据库是不可用的。需要在非业务高峰期对数据库进行备份,一般是在夜间或低流量期进行。冷备的主要优点是备份速度较快,不会占用过多的系统资源,具有灵活和成本较低的优势。但在冷备备份时数据库不可用,会造成业务中断。因此,适用于一些对备份时间有较高容忍度的系统。
热备是在数据库运行状态下进行备份。与冷备相反,热备不会停止数据库服务,所以数据库仍然可用。热备份通过在线备份或增量备份的方式进行。在线备份是指在数据库运行期间将数据复制到备份设备中,备份设备与主数据库保持同步。增量备份是指只备份更改的数据,可以将备份时间和资源占用降到最低限度。相比冷备,热备份的主要优势在于保持了数据库的连续性,系统的可用性更高。但热备份速度会相对较慢,且对系统资源的消耗较高,可能会影响到数据库的性能。
3. SUNDB冷备操作
gSQL> shutdown immediate;
Shutdown success
gSQL> quit
第一种方法,使用tar命令打包。
[csii@gs01 ~]$ pwd
/home/csii
[csii@gs01 ~]$ ls
product
[csii@gs01 ~]$ nohup tar -zcvf gs_cold_backup_20200107.tar.gz product/ &
[1] 11118
[csii@gs01 ~]$ nohup: ignoring input and appending output to ‘nohup.out’
[1]+ Done nohup tar cvf gs_cold_backup_20200107.tar.gz product/
[csii@gs01 ~]$ ls
gs_cold_backup_20200107.tar.gz nohup.out product
第二种方法,对product路径进行拷贝备份。
[csii@gs01 ~]$ pwd
/home/csii
[csii@gs01 ~]$ cp -r product/ gs_cold_backup_202001074. 小结
选择SUNDB备份策略时,应根据具体的业务需求和系统环境来综合考虑。如果对数据库的可用性有较高要求,需要通过热备来保持数据库的连续性。热备适用于需要实时操作和即时数据恢复的系统,如金融交易系统等。对于一些对备份时间有较高容忍度的系统,可以选择冷备,适用于周期性备份或备份数据量较大的系统。





