使用外部表进行备份和恢复

可以使用外部表来备份表。 虽然 "nzbackup备份实用程序可创建整个数据库的备份,但您可以使用外部表备份方法创建单个表的备份,并可在稍后将其恢复到数据库中。

要使用外部表备份表数据,请为每个用户表创建外部表定义,然后使用 SQL 插入外部表。 还原表数据时,如果不存在表定义,则创建表定义,然后使用 SQL 从外部表插入用户表。

使用外部表进行备份和恢复的示例

以下示例展示了如何使用压缩二进制格式的外部表来备份和恢复用户表 EMP:
  • 下面的命令为表 emp 创建了一个二进制压缩格式外部表的定义,名为 emp_backup:
    CREATE EXTERNAL TABLE emp_backup SAMEAS emp USING (
        DATAOBJECT ('/tmp/emp.bck')
        COMPRESS   true
        FORMAT     'internal');
  • 下面的命令将 emp 表的数据备份到 emp_backup 表中:
    INSERT INTO emp_backup SELECT * FROM emp;
  • 以下命令将确保表 emp 为空,然后从表 emp_backup 恢复表 emp:
    TRUNCATE TABLE emp;
    INSERT INTO emp SELECT * FROM emp_backup;