Bạn có thể nhận được ORA-01031: insufficient privileges
thay vì ORA-00942: table or view does not exist
khi bạn có ít nhất một đặc quyền trên bảng, nhưng không phải là đặc quyền cần thiết.
Tạo lược đồ
SQL> create user schemaA identified by schemaA;
User created.
SQL> create user schemaB identified by schemaB;
User created.
SQL> create user test_user identified by test_user;
User created.
SQL> grant connect to test_user;
Grant succeeded.
Tạo đối tượng và đặc quyền
Việc cấp cho lược đồ một đặc quyền như DELETE mà không cấp SELECT.
SQL> create table schemaA.table1(a number);
Table created.
SQL> create table schemaB.table2(a number);
Table created.
SQL> grant delete on schemaB.table2 to test_user;
Grant succeeded.
Kết nối với tư cách TEST_USER và cố gắng truy vấn các bảng
Điều này cho thấy rằng có một số đặc quyền trên bảng thay đổi thông báo lỗi.
SQL> select * from schemaA.table1;
select * from schemaA.table1
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> select * from schemaB.table2;
select * from schemaB.table2
*
ERROR at line 1:
ORA-01031: insufficient privileges
SQL>