将 vCenter Server Oracle 数据库架构从一个 Oracle 数据库导入另一个 Oracle 数据库中
search cancel

将 vCenter Server Oracle 数据库架构从一个 Oracle 数据库导入另一个 Oracle 数据库中

book

Article ID: 343177

calendar_today

Updated On:

Products

VMware vCenter Server

Issue/Introduction

本文提供使用导入/导出实用程序数据泵迁移 Oracle 数据库架构的最佳实践。

Symptoms:
免责声明:本文为 Importing a vCenter Server Oracle database schema from one Oracle database to another (2032811)的翻译版本。尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。有关最新内容,请参见英文版本 。

Environment

VMware vCenter Server 5.5.x
VMware vCenter Server 5.1.x
VMware vCenter Server 4.0.x
VMware vCenter Server 5.0.x
VMware vCenter Server 4.1.x

Resolution

vCenter Server 数据库不支持在不同的数据库管理系统 (DBMS) 之间进行迁移。

要使用导出/导入数据泵实用程序将 vCenter Server 使用的 Oracle 数据库架构迁移到新的 Oracle 数据库服务器,请执行以下操作:

  1. 从源 vCenter Server Oracle 数据库实例创建 vpxadmin 架构的导出转储。有关详细信息,请参见: Providing a copy of your Oracle database schema to VMware Support for troubleshooting purposes (2020361).
  2. 使用位于 $ORACLE_HOME/bin 目录的数据库配置助手 (dbca) 创建新的 Oracle 数据库。在提示符处键入 dbca。
  3. 使用 SQLplus 以 sysdba 身份登录到步骤 2 中创建的数据库,以使用以下脚本创建 VPX_data 和VPX_indx 表空间:

    CREATE TABLESPACE "VPX_DATA” DATAFILE '/u01/oradata/vcdb/vpx_data01.dbf'
    SIZE 1G AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT
    SPACE MANAGEMENT AUTO;
    CREATE TABLESPACE "VPX_INDX” DATAFILE '/u02/oradata/vcdb/vpx_indx01.dbf'
    SIZE 1G AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT
    SPACE MANAGEMENT AUTO;

    注意:对于 Windows 安装,将目录路径相应地更改为 vpx_data01.dbf 和 vpx_indx01.dbf 文件。

  4. 使用以下脚本创建 VPXADMIN 用户:

    CREATE USER "VPXADMIN" PROFILE "DEFAULT" IDENTIFIED BY "oracle"
    DEFAULT TABLESPACE "VPX_DATA” " ACCOUNT UNLOCK
    ;

    ALTER USER “VPXADMIN”
    TEMPORARY TABLESPACE TEMP
    QUOTA UNLIMITED ON VPX_DATA
    QUOTA UNLIMITED ON VPX_INDX
    ;

    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 execute ANY PROCEDURE to VPXADMIN;

    注意:默认情况下,RESOURCE 角色分配有 CREATE PROCEDURE、CREATE TABLE CREATE SEQUENCE 特权。如果 RESOURCE 角色缺少这些特权,请为 vCenter Server 数据库用户授予这些特权。将 DBA 权限授予 VPXADMIN 以便导入顺利进行,并在导入成功完成后撤销 DBA 角色。

  5. 配置 Oracle 数据库用户以启用数据库监控。

    注意:此步骤为可选步骤。

    vCenter Server 数据库监控捕获的衡量指标使得管理员可以评估数据库服务器的状态和运行状况。启用数据库监控后,管理员可以防止因数据库服务器资源不足而导致 vCenter Server 停机。

    vCenter Server 数据库监控可以帮助管理员监控数据库服务器 CPU、内存、I/O、数据存储及其他环境因素的使用情况。统计信息存储在 vCenter Server 配置文件日志中。

    安装 vCenter Server 之前或安装后,都可以为用户启用数据库监控。您可以在 vCenter Server 运行时执行此过程。

    过程:

    1. 使用系统帐户登录 SQL*Plus 会话。
    2. 运行以下 SQL 语句,以便为 vCenter Server 数据库用户授予其他权限:

    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;

    现已启用 vCenter Server 数据库监控。

  6. 在数据库上创建 Import Dump Directory 目录。

    1. 使用系统帐户登录 SQL*Plus 会话,如下所示:

      sqlplus "/ as sysdba"

    2. 在 SQLplus 提示符下,键入:

      Create or replace directory ImpDumpDir as '/home/oracle';
      Grant read, write on directory ImpDumpDir to public;
      Grant read, write on directory ImpDumpDir to VPXADMIN;

    3. 退出 SQLplus 以进入主机提示符。

    4. 在主机提示符下,运行以下导入数据泵实用程序命令:

      impdp vpxadmin/<password>@<connecting strings> DIRECTORY=ImpDumpDir
      DUMPFILE=<ExportDumpName.dmp> REMAP_TABLESPACE=VPX_DATA:VPX_DATA
      LOGFILE=<importlogfilename.log>

    5. 导入数据泵完成后,执行以下步骤:

      1. 检查迁移数据库上是否存在无效对象:

        col "Invalid VMware Objects" format a100
        select 'ALTER '||
        decode(object_type,'PACKAGE BODY','PACKAGE',object_type)||'
        '||owner||'.'||object_name|| decode(object_type,'PACKAGE
        BODY','COMPILE BODY;',' COMPILE;')
        AS "Invalid VMware Objects" from dba_objects
        where status != 'VALID' and object_type
        in ('PROCEDURE','PACKAGE','FUNCTION','VIEW','TRIGGER','
        PACKAGE BODY') and owner not in ('SYS','SYSTEM');

      2. 确保存在必需的程序,并比较源数据库和迁移数据库之间的架构对象。在两个数据库上运行以下脚本:

        select count(*) from dba_objects where owner=’VPXADMIN’;

      3. 检查是否存在作业缺失的情况。使用以下查询确定失败或损坏的作业:

        select job, what, failures, broken,
        to_char(last_date, 'yyyymmdd:hh24miss'),
        to_char(next_date, 'yyyymmdd:hh24miss')from
        user_jobs;

      4. 检查以确认 dba_objects 中存在两行状态有效的 vpxv_device_counter 对象。

        select object_name, object_type, owner, status, created, last_ddl_time from dba_objects where object_name='VPXV_DEVICE_COUNTER';

        如果vpxv_device_counter对象的状态无效或缺失,请参见 Missing VPX_DEVICE_COUNTER materialized view in vCenter Server 4.0 to 5.0 (2032820)

        注意:确保针对整个迁移数据库执行健全性测试/检查,以将其与源 vCenter Server 数据库进行比较。


    Additional Information

    Importing a vCenter Server Oracle database schema from one Oracle database to another