如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!
诗檀软件专业数据库修复团队
服务热线 : 13764045638 QQ号:47079569 邮箱:[email protected]
目的
——-
本文说明了使用元数据导入/导出的Oracle流实例化过程,并说明实例化的scn在目标站点何时不会被更新。
元数据导出/导入在表已经存在于两个站点,且在这些表中的复制数据在两个站点是一致的情况下使用。
范围与应用
——————-
在DBA 配置并实施Oracle Stream 时用作参考。
SCN实例化的目的
—————————-
一个数据库对象的实例化SCN控制包含对数据库对象更改的哪些LCR被一个应用进程忽略和哪些LCR被一个应用程序使用。如果对源数据库的数据库对象的LCR提交的SCN小于或等于在目标数据库的数据库对象的实例化SCN数据库,则在目标数据库中的应用进程丢弃discard LCR。否则,该应用程序应用LCR。
当你为实例化准备对象(表,schema或数据库)时,你执行的过程记录了每个对象和任何实例化从属对象的最低SCN。 一个对象的最低SCN后续的SCN可用于实例化对象。一旦实例化准备好了对象,则你可以使用导入和导出工具来完成实例,如本文中所示,或使用Note:222815.1
所示SET_<level>_INSTANTIATION_SCN中的SET_<level>_INSTANTIATION_SCN程序。
使用元数据导出/导入初始化表
————————————————-
如果你使用 DBMS_STREAMS_ADM.procedures 来配置你的捕获进程的规则,则实例化已经准备好了对象。
查询 DBA_CAPTURE_PREPARED_SCHEMA 或 DBA_CAPTURE_PREPARED_DATABASE 或DBA_CAPTURE_PREPARED_TABLES 来验证被实例化的对象。
这取决于你创建的规则的类型。
COLUMN table_owner FORMAT a12
COLUMN table_name FORMAT a20
SELECT * FROM DBA_CAPTURE_PREPARED_TABLES;
Step 1)
which copies the data as well as the structure
and instantiation information, or you can perform a meta-data only export. If
you perform a metadata only export, it is up to the DBA to guarantee that the
data at each site is consistent. A metadata only export uses the same options
as an instantiation export, but also uses ROWS=N to prevent the data from being
copied.
步骤1)
在数据库对象为实例化准备好后,你就可以执行导出。导出可以在数据库,用户或表级别完成,看哪个最对应被实例化 数据库对象。你可以执行一个实例化导出,它复制数据,结构以及实例的信息,或者你也可以执行仅元数据的导出。如果你执行仅元数据的导出,则由DBA保证在每个站点的数据是一致的。仅元数据的导出使用与实例化导出相同的选项,同时还有ROWS = N,以防止数据被复制。
在源站点对表执行导出的例子:
exp oe/[email protected] FILE=source.dmp TABLES=orders ROWS=n \
INDEXES=n CONSTRAINTS=n OBJECT_CONSISTENT=y
步骤2)
导入元数据到目标数据库中。
如果STREAMS_INSTANTIATION = Y,则被导入的对象会被设置实例化SCN。STREAMS_CONFIGURATION参数被默认设为Y。该参数用于导入流配置到目标数据库。在使用导出和导入进行备份和恢复时,此参数只能被设为Y。由于我们正在使用导出和导入执行实例化,这个参数需要被设为N。
在目标站点执行导入的例子:
imp oe/[email protected] FILE=source.dmp FULL=y IGNORE=y COMMIT=y \
STREAMS_INSTANTIATION=y STREAMS_CONFIGURATION=n \
LOG=streams_imp.log
步骤3)
在导入站点,当导入完成时,检查日志文件是否有错误。当成功导入完成后,检查数据字典
查看的实例化信息
COLUMN source_database HEADING SOURCE_DB FORMAT a20
COLUMN source_object_owner HEADING S_OWNER FORMAT a15
COLUMN source_object_name HEADING S_OBJ_NAME FORMAT a15
COLUMN source_object_type HEADING S_OBJ_TYPE FORMAT a10
SELECT * FROM DBA_APPLY_INSTANTIATED_OBJECTS;
问题
——-
如果你已成功实例化一个目标站点,并希望在目标站点提高实例化SCN,你可以在目标站点再次实例化表,从在源站点准备实例化的对象开始。
然而,如果在执行导入的目标站点的数据库对象已存在的一个非空实例化SCN,则导入不更新该数据库对象的实例化SCN。
修正
—
Bug:2666080 Fixed: 10g
WORKAROUND
———-
实例化SCN 应被手动设置。
参见 Note:222815.1 Instantiate Tables by Manually Setting the Instantiation SCN
附加信息
———————-
RMAN 实例化仅从10g以上受支持。
Note:336266.1 10gR1 Streams New Features ii. Additional Ways To Perform Instantiations
除了原始导出/导入,你可以使用Data Pump导出/导入,可传输表空间,及RMAN来执行流实例化。
相关文档
—————–
Oracle9i Streams Release 2 (9.2)
Note:222815.1 Streams Instantiate Tables by Manually Setting
the Instantiation SCN
Note:429543.1 Purpose of Instantiation in Streams Environment
Note:550955.1 Instantiating Objects Using Original Export/Import and
Data Pump Export/Import – Example
Leave a Reply