oracle数据库的管理



我用用户system创建表,然后创建另一个用户user1,我给他所有权限,但是当我连接user1时,我不能看到或选择由system创建的表

首先,永远不要在SYSSYSTEM模式中创建任何对象。不要管它们,它们拥有数据库,如果你做错了,你可能会破坏数据库。

关于你的问题:"所有特权"。是相当广泛的术语。你到底给了user1什么?你应该-作为system

grant select on table_created_by_system;

,然后连接为user1

select * from system.table_created_by_system;

换句话说,您必须在表名之前加上其所有者的名称(在本例中为system)。另一种选择是创建一个同义词(也许是公开的?)然后你就不必使用所有者的名字了。


我建议你完全放弃它。从system模式中删除表,并在user1模式中重新开始。

最新更新