Adding multiple schemas to a workspace
We use Oracle Applications for our ERP, and I've just had our DBA set up APEX. One of the first things I noticed, however, was that the object browser only shows the schema(s) that have been explicitly assigned to the workspace. I found in the help how to add another schema to the list (have the DBA log in to the admin page and create the new link), but it looked like there wasn't any support for adding multiple schemas at once. Since the applications use a lot of schemas (AP, AR, INV, PO, ONT, WSH, etc., etc.), it'd be great if I didn't have to have him doing all of this manually.
Suggestions?
Or do we just need to do it, secure in the knowledge that we should only have to do it a few times?
(Also, is there any way to have the object browser filter down to tables/views that the APEX user has grants on?)
Thanks,
-David
Peter,
Thanks, that gave us what we wanted. Though now I'm not sure if it's what we should actually have. After adding the schemas, we found that we could manipulate anything we wanted in those schemas (create tables, view and update data, etc.) without having to do explicit grants. This is an obvious security issue...
My first thought is to remove almost all of the schemas and create views in the APEX schema to the other tables that we're going to need, but I'm concerned that doing so will be a development and maintenance headache as our toolbase expands to include more and more of the Oracle Application tables. Is there a better solution that I'm not aware of?
-David
Similar Messages
-
Multiple schema for a (workspace) user
If I use XE and create a database user from the homepage/admin as system I get ( compared to an HTMLDB2.0 instance in an SE/EE-environment) a user with its workspace (the admin for this workspace). This user has his own schema and if he is logged in he can create application-users (HTMLDB-Users in this workspace).
(1) But how can I add more than one schema to this workspace?
I create a user TEST as system. got user TEST with schema TEST.
I have a database schema (only database schema) DEMO and want assign this so that the (htmldb)User TEST can create applications based on the schema DEMO (thats possible in HMLDB2.0 with SE/EE).Thanks dietmar -
I believed thats an restriction - but want to get an official statment from development... -> SCOTT?
I know the basic workaround and then have to consider any changes in the mixed structure.
It makes sense to have data separated in different schemas and have only one workspace for bundling different applications, because of same securityInterface,
UserInterfaceDefaults... (easy delivering for departments, customers).
If the restriction exist (for newbies makes it easier to understand htmldb&oracle),
we have to accept. -
Add multiple schemas in one workspace
Hi all,
In my apex application i have to add to schemas in one worksapce and hav to right sql query by using objects of both the schemas...
can anyony tell me how can i achieve this functionality in apex...
Thanks,
ShrutiShruti,
You can have as many schemas associated with the workspace as desired. However, there can only be one parsing schema for each application in the workspace. Are the schemas in the same DB?
If so, you can just grant all the privileges needed on the other schemas to the parsing schema. Then the parsing schema will have rights to all objects needed in the other schemas.
If they are not in the same DB, then you can use db links.
Keith Malay
www.sds-cg.com -
Using Multiple Schemas in one Application
Is it possible to have multiple schemas from the same database in one applicaiton. In APEX we have added multiple schemas to our workspace but when we create a form or report only one schema seems to be available.
Miroslav wrote:
Your application has a parsing schema. All other schemas have to give appropriate grants to it to be available to your application.Miroslay is right, if you use the INTERNAL workspace to add additional schemas to a workspace, APEX does not take care of any grants between the schemas. APEX can not know how or if you might want the schemas to interact with one another. All this does is gives the workspace the ability to utilise that schema, such as adding it as parsing schema to any applications in the workspace.
You can switch to the secondary schema in SQL Workshop and add grants from there, e.g.
grant select on SECONDARY_SCHEMA.MY_TABLE to PARSING_SCHEMA; -
Adding "data owner" schema to apex workspace provided unexpected results
Recently I added a "data owner" schema to an existing apex workspace thinking it was a god idea.
As stated...
the schema that I added was a "data owner" schema and I was only suppose to have select capability for apex reporting.
After the schema was added to the workspace I felt I had owner privs on all of the schema objects and
could create objects and insert and update table records.
Needless to say... this is something that I do not want to do with tihs particular "data owner" schema BUT...
this is something that I feel is really good.
i.e. The Object Browser and Model are some excellent examples of the apex tool. :)I would just like to remove/block the insert/update capabilty against this particular schema from my workspace.
Any ideas on how to remove the update capability from my workspace or is it even possible?thanks in advance... :)
v/r
RJonesAh, thanks I didn't see that section before.
I put the procedure details in the box; declaring the variables and the code to determine the context values
Logged in as a user and again as the schema owner (both with admin privs) I get this error back:
ORA-01031: insufficient privileges
Error ERR-1181 Unable to set VPD security context on page show.
This is my procedure:
Declare
V_COUNT NUMBER;
V_PRJ_USERNAME VARCHAR2(30);
V_USERID NUMBER;
V_PRJROLE VARCHAR2(30);
BEGIN
-- sets user name
V_PRJ_USERNAME := v('APP_USER');
V_PRJROLE := 'NO_ACCESS';
BEGIN
--gets user id from staff table
SELECT staf_id
INTO V_USERID
FROM PRJ_STAFF
WHERE staff_oracle_name = V_PRJ_USERNAME;
Select count(*)
into v_count
FROM DBA_ROLE_PRIVS
WHERE GRANTEE = V_PRJ_USERNAME
AND GRANTED_ROLE='PRJJ_GUEST_RL';
if v_count > 0 then
V_PRJROLE := 'GUEST';
end if;
Select count(*)
into v_count
FROM DBA_ROLE_PRIVS
WHERE GRANTEE = V_PRJ_USERNAME
AND GRANTED_ROLE='PRJJ_DEVELOPER_RL' ;
if v_count > 0 then
V_PRJROLE := 'DEVELOPER';
end if;
Select count(*)
into v_count
FROM DBA_ROLE_PRIVS
WHERE GRANTEE = V_PRJ_USERNAME
AND GRANTED_ROLE='PRJJ_MANAGER_RL' ;
if v_count > 0 then
V_PRJROLE := 'MANAGER';
end if;
Select count(*)
into v_count
FROM DBA_ROLE_PRIVS
WHERE GRANTEE = V_PRJ_USERNAME
AND GRANTED_ROLE='PRJJ_ADMIN_RL' ;
if v_count > 0 then
V_PRJROLE := 'ADMIN';
end if;
DBMS_SESSION.SET_CONTEXT('PRJ_SEC_PKG','USER_NAME','V_PRJ_USERNAME');
DBMS_SESSION.SET_CONTEXT('PRJ_SEC_PKG','USER_ID','V_USERID');
DBMS_SESSION.SET_CONTEXT('PRJ_SEC_PKG','USER_ROLE','V_PRJROLE');
END;
END;
Is there something wrong with my procedure?
Edited by: JodyMorin on Mar 27, 2009 6:23 AM -
Error when adding a schema to an existing workspace
I am trying to add an existing schema to my workspace, and am getting ORA-20001: Error with: GRANT EXECUTE ON DBMS_RLS TO BILLING ORA-01031: insufficient privileges. I tried logging in as sys and granting that privilege, and it worked. However, going back to the workspace, I still did not see the new schema listed.
The user and tables have all been created in the database. The BILLING schema showed up in the available schemas to add to the workspace. I have also tried adding a new schema to the workspace. The BILLING2 schema was created, but I received the same error when it tried to add it to the workspace.
Is there a grant or user that could be missing? I am using HTMLDB 2.0.
Thanks!These are the current privs for that user:
ALTER DATABASE
ALTER SESSION
ALTER USER
CREATE ANY CONTEXT
CREATE ANY DIRECTORY
CREATE CLUSTER
CREATE DATABASE LINK
CREATE DIMENSION
CREATE INDEXTYPE
CREATE JOB
CREATE LIBRARY
CREATE MATERIALIZED VIEW
CREATE OPERATOR
CREATE PROCEDURE
CREATE PUBLIC SYNONYM
CREATE ROLE
CREATE SEQUENCE
CREATE SYNONYM
CREATE TABLE
CREATE TABLESPACE
CREATE TRIGGER
CREATE TYPE
CREATE USER
CREATE VIEW
DROP ANY DIRECTORY
DROP PUBLIC SYNONYM
DROP TABLESPACE
DROP USER
EXECUTE ANY PROCEDURE
SELECT ANY DICTIONARY
SELECT ANY TABLE
UNLIMITED TABLESPACE -
Multiple schemas assigned to a workspace
I'm trying to write an app that accesses other schemas besides the apex user I'm using. I can't figure out how to assign more than one schema to a workspace. All help is sincerely appreciated
Richyou don't have to assign other schemas ... but you can access them.
Suppose you have default schema X (x is user that own that schema) in worspace, tableA is in schema A and tableB is in schema B.
Then you login as user A (that own schema A) and exceute:
grant select on tableA to X;Then you login as user B(that own schema B) and exceute:
grant select on tableB to X;Now you can as user X (whose schema is default in your workspace) select data from both tables: tableA and tableB as well.
Login as X user and execute:
select * from a.tableA;
select * from b.tableB;If you want to ommit that schema prefix in front of table names, you can as user X execute:
create synonym tableA on a.tableA;
create synonym tableB on a.tableB;Now you can execute query like:
select * from tableA;
select * from tableB;but thoise object are not in schema X but in scema A and B...
Hope this helps! The best way for other questions in this subject to place in other forum... -
One application with Multiple schemas- common application frame work
Hi All,
I am trying setup a common application frame work in apex. Please help me.
How to achieve this.
Creation of one application attached to different schemas at run time. So that my application maintaince is going to be easy instated of creating copies of same application.
More details:
1. I have one application with 100 pages pointing to a schema dev_common in one workspace APP_COMMON. I have 50 schemas with same structure of dev_common schema with different set of data ( because of large amount of data).
So I want to create one application attached to different schemas.
2. And another thing is I have 100 users, the user can work on 1 or multiple schemas ( I mean same application with different schemas attached)
Any help much appreciated.
Thanks,Thank you for the reply.
>> b) I think you have to give access rights for the dev_common and app_common to all users.
Dev_common schema is a kind of placeholder. I have 50 schemas same as dev_common because of different business requirements but the front end is same for all 50 schemas. How can we create one application used for 50 schemas instead of creating 50 applications and 50 workspaces.
Please help me. -
Help With Multiple Schemas In Multiple Environments
Dear Oracle Forum:
We have a bit of controversy around the office and I was hoping we could get some expert input to get us on the right track.
For the purposes of this discussion, we have two machines, development and production. Currently, on each machine, we have one database with multiple schemas, say, one for sales data and another for inventory. The sales data has maybe 200 tables and the inventory has another 50. About 12 times a year, once a month, we have a release and move code from dev to prod. The database is accessed by several hundred Pro*C and Pro*Cobol programs for online transaction processing.
The problem comes up when we need to have multiple development environments. If I need to work on something for May that requires the customer address field to be 50 characters and somebody else is working on something for July that requires the customer address field to be 100 characters, we can’t both function in the same schema. We have a method of configuring running programs to attach to a given schema/database. Currently, everything connects to the same place. We were told that we should not have the programs running as the owners of the schemas for some reason so we set up additional users. The SALES schema is accessed with the connect string: SALES_USER/[email protected]. (I don’t know where we got dot world from but that is not the current discussion.)
One of the guys said that we should have 12 copies of the database running, which is kind of painful to think about in my opinion. Oracle is not a lightweight product and there are any number of ancillary processes that would have to be duplicated 12 times.
My recommendation is that we have 12 schemas each for sales and inventory with 12 users each to access them. We would have something like JAN_SALES_USER, FEB_SALES_USER, etc. Each user would have synonyms set up for each of the tables it is interested in. When my program connects as MAY_SALES_USER, I could select from the customer table and I would get my 50 character address field. When the other user connects as JUL_SALES_USER, he would get his 100 character address field. Both of us would not know anything different.
Another idea that came up is to have a logon trigger that would set the current schema for that user to the appropriate base schema. When JUL_SALES_USER logs in, the current schema would be set to JUL_SALES, etc. This would simplify things by allowing us to avoid having something like 2400 synonyms to maintain (which could be automated without too much difficulty) but it would complicate things by requiring a trigger.
There are probably other ways to go about this we have not considered as yet. Any input you can give will be appreciated.
Regards,
/Bob BryanHans Forbrich wrote:
I'd rather see you with 12 schemas than with 12 databases. Unless you have lots of CPUs to spare ... and lots of cash to pay for those extra CPU licenses.
Then again, I'd take it one step further and ask to investigate the base design. There should be little reason to change the schema based on time. Indeed, from what little I know of your app, I'd have to ask whether adding a 'date' column and appropriate views or properly coded SQL statements might simplify things. Interesting. If we were to have one big Customer table with views for each month, how would we handle the case where the May people have to see 50 character address and July have to see a 100 character address field. I guess we could have MAY_ADDRESS VARCHAR2(50) and JULY_ADDRESS VARCHAR2(100) and take care to make sure that people connecting as May can only see the May columns, etc. This is simpler than multiple schemas?
I may have overly simplified things in my effort to get something down that would not require too much explanation. The big thing is that multiple people are doing development and they have to be independent of each other. If we were to drop a column for July, the May people will have trouble compiling if we don’t keep things separate. It is not a case of making the data available. The data in development is something we cook up to allow us to test. The other part is the code we compile now will be released to production one of these times. In production, there is only a need for one database.
We are moving from another database product where multiple databases are effectively different sets of files. We have lots of disk space so multiple databases were no problem. Oracle is such a powerful product; I can’t believe there is not some way to set up something similar. -
Schema Assignment to WORKSPACE
Hi,
I developed Application in one of the custom Schema.
WORSPACE : DEMOSPACE
SCHEMA : DEMO
Can i assign one more existing schema to "DEMOSPACE" like OE,SCOTT,HR..
Best Regards
Perumal Swamy.RActualy while adding schema the process is
completed.Eh? You are one confusing person. So you are already able to successfully associate another schema to your workspace?! So why in the world are we talking about that part? Why not focus on your real problem.
Creation Method: As an application on a database
table
Table / View Owner DEMO (LOV Shows only DEMO
Schema which is the Workspace owner).Clearly, you are using HTML DB Version 1.6 (that is something else you should mention up-front to avoid confusion)
That Schema dropdown on that page is supposed to show you all the schemas associated with that workspace.
If it does not, maybe your userid is restricted to access only subset of all schemas available to the workspace.
Log in as a workspace admin and go to
Home>HTML DB Workspace Administration>Manage HTML DB Users>Existing Users>Edit User for the userid that you are logging in as.
Make sure that the "Accessible Schemas (null for all)" box is blank. This will ensure that the user will have be able to build applications using any of the schemas available to the workspace. -
Invalid parsing schema for current workspace ID
I have an application that captures different SQL statements (they make use of DB links) and dynamically executes them on demand.
I use apex collections to get the result rows for the SQL and use them to both query on the UI as well as send out emails using the returned data. This is all OK and works fine.
I then added another feature to my application where I support the scheduling of the running the SQL / sending out of the emails. It uses the same logic as I use from within the application but it fails with the following error ...
Invalid parsing schema for current workspace ID
when the SQL is being used to populate the collection.
The scheduling is done using the apex plsql job scheduling package. It's as though the context that the job is running in is different from that of the application I created. The strange thing is that it can still see my tables that I created as the queries return data from my tables but for some reason seems to have an issue with the use of apex collections.
Any ideas or suggestions would be greatly appreciated.Scott,
Today the error mentioned in the last post occurred 3 times - the highest number in a single day yet. Also, to add to the dilemma, a new one occurred:
ORA-20104: create_collection_from_query_b Error:ORA-20101: Application collection exists
Knowing that the create collection process is called from a post authentication process I don't see how that the collection could exist for that session... Any ideas?
Regards,
Dan
http://danielmcghan.us
http://sourceforge.net/projects/tapigen -
Greetings,
I have a default schema which was created when the workspace was created. In addition, I added another schema within the Manage Schema to Workspace Assignments area in side the HTMLDB Administrator area. I'm able to go into the SQL Workshop->Tables, choose from my 2 schemas mapped to my workspace, and see the tables that I have in both schemas. The problem I'm having is when I wish to use a wizard to create a form based on a table or view. The only table I'm able to work with is tables that were created in the default schema as I'm not allowed to change schemas through this wizard. Is there a way to do this or am I missing something. Does this mean I'm not able to work within this other schema and it's tables?
Thanks in Advance,
Clifford Moon
UTPA WebmasterHi Sergio,
Thanks for the prompt response. I havent had a chance to try the second option (truthfully, i'm not exactly sure how to do that at this point even..). I did however go into the Administrator Account, Went to Schema's by Workspace, and chose my second schema as the default schema for my workspace. THis makes no difference in that wizard. It still shows only the default (one that was provisioned when the account was created) schema. (Form on Table Wizard)
-- Thanks in Advance
-- Cliff Moon
-- UTPA Webmaster -
Multiple schema used on apex?
hi all,
i posted a thread here need some comments or suggestions for database designing
just wanted to ask comments from APEX developers as well. is it recommended to have more than one schema if i use Oracle Application Express as front-end tool?
considering that having multiple schema means multiple workspace. then there will be features that i won't be able to use such as a single sign on for all applications in this case?
what i want to know is are there any other ways to have a user sign in to one application and be authenticated in all applications despite that those applications are on different workspaces?
thanks
allenAllen,
One Workspace doesn't mean one schema. You can have multiple schemas assigned
to one workspace.
Denes Kubicek
http://deneskubicek.blogspot.com/
http://www.opal-consulting.de/training
http://apex.oracle.com/pls/otn/f?p=31517:1
------------------------------------------------------------------- -
Permit access withing schemas in single workspace?
Hi All,
I would like to provide access to all my schemas within one workspace.
basically, SCHEMA "A" and "B" would have access to each other's objects in single workspace.
Can someone detail how to do this?
I tried using MANAGE WORKSPACE TO SCHEMA ASSIGNMENTS" and could not find a way to do this
thanksHello,
You can assign multiple schmeas to a workspace. Please read [url http://docs.oracle.com/cd/E23903_01/doc/doc.41/e21678/adm_mg_wrkspc.htm#AEADM245]Managing Workspace to Schema Assignments
basically, SCHEMA "A" and "B" would have access to each other's objects in single workspace.If you want to access Schema-B objects from Schema-A, then you have to grant respective privilege to Schema-A from Schema-B. This is not specific to APEX.
Regards,
Hari -
*Help Needed* Adding multiple emails/mailing list in the email subscription
Help Needed
Hi,
Can someone help me in adding multiple email address/mailing list in the email subscription for interactive reports in Apex 4.
pls mail me at [email protected]
Regards,
SunnyThe doc does not mention a separator for the email addresses because we only support one email address per subscription. I have logged a task for our next release to look at expanding it and allowing multiple.
-- Sharon
Maybe you are looking for
-
I have an iPad2 and a new MacBook running Mountain Lion. Both Devices use the same Apple ID which is a Hotmail eMail id. Can I create a new iCloud eMail Id and use iCloud eMail and continue to use my current Hotmail Id for my Apple Id for iTunes, iCl
-
How do i remove icloud backup request box
I cant connect to wifi on my ipad, now I get a message saying Icloud not backed up. How do I remove this message. I cant use the Ipad or even switch it off when the message is there.
-
Business Package For Supplier in Netweaver Portal
Hi All, I need your help to let me know what are the post installation activities to be performed after the installation of business package for supplier 4.0 ( SAP Netweaver Portal 7.3). Can anybody provide me configuration document of Business packa
-
Hi i am trying to change the settings for my mobile me calendar on my new i mac help
Hi i am trying to change the settings from pacific to show the correct time on my i mac for the mobile me calendar.
-
CF7 Multiserver configuration question
The CFMX 7 install guide states; <quote> Load balancing and failover You deploy the same application to each server instance and add the instances to a cluster. The web server connector optimizes performance and stability by automatically balancing l