Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
GoogleCodeExporter opened this issue Mar 14, 2015 · 6 comments

Comments

@GoogleCodeExporter
Copy link

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
Copy link
Author

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

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

  • Changed state: Accepted

@GoogleCodeExporter
Copy link
Author

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

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

@GoogleCodeExporter
Copy link
Author

Не воспроизводится, разбирайся, почему у 
тебя объект с именем
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

  • Changed state: WontFix

@GoogleCodeExporter
Copy link
Author

судя по всему это присходит в 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
Copy link
Author

>не экспортировать типы по имени с маской
>"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
Copy link
Author

ок, перешел на версию 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:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant