我们使用dbms_datapump在不同服务器之间复制数据或快速设置新模式。
然而,导入统计信息通常需要花费很长时间,而且还存在另一个缺点,即模式统计信息在导入后被锁定。
所以我想找一种方法来跳过导入统计数据。
根据Metalink Doc 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%''');但他们都带着奥拉-39001回来了。
我使用的版本是:
Oracle数据库11g企业版发布11.2.0.4.0-64位生产
操作系统是Windows,但这也发生在Linux安装上。
对于如何在导入(或导出)期间通过DBMS_DATAPUMP API跳过统计数据,有什么想法吗?
发布于 2015-04-15 14:12:07
你需要使用:
DBMS_DATAPUMP.METADATA_FILTER(l_job_handle,
'EXCLUDE_PATH_EXPR',
'IN (''STATISTICS'')');https://dba.stackexchange.com/questions/97886
复制相似问题