为复制准备数据库

了解如何为复制准备新的或现有的 Netezza Performance Server 数据库。

以下步骤说明了如何使用本地文件系统进行完整备份和还原。

您可以使用任何现有的备份和还原基础架构,对数据库进行完整备份,并在副本上进行还原。 更多信息,请参阅 /admin/c_sysadm_db_backup_restore.html为复制准备数据库

过程

  1. 在确定为主系统的 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)'
  2. 作为 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 。 在将数据库添加到复制中时,必须使用该值。

    在示例中, backupsetid20230125181800

  3. 压缩数据库的完整备份。
    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
  4. 将备份文件发送到每个远程 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 
  5. 在数据库为副本的远程 Cloud Pak for Data System 上,将 tar bundle 从控制节点复制到 Netezza Performance Server 主机容器内的目录。
    在示例中,捆绑包被复制到 /tmp/fullbackupdir 目录。
    docker cp sampledb.tar ipshost1:/tmp/fullbackupdir/sampledb.tar
  6. 在远程 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
  7. 恢复远程 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.

    在示例中, backupsetid20230125181800

    重要: 完整备份和还原过程中创建的 backupsetid 只能用于复制。 请勿将其用于任何其他目的。 确保不使用此 backupsetid 手动进行差异或累积备份。

下一步操作

将此数据库添加为复制数据库。