Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database Oracle SQL Developer-将视图从一个数据库复制到另一个数据库时出错_Database_Oracle_View_Oracle Sqldeveloper - Fatal编程技术网

Database Oracle SQL Developer-将视图从一个数据库复制到另一个数据库时出错

Database Oracle SQL Developer-将视图从一个数据库复制到另一个数据库时出错,database,oracle,view,oracle-sqldeveloper,Database,Oracle,View,Oracle Sqldeveloper,我正在尝试将视图从一个数据库复制到另一个数据库。我正在使用“快速DDL>保存到工作表”导出视图以生成脚本。在脚本的顶部,我得到了以下信息: "-- Unable to render VIEW DDL for object <view name> with DBMS_METADATA attempting internal generator." 有人知道我可能做错了什么吗?消息 --无法呈现具有DBMS_元数据的对象的视图DDL 提供给SQL开发人员。 这是因为他不能使用dbms_

我正在尝试将视图从一个数据库复制到另一个数据库。我正在使用“快速DDL>保存到工作表”导出视图以生成脚本。在脚本的顶部,我得到了以下信息:

"-- Unable to render VIEW DDL for object <view name> with DBMS_METADATA attempting internal generator."
有人知道我可能做错了什么吗?

消息

--无法呈现具有DBMS_元数据的对象的视图DDL

提供给SQL开发人员。 这是因为他不能使用dbms_metadata.get_ddl。 如果权限方面一切正常,很可能是由于错误类型(在executedbms_metadata.get_ddl上):


在我的例子中,问题是因为在视图中有两列具有相同的名称或别名,并且由于COL$表具有唯一的索引,其中包含对象编号和列名称,因此不允许有两列具有相同名称,即复制视图的方式。您的错误似乎与view creationHi无关,我正在使用Quick DDL>Save to worksheet生成脚本,并在第二个数据库上运行该脚本。我已经更新了这个问题以澄清问题。您使用的是SQL Developer-请确保明确说明,以便人们知道您在做什么。您说明了两个问题,无法获取脚本,但在运行所述脚本时也出现了一个错误。第一个问题可能有特权问题,让DBA授予您更高的数据字典特权,因为针对不同模式中的模式对象运行DBMS_元数据包需要一些“能力”。第二条错误消息听起来有点像数据字典被损坏了——好像数据库认为视图或其部分仍然存在。是的,我使用的是sql developer。我更新了问题以反映这一点。所以我向我的DBA提出了这个问题,他确认这个问题与我的特权有关。至于第二条错误消息,我无法发表评论,因为问题现在与我的DBA有关。谢谢你的帮助!
SQL Error: ORA-00604: error occurred at recursive SQL level 1
ORA-00001: unique constraint (SYS.I_COL1) violated
00604. 00000 -  "error occurred at recursive SQL level %s"
*Cause:    An error occurred while processing a recursive SQL statement
           (a statement applying to internal dictionary tables).
*Action:   If the situation described in the next error on the stack
           can be corrected, do so; otherwise contact Oracle Support.
 ORA-06502: PL/SQL: numeric or value error
 LPX-00210: expected '<' instead of 'n'
 ORA-06512: at "SYS.UTL_XML", line 0
 ORA-06512: at "SYS.DBMS_METADATA_INT", line 3296
 ORA-06512: at "SYS.DBMS_METADATA_INT", line 4148
 ORA-06512: at "SYS.DBMS_METADATA", line 458
 ORA-06512: at "SYS.DBMS_METADATA", line 615
 ORA-06512: at "SYS.DBMS_METADATA", line 1221
 ORA-06512: at line 1
1. enable restricted database session
2. run:
(from $ORACLE_HOME/rdbms/admin):
catnomet.sql
rmxml.sql
to remove the xml subsystem and after that: catxml
utlcxml.sql
prvtcxml.plb
catmet.sql
to reload it.