【发布时间】:2020-08-15 15:21:48
【问题描述】:
我们第一次从SQLPlus命令行工具连接Oracle数据库时,为什么总是这样连接
"sys as sysdba"
有人能告诉我这件事的意义吗?
我们为什么不在 MYSQL 中这样做?
我是 Oracle 的新手,这个问题可能听起来很傻。我正在学习使用 Oracle 11g XE。
【问题讨论】:
标签: oracle oracle11g database-administration oracle-xe
我们第一次从SQLPlus命令行工具连接Oracle数据库时,为什么总是这样连接
"sys as sysdba"
有人能告诉我这件事的意义吗?
我们为什么不在 MYSQL 中这样做?
我是 Oracle 的新手,这个问题可能听起来很傻。我正在学习使用 Oracle 11g XE。
【问题讨论】:
标签: oracle oracle11g database-administration oracle-xe
SYS 和SYSTEM 是管理用户,他们有点“拥有”数据库。数据字典存储在SYS 模式中,所以 - 如果你搞砸了,你很可能破坏数据库。因此,永远不要搞砸它——只将它用于必要的管理任务。永远不要碰任何SYS 拥有的表(想“如果我改变 this 我会让 that 发生)。更好的是,创建自己的用户并授予它DBA特权 - 它几乎可以做任何你想做的事情。
SYSDBA 是自动授予用户SYS 的权限;它允许它执行高级管理任务(例如备份和恢复或升级数据库)。 SYSTEM 没有;这就是为什么您在连接为SYSTEM 时不指定as sysdba。
此外,SYSDBA 权限可让您连接到数据库实例,尽管数据库尚未打开 - 并允许您启动它。
说您“始终以sys as sysdba 的身份连接” - 好吧,您不必“始终”这样做。您可以使用其他预定义用户(例如 Scott 或 HR(人力资源))。默认用户名/密码组合是“scott/tiger”和“hr/hr”。不过,它们很可能已锁定,因此您无法建立连接。这就是为什么您以 SYS 连接,解锁这些帐户(或创建新帐户,具体取决于您想要做什么),然后以其他用户的身份连接。
更多信息在这里:
为什么在 MySQL 中没有它?可能是因为 MySQL 不是 Oracle。
最后,由于您是 Oracle 的新手,我建议您访问并收藏此页面:Oracle Database 10gR2 documentation。是的,它有点“旧”,你不使用那个版本,但它是最后一个将“入门”和“最受欢迎”书籍分开的版本,便于查找和阅读。我建议你阅读:
然后,根据您想要做什么/成为(开发人员或 DBA),选择例如
或
当然,你可以找到这些书籍的数据库版本(11g),它在这里:Oracle database online documentation 11g Release 2 (11.2),但是 - 正如我所说 - 它不如 10g 好。
祝 Oracle 好运,尽情享受吧!
【讨论】: