WEB开发网
开发学院数据库DB2 备份和恢复DB2 Universal Database 阅读

备份和恢复DB2 Universal Database

 2007-05-20 16:17:30 来源:WEB开发网   
核心提示:动机 SQL 语言提供了模式的概念,用来对所有类型的 SQL 对象进行分组,备份和恢复DB2 Universal Database,可以将 SQL 语言中的模式 理解成文件系统中的目录,DB2 UDB for Linux, UNIX, and Windows 很好地支持 SQL 模式概念,更安全的解决方案是让这两个 I

动机

SQL 语言提供了模式的概念,用来对所有类型的 SQL 对象进行分组。可以将 SQL 语言中的模式 理解成文件系统中的目录。DB2 UDB for Linux, UNIX, and Windows 很好地支持 SQL 模式概念,可以将 USER 与 CURRENT SCHEMA 隔离开,并为例程解析提供了 PATH。

使用模式很容易,但是它们的管理就不同了。模式的重命名、模式级备份和恢复以及模式的复制等任务比较困难,因为必须手工进行脚本编程,而且对象及其依赖性可能很复杂。

本文提供一个具有简单接口的过程库,使用户能够将给定模式中的所有对象备份到文件系统中、在另一个模式下恢复备份以及删除给定模式中的所有对象。

安装

下载并解压缩本文包含的 backupschema.zip 文件之后,会得到以下文件:

backupschema.sql

这个文件包含一些 DDL 语句,这些语句安装过程以及各个 helper 例程和表。在默认情况下,所有对象使用的模式是 "ADMIN"。如果要改变这个模式,只需修改这个文件开头的 SET SCHEMA 和 SET PATH 语句,将 "ADMIN" 替换为您选择的模式名。

为了执行这个脚本,作为 DB2 管理员连接到数据库,然后执行 db2 -tvf backupschema.sql。

这些过程使用 SYSPROC.ADMIN_CMD() 存储过程进行导出并使用 SYSPROC.DB2LOAD() 存储过程进行装载。(SYSPROC.ADMIN_CMD() 是在 DB2 V8.2.2(FP 9)中引入的。因此,需要的最低版本是 V8.2.2。)SYSPROC.ADMIN_CMD() 在 sqllibadm.fenced 的所有者指定的 fenced 用户 id 和组 之下执行。因此,导出的文件具有与 sqllibadm.fenced 相同的所有者和组。因此一定要确保这个用户和组对指定的目录有写特权,而且用来访问文件的用户 id 也有访问权。简单的解决方案是将 sqllibadm.fenced 的所有者改为实例所有者。更安全的解决方案是让这两个 ID 成为同一个组的成员,然后只将 sqllibadm.fenced 的组所属权改为这个组。这样就能够通过组成员关系访问产生的文件。

1 2 3 4 5  下一页

Tags:备份 恢复 DB

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接