Schema referential Integrity and Portal
Please bear with me - I'm relatively new to Oracle and Portal. When using Portal forms to access schemas how does it handle referential integrity. Does portal handle this through the database object interface or is this done when building the schema and portal simply works with whatever schema attributes already exist? i.e. will it be perfectly comfortable with existing triggers and sequences and keys?
It doesn't look like it would be easy to use portal forms where there are sub-group tables e.g. different categories of people - sales, support, customers etc
Could anyone comment please?
We had some performance issues with the retrochange log enabled. We ended up making sure the retrochage log database was in its own disk (we had it in the same physical volume/volume group, etc, in AIX). Everything is working okay now.
Similar Messages
-
DRI (declarative referential integrity) and speed improvements.
EDITED: See my second post--in my testing, the relevant consideration is whether the parent table has a compound primary key or a single primary key. If the parent has a simple primary key, and there is a trusted (checked) DRI relation
with the child, and a query requests only records from the child on an inner join with the parent, then sql server (correctly) skips performing the join (shown in the execution plan). However, if the parent has a compound primary key, then sql server
performs a useless join between parent and child. tested on sql 2008 r2 and denali. If anyone can get sql server NOT to perform the join with compound primary keys on the parent, let me know.
ORIGINAL POST: I'm not seeing the join behavior in the execution plan given in the link provided (namely that the optimizer does not bother performing a join to the parent tbl when a query needs information from the child side only AND
trusted DRI exists between the tables AND the columns are defined as not null). The foreign key relation "is trusted" by Sql server ("is not trusted" is false), but the plan always picks both tables for the join although only one is needed.
If anyone has comments on whether declarative ref integrity does produce speed improvements on certain joins, please post. thanks.
http://dinesql.blogspot.com/2011/04/does-referential-integrity-improve.htmlI'm running sql denali ctp3 x64 and sql 2008 r2 x64, on windows 7 sp1. I've tested it on dozens of tables, and I defy anyone to provide a counter-example (you can create ANY parent table with two ints as a composite primary key, and then a child table using
that compound as a foreign key, and create a trusted dri link between them and use the above queries I posted)--any table with a compound foreign key relation as the basis for the DRI apparently does not benefit from referential integrity between those tables
(in terms of performance). Or to be more precise, the execution plan reveals that sql server performs a costly and unnecessary join in these cases, but not when the trusted DRI relation between them is a single primary key. If anyone has seen a different result,
please let me know, since it does influence my design decisions.
fwiw, a similar behavior is true of sql server's date correlation optimization: it doesn't work if the tables are joined by a composite key, only if they are a joined by a single column:
"There must be a single-column
foreign key relationship between the tables. "
So I speculate, knowing absolutely nothing, that there must be something deep in the bowels of the engine that doesn't optimize compound key relations as well as single column ones.
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[parent](
[pId1] [int] NOT NULL,
[pId2] [int] NOT NULL,
CONSTRAINT [PK_parent] PRIMARY KEY CLUSTERED
[pId1] ASC,
[pId2] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
CREATE TABLE [dbo].[Children](
[cId] [int] IDENTITY(1,1) NOT NULL,
[pid1] [int] NOT NULL,
[pid2] [int] NOT NULL,
CONSTRAINT [PK_Children] PRIMARY KEY CLUSTERED
[cId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Children] WITH CHECK ADD CONSTRAINT [FK_Children_TO_parent] FOREIGN KEY([pid1], [pid2])
REFERENCES [dbo].[parent] ([pId1], [pId2])
ON UPDATE CASCADE
ON DELETE CASCADE
GO
/* the dri MUST be trusted to work, but it doesn't work anyway*/
ALTER TABLE [dbo].[Children] CHECK CONSTRAINT [FK_Children_TO_parent]
GO
/* Enter data in parent and children */
select c.cId FROM dbo.Children c INNER JOIN Parent p
ON p.pId1 = c.pId1 AND p.pId2 = c.pId2;
/* Execution plan will be blind to the trusted DRI--performs the join!*/ -
Integration of outlook express with R/3 and Portal
Hi,
I have seen a new system setup where we can assign security group to a user in Outlook express and it will give some authorization in R/3 and Portal. I am first time seeing this concept .Can anybody pls explain me how to create the security group in outlook express and method of integrating it with both R/3 and Portal.
I appreciate all your help.
Thanks in advanceHello Daniel,
You can look on help.sap.com for some pointers on this.
Here is a good link to start with:
http://help.sap.com/saphelp_nw70/helpdata/EN/48/05c93e4af7664ee10000000a114084/frameset.htm
Regards,
Siddhesh -
Outlook express integration with R/3 and Portal
Hi,
I have seen a new system setup where we can assign security group to a user in Outlook express and it will give some authorization in R/3 and Portal. I am first time seeing this concept .Can anybody pls explain me how to create the security group in outlook express and method of integrating it with both R/3 and Portal.
I appreciate all your help.
Thanks in advanceHi ,
Thanks for the link..
but its not the one I have been looking for ragarding the mentioned scenario.
!)A User will be present in both outlook express and SAP system ,when we add a security group (SG *) in outlook expressthe user will get authorization on Portal screen.
2) After assigning a role in R/3 ,we should add the security group to that use for some access permission.
Could u pls explain me how the concept could be and Integration method.
Thanks in advance
I appreciate all your help. -
Regd : Integration Between Portal Layer And Process Layer
Hi Experts,
I have a query regarding the integration between Portal layer and the process layer in CE. How does the interaction happens or what is the process behind the integration of these two layers. I was going through some help documents at help.sap.com.
But from there I could not get much of information. So need your inputs on the same.
Thanks
Pradipta Kumar MishraHi Pradipta,
If you are referring to Guided Procedures as the "Process Layer", then you have one of the three options that I can think of:
1) Deliver the GP processes via UWL in CE Portal
2) Deliver the GP processes via UWL in EP (if your organization has one)
3) Delvier the GP processes via GP Runtime in CE Portal
Of the three mentioned above, option 2 is preferred since your business users get to access their tasks via a single interface. But you need a EP. If that's not the case, I would suggest Option 1. For integrating GP and UWL, please refer to following link.
http://help.sap.com/saphelp_nwce10/helpdata/en/43/ef06a7860c7061e10000000a1553f6/frameset.htm
Thanks!
- Rao -
OiD and Portal Integration (WWC-41400)
Outside of the steps below what can be done to integrate Portal and OiD ?
Thanks in Advance !
This is a new install of Oid and Portal.
Portal is installed using ias10221 in a 8.1.7.2 database on Sun Solaris 2.7 w/patches.
Used Configuring Oracle 9iASPortal for LDAP Authentication. White Paper.
December 2000. To defined OID/Portal steps.
I've reviewed
Note: 133123.1 WWC-41400 trying to login to Portal using LDAP authentication
http://otn.oracle.com/products/iportal/htdocs/portal_faq.htm selecting from dba_libraries shows these items.
PORTAL30_SSO AUTH_EXT
/u01/app/oracle/product/8.1.7.2/lib/ssoxldap.so
Y VALID
SYS AUTH_EXT
/u01/app/oracle/product/8.1.7.2/lib/ssoxldap.so
Y VALID
PORTAL30 AUTH_EXT
/u01/app/oracle/product/8.1.7.2/lib/ssoxldap.so
Y VALID
The file exists:
-rw-r--r-- 1 oracle dba 8324 Dec 5 14:37
/u01/app/oracle/product/8.1.7.2/lib/ssoxldap.so
cmrapp:/ >echo $TNS_ADMIN
/u01/app/oracle/product/8.1.7.2/network/admin
cmrapp:/ >tnsping extproc_connection_data
TNS Ping Utility for Solaris: Version 8.1.7.2.0 - Production on 10-DEC-2001
(c) Copyright 1997 Oracle Corporation. All rights reserved.
Attempting to contact (ADDRESS=(PROTOCOL=IPC)(KEY=extprocO))
OK (30 msec)
Here is the listener.ora
LISTENER2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = cmrapp.ssd.census.gov)(PORT = 1526))
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = extprocO))
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(PROGRAM = extprocO)
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/8.1.7.2)
(ENVS =
'LD_LIBRARY_PATH=/u01/app/oracle/product/8.1.7.2/ctx/lib:/u01/app/oracle/product/8.1.7.2/lib:/u01/app/oracle/product/8.1.7.2/bin:/u01/app/oracle/product/8.1.7.2/ctx/bin')
(SID_DESC =
(GLOBAL_DBNAME = oiddev)
(ORACLE_HOME = /u01/app/oracle/product/8.1.7.2)
(ENVS = 'TNS_ADMIN=/u01/app/oracle/product/8.1.7.2/network/admin')
(SID_NAME = oiddev)
TNS_ADMIN is set to /u01/app/oracle/product/8.1.7.2/network/admin in the
apachectl script and at the OS level.
Additionally
The Apache/Apache/logs and Apache/Jserv/logs are clear and no invalid database objects.
I also looked within the Portal30 schema for errors, but found none.
SQL> select * from wwv_rw_errors$;
no rows selected
SQL> select * from wwv_errors$;
no rowsHello Lorenzo,
Currently the procedure on how to do this can be found at:
http://technet.oracle.com/products/iportal/pdf/conf_ldap.pdf
9iAS v2 will be in production sometime in the next month or two.
The procedure for setting this up will be more siplified in 9iAS
v2.
Thanks,
Jay -
What is mean by Referential Integrity? Where do we use it and Why..?
Hi All,
Can anybody tell me, What is mean by Referential Integrity? Where do we use it and Why..?
Regards,
Kiran TelkarDear Kiran Telkar ,
you might be knowing that generally refrential integrity is concerned with nothing but primary key and foriegn key relationship. Generally we use to check uniqueness of records.
In sap we use it during flexible updation...to check the data records of transaction data and master data.
In other words, to check before loading of data, that whether loading will be properly or not.
we will check(tick) the option in the maintainance of the
<b>infosource--> communication structure</b>
it will be better if you clearly mention your problem, if further help is needed.
hope this will help you.
Regards
vinay
<i>please assign points to all who will help you.</i> -
Integration Oracle Portal 10g and PeopleSoft 9
Hi all,
I need to accomplish the integration of Oracle Portal 10g with features of PeopleSoft 9, where some functions of PeopleSoft 9 will be accessed via Oracle Portal 10g, and to access them the users must be authenticated.
Anyone have any clue or idea how can I do this?
ThanksI just met this problem too,and I found there are http server both under ASinfrasture and portal home,I guess they confused each other.I wonder the solution too.
-
Maintaining referential integrity using MS SQL server
Some time ago I posted a question relating to the following extension:
<extension vendor-name="kodo" key="jdbc-delete-action" value="null"/>
Kodo generates a "on delete set null" constraint for this, however ms sql
server does not support this. Since I don't want to matain this referential
integrity in my java code (meaning as soon as an object is deleted, setting
all references to it to null), I tried to implement a custom dictionary with
the default ms sql server solution for this problem: creating a trigger by
overriding the "getAddForeignKeySQL" method. This works fine when creating a
database from scratch using the schema tool, however, when updating an
existing databasebase schema, this is ignored, thereby not solving the
problem of having the database maintenance automated. I suppose I have to
write code for checking whether the trigger already exists. Browsing through
the code, I couldn't figure out how this is done. Can someone give me
suggestions on how to do this (and if this takes a lot of effort).
I also would like to know whether solarmetric has intentions to deal with
this problem in their framework. To be honest, I was quite surprised that
Kodo doesnt take care of this, leaving my database in an inconsistent state.
kind regards,
Christiaan"Abe White" <[email protected]> schreef in bericht
news:caaunu$ecj$[email protected]..
>
I also would like to know whether solarmetric has intentions to dealwith
this problem in their framework. To be honest, I was quite surprisedthat
Kodo doesnt take care of this, leaving my database in an inconsistentstate.
>
Well, I would say that you're the one leaving the database in an
inconsistent state by not keeping your object model consistent :)From the manual:
6.2.2.12. jdbc-delete-action
If a field holds a relation to another object, you can use the
jdbc-delete-action field extension to control the delete action of the
database foreign key that models this relation. Possible values are:
null: Null the column(s) of this foreign key when the related record is
deleted.
It does mean that if the primary key record is deleted, all foreign keys to
the record are set to null, right? Since the jdo framework is about database
independence, not writing sql code (and of course lots more;) and Kodo
supports ms sql server, I would have expected that kodo to set the foreign
key to null if the object is deleted. Even if I do know sql server supports
does not support a 'on delete set null' sql statement;)
>
We have no plans to create triggers at this time.
What do you mean when you say "it is ignored" when you're updating?
Exactly what tool are you running, what actions are you running with, is
the foreign key extension present, and what is the outcome?Like I said, I wrote code in the "getAddForeignKeySQL" in the dictionary, so
a trigger is created when creating the database in the workbench (by running
the schematool). However, if the table already exists, but not the trigger,
refreshing the database from the workbench does not call the
getAddForeignKeySql to add the trigger to the table. -
Export: ". exporting post-schema procedural objects and actions"
Hi all,
I am trying to do a full database export from the server and an import to another PC.
I tried exporting recieved the following warnings:
. exporting synonyms
. exporting views
. exporting referential integrity constraints
. exporting stored porcedures
. exporting operators
. exporting indextypes
. exporting bitmap, functional and extensible indexes
. exporting posttables actions
. exporting triers
. exporting matrializes views
. exporting snapshot logs
. exporting job queues
. exporting refresh grups and children
. exporting dimensions
. exporting post-schema procedural objects and actions
EXP-00008: ORACLE error 903 encountered
ORA-00903: invalid table name
ORA-06512: at "SYS.DBMS_RULE_EXP_RL_INTERNAL", line 311
ORA-06512: at "SYS.DBMS_RULE_EXP_RULES", line 142
ORA-06512: at line 1
EXP-00083: The previous problem occurred when callig SYS.DBMS_RULES.schema_info_exp
. exporting user history table
. exporting defualt and system auditing options
. exporting statistics
Export terminated successfully with warnings.
I been through the forum and was advised to run the catalog.sql, then rerun the exp command.
I did as suggested but the export hangs at the last line:
Export donw in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
About to export the entire database ...
. exporting tablespace definitions
. exporting profiles
. exporting user definitions
. exporting roles
. exporting resource costs
. exporting rollback segment definitions
. exporting database links
. exporting sequence numbers
. exporting directory aliases
. exporting context namespaces
. exporting foreign function library names
. exporting PUBLIC type synonyms
. exporting private type synonyms
. exporting object type definitions <- hangs here
Is there a way to resolve this? Or should I approach another method?
Any of your help is greatly appreciated. Thank you.
Thanks and Regards
SanI am also trying to figure all the stuffs out. I try to answer as much as I know. Thanks.
What is the export utility version?
Using exp, "Export: Release 9.2.0.1.0"
What is the import utility version?
Using imp, "Import: Release 9.2.0.1.0"
What version of Oracle database are you trying to export?
9.2.0.1.0
Into what version of Oracle database are you trying to import?
9.2.0.1.0
What are the database character sets and values of environment variable 'NLS_LANG' for each case?
Not sure about this but I didnt change any parameters of the character set, should be
WE8MSWIN1252
Using WinXP OS, <- quite problematic, having a hard time trying to configure. :( -
Tables with referential integrity
Hi All,
I am generating scripts to insert data from one schema to another. something like this:
Insert into schemaA.table1
select *from schemaB.table1;There are many tables with referential integrity in the schema. how can generate the scripts in an order so that there
won' t be any referential integrity issue....
Thanks.
AJRHi,
Thanks.
I tried, but it gives me 6 sets of data.
SELECT TABLE_NAME--, LTRIM(SYS_CONNECT_BY_PATH(TABLE_NAME, '=>'),'=>') TABLE_NAME_PATH,CONSTRAINT_NAME, R_CONSTRAINT_NAME, LEVEL
FROM USER_CONSTRAINTS,ALL_OBJECTS B
--WHERE LEVEL > 1
WHERE
USER_CONSTRAINTS.OWNER = B.OWNER AND
USER_CONSTRAINTS.TABLE_NAME = B.OBJECT_NAME AND
B.OBJECT_TYPE = 'TABLE'
CONNECT BY R_CONSTRAINT_NAME = PRIOR CONSTRAINT_NAME
ORDER BY TABLE_NAME;AJR -
Distributed referential integrity
Hi, I have a question. If I am on the wrong forum please direct me as I could not find a specific forum for distrituted databases and these may be a application development question.
I am implementing a simple distributed database application. At this point I am only concerned with creating two tables each on a different server. For simplicty I will name them table1 and table2. This would be the schema if the tables were not distributed and were located on the same server.
CREATE TABLE table1 (
table1_id NUMBER CONSTRAINT table1_pk PRIMARY KEY
CREATE TABLE table2 (
table2_id NUMBER,
table1_id NUMBER,
CONSTRAINTtable2_pk PRIMARY KEY (table2_id, table1_id),
CONSTRAINT table2_fk FOREIGN KEY (table1_id) REFERENCES table1(table1_id)
I have referred to the documentation in both Oracle® Database Administrator's Guide 10g Release 2 (10.2) and Oracle Database Application Developer's Guide. I know that I cannot use declarative referential integrity but how can I distribute the tables so that I can be sure that when I insert a row into table2, I can check to see if there is a matching row in table1 for table1_id?Realistically, I expect that you need to reconsider your architecture.
It does not make sense to check for a matching row in table1 in a remote database while inserting data into table2 in a local database. The best case scenario would be that every insert into table2 would incur the overhead of a network round-trip plus the cost of querying the table in the remote database. If the network went down or if either of the two databases went down, the application would fail, which generally defeats the purpose of a distributed application. Plus, there would be all sorts of concurrency issues (i.e. I delete a row, but before I commit you query the row, see that it exists, and insert a child row. I commit, leaving your row orphaned).
Assuming you really need a distributed architecture, you would want to replicate table1 to both the local and remote nodes. You would then declare referential integrity constraints between your local copy of table1 and table2 (as well as between table1 and table2 on the remote database, assuming you want table2 data available there as well). Your replication process (preferrably using Streams but potentially using multi-master materialized views instead) would then have to be coded to deal with errors because of the asynchronous nature of replication (i.e. to notice that database1 deleted a parent row that you just inserted a child row for and resolve the conflict appropriately).
Justin -
Application Integrator and SSO by SAPLOGONTICKET
After the docs (e.g. "How to Use the Application Integrator") and blobs mainly focus on user mapping, I wonder how to configure SAPLOGONTICKET in com.sap.portal.appintegrator.sap.Generic efficiently.
Does combining "URL template" and "URL template fraction for SSO" give a chance for sending a Login Ticket to another server (distinct domain)? Or is the "authentication" part in "URL template" useless for Login Tickets (as stated in <a href="https://www.sdn.sap.com/irj/sdn/thread?threadID=21141">Thread 21141</a>)?
Thanks
GerhardHi Gerhard,
If your system is set to log on with SAP logon tickets for authentication, you can specify an authentication template in parameter SSO2Template, e.g. MYSAPSSO2=<Request.SSO2Ticket>. That's all it takes on portal side to configure the SAP Logon Ticket when using application integrator. .
If you want to use SAP Logon Ticket for multiple domains (portal server and backend server are in different domains) you have to take special care. Have a look into the <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/a0/88a340fa432b54e10000000a1550b0/frameset.htm">SAP Library</a> to find out how to configure logon tickets for multiple domains.
Hope I could help!
Best regards,
Martin -
Midtier removal of Forms and Reports and Portal failing
Hi
I am having an issue removing the midtier of a forms/Report/BI and portal midtier,
The deconfigtool.pl hang and I am recieving the following message in a deconfigportal.log.
Invoking OPCA in DEINSTALL mode with the following arguments :
Install Mode : DEINSTALL
Portal Schema : portal
Connect String : cn=orcl,cn=oraclecontext
OID Host : hresources
OID Port : 389
OID Admin DN : cn=orcladmin
Use SSL to OID : N
Drop mode : midtier
STEP 1 : Deleting Portal Partner application
Parameters passed to SSO registration tool :
param0:-oracle_home_path param1:D:\Oracle\CoreMid param2:-config_sdk_papp param3:TRUE param4:-papp_schema param5:portal param6:-old_lsn_token param7:hresources.ncirl.ie param8:-update_mode param9:DELETE param10:-papp_password param11:**** param12:-pappDBConnect param13:cn=orcl,cn=oraclecontext param14:-ssoDBConnect param15:cn=orcl,cn=oraclecontext param16:-pass param17:**** param18:-schema param19:orasso_pa
-DinstallType=
-DoldOracleHome=
-DoldOHSUser=SYSTEM
Check D:\Oracle\CoreMid\sso\log\ssoreg.log for details of this registration
SSO registration tool failed. Please check the log file D:\Oracle\CoreMid\sso\log\ssoreg.log, correct the problem and re-run the tool.
STEP 2 : Deleting Portal DAD
STEP 3 : UDDI deinstallation
STEP 4 : Ultrasearch deinstallation
Anyone know how to get around this.And what does D:\Oracle\CoreMid\sso\log\ssoreg.log say?
Thanks
Shail -
Single directory Server for Messaging and Portal
We are trying to unify our directory services.
At present, there two directory servers, one for iPlanet messaging 5.2 and another for Portal server 6.0.
Messaging's Directory server is v5.1 and Portal's Directory server is v5.2. Their BaseDN is same.
Now, What we are planning to do is as below.
1. LDIF everything from Msgr Directory and import into Portal's Directory.
2. Point Msg Server to the Portal's directory.
But, we are not sure what to export or how to tell messaging server to look at the Portal's Directory. Any help will be greatly appreciated!!!
Thanks
SriniWhat you are trying to do is non-trivial.
Setting the ldap server for user and groups on the mail server is easy enough -- look at the output of configutil and you will find the values of local.ugldap*
define the values you need to change.
e.g.:
local.ugldapbasedn
local.ugldapbindcred
local.ugldapbinddn
local.ugldaphost
local.ugldapport
etc.
These are all listed in the messaging reference manual.
You need to ensure that the schemas of the two apps. match. For example, if you are using schema 1 for mail and schema 2 for the portal (quite likely), there will be a lot more work to do on the directory than simply moving the user entries accross and merging them.
Unless you have done this sort of thing before, or feel very comfortable and knowlegable about how the messaging server in partuicular works with LDAP, I would suggest that you seriously consider getting help from Sun Professonal Services.
Maybe you are looking for
-
Font substitution issues when creating PDF from PS file in Distiller
I am not sure if this post should go under Distiller Server, but it dont know if there is a difference between Distiller X and Distiller Server. Context: I am trying to convert postscript files on my PC that originate from a unique Mac built program
-
Servicegen issue with binding webservice.jar
Hey, I am trying to build a ejb webservice using ant and servicegen. When I run it, it blows up and gives me a ton of binding errors. The problem is the binding errors are on files from the webservices.jar not from my jar. What is wrong with my scrip
-
There are 1000 records in the employee table.I need to display 50 records each time by the order of the employees' names. In order to get the employee records from the 51st to the 100nd in the table, I tried to use ROWNUM. However, the following quer
-
Cannot make changes that stay to color palette for an Apple shape
I really hope someone can help me. This seems like it should be simple so clearly i am doing something wrong. On my menu, I have used an Apple shape (line highlight 64x4) as a button. The problem is that I cannot change the color of the button to the
-
Upconverting Stereo sound to Surround 5.1 or higher?
Does something of the sort exist for linux? I'm just having a hard time living without the "CMSS-3D" feature of the windows soundblaster drivers. They also have an alternative called DTS:Connect which includes DTS:Neo PC (which i could use) and DTS:I