网格控制仓库:跨平台迁移网格控制仓库/OMS的步骤
适用于:
Enterprise Manager Grid Control - Version: 10.2.0.2 to 10.2.0.5 - Release: 10.2 to 10.2
Information in this document applies to any platform.
摘要
1 介绍
1.1 概述
有用户需要跨服务器迁移EM库——相同和跨平台
一些客户计划EM GC库迁移的主要原因是:
(1) 公司的业务,战略需要
(2) 服务器都在不断演变——移动到新的服务器,最新的技术,更低的TCO,更大的处理能力等。
企业管理信息库的迁移过程是和数据库、AS迁移不完全相同的,在企业信息器迁移的情况下,我们已经注意到EM的具体要求,选择和移动的先决条件。我们应该确保企业管理器和Oracle数据库/AS原先的完整性。
这就需要定义可以被终端用户所参照的在最短的时间和最高的效率与成功的和可靠的迁移过程。
1.2 目标
在相同或者跨平台的情况下,企业管理器GC库迁移是可以被指定各种不同的方案,这个项目的主要目标是:
l 定义存储跨各种平台上使用不同的方法和工具的迁移过程。
l 迁移EM信息库,基于跨平台的研究和测试的最佳做法。
l 提供跨平台方案所涉及的详细步骤的迁移路径。
l 比较在这个文件中提到的各种方法
l 在未来的产品生命周期内迁移和整合涉及的自动化步骤
1.3 先决条件
有重要的先决条件要求在文档中所列出的库迁移的方法——
l 源和目标数据库必须使用相同的字符集
l 对于库的迁移,源和目标数据库必须使用相同的RDBMS版本,如果目标数据库需要更高的版本,你需要先迁移到相同的版本,并在稍后升级目标数据库。
l 源和目标数据库必须瞒住所有的企业资源管理器软件在企业管理器安装指南中提到的需求中提到的先决条件。
l 如果源和目标数据库的版本是 pre-10g 那么只有expor/import可以用于跨平台的迁移
l 如果源和目标数据库的版本是10g 那么有三个可用的选项,使用表空间迁移、数据泵或者是export/import来进行跨平台的库迁移
l 你不要传输一个和目标数据库有相同表空间名的表空间。但是你可以在运输操作之前重命名待运输的表空间或者目标表空间
l 为了在不同的平台上ORACLE数据库插入一个传输的表空间,两个数据库都必须至少有10.0的兼容性
l 大多数(但不是全部)的平台支持跨苹果表空间运输。你可以查询V $ TRANSPORTABLE_PLATFORM视图来查看支持的平台,并确定他们的平台ID和他们的得endian格式(字节顺序)。
l 目标和源主机应该有EM代理运行,并为迁移配置的实例。
l 如果目标数据库安装了EM信息库,那么在目标数据库相关步骤进行之前它应该是被RepManager第一个丢弃的。请参阅EM RepManager用法的详细信息,指导安装和配置
l 如果源数据库是AL32UTF8字符集,那么可以使用表空间传输或者数据泵的方法来进行库迁移,使用AL32UTF8字符集如果用exp/imp的方法,那么可能会遭遇BUG3863821
文档历史记录
创建日期2007年10月18日日
更新日期1- MAR -2010
网格控制信息:网格控制的跨平台迁移的步骤库/ OMS
2. 仓库数据迁移
有各种方法可以用于成功迁移仓库。在下文中我们将看到各种选项/方案,然后比较各种方法,找出最佳的选择。
2.1. 使用Data Pump
ORACLE数据泵技术可以从一个数据库到另一个数据库高速、并行的移动大容量数据和元数据。数据泵使用APIs,而不是通常的SQL命令来加载和卸载数据库。可以通过EM界面来进行数据泵操作并且对跨平台迁移非常有用。
使用数据泵导入和数据泵导出工具进行数据库迁移包括以下步骤:在源服务器使用expdp命令上导出数据到一个dump文件,复制或移动dump文件到目标数据服务器,并且使用imopdp命令导入dump文件到目标服务器的ORACLE中。并且运行EM指定的具体步骤。
在原有的导入和导出中调整参数。例如BUFFER and RECORDLENGTH 既不需要也不支持数据泵的导入和导出
2.1.1 数据泵的准备工作
* 使用EM信息数据泵的先决条件:
EM库Impdp失败 因为数据泵BUG - Bug 4386766 - IMPDP WITH COMPRESSED INDEXES FAILS WITH ORA-14071 AND ORA-39083
这个BUG在10.2被修复 该补丁可以应用于10.1.0.4.此RDBMS补丁已经被应用到用于EM库迁移的EXPDP/IMPDP或者使用提取并导入EXP/IMP
* 使用命令检查data_pump_dir目录对象存在:
使用SYSDBA用户,连接到数据仓库:
SQL> select * from dba_directories where DIRECTORY_NAME='DATA_PUMP_DIR';
如果它不存在,那么以sysdba身份连接到数据库,用一下的命令创建它:
SQL> Create directory data_pump_dir as /scratch/gachawla/EM102/ttsdata;
*关闭OMS实例,并准备迁移:
关闭OMS,设置作业queue_processes为0,并删除DBMS的作业,使用命令:
注:ORACLE_HOME指到OMS的ORACLE_HOME
以SYSDBA用户,连接到存储库数据库
SQL> alter system set job_queue_processes=0;
SQL> exit
$ cd $ORACLE_HOME/sysman/admin/emdrep/sql/core/latest/admin
Connect to the Repository database as SYSMAN user
SQL> @admin_remove_dbms_jobs.sql
为了提高工作的吞吐量,应使用PARALLEL参数设置并行度,在目前的条件下最大限度地利用。在一般情况下,在一个实例中,应设置并行度的为CPU数量的两倍以上。
——所有数据泵的操作是被multiple jobs执行(服务器进行不是DBMS_JOB作业)。这些作业由主控制进程控制,使用高级队列。在运行时,一个高级队列表随着作业名被命名,是有主控制进程创建和使用。这个表在数据泵作业完成之后别丢弃。该作业和高级队列可以用JOB_NAME参数来命名。
——DBMS_DATAPUMP APIs 也可以用来做数据泵的导入导出。请参考10g管理手册中的数据泵的所有选项的部分。
2.1.2 执行数据泵导出
* 运行数据泵export:
expdp FULL=y DUMPFILE=data_pump_dir:dpfull1%U.dmp, data_pump_dir:dpfull2%U.dmp PARALLEL=4 LOGFILE=data_pump_dir:dpexpfull.log JOB_NAME=dpexpfull
提供系统的用户名和密码,出现提示时。验证在export过程中的任何错误的日志。
注意:
数据泵直接路径导出有时候会失败因为mgmt_metrics_raw table并引发 ORA 600。
这个是因为数据库Bug 4221775 (4233303),已经在10.2中修复。解决方法:如果是使用expdp数据泵于mgmt_metrics_raw,用ACCESS_METHOD=EXTERNAL_TABLE 参数运行expdp
expdp directory=db_export dumpfile=exp_st2.dmp logfile=exp_st2.log tables=sysman.mgmt_metrics_raw access_method=external_table
2.1.3 执行数据泵导入
* 运行RepManage来丢弃目标仓库(如果目标数据库已经安装了EM库)
注:ORACLE_HOME指的是OMS的ORACLE_HOME
$ cd ORACLE_HOME/ sysman/admin/emdrep/bin
$ RepManager repository_host repository_port repository_SID -sys_username password_for_sys_account -action drop
准备目标数据库
注:ORACLE_HOME指到OMS的ORACLE_HOME
$ cd $ORACLE_HOME/sysman/admin/emdrep/sql/core/latest/admin
作为SYSDBA用户,连接到存储库数据库
SQL> @admin_create_tablespaces.sql
SQL> @admin_create_repos_user.sql
SQL> @admin_pre_import.sql
对于前两个脚本,我们需要提供输入参数,系统提示时 或者你可以在命令行提供他们,例如:
SQL> @admin_create_tablespaces.sql MGMT_TABLESPACE
/mgmt.dbf MGMT_ECM_DEPOT_TS
/mgmt_ecm_depot1.dbf MGMT_TABLESPACE
/mgmt.dbf
SQL> @admin_create_repos_user.sql sysman MGMT_TABLESPACE TEMP CENTRAL ON
*运行数据泵导入
注:这项工作必须从ORACLE_HOME数据库中实施
impdp SCHEMAS=SYSMAN DUMPFILE=data_pump_dir:dpfull1%U.dmp, data_pump_dir:dpfull2%U.dmp PARALLEL=4 LOGFILE=data_pump_dir:dpimpfull.log JOB_NAME=dpimpfull
出现提示时,提供系统用户名/密码。验证任何与import有关的问题日志。
2.1.4. Post-import EM-Specific Steps
* Please refer to Section 3 Post-Migration EM-specific Activities
2.2 使用跨平台传输表空间
ORACLE的表空间传输特性,使得用户能够快速移动跨ORACLE数据库的用户表空间。数据库之间移动大量数据,这是最有效的方式。
ORACLE数据库10g之前,如果要传输表空间,源和目标数据库需要在同一平台上。
Oracle数据库10g增加了对可传输表空间跨平台支持。随着跨平台传输表空间,可以跨平台传输表空间
跨平台传输表空间允许数据库从一个平台迁移到另一个(数据泵或导入/导出使用)
当在RAC数据库上使用该选项时,会遇到一些属于数据损坏的BUG
Bug 4602031 - ORA-600 [KDDUMMY_BLKCHK] ERRORS RUNNING MERGE INTO COMPRESSED TABLE
Bug 3347963 - ORA-600 [6120] REPORTED ON INTERNAL REPOSITORY DATABASE
建议是在迁移库之前,将存储数据库从升级到10.2.0.4.0.并且EM升级到10.2.0.5.0
2.2.1 准备传输表空间
*准备设置的用户表空间和检查约束违反性:
以SYSDBA身份,连接到存储数据库
SQL> execute DBMS_TTS.TRANSPORT_SET_CHECK('MGMT_TABLESPACE,MGMT_ECM_DEPOT_TS', TRUE);
SQL> select * FROM transport_set_violations;
*关闭OMS的实例,并准备迁移:
关闭OMS,设置作业queue_processes为0并用如下命令删除dbms jobs:
Note: ORACLE_HOME refers to the OMS ORACLE_HOME
$ cd ORACLE_HOME/sysman/admin/emdrep/sql/core/latest/admin
Connect to the Repository database as sysdba user
SQL> alter system set job_queue_processes=0;
SQL> connect sysman/
SQL> @admin_remove_dbms_jobs.sql
* 使得所有用户的表空间处于待运、只读状态。
注:这必须通过存储数据库ORACLE_HOME SQL*PLUS 来实现
以SYSDBA用户的身份,连接到存储数据库
SQL> alter tablespace MGMT_TABLESPACE read only;
SQL> alter tablespace MGMT_ECM_DEPOT_TS read only;
2.2.2 提取元数据
用书泵实用工具提取传输表空间的元数据:
*检查DATA_PUMP_DIR目录对象存在使用命令
SYSDBA用户,连接到存储库数据库
SQL> select * from dba_directories where DIRECTORY_NAME='DATA_PUMP_DIR';
If it does not exists, create it using the command
SQL> create directory data_pump_dir as /scratch/gachawla/EM102/ttsdata;
* Extract the metadata using data pump (or export ):
expdp DUMPFILE=ttsem102.dmp TRANSPORT_TABLESPACES=MGMT_TABLESPACE,MGMT_ECM_DEPOT_TS TRANSPORT_FULL_CHECK=Y
Provide system username and password when it prompts for it.
Extract other objects ( packages, procedures, functions, temporary tables etc Not contained in user tablespaces)
expdp SCHEMAS=SYSMAN CONTENT=METADATA_ONLY EXCLUDE=INDEX,CONSTRAINT DUMPFILE=data_pump_dir:postexp.dmp LOGFILE=data_pump_dir:postexp.log JOB_NAME=expmet
当它提示时,提供系统的用户名和密码。
2.2.3 Endian的检查和转换
运行 Endian检查和转换数据问题,如果源和目标之间的endian有不同
* 进行Endian检查,在源和目的数据库上执行这个查询
SQL> SELECT tp.platform_name , endian_format
FROM v$transportable_platform tp, v$database d
WHERE tp.platform_name = d.platform_name;
如果源平台和目标平台的字节顺序不同,则必须做一个额外的步骤在源或目标平台上转换被传输到目标平台的表空间。如果他们是相同的字节顺序,则没有转换的必要,并且在同一平台上表空间可以被传输,例如:
ource Endian
Linux IA (32-bit) - Little
Destination Endian
Solaris[tm] OE (32-bit) - Big
Ship datafiles, metadata dump to target and Convert datafiles using RMAN
Ship the datafiles and the metadata dump to target and on target convert all datafiles to destination endian
CONVERT DATAFILE
'/d14/em10g/oradata/em102/mgmt.dbf',
'/d14/em10g/oradata/em102/mgmt_ecm_depot1.dbf'
FROM PLATFORM 'Linux IA (32-bit)';
可以在源或者目标库上通过RMAN完成转换,(更多细节请参看RMAN文档)。可用于并行来加快这一进程,如果用户的表空间中包含多个数据文件。
我们需要通过在源数据库执行以上的select查询获得平台的名称
2.2.4. 导入元数据和插入表空间
* 运行RepManager丢弃目标库(如目标数据已经安装EM网格存储)
注:ORACLE_HOME指到OMS的ORACLE_HOME
$ cd ORACLE_HOME/ sysman/admin/emdrep/bin
$ RepManager repository_host repository_port repository_SID -sys_username password_for_sys_account -action drop
* Run pre import steps to create sysman user and grant privs on target database. All these steps need to be run as sys user
Note: ORACLE_HOME refers to the OMS ORACLE_HOME
$ cd ORACLE_HOME/ sysman/admin/emdrep/sql/core/latest/admin
Connect to the Repository Database as sysdba
SQL> @admin_create_tablespaces.sql
SQL> @admin_create_repos_user.sql
SQL> @admin_pre_import.sql
Note: For first 2 scripts, we need to provide input arguments when prompted or you can provide them on command line for example:
SQL> admin_create_tablespaces.sql MGMT_TABLESPACE
/mgmt.dbf MGMT_ECM_DEPOT_TS
/mgmt_ecm_depot1.dbf MGMT_TABLESPACE
/mgmt.dbf
SQL> @admin_create_repos_user.sql sysman MGMT_TABLESPACE TEMP CENTRAL ON
* Drop MGMT_TABLESPACE and MGMT_ECM_DEPOT_TS
Note: This must be done through SQL*Plus from the Repository database ORACLE_HOME
Connect to the Repository database as sysdba user
SQL> drop tablespace mgmt_tablespace;
SQL> drop tablespace mgmt_ecm_depot_ts;
* Invoke Data Pump utility to plug the set of tablespaces into the target database.
impdp DUMPFILE=ttsem102.dmp DIRECTORY=data_pump_dir
TRANSPORT_DATAFILES=/d14/em10g/oradata/em102/mgmt.dbf,/d14/em10g/oradata/em102/mgmt_ecm_depot1.dbf
When prompts provide system username and password
* Import other objects (packages, procedures, functions etc)
impdp CONTENT=METADATA_ONLY DUMPFILE=data_pump_dir:postexp.dmp LOGFILE=data_pump_dir:postexp.log
当提示时:提供系统的用户名和密码
2.2.5。迁移后的步骤
*将所有用户的表空间读写模式
注:这必须从存储数据库ORACLE_HOME中通过SQL*PLUS实施
SQL> alter tablespace MGMT_TABLESPACE read write;
SQL> alter tablespace MGMT_ECM_DEPOT_TS read write;
* Please refer to Section 3 Post-Migration EM-specific Activities
2.3 使用Export/Import
如果源和目标数据库是10G之前的班会,那么导入、导出是跨平台移动数据库的唯一选项。
对于导入/导出性能改善,为BUFFER和RECRDLENGTH设置更高的值。不要导出到NFS,因为它会大大减慢过程。
可以使用直接路径以提高性能。注意:因为EM使用VPD,传统模式在ORACLE只是被指定才使用
此外,用户运行export应该有EXEMPT ACCESS POLICY权限去导出所有行,则用户被排除因为VPD策略的执行。SYS总是免征VPD或ORACLE LABEL安全策略的执行。无论是导出模式,应用程序或实用工具,用于从数据库中提取数据
我们在使用AL32UTF8字符集的数据库导入/导出将面临下面有关的BUG
Bug 3863821 - EXPORT CORRUPTS DATA IN AL32UTF8
2.3.1 准备导入/导出
* Mgmt_metrics_raw分区检查
SQL> select table_name,partitioning_type type,
partition_count count, subpartitioning_type subtype from
dba_part_tables where table_name = 'MGMT_METRICS_RAW'
如果MGMT_METRICS_RAW有超过3276个分区,请参阅BUG 4376351。这个BUG在10.2中被修复。在导入/导出之前,旧分区将被丢弃 来避免这个问题。这也将加快导入/导出的过程。
丢弃旧分区——运行EXEC emd_maintenance.partition_maintenance(这需要光标OMA和设置ob_queue_processes为0当丢弃分区时)。请参阅456101.1: Grid Control Repository: Everything you Wanted to Know About Partition Maintenance in 10g Repository
避免BUG4376351的解决方法,是用传统模式导出mgmt_metrics_raw
这只在丢弃分区没有执行的情况下是需要的,注:强烈建议丢弃旧分区。
*关闭OMS 实例 并为迁移做准备
关闭OMS,设置作业queue_processes为0并且用命令删除dbms作业
注:ORACLE_HOME指到OMS的ORACLE_HOME
$cd $ORACLE_HOME/sysman/admin/emdrep/sql/core/latest/admin
Connect to the Repository database as sysdba user
SQL> alter system set job_queue_processes=0;
connect sysman/
SQL> @admin_remove_dbms_jobs.sql
2.3.2 执行export
在执行export之前,确认NLS_LANG 变量和数据库字符集相同,举例而言,在运行此查询:
SQL> select value from nls_database_parameters where PARAMETER='NLS_CHARACTERSET';
VALUE
----------------------------------------
WE8ISO8859P1
Then NLS_LANG environment variable should be set to AMERICAN_ AMERICA. WE8ISO8859P1
* Export data
exp full=y constraints=n indexes=n compress=y file=fullem102_1.dmp log=fullem102exp_1.log
Provide system username and password when prompted.
Verify the log file and make sure that no characterset conversion happens (this line should not be present in log file possible charset conversion)
* Export without data and with constraints
exp full=y constraints=y indexes=y rows=n file=fullem102_2.dmp log=fullem102exp_2.log
在提示时输入系统用户名和密码
2.3.3 执行import
在执行import之前,确定NLS_LANG变量和数据库字符集相同。
* 运行RepManager丢弃目标存储库(如果目标数据库已经安装了EM网格存储库)
注:ORACLE_HOME指OMS的ORACLE_HOME
$ cd ORACLE_HOME/ sysman/admin/emdrep/bin
$ RepManager repository_host repository_port repository_SID -sys_password password_for_sys_account -action drop
* Pre-create the tablespaces and the users in target database
Note: ORACLE_HOME refers to the OMS ORACLE_HOME
$ cd ORACLE_HOME/ sysman/admin/emdrep/sql/core/latest/admin
Connect to the Repository Database as sysdba
SQL> @admin_create_tablespaces.sql
SQL> @admin_create_repos_user.sql
SQL> @admin_pre_import.sql
For first 2 scripts, we need to provide input arguments when prompted or you can provide them on command line for example
SQL> @admin_create_tablespaces.sql MGMT_TABLESPACE
/mgmt.dbf MGMT_ECM_DEPOT_TS
/mgmt_ecm_depot1.dbf MGMT_TABLESPACE
/mgmt.dbf
SQL> @admin_create_repos_user.sql sysman MGMT_TABLESPACE TEMP CENTRAL ON
* Import data:
$ imp constraints=n indexes=n FROMUSER=sysman TOUSER=sysman buffer=2097152 file=fullem102_1.dmp log=fullem102imp_1.log
* Import without data and with constraints:
$ imp constraints=y indexes=y FROMUSER=sysman TOUSER=sysman buffer=2097152 rows=n ignore=y file=fullem102_2.dmp log=fullem102imp_2.log
验证日志文件,并确保没有发生字符集转换(this line should not be present in log file possible charset conversion)
2.3.4. Post-import EM Steps
* Please refer to Section 3 Post-Migration EM-specific Activities
3。迁移后的EM的具体活动
以下的EM的具体步骤,应进行迁移后 -
* SYSMAN使用模式,重新编译所有无效的对象
注:ORACLE_HOME指OMS的ORACLE_HOME
$ cd $ORACLE_HOME/sysman/admin/emdrep/sql/core/latest/admin
Connect with SQL*Plus to the Database Repository with SYSMAN
SQL> @admin_recompile_invalid.sql
请参阅附注372706.1:网格控制信息:如何重新编译无效的SYSMAN的对象?
* 然后对重新编译无效的运行之后的插件,创建同义词,创建其他用户,激活VPD策略,列包:
注:ORACLE_HOME指OMS的ORACLE_HOME
$ cd $ORACLE_HOME/sysman/admin/emdrep/sql/core/latest/admin
Connect with SQL*Plus to the Database Repository with SYSMAN
SQL> @admin_create_synonyms.sql
SQL> @admin_post_import.sql
脚本admin_post_import.sql会提示你3个参数。请提供如下答案:
- EM_SQL_ROOT: $ORACLE_HOME/sysman/admin/emdrep/sql for
- EM_REPOS_USER: SYSMAN
- EM_TEMP_TABLESPACE_NAME: MGMT_TABLESPACE
注意:受admin_post_import.sql创建的用户将有相同的密码作为用户名。
检查无效对象:比较源和目标模式的无效和计数的差异
*当执行admin_post_import.sql后 下面的队列将不被启用因为BUG6349035 必须手动启动运行
注意:Note: This must be done through SQL*Plus from the Repository database ORACLE_HOME
If Grid Control version is 10.2.0.3, enable following queues:
SQL> connect sysman/
SQL> exec DBMS_AQADM.START_QUEUE( queue_name=> 'MGMT_TASK_Q');
SQL> exec DBMS_AQADM.START_QUEUE( queue_name=> 'MGMT_PAF_RESPONSE_Q');
SQL> exec DBMS_AQADM.START_QUEUE( queue_name=> 'MGMT_PAF_REQUEST_Q');
SQL> exec DBMS_AQADM.START_QUEUE( queue_name=> 'MGMT_LOADER_Q');
If Grid Control version is 10.2.0.4, additionally enable following queue as well:
SQL> connect sysman/
SQL> exec DBMS_AQADM.START_QUEUE( queue_name=> 'MGMT_NOTIFY_INPUT_Q' );
If Grid Control version is 10.2.0.5, enable following queues (For 10.2.0.5, the queues mentioned for 10.2.0.3.0 are enabled as part of admin_post_import.sql):
SQL> connect sysman/
SQL> exec DBMS_AQADM.START_QUEUE( queue_name=> 'MGMT_NOTIFY_INPUT_Q' );
SQL> exec DBMS_AQADM.START_QUEUE(queue_name => 'MGMT_ADMINMSG_BUS');
SQL> exec DBMS_AQADM.START_QUEUE(queue_name => 'MGMT_HOST_PING_Q');
* Please check for context using following query:
SQL> connect sysman/
SQL> select * from dba_context where SCHEMA='SYSMAN';
If any of following context is missing, create them using
SQL> connect sysman/
SQL> create or replace context storage_context sing storage_ui_util_pkg;
SQL> create or replace context em_user_context sing setemusercontext;
*分区管理
在必要情况下,检查、创建分区,使得OMS不会遇到加载不存在分区的问题(This problem can come only if there are gap of days between export and import)
SQL> exec emd_maintenance.analyze_emd_schema('SYSMAN');
This will create all necessary partitions up to date.
*提交EM DBMS的工作:
重置回原来的值并重新提交EM DBMS工作JOB_QUEUE_PROCESSES
注:ORACLE_HOME指OMS的ORACLE_HOME
$ cd $ORACLE_HOME/sysman/admin/emdrep/sql/core/latest/admin
Connect to the Repository database as sysdba user
SQL> alter system set job_queue_processes=10;
SQL> connect sysman/
SQL> @admin_submit_dbms_jobs.sql
* Update OMS properties and startup OMS:
- Take a backup of the /sysman/config/emoms.properties
- Update emoms.properties to reflect the migrated repository:
oracle.sysman.eml.mntr.emdRepConnectDescriptor
- Update host name, port with the correct value and start the OMS.
- The above steps should be performed on all the OMS connecting to the repository database.
* Relocate Management Services and Repository target
如果Management Services和储存库目标需要迁移到一个目标主机,删除旧的"Management Services and Repository"。并以一样的名字"Management Services and Repository"添加运行在新的机器上。
*运行以下的SQL来验证目标库已经激活仓库收集:
SQL> SELECT
target_name,
metric_name,
task.task_id,
task.interval,
task.error_message,
trunc((mgmt_global.sysdate_utc-next_collection_timestamp )/1440) delay
from mgmt_collection_metric_tasks mtask,
mgmt_collection_tasks task,
mgmt_metrics met,
mgmt_targets tgt
where met.metric_guid = mtask.metric_guid AND
tgt.target_guid = mtask.target_guid AND
mtask.task_id = task.task_id(+) AND
met.source_type > 0 AND
met.source != ' '
AND tgt.target_type='oracle_emrep'
ORDER BY mtask.task_id;
在源和目标数据库的查询结果应该是相同的,如果你发现有任何在目标数据库失踪的集合,
运行以下来计划他们在目标数据库:
SQL> DECLARE
traw RAW(16);
tname VARCHAR2(256);
ttype VARCHAR2(64);
BEGIN
SELECT target_name, target_type, target_guid
INTO tname, ttype, traw
FROM mgmt_targets
WHERE target_type = 'oracle_emrep';
mgmt_admin_data.add_emrep_collections(tname,ttype,traw);
END;
/
迁移数据库和数据库监听目标:
- 从已经配置emcli的机器,从旧的机器重新配置存储仓库目标到新的数据库机器。
emcli relocate_targets -src_agent="
<3872><3872>