term73 / oracle-ddl2svn

Automatically exported from code.google.com/p/oracle-ddl2svn
0 stars 0 forks source link

ORA-31603: объект "SYS_PLSQL_77728_DUMMY_1" с типом TYPE не найден в схеме #33

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
oracle-ddl2svn-v1.5.1
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - Production

Export PACKAGE with TYPE 

CREATE OR REPLACE PACKAGE PKG_SPB AS
    TYPE tViewRow   IS RECORD(
                                id NUMBER(38),
                                id_parent NUMBER(38),
                                name VARCHAR2(1024),
                                is_leaf NUMBER(1));
    TYPE tViewTable IS TABLE OF tViewRow;    
END PKG_SPB; 

Exeption 

19.07.2012 19:02:34 
org.springframework.beans.factory.xml.XmlBeanDefinitionReader 
loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource 
[org/springframework/jdbc/support/sql-error-codes.xml]
19.07.2012 19:02:34 org.springframework.jdbc.support.SQLErrorCodesFactory <init>
INFO: SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, 
Oracle, PostgreSQL, Sybase]
Exception in thread "main" org.springframework.jdbc.UncategorizedSQLException: 
ConnectionCallback; uncategorized SQLException for SQL []; SQL state [99999]; 
error code [31603]; ORA-31603: объект "SYS_PLSQL_77728_DUMMY_1" с 
типом TYPE не найден в схеме "SP_MAIN"
ORA-06512: на  "SYS.DBMS_METADATA", line 4018
ORA-06512: на  "SYS.DBMS_METADATA", line 5843
ORA-06512: на  line 1
; nested exception is java.sql.SQLException: ORA-31603: объект 
"SYS_PLSQL_77728_DUMMY_1" с типом TYPE не найден в схеме 
"SP_MAIN"
ORA-06512: на  "SYS.DBMS_METADATA", line 4018
ORA-06512: на  "SYS.DBMS_METADATA", line 5843
ORA-06512: на  line 1

    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:348)
    at ru.qwazer.scheme2ddl.Dao.getPrimaryDDL(Unknown Source)
    at ru.qwazer.scheme2ddl.Dao.fillDDL(Unknown Source)
    at ru.qwazer.scheme2ddl.Worker.work(Unknown Source)
    at ru.qwazer.scheme2ddl.Main.main(Unknown Source)
Caused by: java.sql.SQLException: ORA-31603: объект 
"SYS_PLSQL_77728_DUMMY_1" с типом TYPE не найден в схеме 
"SP_MAIN"
ORA-06512: на  "SYS.DBMS_METADATA", line 4018
ORA-06512: на  "SYS.DBMS_METADATA", line 5843
ORA-06512: на  line 1

    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
    at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:837)
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:445)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191)
    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:523)
    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)
    at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1010)
    at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1185)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1275)
    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3576)
    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3620)
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1203)
    at ru.qwazer.scheme2ddl.Dao$1.doInConnection(Unknown Source)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:341)
    ... 4 more

Original issue reported on code.google.com by Michai...@gmail.com on 20 Jul 2012 at 1:56

GoogleCodeExporter commented 8 years ago
"SP_MAIN" - знакомая схема :)
Миша, привет! =) 
--
Антон Решетников

Original comment by resh...@gmail.com on 21 Jul 2012 at 9:40

GoogleCodeExporter commented 8 years ago
Привет Антон!
Оказывается это твой проект? 
Не знал! Уже давно пользусь, не первый баг 
описываю Ж)
Вижу с ораклом не завязываешь!
Где сам сейчас?  

Original comment by Michai...@gmail.com on 21 Jul 2012 at 10:42

GoogleCodeExporter commented 8 years ago
Не воспроизводится, разбирайся, почему у 
тебя объект с именем
SYS_PLSQL_77728_DUMMY_1
находится в select * from user_objects
В то время. как создаешь объект PACKAGE PKG_SPB

Original comment by resh...@gmail.com on 24 Jul 2012 at 5:44

GoogleCodeExporter commented 8 years ago
судя по всему это присходит в 11-м оракле 
когда делаем невное объявление типов

как в приведенном примере - в пакете
CREATE OR REPLACE PACKAGE PKG_SPB AS
    TYPE tViewRow   IS RECORD(
                                id NUMBER(38),
                                id_parent NUMBER(38),
                                name VARCHAR2(1024),
                                is_leaf NUMBER(1));
    TYPE tViewTable IS TABLE OF tViewRow;    
END PKG_SPB; 

причем если оприделить эти типы явно
create or replace type tViewRow    as object
(
 id NUMBER(38),
 id_parent NUMBER(38),
 name VARCHAR2(1024),
 is_leaf NUMBER(1)
)

create or replace type tViewTable  as table of tViewRow ;

то ошибок не возникает

user_objects - системная вещь и рулить что туда 
оракл засовывает не в моей власти

могу предложить при экспорте типов данных - 
не экспортировать типы по имени с маской
"SYS_PLSQL_%" - они созданы ораклом неявно и 
отдельного определения не имеют

Original comment by Michai...@gmail.com on 24 Jul 2012 at 10:26

GoogleCodeExporter commented 8 years ago
>не экспортировать типы по имени с маской
>"SYS_PLSQL_%" - они созданы ораклом неявно и 
отдельного определения не имеют

Ясно, в исключениях для выгрузки это можно 
настроить
  <util:map id="exclude_map_pattern">
        <!-- currently only '*' wildcard supported-->

    </util:map>

Original comment by resh...@gmail.com on 24 Jul 2012 at 10:59

GoogleCodeExporter commented 8 years ago
ок, перешел на версию oracle-ddl2svn-v1.5.3
прописал исключение
        <entry key="TYPE">
            <set>
                <value>SYS_PLSQL_*</value>
            </set>
        </entry>

пускаю 
java -jar scheme2ddl.jar -url sp_main/sp_main@vm-058-oradb-mgsn.mdi.ru:1521/one 
-o sheme\sp_main 
получаю
Exception in thread "main" org.springframework.jdbc.BadSqlGrammarException: 
ConnectionCallback; bad SQL grammar []; nested exception is 
java.sql.SQLException: ORA-00942: таблица или 
представление пользователя не существует

полный лог и конфиг прикладываю

Original comment by Michai...@gmail.com on 24 Jul 2012 at 1:36

Attachments: