【问题标题】:Oracle SYSDBA connectionOracle SYSDBA 连接
【发布时间】:2020-08-15 15:21:48
【问题描述】:

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

"sys as sysdba"

有人能告诉我这件事的意义吗?

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

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

【问题讨论】:

    标签: oracle oracle11g database-administration oracle-xe


    【解决方案1】:

    SYSSYSTEM 是管理用户,他们有点“拥有”数据库。数据字典存储在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。是的,它有点“旧”,你不使用那个版本,但它是最后一个将“入门”和“最受欢迎”书籍分开的版本,便于查找和阅读。我建议你阅读:

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

    然后,根据您想要做什么/成为(开发人员或 DBA),选择例如

    • 2 天 DBA
    • 管理员指南

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

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

    祝 Oracle 好运,尽情享受吧!

    【讨论】:

    • 非常感谢!,我想这是迄今为止我在 Stack Overflow 中遇到的关于这个主题的最详尽的答案。
    猜你喜欢
    • 1970-01-01
    • 2017-01-16
    • 2020-07-20
    • 2012-05-03
    • 2015-01-09
    • 1970-01-01
    • 2013-01-15
    • 2021-11-22
    • 1970-01-01
    相关资源
    最近更新 更多