我们dbms_datapump
用于在不同服务器之间复制数据或快速设置新模式。
但是,导入统计信息通常需要很长时间,并且还有一个缺点是模式统计信息在导入后被锁定。
所以我试图找到一种跳过导入统计数据的方法。
根据 Metalink Doc ID 1392981.1,这应该可以使用:
dbms_datapump.metadata_filter(handle => l_job_handle,
name => 'EXCLUDE_PATH_LIST',
value => '''STATISTICS''');
但是,当我尝试这样做时,我收到“ORA-39001:无效参数值”错误。
我还尝试了在不同地方找到的各种其他格式:
dbms_datapump.metadata_filter(handle => l_job_handle,
name => 'EXCLUDE_PATH_LIST',
value => 'STATISTICS');
dbms_datapump.metadata_filter(handle => l_job_handle,
name => 'EXCLUDE_PATH_EXPR',
value => 'like ''%/TABLE/STATISTICS/TABLE_STATISTICS''');
dbms_datapump.metadata_filter(handle => l_job_handle,
name => 'EXCLUDE_PATH_EXPR',
value => 'like ''%STATISTICS%''');
但它们都返回 ORA-39001。
我正在使用的版本是:
Oracle Database 11g 企业版 11.2.0.4.0 - 64 位生产
操作系统是 Windows Server,但这也发生在 Linux 安装上。
有什么想法可以在通过DBMS_DATAPUMP
API 导入(或导出)期间跳过统计信息吗?
你需要使用: