创建一个新的数据库(基础和高级),这是我第一次与Oracle打交道,当我只想创建关系数据时,我不知道为什么有这么多的表,触发器,视图和其他对象基地空了。
还有另一种方法可以做到这一点,还是有一些我错过的东西?
谢谢。
捕获
答案 0 :(得分:4)
这些对象归 SYS 用户所有。您可以使用以下查询进行验证:
SELECT * FROM DBA_OBJECTS WHERE OWNER = 'SYS';
要查看其他用户拥有的对象,请参阅:
SELECT * FROM DBA_OBJECTS WHERE OWNER <> 'SYS';
您必须以 SYS AS SYSDBA 身份登录,才能查看SYS用户拥有的对象。
记住,
永远不要将SYS / SYSDBA用于其他用户可以完成的任何操作。 仅使用SYS / SYSDBA来处理其他人无法完成的事情。
请参阅Tom Kyte在AskTom上的this回答。
答案 1 :(得分:-1)
美元符号($)用于系统表。你需要假装你没有看到它们。他们身体上可能并不真的存在。许多工具都可以选择隐藏系统表和视图。许多数据库(访问,SQL Server,ORACLE)都有您不想看到的系统对象。
这实际上是Bryce和Codds关系数据库原始设计的一部分,因此您可以查询架构等。