Grant developer access to tables
I have created a db for one of my developers and i want to give him access to develop to one table in the dB. I created the table and have setup a sql server user for him. When i grant him select, update and insert on the server he can connect to
the sql server and see the DB but not the table i created for him. If i go to the server and login via Sql server mgmet studio I can't even see the DB. Waht rights have i missed here? thanks.
Don't mix up logins which have SQL Server wide permissions, with users which have permissions inside a database.
You should (and maybe you did) create a login for the developer, and then create a user for the developer that gives access to the appropriate database. Then you should grant the select, insert, update, and delete permission for the table to the user.
You can't see the database? Are you a member of the sysadmin fixed server role? If not, do you have permission to the database?
Or perhaps you created the table in another database?
Or perhaps you created the table with your default schema and he is looking for the table with his default schema which would be a different table?
Rick Byham, Microsoft, SQL Server Books Online, Implies no warranty
Similar Messages
-
I need do 'select' from a table of another schema..well, the query works well in toad but when I put this query in a procedure and then it will give me an error message saying 'table or view does not exist'. I have to explicitly grand this user the access in that schema and then the procedure could work.
why I dont need grand explicitly but I can run the query to access the tables in another schema, and I must grand explicitly then the procedure can access that table?
CheersGrants can be given to roles. A user may have been assigned to run using the privs of a role and will therefore get the grants to the role.
create role special;
grant select on abc to special;
grant special to thisuser;
Grants can also be made to the special user 'public' which is sorta-kinda a role.
grant select on abc to public;
In either case 'thisuser' will be able to see the table 'abc'. -
How do I access APEX tables from SQL DEVELOPER?
What do I use as a USERNAME and PASSWORD--
inside SQL DEVELOPER?
Hello,
I have APEX installed on my machine.
WINDOWS 7 PROFESSIONAL 64 BIT.
I also have installed:
ORACLE XE
and
SQL DEVELOPER.
I have applications I have created in APEX
with various tables.
Question:
How can I access my APEX tables from
within SQL DEVELOPER?
What USERNAME and PASSWORD do I use?
I can do this with
HR
SQL DEVELOPER USERNAME = HR
PASSWORD = HR
This works fine.
But what about for my own APEX TABLES
I created inside my own workspace
inside APEX?
For example:
LOGIN TO APEX:
http://127.0.0.1:8080/apex/
If my
APEX WORKSPACE = DAVID_WS
SCHEMA = DAVID_SC
APEX USERNAME = DAVIDAPEX_UN
APEX PASSWORD = DAVIDAPEX_PW
LOGIN TO APEX ADMIN:
http://localhost:8080/apex/apex_admin
APEXADMIN USERNAME = DAVIDADMIN_UN
APEXADMIN PASSWORD = DAVIDADMIN_PW
So, given the above 6
NAMES and PASSWORDS above:
SQL DEVELOPER USERNAME = ????
SQL DEVELOPER PASSWORD = ????
Thanks a lot for your help!
David
Edited by: DAVID888 on Feb 3, 2011 11:53 PMHello david,
When you created your workspace with the below details, if the schema "DAVID_SC" was created through APEX, then you should have also specified the password as well.
APEX WORKSPACE = DAVID_WS
SCHEMA = DAVID_SC
APEX USERNAME = DAVIDAPEX_UN
APEX PASSWORD = DAVIDAPEX_PWIf you dont remember the password for "DAVID_SC", you can log on to your Oracle XE database as a "SYSTEM" user and reset the password of "DAVID_SC".
Once that is done, you can log on to SQL developer with :
username : david_sc
password : <your_new_password>
Hope it is clear and plz refer to the APEX documentation to get a better understanding of it. -
PL/SQL stored proc won't compile when accessing a table in another schema
I am attempting to compile a stored procedured that does something like this:
create or replace PROCEDURE CreateNewBackupTbls
AS
tblExists NUMBER;
v_CatalogName VARCHAR(50);
Cursor ctlg_cursor
IS
Select vchCatalogName
FROM OtherSchema.tblCatalogs;
BEGIN
-- Create AdminMstr backup table if it doesn't already exist
select count(*) into tblExists
from dual
where exists ( select NULL from TABS where Table_Name = 'AdminMstr' );
IF tblExists = 0
THEN
spc_createNewAuditBackupTbl('AdminMstr');
DBMS_OUTPUT.PUT_LINE('Created AdminMstr audit backup table');
END IF;
OPEN ctlg_cursor;
LOOP
FETCH ctlg_cursor INTO v_CatalogName;
EXIT WHEN ctlg_cursor%NOTFOUND;
-- Create Catalog backup table if it doesn't already exist
select count(*) into tblExists
from dual
where exists ( select NULL from TABS where Table_Name = v_CatalogName );
IF tblExists = 0
THEN
spc_createNewAuditBackupTbl(v_CatalogName);
DBMS_OUTPUT.PUT_LINE('Created ' || v_CatalogName || ' audit backup table');
END IF;
END LOOP;
CLOSE ctlg_cursor;
END;
The schema/user this stored procedure belongs to has access to the OtherSchema.tblCatalogs table. I can see it in Sql Developer and I can also type
Select vchCatalogName
FROM OtherSchema.tblCatalogs;
from an SQL plus prompt and it works. So why won't the stored procedure compile?
Thanks,
ChrisWOW! That seems like a very bad design.
Is it just the compiler that has the problem or is the PL/SQL code inside the stored procedure also affected? For example, if I'm doing an
EXECUTE IMMEDIATE 'insert ... INTO OtherSchema.tblTest';
Is this going to be a problem?
The problem with granting the access explicitly is the Archive Schema, which has the stored procedure that is failing, might not exist at the time when the other schemas are created. Therefore, there is no user to grant permissions to. I solved this by granting permissions to the role and when the archive user is created it is assigned that role.
This seems like the proper way to solve this problem. -
Error while accessing BSAD Table with dunning date
Hi ,
I developed a report for FI module accessing BSAD table with default customer ranges and for specific dunning dates - It ran for a very long time and timed out - (I know this is due to huge volume of data) -
Is there any way to access BSAD table easily with Dunning dates (Other than creating Index on it) ???
Or any standard function module available ??
Regards
Rajesh.Hi
Try the below tables for the dunning data details:
MHND Dunning Data
MHNDO Dunning data version before the next change
MHNK Dunning data (account entries)
MHNKA Version administration of dunning changes
MHNKO Dunning data (acct entries) version before the next chang
SKS -
How to access a table present in same database
I have one mc_pl_st tables in mcs_owner schema, but am accessing from another schema age_owner schema,but both schemas are in same database.
Shall I use user_name.table_name to access the table present in other schema present in same database
Pls suggest,
ThanksT.PD wrote:
Skalny wrote:
859486 wrote:
Shall I use user_name.table_name to access the table present in other schema present in same databaseYes, you must use schema name if you want to access table or other object, which belongs to different user.You could also use synonymes created by the tables owner:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/statements_7001.htm
How ever, the user accessing must have SELECT (and INSERT/UPDETE/DELETE?) permissions granted.And also we can use public synonymes. -
Urgent: Oracle Text error: DRG-10001: can not access result table
Hi,
I am getting the "DRG-10001:can not access result table" error when trying to run the oracle text procedure ctx_cls.train within HTMLDB. The schema i used for parsing is granted with the necessary privileges, and i can run the procedure manually using the same schema in sqlplus. Following is the script I am trying to run:
1. begin
2. ctx_cls.train(
3. index_name => 'MyDocindex',
4. docid => 'MyDoc_id',
5. cattab => 'MyDocTab_categories',
6. catdocid => 'cat_MyDoc_id',
7. catid => 'cat_id',
8. restab => 'rules',
9. rescatid => 'rule_cat_id',
10. resquery => 'rule_text',
11. resconfid => 'rule_confidence'
12. );
13. end;
Please help urgently!
Thanks
RGI seem to have hit a similar problem.
Did you eventually resolve this problem?
Rgds
Z -
Problem in accessing mseg table using MSEG~M Index.
Hi Experts,
I am facing problem in accessing mseg table using MSEG~M Index. I used same sequence of fields and i tried with mandt field also. but it is not taking the Index and it is going for TImeout ABAP dump.
This are my codes used in different ways
1. SELECT mjahr
bwart
matnr
lifnr
dmbtr
kostl
aufnr
bukrs
FROM mseg CLIENT SPECIFIED INTO TABLE t_mseg2
WHERE mandt EQ sy-mandt AND
matnr NE SPACE AND
werks EQ p_werks AND
lgort NE '0000' AND
bwart IN (122,201,262) AND
sobkz NE '0'
%_HINTS ORACLE 'INDEX("MSEG" "MSEG~M")'.
2. SELECT mjahr
bwart
matnr
lifnr
dmbtr
kostl
aufnr
bukrs
FROM mseg INTO TABLE t_mseg2
WHERE matnr NE SPACE AND
werks EQ p_werks AND
lgort NE '0000' AND
bwart IN (122,201,262) AND
sobkz NE '0'
%_HINTS ORACLE 'INDEX("MSEG" "MSEG~M")'.
3. SELECT mjahr
bwart
matnr
lifnr
dmbtr
kostl
aufnr
bukrs
FROM mseg INTO TABLE t_mseg2
WHERE matnr NE SPACE AND
werks EQ p_werks AND
lgort NE '0000' AND
bwart IN (122,201,262) AND
sobkz NE '0'.
The above all code is not at all taking the index in Quality server .but in Development it is taking .In Quality server it is reading all datas without using the index and going Timeout ABAP dmup
Please, Suggest me some solutions.
Thanks in Advance.
Regards,
NandhaHi,
Without NE also not working out. i am facing same problem still.
SELECT bwart
matnr
lifnr
dmbtr
kostl
aufnr
FROM mseg CLIENT SPECIFIED INTO TABLE t_mseg
WHERE mandt EQ sy-mandt AND
werks EQ p_werks AND
bwart IN (122,201,262) AND
mjahr EQ p_year AND
bukrs EQ p_cc
%_HINTS ORACLE 'INDEX("MSEG" "MSEG~M")'.
Please,check and help me out from this issue.
Regards,
Nandha -
i am trying to call WCF service by using Jsr 172 method
but i got the two error
1)unexpected Exceptionage fault accessing tag table
2)java.rmi.MarshalException:Unexpected Exception page fault accessing page table
does anybody knows about how to solve this error.
Plz help me
thanks in advance!!!!!!!!!!!
My Code is:-----
package com.rim.sample.webservicedemo;
import java.rmi.RemoteException;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.FieldChangeListener;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.ButtonField;
import net.rim.device.api.ui.component.Dialog;
import net.rim.device.api.ui.container.MainScreen;
public class webservice extends UiApplication
public webservice()
pushScreen(new myscreen());
public static void main(String[] args)
webservice t=new webservice();
t.enterEventDispatcher();
final class myscreen extends MainScreen implements FieldChangeListener
//taking this program from :-http://blog.bayestech.com/?p=78
public myscreen()
setTitle("HI");
ButtonField g=new ButtonField("OK",ButtonField.CONSUME_CLICK);
g.setChangeListener(this);
add(g);
public void fieldChanged(Field field, int context)
try
testServiceCall();
catch (RemoteException e)
Dialog.alert(e.getMessage());
Dialog.alert(e.toString());
public void testServiceCall() throws RemoteException
TestService_Stub service = new TestService_Stub();
//String message = service.helloWorld();
// Dialog.alert(message);
// String message2=service.echoName("ankush,nilesh,chetan,ravi");
//Dialog.alert(message+" second message "+message2);
// Object addition_output=service.addition(7,2);
//Dialog.alert("your addition is" + String.valueOf(addition_output));
String login_message = service.logOn_method("abcdefg","aaaaa");
Dialog.alert("login successfully");
Dialog.alert(login_message);
//////////////TestService_Stub class file///////////////////////
package com.rim.sample.webservicedemo;
import java.rmi.RemoteException;
import javax.xml.rpc.JAXRPCException;
import javax.xml.namespace.QName;
import javax.microedition.xml.rpc.Operation;
import javax.microedition.xml.rpc.Type;
import javax.microedition.xml.rpc.ComplexType;
import javax.microedition.xml.rpc.Element;
import net.rim.device.api.ui.component.Dialog;
public class TestService_Stub implements TestService,javax.xml.rpc.Stub
///calling web services by using jsr-172 method
//website link :- http://blog.bayestech.com/?p=78
private String[] _propertyNames;
private Object[] _propertyValues;
// private Object[] _propertyValues1;
public TestService_Stub()
_propertyNames = new String[] { ENDPOINT_ADDRESS_PROPERTY };
// _propertyValues = new Object[] { "http://test.bayestech.com/Services/TestService.asmx" };
// _propertyValues = new Object[] { "http://soft21/testWCF/Service.svc" };
_propertyValues = new Object[] { "< url name >" };
protected void _prepOperation(Operation op)
for (int i = 0; i < _propertyNames.length; ++i)
op.setProperty(_propertyNames[i], _propertyValues[i].toString());
public String logOn_method(String usr_name,String password_name ) throws java.rmi.RemoteException
Object inputObject[] = new Object[]
usr_name,
password_name
Operation op = Operation.newInstance( _qname_operation_logOn, _type_logOn, _type_logOnResponse );
_prepOperation( op );
op.setProperty( Operation.SOAPACTION_URI_PROPERTY, "<soap action name >" );
Object resultObj;
try
resultObj = op.invoke( inputObject );
Dialog.alert((String)resultObj);
catch( JAXRPCException e )
Throwable cause = e.getLinkedCause();
if( cause instanceof java.rmi.RemoteException )
throw (java.rmi.RemoteException) cause;
Dialog.alert(e.getMessage());
throw e;
return (String )((Object[])resultObj)[0];
protected static final QName _qname_operation_logOn = new QName( "<soap action name>", "logOn" );
protected static final QName _qname_logOnResponse = new QName( "<soap action name>", "logOnResponse" );
protected static final QName _qname_logOn = new QName( "<soap action name>", "logOn" );
protected static final Element _type_logOn;
protected static final Element _type_logOnResponse;
static
_type_logOn = new Element( _qname_logOn, _complexType( new Element[] {
new Element( new QName( "<soap action name>", "usr_name" ), Type.STRING, 0, 1, false ),
new Element( new QName( "<soap action name>", "password_name" ), Type.STRING, 0, 1, false )}), 1, 1, false );
_type_logOnResponse = new Element( _qname_logOnResponse, _complexType( new Element[] {
new Element( new QName( "<soap action name>", "logResult" ), Type.INT, 0, 1, false )}), 1, 1, false );
private static ComplexType _complexType( Element[] elements )
ComplexType result = new ComplexType();
result.elements = elements;
return result;
public void _setProperty(String name, Object value) {
// TODO Auto-generated method stub
public Object _getProperty(String name) {
// TODO Auto-generated method stub
return null;
public String echoName(String name) throws RemoteException {
// TODO Auto-generated method stub
return null;
public String helloWorld() throws RemoteException {
// TODO Auto-generated method stub
return null;
i am trying to call WCF service by using Jsr 172 method
but i got the two error
1)unexpected Exceptionage fault accessing tag table
2)java.rmi.MarshalException:Unexpected Exception page fault accessing page table
does anybody knows about how to solve this error.
Plz help me
thanks in advance!!!!!!!!!!!
My Code is:-----
package com.rim.sample.webservicedemo;
import java.rmi.RemoteException;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.FieldChangeListener;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.ButtonField;
import net.rim.device.api.ui.component.Dialog;
import net.rim.device.api.ui.container.MainScreen;
public class webservice extends UiApplication
public webservice()
pushScreen(new myscreen());
public static void main(String[] args)
webservice t=new webservice();
t.enterEventDispatcher();
final class myscreen extends MainScreen implements FieldChangeListener
//taking this program from :-http://blog.bayestech.com/?p=78
public myscreen()
setTitle("HI");
ButtonField g=new ButtonField("OK",ButtonField.CONSUME_CLICK);
g.setChangeListener(this);
add(g);
public void fieldChanged(Field field, int context)
try
testServiceCall();
catch (RemoteException e)
Dialog.alert(e.getMessage());
Dialog.alert(e.toString());
public void testServiceCall() throws RemoteException
TestService_Stub service = new TestService_Stub();
//String message = service.helloWorld();
// Dialog.alert(message);
// String message2=service.echoName("ankush,nilesh,chetan,ravi");
//Dialog.alert(message+" second message "+message2);
// Object addition_output=service.addition(7,2);
//Dialog.alert("your addition is" + String.valueOf(addition_output));
String login_message = service.logOn_method("abcdefg","aaaaa");
Dialog.alert("login successfully");
Dialog.alert(login_message);
//////////////TestService_Stub class file///////////////////////
package com.rim.sample.webservicedemo;
import java.rmi.RemoteException;
import javax.xml.rpc.JAXRPCException;
import javax.xml.namespace.QName;
import javax.microedition.xml.rpc.Operation;
import javax.microedition.xml.rpc.Type;
import javax.microedition.xml.rpc.ComplexType;
import javax.microedition.xml.rpc.Element;
import net.rim.device.api.ui.component.Dialog;
public class TestService_Stub implements TestService,javax.xml.rpc.Stub
///calling web services by using jsr-172 method
//website link :- http://blog.bayestech.com/?p=78
private String[] _propertyNames;
private Object[] _propertyValues;
// private Object[] _propertyValues1;
public TestService_Stub()
_propertyNames = new String[] { ENDPOINT_ADDRESS_PROPERTY };
// _propertyValues = new Object[] { "http://test.bayestech.com/Services/TestService.asmx" };
// _propertyValues = new Object[] { "http://soft21/testWCF/Service.svc" };
_propertyValues = new Object[] { "< url name >" };
protected void _prepOperation(Operation op)
for (int i = 0; i < _propertyNames.length; ++i)
op.setProperty(_propertyNames[i], _propertyValues[i].toString());
public String logOn_method(String usr_name,String password_name ) throws java.rmi.RemoteException
Object inputObject[] = new Object[]
usr_name,
password_name
Operation op = Operation.newInstance( _qname_operation_logOn, _type_logOn, _type_logOnResponse );
_prepOperation( op );
op.setProperty( Operation.SOAPACTION_URI_PROPERTY, "<soap action name >" );
Object resultObj;
try
resultObj = op.invoke( inputObject );
Dialog.alert((String)resultObj);
catch( JAXRPCException e )
Throwable cause = e.getLinkedCause();
if( cause instanceof java.rmi.RemoteException )
throw (java.rmi.RemoteException) cause;
Dialog.alert(e.getMessage());
throw e;
return (String )((Object[])resultObj)[0];
protected static final QName _qname_operation_logOn = new QName( "<soap action name>", "logOn" );
protected static final QName _qname_logOnResponse = new QName( "<soap action name>", "logOnResponse" );
protected static final QName _qname_logOn = new QName( "<soap action name>", "logOn" );
protected static final Element _type_logOn;
protected static final Element _type_logOnResponse;
static
_type_logOn = new Element( _qname_logOn, _complexType( new Element[] {
new Element( new QName( "<soap action name>", "usr_name" ), Type.STRING, 0, 1, false ),
new Element( new QName( "<soap action name>", "password_name" ), Type.STRING, 0, 1, false )}), 1, 1, false );
_type_logOnResponse = new Element( _qname_logOnResponse, _complexType( new Element[] {
new Element( new QName( "<soap action name>", "logResult" ), Type.INT, 0, 1, false )}), 1, 1, false );
private static ComplexType _complexType( Element[] elements )
ComplexType result = new ComplexType();
result.elements = elements;
return result;
public void _setProperty(String name, Object value) {
// TODO Auto-generated method stub
public Object _getProperty(String name) {
// TODO Auto-generated method stub
return null;
public String echoName(String name) throws RemoteException {
// TODO Auto-generated method stub
return null;
public String helloWorld() throws RemoteException {
// TODO Auto-generated method stub
return null;Vishnu,
I'm working on Ludwig's testcase.
Ludwig's testcase is based on read-only View Objects.
Is it also the case in your application ?
I was unable to reproduce with VOs based on EOs.
With read-only VOs, you can avoid the ArrayIndexOutOfBoundsException by setting the "Key Attribute" property for the PK of the Master VO.
See the ADF Developer's Guide, topic "7.9.3 What You May Need to Know About Enabling View Object Key Management for Read-Only View Objects"
URL: http://download-uk.oracle.com/docs/html/B25947_01/bcvoeo009.htm#BABJEEFA
Regards,
Didier. -
Invalid Developer Access key while editing FM Exit_SAPLRRS0_001
Hi,
I want to create a new user exit variable for reporting. I created a proj in CMOD and included the component RSR00001 which
includes the FM - Exit_SAPLRRS0_001. I try editing the function module, its asking me to enter the Developer Access key. System is not accepting the key which I pass even though there is a proper entry against my id in the table DEVACCESS.
Any possible solutionsHi,
When you reach the exit EXIT_SAPLRSAP_001, dont try to go in edit mode into it. There would be a Include in it. Double click on this include.
INCLUDE ZXRS**.
You would reach this include. Now, go in change mode of this include. It would allow you to go in change mode with your access key.
If there is no such include inside this function module, then follow the below steps to create a new include.
What you are trying to do is changing the standard function module EXIT_SAPLRSAP_001. If you want to change any standard objects, you will need specific access keys for these objects based on their Object Directory Entry from your BASIS guys.
e.g. for EXIT_SAPLRSAP_001 you can find this info from Menu bar-> Goto -> Object Directory Entry. If your provide this info to BASIS, they would give you unique access key which would work only on this function exit. Then you can change this function exit.
Edited by: Rahul K Rai on Oct 28, 2010 4:50 PM -
Problem in accessing the table
Hi,
My database in 10g (10.2.0.4), I have created one user TEST and given insert,update,delete on ABC table to TEST from XYZ user.
Also,
Grant select any table to test;
but when i connect with test and accessing tables of xyz it is showing error 'table or view does not exist' and i select the table with xyz.abc then i can select the table of xyz.
I do not want to create any synonyms for this table. Can you please help while accessing the table from TEST user without username.tablename
AnandAnand Vyas wrote:
Actually i have given the example of one table but i have given grant on many table to TEST user.
Also end user uses these tables in application and he can not agree to set alter session in his application.
Is there any way to access the tables of XYZ which i have given the grant to TEST without username.tablename means xyz.abc
Thanks in advance.
AnandGiven your other requirements/restrictions, your only option is to create a synonym. Why do you not want to do that? If you have many of them, you can "write a sql to write a sql"
spool doit.sql
select 'create or replace public synonym ' ||
table_name ||
' for xyz.' ||
table_name ||
from dba_tables
where owner = 'XYZ';
spool off -
How can i access the table GL_CODE_COMBINATIONS !!
I'm sorry ~ My English is poor ~~ understand me ^^
I execute procedure APPS.GL_TEST but error occured
ORA-00904:"GL_TEST";invalid identifier.
but it execute well at orange (program that like toad)
May be i can't access GL_CODE_COMBINATIONS table ~~
I have to execute APPS.GL_CODE_COMBINATIONS_PKG.INSERT_ROW(
X_ROWID => X_ROWID,
X_CODE_COMBINATION_ID => X_CCID,
it have GL_CODE_COMBINATIONS table
so have to make account ccid
How can i access the table GL_CODE_COMBINATIONS !!
Thank you ^^
--CREATE OR REPLACE PROCEDURE APPS.GL_TEST(EFFBUF OUT VARCHAR2, RETCODE OUT NUMBER)
IS
V_VAL NUMBER;
BEGIN
UPDATE GL_CODE_COMBINATIONS
SET SEGMENT7 = 'TEST'
WHERE CODE_COMBINATION_ID = 1169;
END GL_TEST;
Message was edited by:
jakeORA-00904:"GL_TEAT";invalid identifier.spelling mistake?
Is user APPS owner of the table GL_CODE_COMBINATIONS?
If not, you need to grant the necessary privilege directly and not through a role -
Users with direct access to tables
I need to find out which users have direct access to tables, not through the roles.
Is dba_tab_privs the right table to query or table_privileges is the correct one.
Please let me know the difference between these two.
I have gone through the documentation but I am still not clear about the difference between them.
Let me know whatever your thoughts are on this.
Thanks,
RushiAh, an opportunity to illustrate the value of COMMENTs:
SQL> select * from dict where table_name = 'TABLE_PRIVILEGES';
TABLE_NAME
COMMENTS
TABLE_PRIVILEGES
Grants on objects for which the user is the grantor, grantee, owner,
or an enabled role or PUBLIC is the grantee
SQL> select * from dict where table_name = 'DBA_TAB_PRIVS';
TABLE_NAME
COMMENTS
DBA_TAB_PRIVS
All grants on objects in the database
SQL>So, TABLE_PRIVILEGES is a view relevant to the user who is currently connected and SELECTing from it.
DBA_TAB_PRIVS is what you want to use to find users with direct access granted to tables. -
GRANT syntax : Grant SELECT privileges on tables to a User on a Remote DB
Hi
I am having two databases: DEV1 and DEV2. DEV1 is my source database and DEV2 is target database. There is a table in Schema A on Dev1. I have created a PUBLIC DBLINK "TESTDBLINK" in Schema B on DEV2 that connects to Schema A on DEV1.
Database Schema Table Machine
DEV1 A EMP 192.168.210.10
Database Schema Database Lik Machine
DEV2 B TESTDBLINK 192.168.210.11
How to grant SELECT privileges on Schema A Table EMP ( DEV1 ) to Schema B on DEV2 ? What is the syntax ?
e.g. Log in as Schema A on DEV 1
SQL> GRANT SELECT ON EMP TO *???????*
Thanks for your inputs
HarryYou don't have to grant that table in schema A to schema B.
Inside schema B, you can just issue a select statement like this:
select *
from table@db-link-to-AOracle will connect to the remote instance, using the credentials of schema A, and since A owns that table, Oracle can already access the table. -
Is there a direct SQL to grant select on all tables in the schema for a user? Or do we need to write a PLSQL for this?
Also, if a new table T1 is created or existing table T2 is dropped and recreated after granting the select all privilege, will the user have access to T1 and T2?
thanksIs there a direct SQL to grant select on all tables
in the schema for a user? Or do we need to write a
PLSQL for this?There is no privilege that would give user A access to all the tables in schema B. You would need to grant access to each object, which can certainly be done via dynamic SQL in PL/SQL.
There is a privilege SELECT ANY TABLE which allows the user to query any table in the system, but this is generally very dangerous and probably not something you would want to give a normal user.
Also, if a new table T1 is created or existing table
T2 is dropped and recreated after granting the select
all privilege, will the user have access to T1 and
T2?Unless you grant SELECT ANY TABLE, you would need to explicitly grant A access to any new tables created in schema B (or to tables after they are dropped and re-created). Potentially, you could create a DDL trigger that submitted a job that would, in turn, make the grant whenever a new table was created in schema B.
Justin
Maybe you are looking for
-
Problem with MS Access Files and executable files migrateds
Hi all. We are migrating an old Netware 6.0 server to new SLES 10 SP3 with OES 2 SP2a. I already migrated one volume and in this weekend well migrate the last, and most important, volume to new OES 2 server. The problem is about some MS Access databa
-
ITunes 8.2 will not install
I had this problem with the last itunes update as well. When i click to download the new update it downloads normally but when it gets to the point where it says 'installing' the progress bar doesnt move. I left my computer for an hour and it still h
-
Need help, I am waiting for XML to onLoad to be called before sending return statement
I have created a function that is going to return an array based on some XML that I am loading. Below is a visual of what I am trying to do. I am basically looking for a way to have my function wait for the xml to be loaded before the return function
-
Any solution for keeping table length fixed?
Is there a solution for keeping the table length fixed irrespective of the number of lines? We want the tables that run to the end of the page irrespective of the number of rows in the table for our purchase orders, invoices etc. We are using RTF tem
-
Implementing authentication for web services
Hi all, I'm struggling trying to guess how to implement basic HTTP authentication as well as using certificates in order to apply HTTPS, for some web services we've created, running on the Oracle Application Server 10.1.12. The web services were impl