Oracle SYSDBA connection



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

"sys as sysdba"

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

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

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

SYSSYSTEM是管理用户,它们有点"拥有"数据库。数据字典存储在SYS模式中,所以如果你搞砸了,你很可能会破坏数据库。因此,永远不要搞砸它——只在必要的管理任务中使用它。永远不要触摸任何SYS拥有的表(想想"如果我改变这个,我会让那个发生"(。更好的是,创建你自己的用户并授予它DBA特权-它将能够做你想要的一切。

CCD_ 6是自动授予用户CCD_ 7的特权;它允许它执行高级管理任务(如备份和恢复或升级数据库(。SYSTEM没有;这就是为什么在连接为SYSTEM时不指定as sysdba的原因。

此外,SYSDBA特权允许您在数据库还未打开的情况下连接到数据库实例,并允许您启动它。


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


此处提供更多信息:

  • SYS和SYSTEM用户
  • SYSDBA和SYSOPER系统权限

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


最后,由于您是Oracle的新手,我建议您访问&将此页作为书签:Oracle Database 10gR2文档。是的,它有点"旧",你不会使用那个版本,但它是最后一本将《入门》和《最受欢迎》分开的书,这使得它很容易找到和阅读。我建议你阅读:

  • 概念,了解Oracle是什么以及它是如何工作的

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

  • 2天DBA
  • 管理员指南

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

当然,您可以在这里找到这些适用于您使用的数据库版本(11g(的书籍:Oracle数据库在线文档11g Release 2(11.2(,但正如我所说,它没有10g那么好。

祝甲骨文好运,尽情享受吧!

最新更新