Oracle中的架构,用户和成果ID
我在oracle中对架构,用户和成果id感想很狐疑.让我思量两种差异的环境 案例I: 让我们思量SCOTT@ORCL.假如我们以为SCOTT是用户.在建设用户时,它将建设一个模式.更正我假如我错了.在这种环境下,当我们建设SCOTT用户时,就建设了SCOTT模式.假设我们建设另一个模式说X.这也许是SCOTT用户拥有X架构吗? 案例二: 让我们思量SCOTT@ORCL.假如我们以为SCOTT是独立的模式i-e,它仅由schema呼吁建设.假如是这样,那么对付任何将拥有它的用户来说,什么是模式的行使. 我传闻oracle函数ID是一个毗连多个用户/模式(我不知道我是否可以将schema / user放在这里)的数据库. b / w oracle成果ID与用户/架构有区别吗? 办理要领很多人发明这个话题令人狐疑,由于我们倾向于相互环绕USER和SCHEMA,当它们现实上是彼此关联的实体时.模式是用户拥有的数据库工具的荟萃.当我们建设用户时,我们会同时建设他们的架构.最初他们的架构是空的. 很轻易证明USER和SCHEMA是差异的,由于我们变动了会话中的当前模式.这只意味着我们可以在另一个用户的模式中引用工具,而不必行使全部者的名称作为前缀. SQL> desc t1 Name Null? Type ----------------------------------------- -------- ------------- ID NUMBER SQL> alter session set current_schema=APC 2 / Session altered. SQL> desc t1 ERROR: ORA-04043: object t1 does not exist SQL> sho user USER is "X" SQL> 在这种环境下,APC没有一个名为T1的表,可能他没有将它授予X. X可以看到本身的表的独一要领是在它前面加上本身的名字,可能将当前模式切换回本身. 要答复第一个题目,架构始终与用户具有沟通的名称.以是SCOTT不行能拥有架构X;模式X由用户X拥有. 要答复第二个题目,没有效户就无法建设架构. 确实,有一个CREATE SCHEMA呼吁,但这必要事先建设用户.它现实上不是建设模式而是建设多个数据库工具.现实上,它更像是一个ADD OBJECTS TO SCHEMA呼吁. SQL> conn sys as sysdba Enter password: Connected. SQL> create user x identified by x 2 default tablespace users quota 10m on users 3 / User created. SQL> grant create session,create table to x 2 / Grant succeeded. SQL> conn x/x Connected. SQL> create schema authorization x 2 create table t1 (id number) 3 create table t2 (id number) 4 / Schema created. SQL> select table_name from user_tables 2 / TABLE_NAME ------------------------------ T1 T2 SQL> CREATE SCHEMA呼吁很是有限:我们可以建设表,视图和索引,并授予工具权限.它的利益就是我们可以在单个事宜中建设多个工具,以便在失败时回滚全部建设.当我们单独运行每个create语句时,这是不行能的. 当你提到“成果ID”时,不确定你在想什么.它不是Oracle成果的尺度部门. (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |