保护 Oracle 中的 MONITOR 数据库

通过仅授予 MONITOR 数据库用户访问 MONITOR 数据库对象所需的特权,可以增强 Oracle 上的安全性。此外,还可以从数据库脚本中除去管理授权,而将授权放在 IBM® Business Monitor 需要的特定数据库对象上。

开始之前

遵循手动安装 MONITOR 数据库(远程数据库)中的指示信息,使用以下步骤中的信息来安装 MONITOR 数据库。此过程使用的用户名字段中的 @DB_USER@ 和模式名称字段中的 @SCHEMA@ 都是在概要文件创建期间所选择的。
注: 可以在概要文件创建之前或之后创建数据库。

过程

  1. 找到 DDL 脚本。
    • app_server_root/dbscripts/Monitor 目录中查找安装 IBM Business Monitor 时提供的脚本。
    • 如果是使用概要文件创建功能生成的包含已替换变量值的脚本,请在创建概要文件时指定的输出目录中查找脚本。缺省情况下,输出目录为 app_server_root/profiles/profile/dbscripts/Monitor
  2. createDatabase.sql 文件中除去以下行:
    GRANT SELECT ANY TABLE TO @SCHEMA@;
    GRANT INSERT ANY TABLE TO @SCHEMA@;
    GRANT UPDATE ANY TABLE TO @SCHEMA@;
    GRANT DELETE ANY TABLE TO @SCHEMA@;
    GRANT SELECT ANY SEQUENCE TO @SCHEMA@;
    GRANT EXECUTE ANY PROCEDURE TO @SCHEMA@;
    GRANT CREATE USER TO @SCHEMA@;
    GRANT ALTER USER TO @SCHEMA@;
    GRANT DROP USER TO @SCHEMA@;
    GRANT CREATE ANY TABLE TO @SCHEMA@;
    GRANT CREATE ANY INDEX TO @SCHEMA@;
    GRANT CREATE ANY VIEW TO @SCHEMA@;
    GRANT CREATE ANY SEQUENCE TO @SCHEMA@;
    GRANT CREATE ANY PROCEDURE TO @SCHEMA@;
    GRANT ALTER ANY TABLE TO @SCHEMA@;
    GRANT DROP ANY TABLE TO @SCHEMA@;
    GRANT DROP ANY VIEW TO @SCHEMA@;
    GRANT DROP ANY INDEX TO @SCHEMA@;
    GRANT DROP ANY SEQUENCE TO @SCHEMA@;
    GRANT DROP ANY PROCEDURE TO @SCHEMA@;
    GRANT LOCK ANY TABLE TO @SCHEMA@;

    @DB_USER@ 所需的授权将在下一步中特定于每个表和视图发出。

  3. 编辑 createTables.sql 文件,将字符串“--GRANT STMT--”替换成“”,这将除去每个 GRANT 语句的注释指示符,允许这些语句在下一步中运行。
  4. 运行 createDatabase.sqlcreateTables.sql 脚本:
    1. 浏览至包含 createDatabase.sql 脚本的目录。
    2. 输入 sqlplus DBADMIN/dbpassword@orcl

      其中

      DBADMIN 是具有创建 MONITOR 数据库对象的管理权限的 Oracle 用户

    3. 在 SQL 提示符处,运行以下命令:

      SQL>@createDatabase.sql

      SQL>@createTables.sql

  5. 要为 IBM Business Monitor 消息传递引擎创建表,请运行以下脚本:
    1. 浏览至包含 IBM Business Monitor 消息传递引擎脚本的目录。
    2. 输入 sqlplus DBADMIN/dbpassword@orcl

      其中

      DBADMIN 是具有管理权限的 Oracle 用户

    3. 在 SQL 提示符处,运行以下命令: SQL>@Oracle-11g-SibME.sql.
    消息传递引擎脚本自动授予用户对服务集成总线模式对象的访问权。有关数据库用户访问所需的数据库特权的更多信息,请参阅下面链接的 WebSphere® Application Server 信息中心主题。