Thread:Project:Support desk/ORA-24344: success with compilation error when installing 1.19.1

Basic info:

mediawiki-1.19.1

PHP 5.4 with OCI8 and oracle instant client 11.2

Oracle 11g (11.2)

Red Hat EL 5.5

During installation of mediawiki-1.19.1, I received the following errors. Any help is appreciated.

Setting up database... done

Creating database user... done

Creating tables...A database query syntax error has occurred. This may indicate a bug in the software. The last attempted database query was:

/*$mw$*/ CREATE OR REPLACE PROCEDURE duplicate_table(p_tabname IN VARCHAR2, p_oldprefix IN VARCHAR2, p_newprefix IN VARCHAR2, p_temporary IN BOOLEAN) IS e_table_not_exist EXCEPTION; PRAGMA EXCEPTION_INIT(e_table_not_exist, -00942); l_temp_ei_sql VARCHAR2(2000); l_temporary BOOLEAN := p_temporary; BEGIN BEGIN EXECUTE IMMEDIATE 'DROP TABLE ' || p_newprefix || p_tabname || ' CASCADE CONSTRAINTS PURGE'; EXCEPTION WHEN e_table_not_exist THEN NULL; END; IF (p_tabname = 'SEARCHINDEX') THEN l_temporary := FALSE; END IF; IF (l_temporary) THEN EXECUTE IMMEDIATE 'CREATE GLOBAL TEMPORARY TABLE ' || p_newprefix || p_tabname || ' ON COMMIT PRESERVE ROWS AS SELECT * FROM ' || p_oldprefix || p_tabname || ' WHERE ROWNUM = 0'; ELSE EXECUTE IMMEDIATE 'CREATE TABLE ' || p_newprefix || p_tabname || ' AS SELECT * FROM ' || p_oldprefix || p_tabname || ' WHERE ROWNUM = 0'; END IF; FOR rc IN (SELECT column_name, data_default FROM user_tab_columns WHERE table_name = p_oldprefix || p_tabname AND data_default IS NOT NULL) LOOP EXECUTE IMMEDIATE 'ALTER TABLE ' || p_newprefix || p_tabname || ' MODIFY ' || rc.column_name || ' DEFAULT ' || SUBSTR(rc.data_default, 1, 2000); END LOOP; FOR rc IN (SELECT REPLACE(REPLACE(DBMS_LOB.SUBSTR(DBMS_METADATA.get_ddl('CONSTRAINT', constraint_name), 32767, 1), USER || '"."' || p_oldprefix, USER || '"."' || p_newprefix), '"' || constraint_name || '"', '"' || p_newprefix || constraint_name || '"') DDLVC2, constraint_name FROM user_constraints uc WHERE table_name = p_oldprefix || p_tabname AND constraint_type = 'P') LOOP l_temp_ei_sql := SUBSTR(rc.ddlvc2, 1, INSTR(rc.ddlvc2, 'PCTFREE') - 1); l_temp_ei_sql := SUBSTR(l_temp_ei_sql, 1, INSTR(l_temp_ei_sql, ')', INSTR(l_temp_ei_sql, 'PRIMARY KEY') + 1) + 1); IF nvl(length(l_temp_ei_sql), 0) > 0 THEN EXECUTE IMMEDIATE l_temp_ei_sql; END IF; END LOOP; IF (NOT l_temporary) THEN FOR rc IN (SELECT REPLACE(DBMS_LOB.SUBSTR(DBMS_METADATA.get_ddl('REF_CONSTRAINT', constraint_name), 32767, 1), USER || '"."' || p_oldprefix, USER || '"."' || p_newprefix) DDLVC2, constraint_name FROM user_constraints uc WHERE table_name = p_oldprefix || p_tabname AND constraint_type = 'R') LOOP IF nvl(length(l_temp_ei_sql), 0) > 0 AND INSTR(l_temp_ei_sql, 'PRIMARY KEY') = 0 THEN EXECUTE IMMEDIATE l_temp_ei_sql; END IF; END LOOP; END IF; FOR rc IN (SELECT REPLACE(REPLACE(DBMS_LOB.SUBSTR(DBMS_METADATA.get_ddl('INDEX', index_name), 32767, 1), USER || '"."' || p_oldprefix, USER || '"."' || p_newprefix), '"' || index_name || '"', '"' || p_newprefix || index_name || '"') DDLVC2, index_name, index_type FROM user_indexes ui WHERE table_name = p_oldprefix || p_tabname AND index_type NOT IN ('LOB', 'DOMAIN') AND NOT EXISTS (SELECT NULL FROM user_constraints WHERE table_name = ui.table_name AND constraint_name = ui.index_name)) LOOP l_temp_ei_sql := SUBSTR(rc.ddlvc2, 1, INSTR(rc.ddlvc2, 'PCTFREE') - 1); l_temp_ei_sql := SUBSTR(l_temp_ei_sql, 1, INSTR(l_temp_ei_sql, ')', INSTR(l_temp_ei_sql, '"' || USER || '"."' || p_newprefix || '"') + 1) + 1); IF nvl(length(l_temp_ei_sql), 0) > 0 THEN EXECUTE IMMEDIATE l_temp_ei_sql; END IF; END LOOP; FOR rc IN (SELECT REPLACE(REPLACE(DBMS_LOB.SUBSTR(DBMS_METADATA.get_ddl('INDEX', index_name), 32767, 1), USER || '"."' || p_oldprefix, USER || '"."' || p_newprefix), '"' || index_name || '"', '"' || p_newprefix || index_name || '"') DDLVC2, index_name, index_type FROM user_indexes ui WHERE table_name = p_oldprefix || p_tabname AND index_type = 'DOMAIN' AND NOT EXISTS (SELECT NULL FROM user_constraints WHERE table_name = ui.table_name AND constraint_name = ui.index_name)) LOOP l_temp_ei_sql := rc.ddlvc2; IF nvl(length(l_temp_ei_sql), 0) > 0 THEN EXECUTE IMMEDIATE l_temp_ei_sql; END IF; END LOOP; FOR rc IN (SELECT REPLACE(REPLACE(UPPER(DBMS_LOB.SUBSTR(DBMS_METADATA.get_ddl('TRIGGER', trigger_name), 32767, 1)), USER || '"."' || p_oldprefix, USER || '"."' || p_newprefix), ' ON ' || p_oldprefix || p_tabname, ' ON ' || p_newprefix || p_tabname) DDLVC2, trigger_name FROM user_triggers WHERE table_name = p_oldprefix || p_tabname) LOOP l_temp_ei_sql := SUBSTR(rc.ddlvc2, 1, INSTR(rc.ddlvc2, 'ALTER ') - 1); IF nvl(length(l_temp_ei_sql), 0) > 0 THEN EXECUTE IMMEDIATE l_temp_ei_sql; END IF; END LOOP; END;

from within function "DatabaseOracle::doQuery". Database returned error "24344: ORA-24344: success with compilation error".

Backtrace:


 * 1) 0 /fast/apache22/0/htdocs/ws0/w/includes/db/DatabaseOracle.php(337): DatabaseOracle->reportQueryError('ORA-24344: succ...', 24344, '/*$mw$*/? CREAT...', 'DatabaseOracle:...')
 * 2) 1 /fast/apache22/0/htdocs/ws0/w/includes/db/DatabaseOracle.php(1031): DatabaseOracle->doQuery('/*$mw$*/? CREAT...')
 * 3) 2 /fast/apache22/0/htdocs/ws0/w/includes/db/Database.php(3100): DatabaseOracle->sourceStream(Resource id #31, false, false, 'DatabaseBase::s...')
 * 4) 3 /fast/apache22/0/htdocs/ws0/w/includes/installer/DatabaseInstaller.php(169): DatabaseBase->sourceFile('/fast/apache22/...')
 * 5) 4 /fast/apache22/0/htdocs/ws0/w/includes/installer/OracleInstaller.php(251): DatabaseInstaller->createTables
 * 6) 5 [internal function]: OracleInstaller->createTables(Object(OracleInstaller))
 * 7) 6 /fast/apache22/0/htdocs/ws0/w/includes/installer/Installer.php(1389): call_user_func(Array, Object(OracleInstaller))
 * 8) 7 /fast/apache22/0/htdocs/ws0/w/includes/installer/WebInstallerPage.php(1142): Installer->performInstallation(Array, Array)
 * 9) 8 /fast/apache22/0/htdocs/ws0/w/includes/installer/WebInstaller.php(254): WebInstaller_Install->execute
 * 10) 9 /fast/apache22/0/htdocs/ws0/w/mw-config/index.php(50): WebInstaller->execute(Array)
 * 11) 10 /fast/apache22/0/htdocs/ws0/w/mw-config/index.php(18): wfInstallerMain
 * 12) 11 {main}