[EJB\JBOSS\Oracle10g] Deployment perikelen

Pagina: 1
Acties:

  • PhoneTech
  • Registratie: Mei 2000
  • Laatst online: 02-05 20:58
Ik zit echt met een verekkes raar probleem.

Ik heb twee Oracle 10g servers; Een met versie 10.1.0.2.0 en een met versie 10.1.0.3.0.

Vervolgens heb ik een J2EE app in een ear file. De datasource zit in een apart bestand.
In de datasource geef ik het adres van de DB server aan.

Beide oracle servers hebben dezelfde tablespace, gebruikers en rechten maar zijn afzonderlijk geconfigureerd. Versie 10.1.0.2.0 staat op een P4 dev servertje en 10.1.0.3.0 staat op een double opteron production server.

Als ik de applicatie deploy met de datasource voor de dev server, dan deployed hij netjes en maakt ook alle tables aan. Log4J logged ook alle CMP calls en can ook de create methods zien.

Maar als ik deploy op de production server log, dan krijg ik deployment fouten:
code:
1
2
3
4
5
14:49:26,359 DEBUG [ExperimentPriorityHistory] Executing SQL: ALTER TABLE EXPERIMENTPRIORITYHISTORY ADD CONSTRAINT FK_EXPERIMENTPRIORITYH_DKOQX1 FOREIGN KEY (priorityFK) REFERENCES PRIORITY (priorityID)
14:49:26,390 WARN  [ExperimentPriorityHistory] Could not add foreign key constraint: table=EXPERIMENTPRIORITYHISTORY
14:49:26,406 ERROR [EntityContainer] Starting failed jboss.j2ee:jndiName=ejb/ArtefactLocal,service=EJB
org.jboss.deployment.DeploymentException: Error while adding foreign key constraint; - nested throwable: (java.sql.SQLException: ORA-00942: table or view does not exist
)


Als ik de alter table code bekijk, dan zie ik dat hij een reference wil maken naar de table Priority. Maar deze is nog niet aangemaakt.

Eerder in het log bestand zie ik de volgende regels:
code:
1
2
3
4
5
6
14:57:04,562 DEBUG [Priority] Insert Entity SQL: INSERT INTO PRIORITY (priorityID, name, description) VALUES (?, ?, ?)
14:57:04,562 DEBUG [Priority] Entity Exists SQL: SELECT COUNT(*) FROM PRIORITY WHERE priorityID=?
14:57:04,562 DEBUG [Priority] entity-command: [commandName=default,commandClass=class org.jboss.ejb.plugins.cmp.jdbc.JDBCCreateEntityCommand,attributes={}]
14:57:04,562 DEBUG [Priority] Remove SQL: DELETE FROM PRIORITY WHERE priorityID=?
14:57:04,578 DEBUG [Priority] Table 'PRIORITY' already exists
14:57:04,578 DEBUG [Priority] Indices for table PRIORITYnot created as table existed

let niet op de tijd, log file is meerdere kerlen aangemaakt

Dit snap ik dus niet. Hij heeft amper een create table priority uitgevoerd en toch vind hij de table :S maar in sql plus staat hij er niet bij...

Heeft iemand nog tips, of vergelijkbare problemen? wordt een beetje gek hier...

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Misschien is 'priority' een reserved word geworden in die nieuwe versie of bestaat er een public synonym met die naam.

Who is John Galt?


  • PhoneTech
  • Registratie: Mei 2000
  • Laatst online: 02-05 20:58
justmental schreef op vrijdag 13 mei 2005 @ 15:09:
Misschien is 'priority' een reserved word geworden in die nieuwe versie of bestaat er een public synonym met die naam.
Ik heb inmiddels de table naam priority omgezet naar pmdpriority. Even leek het er op dat het ging lukken, maar krijg nu weer een hoop ander gezeik :S

Verwijderd

Is het sowieso niet handig dat je dezelfde versie gebruikt om mee te ontwikkelen als waarmee je in productie gaat? Anders kun je er natuurlijk donder op zeggen dat het een keer mis moet gaan.

  • PhoneTech
  • Registratie: Mei 2000
  • Laatst online: 02-05 20:58
Verwijderd schreef op vrijdag 13 mei 2005 @ 15:39:
Is het sowieso niet handig dat je dezelfde versie gebruikt om mee te ontwikkelen als waarmee je in productie gaat? Anders kun je er natuurlijk donder op zeggen dat het een keer mis moet gaan.
Ooit oracle geinstalleerd? Ik heb totaal geen zin om een nieuwe versie van oracle te installeren op de dev bak. Het zou nix uit moeten maken.

Ik heb ook al nieuwe tablespaces gemaakt en nieuwe users met DBA rechten, maar dat maakt ook nix uit...

  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

PhoneTech schreef op vrijdag 13 mei 2005 @ 16:01:
[...]


Ooit oracle geinstalleerd? Ik heb totaal geen zin om een nieuwe versie van oracle te installeren op de dev bak. Het zou nix uit moeten maken.

Ik heb ook al nieuwe tablespaces gemaakt en nieuwe users met DBA rechten, maar dat maakt ook nix uit...
Oracle 10G zou nochtans, volgens Oracle, op 17 minuten geïnstalleerd kunnen worden. Is dit dan niet zo?

Laat je de tabellen door je entity beans aanmaken, waarom probeer je niet een keer via een sql-scriptje al je tabellen eerst te initialiseren?

  • PhoneTech
  • Registratie: Mei 2000
  • Laatst online: 02-05 20:58
-FoX- schreef op vrijdag 13 mei 2005 @ 16:58:
[...]

Oracle 10G zou nochtans, volgens Oracle, op 17 minuten geïnstalleerd kunnen worden. Is dit dan niet zo?

Laat je de tabellen door je entity beans aanmaken, waarom probeer je niet een keer via een sql-scriptje al je tabellen eerst te initialiseren?
Oracle in 17 minuten installeren? bij een perfect geinstalleerde server waar alle juiste libs op staan zou het misschien wel kunnen, maar ik trek er toch echt een dag voor uit.

Ik laat idd alle tabellen door jboss genereren, maar misschien is dat niet meer de goede manier. Tijdens het developen vind ik het wel relaxed overigens. De applicatie deployed ook prima naar hypersonic sql btw...

Hoe kan je in jboss de sql create script laten generern vanuti de deployment descriptors?

  • PhoneTech
  • Registratie: Mei 2000
  • Laatst online: 02-05 20:58
Door uitgebreid de enterprise manager bekeken te hebben, krijg ik vaak de message:

Database Time Spent Waiting (%): Wait Class Commit

Kan het zijn dat JBoss en versie 10.1.0.3.0 een conflict hebben en daarom niet optijd committen?

Ik werk er nu omheen , door mijn dev servertje te gebruiken, maar wil echt snel de nieuwe server online hebben...

Verwijderd

PhoneTech schreef op vrijdag 13 mei 2005 @ 16:01:
[...]


Ooit oracle geinstalleerd? Ik heb totaal geen zin om een nieuwe versie van oracle te installeren op de dev bak. Het zou nix uit moeten maken.

Ik heb ook al nieuwe tablespaces gemaakt en nieuwe users met DBA rechten, maar dat maakt ook nix uit...
Nee nooit. Wel een keer DB2 geinstalleerd, was op zich ook wel een crime, dus ik begrijp je punt wel :)

Maar blijft toch dat als je het eenmaal gedaan hebt je waarschijnlijk niet meer tegen dit soort problemen aanloopt en je jezelf een hoop ellende (en tijd) bespaart.

  • PhoneTech
  • Registratie: Mei 2000
  • Laatst online: 02-05 20:58
Verwijderd schreef op dinsdag 17 mei 2005 @ 12:24:
[...]


Nee nooit. Wel een keer DB2 geinstalleerd, was op zich ook wel een crime, dus ik begrijp je punt wel :)

Maar blijft toch dat als je het eenmaal gedaan hebt je waarschijnlijk niet meer tegen dit soort problemen aanloopt en je jezelf een hoop ellende (en tijd) bespaart.
Sorry, die laatste zin begrijp ik niet helemaal...

  • KurtDB
  • Registratie: Juni 2004
  • Laatst online: 09-02 20:28
Ik ben vorige week tegen hetzelfde probleem gelopen op een jboss 4.0.1 sp1. Het probleem is dus dat hij de naam van uw EJB als tabelnaam gaat zien en daartegen een query voor je findByPrimaryKey gaat doen.

Een mogelijke workaround (die ik gebruikt heb) is dus in de jaws.xml, ejb-jar.xml en jboss.xml je EJB dezelfde naam geven als de kolom.

Je kan trouwens in de log-files duidelijk zien tegen welke tabel hij 'n query gaat uitvoeren. (zoek maar eens in je log-file naar select count(*))

  • PhoneTech
  • Registratie: Mei 2000
  • Laatst online: 02-05 20:58
KurtDB! Held! Ik ben dus niet de enige met dit probleem! Maar ik denk dat er ook iets fundamenteel mis is met de production server DB. Dat soort dingen moet je gewoon niet aan system administrators overlaten...

De logica van de deploy container snap ik ook niet echt helemaal. Eerst voert hij een select uit, en daarna gaat hij de table maken.

KurtDB -> Had je dit probleem ook bij de overgang van 10.1.0.2.0 -> 10.1.0.3.0?

  • KurtDB
  • Registratie: Juni 2004
  • Laatst online: 09-02 20:28
Aangezien mijn project is opgeleverd en stage ten einde is kan ik het niet meer op het werk testen. (hier thuis ook geen oracle voorhanden :()

Ik heb het gewoon ontwikkeld op die jboss en geen migratie gedaan naar een nieuwere versie, zodus die vraag kan ik eigenlijk niet beantwoorden. Ik kan uiteraard altijd wel vragen aan de collega's of ze eens proberen te deployen op de dev-machine op 't werk.

  • PhoneTech
  • Registratie: Mei 2000
  • Laatst online: 02-05 20:58
Nog steeds dezelfde ellende.

Server had eerst een zooi performance problemen. Deze zijn inmiddels (niet geheel naar mijn zin) opgelost.

Gister en vandaag ging het deployen nog perfect en werden de tabellen mooi aangemaakt. Echter heeft dat *$&*$ oracle er geen zin meer in en gooit het bijltje er bij neer, Weer dezelfde fouten. als in de TS aangegeven...

Iemand nog meer ellende hier mee? Ik sta op het punt een peperdure server het raam uit te flikkeren...
Pagina: 1