Soy bastante nuevo en la base de datos Oracle. Lo he instalado Oracle Database 11g R2en Oracle Linux 6. He creado con éxito una nueva base de datos con dbcay conectado a la base de datos usando:
$ sqlplus "/ as sysdba"
Creé con éxito una tabla e inserté algunos datos y realicé algunas selecciones:
SQL> CREATE TABLE Instructors (
tid NUMBER(7) PRIMARY KEY,
fname VARCHAR2(32),
lname VARCHAR2(32),
tel NUMBER(16),
adrs VARCHAR2(128) );
Table created.
SQL> INSERT INTO Instructors (tid, fname, lname, tel, adrs)
VALUES (8431001, 'John', 'Smith', 654321, 'London');
1 row created.
SQL> SELECT count(*) FROM Instructors;
COUNT(*)
----------
1
Luego creé un nuevo usuario con el privilegio CONNECT:
SQL> CREATE USER teacher1 IDENTIFIED BY pass1;
User created.
SQL> GRANT CONNECT TO teacher1;
Grant succeeded.
Luego creé un nuevo rol con los privilegios de objeto apropiados:
SQL> CREATE ROLE instructor;
Role created.
SQL> GRANT SELECT, UPDATE ON Instructors TO instructor;
Grant succeeded.
Y le otorgó el rol al usuario:
SQL> GRANT instructor TO teacher1;
Grant succeeded.
A continuación, salí de sqlplus exit;y me conecté como el nuevo usuario para probarlo. Me conecté exitosamente a la base de datos con:
$ sqlplus teacher1
SQL*Plus: Release 11.2.0.1.0 Production on Thu Jul 25 03:20:50 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Enter password: *****
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
Pero cuando trato de seleccionar de la tabla dice:
SQL> SELECT * FROM Instructors;
SELECT * FROM Instructors
*
ERROR at line 1:
ORA-00942: table or view does not exist
¿Qué me estoy perdiendo aquí?
fuente

dbadminconDBAprivilegios, y crear todas las tablas con este usuario de DBA. Entonces todos los demás usuarios deberían acceder a las tablas desde elDBADMINesquema ... ¿Correcto?