文档解释
ORA-31660: metadata filter name can not be defaulted
Cause: A null metadata filter name was supplied.
Action: Fix the call to specify a metadata filter name.
ORA-31660: metadata filter name can not be defaulted
该错误由Oracle数据库引擎引发,表明尝试默认元数据过滤器名称失败。该错误通常是由于操作系统在创建元数据过滤器时存在问题。
官方解释
ORA-31660:可以在ORACLE文档中找到该信息:
ORA-31660: 通常,欲导出的dbms_metadata.set_filter的转换器的名称不能为null或为空字符串。必须指定有效的转换器/过滤数据
常见案例
该错误最常见的解决方案是检查请求引发ORA-31660错误时所输入的元数据过滤器/转换器名称,以确保是否正确指定了元数据过滤器/转换器名称,特别是当涉及自定义转换器/过滤器时。
一般处理方法及步骤
1、检查是否安装了转换器/过滤器
可以使用以下查询来检查安装的转换器/过滤器:
SELECT * FROM DBA_METADATALOADERS;
2、检查参数设置
可以使用以下查询检查dbms_metadata.metadataloader参数的设置:
SELECT name,value FROM V$PARAMETER WHERE name LIKE ‘dbms_metadata.metadataloader%’
3、更新dbms_metadata.metadataloader参数
当发现dbms_metadata.metadataloader参数尚未设置正确时,可以使用以下语句更新:
ALTER SYSTEM SET dbms_metadata.metadataloader = ‘value’ scope=spfile;
其中,”value”是要设置为过滤器/转换器名称的值。
4、重新启动数据库实例
最后,记得重新启动数据库实例,以便对dbms_metadata.metadataloader参数进行反映。