FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » FUDforum » FUDforum Installation Issues » Installaton fails with oracle db (installer stops with SQL error: 4098: ORA-04098)
Show: Today's Messages :: Polls :: Message Navigator
Switch to threaded view of this topic Create a new topic Submit Reply
Installaton fails with oracle db [message #166489] Thu, 22 December 2011 11:22 Go to next message
ThomasF is currently offline  ThomasF   Germany
Messages: 6
Registered: December 2011
Karma: 0
Junior Member
Hi,

i tried all the day to install version 3.0.3 on a solaris-system with an underlying oracle-database (11gr2). While trying to create the database-tables, the installer stops with a

---
Failed to load seed data into table def_msg:
Query: INSERT INTO fud30_msg_store (data) VALUES ('Congratulations! You have successfully installed FUDforum and are well on your way to creating a vibrant community that you and your members can enjoy for years to come.

To get you started, please read the documentation on our wiki and report any problems on the support forum at fudforum.org. You are also welcome to join us on irc.freenode.net in the FUDforum channel.

Login and head over to the Admin Control Panel to start configuring your forum.

Thanks for using our software.

Enjoy!
The FUDforum team
')
SQL error: 4098: ORA-04098: Trigger 'FUDFORUMUSER.FUD30_MSG_STORE_ID_TRG' ist ungultig und konnte nicht neu bestatigt werden @ INSERT INTO fud30_msg_store (data) VALUES ('Congratulations! You have successfully installed FUDforum and are well on your way to creating a vibrant community that you and your members can enjoy for years to come.

To get you started, please read the documentation on our wiki and report any problems on the support forum at fudforum.org. You are also welcome to join us on irc.freenode.net in the FUDforum channel.

Login and head over to the Admin Control Panel to start configuring your forum.

Thanks for using our software.

Enjoy!
The FUDforum team
')
---

Does anyone have an idea, how i can come arround this?

Thanks for your help - Thomas

Re: Installaton fails with oracle db [message #166491 is a reply to message #166489] Thu, 22 December 2011 11:39 Go to previous messageGo to next message
naudefj is currently offline  naudefj   South Africa
Messages: 3771
Registered: December 2004
Karma: 28
Senior Member
Administrator
Core Developer
Please run:
SQL> show errors trigger FUDFORUMUSER.FUD30_MSG_STORE_ID_TRG
and
SQL> alter trigger FUDFORUMUSER.FUD30_MSG_STORE_ID_TRG compile;

Aw: Re: Installaton fails with oracle db [message #166495 is a reply to message #166491] Fri, 23 December 2011 08:47 Go to previous messageGo to next message
ThomasF is currently offline  ThomasF   Germany
Messages: 6
Registered: December 2011
Karma: 0
Junior Member
thanks for your immediate response. In the meantime we tried your sequences with the following results (i've tried to translate the german result-messages, with no garantuee on correctness :):

SQL> alter trigger FUDFORUMUSER.FUD30_MSG_STORE_ID_TRG compile;

Warnung: Trigger wurde mit Kompilierungsfehlern geƤndert.
(Warning: trigger was changed with compiling errors)


SQL> show errors trigger FUDFORUMUSER.FUD30_MSG_STORE_ID_TRG

Fehler bei TRIGGER FUDFORUMUSER.FUD30_MSG_STORE_ID_TRG:
(Error with TRIGGER ...)

LINE/COL ERROR
-------- -----------------------------------------------------------------
1/7      PL/SQL: SQL Statement ignored
1/14     PL/SQL: ORA-02289: Sequence ist nicht vorhanden.
(Sequence does not exist)



While everything fails, our DB-Admin tried to define the missing sequences manually, with
SQL> select object_name, status from user_objects where object_type='TRIGGER' and status='INVALID' order by 1;

OBJECT_NAME                                                                                                                      STATUS
-------------------------------------------------------------------------------------------------------------------------------- -------
FUD30_FORUM_READ_ID_TRG                                                                                                          INVALID
FUD30_MSG_REPORT_ID_TRG                                                                                                          INVALID
FUD30_MSG_STORE_ID_TRG                                                                                                           INVALID
FUD30_POLL_OPT_ID_TRG                                                                                                            INVALID
FUD30_POLL_OPT_TRACK_ID_TRG                                                                                                      INVALID

SQL> create sequence fud30_forum_read_id_seq increment by 1 start with 1 nocache nocycle
SQL> create sequence fud30_msg_report_id_seq increment by 1 start with 1 nocache nocycle
SQL> create sequence fud30_msg_store_id_seq increment by 1 start with 1 nocache nocycle
SQL> create sequence fud30_poll_opt_id_seq increment by 1 start with 1 nocache nocycle
SQL> create sequence fud30_poll_opt_track_id_seq increment by 1 start with 1 nocache nocycle


and compiled the invalid triggers again after having done this. But the error occured again, everytime i started the install-procedure again.

Again, thanks for your help, and a merry christmas for you and your family.

Aw: Re: Installaton fails with oracle db [message #166563 is a reply to message #166495] Tue, 17 January 2012 11:20 Go to previous messageGo to next message
ThomasF is currently offline  ThomasF   Germany
Messages: 6
Registered: December 2011
Karma: 0
Junior Member
i finally succeeded in getting the forum to run on an oracle database. I don't know, if i'm unique with my kind of problems, in case i'm not the following lines may be helpfull.

First of all my environment: I did this on a Solaris 10 machine, with PHP 5.2.17 (compiled against the oracle 11.2 instant-client) and Oracle 11gr2.

1) It might be a good idea to run install.php from commandline instead using the webbased installation. Don't forget to create an install.ini, because you'll have to restart install.php several times and it will be boring to type values for root-directories, etc. again and again.

2) The first time i ran into problems was the moment, the installation routine tries to import "seed data" in your database. The installation was aborted at

CREATE TABLE fud30_fl_3 (id INT);

with

ORA-00911 invalid character

The invalided character turned out as the suffixed ";" in the create-statement shown above. You can come arround this by deleting it before executing the statement, i.e. insert an appropriate "str_replace" as its shown in the following

if ($q) {
try {
$q = str_replace(';', '', $q);
q($q);
} catch (Exception $e) {

3) The next thing which happens is the "ORA-04098: Trigger"-error described in my first message. I'm not a database expert, and therefore i don't know for what these triggers are needed, but during the installation it seems that there were created 3-4 invalid ones. The good news are, that you (for me, my colleague the database-expert Smile can repair the triggers manually (and also build the corresponding sequences). The bad news are, that the triggers will be destroyed again, once you'll restart the installation routine.

The only workarround i've found for this was to add some kind of read-statment before the "import seed-data"-block, i.e.

$handle = fopen("php://stdin","r");
echo "Press Return to continue...\n";
$name = fgets($handle, 255);

/* Import seed data. */

to stop the installation-routine, repair all defect triggers, create all missing sequences and continue with the installation afterwards.

4) Don't quail - there is already light at the end of the tunnel Wink The last thing to solve is

ORA-01400: cannot insert NULL

while the installation attempts to add the 3 webcrawlers Google, Yahoo and Bing. The error is thrown at

$uid = db_li('INSERT INTO '. (...)'\')', $ef, 1);

and i assume $ef contains the irritating NULL, but at last i didn't find out which table i could reconfigure, allowing NULL-values to be inserted.

While, inside our forum, we don't allow anonymous-actions and self-registration only against a central LDAP-directory, i decided to comment the whole block out, living my future forum-live without webcrawlers.

Having done this, the installation finished without further interrupts, and up to now the forum works fine for me. Nevertheless you should note the following post-install-notes:

- If you want so send e-mails by forum-functions, you'll have to fix the following inside email.php.t: Replace

if (!($email = q_singleval('SELECT email FROM {SQL_TABLE_PREFIX}users WHERE alias='. _esc(htmlspecialchars($_
POST['tx_name'])) .' AND (users_opt & 16) > 0')))

by

if (!($email = q_singleval('SELECT email FROM {SQL_TABLE_PREFIX}users WHERE alias='. _esc(htmlspecialchars($_PO
ST['tx_name'])) .' AND bitAND(users_opt, 16) > 0')))

while Oracle denies the '&' for bit-shifting, using the function 'bitAND' instead. Don't forget to rebuild your themes afterwards.

- In case you want umlauts in the names and descriptions of your forums, make sure to set correct values for NLS_LANG and LANG in your Apache environment.

Have fun - Thomas

[Updated on: Tue, 17 January 2012 11:21]

Report message to a moderator

Re: Aw: Re: Installaton fails with oracle db [message #166732 is a reply to message #166563] Fri, 17 February 2012 06:12 Go to previous message
naudefj is currently offline  naudefj   South Africa
Messages: 3771
Registered: December 2004
Karma: 28
Senior Member
Administrator
Core Developer
Excellent feedback, thanks!
I'll try to get all/most of your fixes into the next release.
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: fud_smtp.inc missing
Next Topic: Help needed for getting the forum on my website
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Sat Nov 09 17:47:15 GMT 2024

Total time taken to generate the page: 0.02734 seconds