要将 Oracle 数据库用于 vCenter Server,必须创建具有特定表空间和特权的数据库以及拥有特定权限的数据库用户。

必须首先为 vCenter Server 创建表空间和用户。然后,向数据库用户授予权限。安装 vCenter Server 之前,必须为用户启用数据库监控。请参见 vCenter Server 的数据库权限要求

要执行以下过程,可以使用图形用户界面,也可以运行脚本:vCenter Server 安装程序软件包的 vCenter-Server\dbschema\DB_and_schema_creation_scripts_PostgreSQL.txt 文件中包含示例脚本。

前提条件

使用系统帐户登录 SQL*Plus 会话。

过程

  1. vCenter Server 创建表空间。
    例如,要创建表空间 VPX,您可以运行以下脚本:
    CREATE SMALLFILE TABLESPACE "VPX" DATAFILE 'C:\database_path\vpx01.dbf'
    SIZE 1G AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT 
    SPACE MANAGEMENT AUTO;
  2. vCenter Server 创建拥有正确权限的数据库用户。
    例如,要创建 VPXADMIN 用户,您可以运行以下脚本:
    CREATE USER "VPXADMIN" PROFILE "DEFAULT" IDENTIFIED BY "oracle" DEFAULT TABLESPACE "VPX" ACCOUNT UNLOCK;
    grant connect to VPXADMIN;
    grant resource to VPXADMIN;
    grant create view to VPXADMIN;
    grant create sequence to VPXADMIN;
    grant create table to VPXADMIN;
    grant create materialized view to VPXADMIN;
    grant execute on dbms_lock to VPXADMIN;
    grant execute on dbms_job to VPXADMIN;
    grant select on dba_lock to VPXADMIN;
    grant select on dba_tablespaces to VPXADMIN;
    grant select on dba_temp_files to VPXADMIN;
    grant select on dba_data_files to VPXADMIN;
    grant select on v_$session to VPXADMIN;
    grant unlimited tablespace to VPXADMIN;
    

    默认情况下,RESOURCE 角色分配有 CREATE PROCEDURECREATE TABLECREATE SEQUENCE 特权。如果 RESOURCE 角色缺少这些特权,请将这些特权授予 vCenter Server 数据库用户。

    注: 您可以设置特定的表空间配额,而不是授予无限表空间。建议的配额为“无限制”,且至少需要 500 MB。要设置无限配额,请使用以下命令。
    alter user "VPXADMIN" quota unlimited on "VPX";
    如果设置有限配额,请监控剩余的可用表空间以避免以下错误。
    ORA-01536: 表空间“tablespace”超出空间配额 (ORA-01536: space quota exceeded for tablespace 'tablespace')
    现在,您已拥有一个 vCenter Server 的 Oracle 数据库用户。
  3. vCenter Server 数据库用户启用数据库监控。
    例如,要向 VPXADMIN 用户授予数据库磁盘大小监控权限,您可以运行以下脚本:
    grant select on v_$system_event to VPXADMIN;
    grant select on v_$sysmetric_history to VPXADMIN;
    grant select on v_$sysstat to VPXADMIN;
    grant select on dba_data_files to VPXADMIN;
    grant select on v_$loghist to VPXADMIN;