您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

实用程序数据库

实用程序数据库 (utility_db) 是一个虚拟数据库,您可以使用该数据库来执行需要已连接数据库的操作。

实用程序数据库不能包含数据,因为其不含数据库文件。您可以连接实用程序数据库来达到以下目的:

  • 不必先连接到现有物理数据库就可以执行数据库文件管理语句,如 CREATE DATABASE

  • 检索连接属性和服务器属性的值。

  • 在无法连接到数据库时,连接到正在运行的数据库服务器。例如,在镜像系统中,可以连接到实用程序数据库,从而停止镜像服务器或将数据库强制变为主服务器。

    要在数据库服务器上启动实用程序数据库,请在连接到服务器时将 utility_db 指定为数据库名。名称 utility_db 将会保留。如果您试图使用此名称创建数据库,则操作失败。

    当连接到实用程序数据库后,您只能执行以下语句:

  • CREATE DATABASE 语句。

  • DROP DATABASE 语句。

  • CREATE USER DBA IDENTIFIED BY

  • RESTORE DATABASE 语句。

  • REVOKE CONNECT FROM DBA。

  • SET TEMPORARY OPTION progress_messages = [ OFF | RAW | FORMATTED ]。

  • 不包含 FROMWHERE 子句的 SELECT 语句。

  • START DATABASE 语句。

  • STOP DATABASE 语句。

  • STOP SERVER 语句。

    -su 数据库服务器选项设置实用程序数据库口令(也可以设置用户 ID),或禁用与实用程序数据库的连接。实用程序数据库的缺省用户 ID 是 DBA。实用程序数据库的口令必须至少拥有六个字符且区分大小写。

    -gu 数据库服务器选项设置执行数据库文件管理语句所需的特权。当指定了 -gu utility_db 时,只有实用程序数据库能够执行语句。

    示例

    连接到实用程序数据库后执行以下语句将在 c:\temp 目录中创建名为 new.db 的数据库。

    CREATE DATABASE 'c:\\temp\\new.db' DBA USER 'DBA' DBA PASSWORD 'passwd';

    如果针对实用程序数据库执行以下语句,则会返回将在创建数据库时使用的缺省归类序列:

    SELECT PROPERTY( 'DefaultCollation' );