从Oracle XE数据库导出表时失败

时间:2017-06-06 06:21:45

标签: oracle ora-06512 expdp

我们在Docker容器上运行XE。在尝试导出表时,我收到以下错误

expdp test/test@XE tables=UserProfile directory=/tmp dumpfile=profile.dmp logfile=logger

ORA-39006: internal error
ORA-39213: Metadata processing is not available

我google了一下,发现我需要执行下面的命令但是也失败了

execute dbms_metadata_util.load_stylesheets
ERROR at line 1:
ORA-31609: error loading file "kucolumn.xsl" from file system directory
"/u01/app/oracle/product/11.2.0/xe/rdbms/xml/xsl"
ORA-06512: at "SYS.DBMS_METADATA_UTIL", line 2397
ORA-06512: at line 1

我遍历了目录,发现" xsl"缺少目录,默认情况下是否使用XE安装创建此目录,或者我们需要特定设置来获取" xsl"文件夹?

使用rpm -oracle-xe-11.2.0-1.0.x86_64.rpm安装XE。知道可能是什么问题吗?

2 个答案:

答案 0 :(得分:0)

您指定为目录的值必须是Oracle数据库目录对象,而不是文件系统上目录的值。

create directory export_directory as '/tmp';

expdp test/test@XE tables=UserProfile directory=export_directory dumpfile=profile.dmp logfile=logger

答案 1 :(得分:0)

2011年https://community.oracle.com/thread/2278841对此进行了讨论。它说您必须从正在运行的安装中复制目录$ORACLE_HOME/rdbms/xml/xsl。因此,问题似乎出在一个已知的问题上,如果您没有有效的安装,那么您很不幸。

问题似乎不仅仅限于Linux(我使用与OP相同的rpm),因为讨论中说可以正常运行的安装可能是“ 甚至一个Linux。”