Oracle SYSDBA 连接

Oracle SYSDBA connection

我们第一次用SQLPlus命令行工具连接Oracle数据库,为什么总是这样连接

"sys as sysdba"

有人能告诉我这有什么意义吗?

我们为什么不在 MYSQL 中这样做?

我是 Oracle 的新手,这个问题听起来可能很傻。我正在学习使用 Oracle 11g XE。

SYSSYSTEM 是管理用户,他们类似于 "own" 数据库。数据字典存储在 SYS 模式中 - 如果你搞砸了,你很可能会 破坏 数据库。因此,永远不要弄乱它——只将它用于必要的管理任务。永远不要触摸任何 SYS 拥有的表(想着“如果我改变 this 我会让 that 发生)。更好的是,创建你的拥有用户并授予它 DBA 特权 - 它几乎可以做任何你想做的事。

SYSDBA 是自动授予用户 SYS 的特权;它允许它执行高级管理任务(例如备份和恢复或升级数据库)。 SYSTEM没有;这就是为什么在连接为 SYSTEM.

时不指定 as sysdba

此外,SYSDBA 权限允许您连接到数据库实例,尽管数据库尚未打开 - 并允许您启动它。


说你 "always connect as sys as sysdba" - 好吧,你不必那样做 "always"。您可以使用其他预定义的用户(例如 Scott 或 HR(人力资源))。默认 username/password 组合为 "scott/tiger" 和 "hr/hr"。不过,它们很可能 已锁定 因此您无法建立连接。这就是为什么您以 SYS 身份连接,解锁这些帐户(或创建新帐户,具体取决于您想做什么),然后以其他用户身份连接。


更多信息在这里:


为什么 MySQL 中没有?可能是因为 MySQL 不是 Oracle。


最后,由于您是 Oracle 的新手,我建议您访问此页面并将其加入书签:Oracle Database 10gR2 documentation。是的,它有点像 "old",您不用那个版本,但它是最后一个将 "Getting Started" 和 "Most popular" 书籍分开的版本,这样便于查找和阅读。我建议您阅读:

  • 概念,了解什么是 Oracle 及其工作原理

然后,根据您的需要do/be(开发人员或 DBA),选择例如

  • 2 天 DBA
  • 管理员指南

  • SQL参考
  • PL/SQL 用户指南和参考
  • 应用程序开发人员指南 - 基础知识

当然,您可以在此处找到您使用的数据库版本 (11g) 的这些书籍:Oracle database online documentation 11g Release 2 (11.2) 但是 - 正如我所说 - 它不如 10g 漂亮。

祝 Oracle 好运,尽情享受吧!