Database cross-schema publishing

I’m experiencing difficulty publishing to an Oracle table that is not in my database user account’s own schema.

I’ve tried creating public and private synonyms to the table, and neither of those work… I still get “Table or view does not exist”

I’ve been forbidden to create any views or modify the table structure in any way.

user: cmspub
target schema: inv
target table: lookup_values

$db.origin = “CMSPUB”
$db.parent = “LOOKUP_VALUES”

according to my DBA, there are no statements actually gettign executed before the java exception is thrown… this tells me that there may be some sort of check to see if a table exists before even attempting the query. It also appears that the origin value is prepended to the tablename, regardless of whether you specify a different schema with the table name… at one point, my app tried to create a table named “CMSPUB.INV.LOOKUP_VALUES”

Does anyone have any suggestions?

Sam,

It sounds to me like you are encountering a known issue that Rhythmyx cannot be installed to a non-default schema. The ID is RX-11367. It is currently scheduled for the next major release following version 6.6.

RLJII

Bob,

He’s talking about database publishing here, not Rhythmyx itself.

Sam,

Does JNDI see the database (that is, can you use the JNDITest JSP)?

Dave

I’m afraid that I don’t know what JNDITest.jsp is or how to get to it.

All I know is that when i use PL/SQLdev to log in to the CMSPUB schema under the cmspub username (in the target database that I am publishing to), i can select, insert, update and delete items in the INV.LOOKUP_VALUES table.

I’ve tried to use the following combinations of $db.origin and $db.parent values:

“”, “INV.LOOKUP_VALUES” - this was invalid… origin cannot be empty.
“INV”, “LOOKUP_VALUES” - this resulted in a security exception… insufficient privileges… might work if i had DBA-level access, but i don’t and have been told I will not get it.
“CMSPUB”, “INV.LOOKUP_VALUES” - table or view does not exist
“CMSPUB”, “LOOKUP_VALUES” - table or view does not exis

In the ORACLE databse, the table exists as INV.LOOKUP_VALUES. I have a public synonym of LOOKUP_VALUES and a private synonym of CMSPUB.LOOK_VALUES.

I’m seriously at a loss of why this isn’t working. The 4th try (above) should have accessed the table through the private synonym. Why it isn’t, I cannot tell.

Sam,

In the Rhythmyx Implementation Guide, Step 6 of the procedure in the topic “Creating a Datasource for Your Target Database” describes how to access and use the JNDITest.jsp page. Step 6 is on p. 366; the procedure begins on p. 363.

RLJII

JNDITest.jsp returns:

Testing bound jdbc resources:[ul][li]ATM1 OK[]RhythmyxData OK[]DVM1 OK[*]QAM1 OK[/ul][/li]

My DBA is telling me that the forrowing statement is what’s causing the error:

analyze table CMSPUB.LOOKUP_VALUES compute statistics;

is there a way to prevent table analysis?

Further clarification:

I am no longer even attempting to access the table through the INV schema… simply to use the CMSPUB schema (which i log into). However since the CMSPUB.LOOKUP_VALUES name is actually a synonym instead of a real table, then the ANALYZE TABLE command fails.

I tried searching through the entire “combined” documentation and the only reference to “analyze” referred to analyzing a website to determine what content types one should create… unhelpful in this case.

Is there a setting that can be changed to turn off this command? If so, how do i get to it, where is it stored, and what value do i need to assign to it to prevent this analyze command?

Many thanks,
– Sam Rushing

Sam,
Are you guys no longer replicate cmspub schema to INV ?
As far as I remember this was done on purpose so you only publish to your own schema CMSPUB, and INV is being populated for read only or write/delete by SE’s only.
Have there been some changes to target DB’s?- if ves, or if there was any upgrade to Oracle or some DB migrations to new hw or similar things - they (DBA’s) may have missed two settings for CMSPUB login - where the DB scripts are not restoring settings correctly when rebuilding the DB.
Check DB publishing docs - I don’t remember exactly, but CMSPUB has to be in CREATE group and other one - check DB security tree or check with Alex Furman (Principal DBA)

Hope this helps,
Mike

Thanks for your suggestions, Mike. Percussion developers have provided me with a pre-release patch candidate which addresses this issue and allows me to use table synonyms as publishing targets. It essentially doesn’t try to load the table metadata (i.e. analyze the table) if the template’s table description says that it may not create or alter the table schema.

This has addressed my needs.

As to the concerns you raised: these are pre-existing tables in the INV schema. Nothing has changes with regard to any other tables and their replication.