6. 基本系统和数据库管理

在本节中,我将概述 Ingres 系统管理员和 Ingres 数据库管理员的一些基本任务。您还将了解 Ingres 提供了哪些工具来执行这些任务。在下文中,我假设您以 ingres 用户身份登录。

6.1. 启动和停止 Ingres

您已经了解了如何启动 Ingres

$ ingstart
	

要停止 Ingres,请使用 ingstop 命令

$ ingstop
	

ingstop 仅在没有活动用户会话时才停止 Ingres。如果您想停止系统,而不管是否有用户会话,请使用以下形式

$ ingstop -force
	

在这种情况下,在您终止 Ingres 后,请检查它是否释放了它使用的所有共享内存段和信号量

$ ipcs -a
	

如果您在 ipcs 的输出中看到仍然附加到 ingres 用户的共享内存段或信号量,请使用 Ingresipcclean 实用程序释放它们

$ ipcclean
	

Warning

注意:强制停止 Ingres 可能会导致您的数据库不一致。

6.2. 新建 Ingres 用户和位置

为了让任何用户访问 Ingres 安装,您必须使用 accessdb 实用程序将他们定义为 Ingres 用户。

启动 accessdb

$ accessdb
	

选择 用户 选项,然后选择 创建

在这里,输入用户的名称。您不必修改权限。

保存,然后 结束,再 结束

您还可以使用 accessdb 创建新位置、更改其类型或将数据库扩展到新位置。accessdb 的用法在 系统参考指南数据库管理员指南 中有介绍。

作为 accessdb 的替代方法,您可以通过在 iidbdb 上运行 SQL 命令(create usercreate location 等)来维护用户和位置。这些命令的语法可以在 SQL 参考指南 中找到。

Warning

由于 ingres 用户拥有更改甚至可能破坏 Ingres 安装的任何元素的无限权力,因此强烈建议您仅使用此帐户来执行管理任务。创建另一个 Linux 用户并将其环境设置为与 ingres 相同。通过 accessdb 将其注册为 Ingres 用户,并使用此帐户进行日常工作。

6.3. 创建和销毁数据库

在“检查安装”小节中,您创建了一个新数据库。您没有在以下命令中指定任何选项

$ createdb test
	

命令。因此,存储在以下位置的值II_DATABASE, II_CHECKPOINT等等,成为 test 数据库的位置。您可以显式指定每个位置

$ createdb test -d<data location> -c<checkpoint location> -j<journal location>
-b<dump location> -w<work location>
	

您可以使用 destroydb 命令删除数据库

$ destroydb test
	

Warning

请注意,因为 Ingres 在销毁数据库之前不会提示您。

6.4. 排序规则

排序规则决定了任何两个字符串中哪个应被视为小于另一个。在 Ingres 中,每个数据库都可以有自己的排序顺序。您可以在创建数据库时指定排序规则

createdb test -lhun
	

如果您省略-l参数,数据库将具有默认排序规则,该规则由 Ingres 安装的代码集的隐式排序顺序决定(II_CHARSET).

如果您想使用自己的排序规则(它是hun在上面的示例中),您必须首先创建一个定义文件。此文件的结构必须遵守简单的规则,您可以通过这些规则指定您的语言中字母和/或字符串的绝对或相对顺序。然后必须由 aducompile 实用程序编译此文件,Ingres 才能使用它。

西班牙语排序规则和基于 DEC 多国字符集的排序规则都以源代码形式提供(spanish.dscmulti.dsc)和编译后的形式(spanishmulti).

您可以通过以下方式指定这些排序规则

createdb test -lspanish
	

createdb test -lmulti
	

排序规则的已编译定义文件必须位于$II_SYSTEM/ingres/file/collation目录。定义文件的语法规则可以在 系统参考指南 中找到。检查西班牙语和 DEC 多国字符集排序规则的定义文件也可能很有用。

6.5. 备份和恢复

您可以使用 ckpdb 实用程序备份 Ingres 数据库或其中的某些表。以下命令备份 test 数据库

$ ckpdb test
	

Note

检查点可以联机获取。

可以使用 rollforwarddb 命令恢复数据库

$ rollforwarddb test
	

默认情况下,rollforwarddb 使用最新的检查点和自该检查点以来创建的所有日志文件,将数据库恢复到其上次提交的状态。但是,您可以指定一个时间点,将数据库恢复到该时间点的状态。您可以回溯最多 16 个检查点(Ingres 在数据库的控制文件中存储最近 16 个检查点的数据)。

ckpdbrollforwarddb 都接受许多参数。您可以在 系统参考指南 中阅读有关这些命令的更多信息。此外,您应该阅读 Michael Leo 关于 Ingres 备份和恢复的论文,网址为 http://www.naiua.org/papers/backup99.zip

ckpdbrollforwarddb 都使用模板文件($II_SYSTEM/ingres/files/cktmpl.def)。通过修改此文件,您可以自定义执行数据文件的物理备份和恢复的 Linux 命令。有关此文件的语法,请查阅 数据库管理员指南

6.6. 配置 Ingres

大多数 Ingres 参数可以通过 cbf 实用程序设置。这是一个程序,您可以通过它指定 DBMS 服务器的数量、不同缓存的大小以及许多其他变量。cbf 的用法在 系统参考指南 中有详细说明。

6.7. 监控 Ingres

您可以使用 ipm 实用程序监控正在运行的 Ingres 系统(Visual DBA 仅在 Win32 上运行)。使用 ipm,您可以监控和管理用户会话,以及锁定和日志记录子系统。

6.8. 消息文件

Ingres 消息文件位于$II_SYSTEM/ingres/files目录中。其中最重要的是errlog.log。如果在 Ingres 运行期间出现任何问题,这是首先要检查的文件。