当我们第一次从SQLPlus命令行工具连接到Oracle数据库时,为什么我们总是这样连接
"sys as sysdba"
有人能告诉我这件事的意义吗?
为什么我们不在MYSQL中这样做?
我是甲骨文的新手,这个问题听起来可能很傻。我正在学习使用Oracle 11g XE。
SYS
和SYSTEM
是管理用户,它们有点"拥有"数据库。数据字典存储在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那么好。
祝甲骨文好运,尽情享受吧!