为复制准备数据库
了解如何为复制准备新的或现有的 Netezza Performance Server 数据库。
以下步骤说明了如何使用本地文件系统进行完整备份和还原。
您可以使用任何现有的备份和还原基础架构,对数据库进行完整备份,并在副本上进行还原。 更多信息,请参阅 /admin/c_sysadm_db_backup_restore.html和为复制准备数据库。
过程
- 在确定为主系统的 Cloud Pak for Data System 上选择或创建 Netezza Performance Server 数据库。
您还可以在该数据库中创建表格并插入行。
创建包含一个模式、一个表和一行数据的简单数据库的示例命令:nzsql -c "create database sampledb" nzsql -c 'create schema sampledb.sch1' nzsql -c 'create table sampledb.sch1.TB1 (id int)' nzsql -c 'insert into sampledb.sch1.TB1 values (1)' - 作为
nz,在主系统上完整备份该数据库。在本例中,创建了 /tmp/fullbackupdir 目录样本,用于存储备份。nzbackup -db DATABASE NAME -dir DIRECTORY NAME示例:[nz@e1n1-npshost nrs]$ nzbackup -db sampledb -dir /tmp/fullbackupdir Backup of database sampledb to backupset 20230125181800 completed successfully.记下与此完整备份相对应的
backupsetid。 在将数据库添加到复制中时,必须使用该值。在示例中,
backupsetid是20230125181800。 - 压缩数据库的完整备份。
tar cvf FILE PATH -C /DIRECTORY .示例:[nz@e1n1-npshost nrs]$ tar cvf /tmp/sampledb.tar -C /tmp/fullbackupdir . ./ ./Netezza/ ./Netezza/sbpoc06.svl.ibm.com/ ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/ ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/ ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/ ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/ ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/md/ ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/md/loc1/ ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/md/loc1/locations.txt ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/md/schema.xml ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/md/stream.0.1 ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/md/contents.txt ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/data/ ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/data/data.marker ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/data/325131.full.1.1 - 将备份文件发送到每个远程 Cloud Pak for Data Systems 上的任意目录。
scp FILE PATH root@X.XX.XXX.XX:/root示例:[nz@e1n1-npshost nrs]$ scp /tmp/sampledb.tar root@X.XX.XXX.XX:/root Password: sampledb.tar 100% 20KB 25.6MB/s 00:00 - 在数据库为副本的远程 Cloud Pak for Data System 上,将
tarbundle 从控制节点复制到 Netezza Performance Server 主机容器内的目录。在示例中,捆绑包被复制到 /tmp/fullbackupdir 目录。docker cp sampledb.tar ipshost1:/tmp/fullbackupdir/sampledb.tar - 在远程 Netezza Performance Server 主机容器中解压完整备份。示例:
[root@e1n1-npshost fullbackupdir]# pwd /tmp/fullbackupdir [root@e1n1-npshost fullbackupdir]# ls sampledb.tar [root@e1n1-npshost fullbackupdir]# tar xvf sampledb.tar -C /tmp/fullbackupdir . ./ ./Netezza/ ./Netezza/sbpoc06.svl.ibm.com/ ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/ ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/ ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/ ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/ ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/md/ ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/md/loc1/ ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/md/loc1/locations.txt ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/md/schema.xml ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/md/stream.0.1 ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/md/contents.txt ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/data/ ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/data/data.marker ./Netezza/sbpoc06.svl.ibm.com/SAMPLEDB/20230125181800/1/FULL/data/325131.full.1.1 [root@sbpoc01a-npshost fullbackupdir]# ls Netezza sampledb.tar - 恢复远程 Cloud Pak for Data System 上数据库的完整备份。
在复制节点上还原数据库时,请使用 -lockdb true ,并记下与此次完全还原相对应的
backupsetid值。您可以从 /opt/ibm/appliance/storage/ips/ipshost1/nz/data/config/backupHostname.txt 获取
SYSTEM 1 HOSTNAME值,它位于系统 1 上。nzrestore -db DATABASE NAME TO RESTORE -sourcedb BACKED UP DATABASE NAME -npshost SYSTEM 1 HOSTNAME -dir BACKUP DIRECTORY -lockdb true示例:[root@e1n1-npshost fullbackupdir]# su nz [nz@sbpoc01a-npshost fullbackupdir]$ nzrestore -db sampledb -sourcedb sampledb -npshost sbpoc06.svl.ibm.com -dir /tmp/fullbackupdir -lockdb true Restore of increment 1 from backupset 20230125181800 to database 'sampledb' committed.在示例中,
backupsetid是20230125181800。重要: 完整备份和还原过程中创建的backupsetid只能用于复制。 请勿将其用于任何其他目的。 确保不使用此backupsetid手动进行差异或累积备份。