首页 > 解决方案 > Oracle SYSDBA 连接

问题描述

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

"sys as sysdba"

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

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

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

标签: oracleoracle11gdatabase-administrationoracle-xe

解决方案


SYS并且SYSTEM是管理用户,他们有点“拥有”数据库。数据字典存储在SYS模式中,所以 - 如果你搞砸了,你很可能会破坏数据库。因此,永远不要搞砸它——只将它用于必要的管理任务。永远不要碰任何SYS拥有的表(想“如果我改变,我会做到一点)。更好的是,创建你自己的用户并授予它DBA特权 - 它几乎可以做你想做的一切。

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

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


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


更多信息在这里:


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


最后,由于您是 Oracle 新手,我建议您访问并收藏此页面:Oracle 数据库 10gR2 文档。是的,它有点“旧”,你不使用那个版本,但它是最后一个将“入门”和“最受欢迎”书籍分开的版本,便于查找和阅读。我建议你阅读:

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

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

  • 2 天 DBA
  • 管理员指南

或者

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

当然,您可以找到这些适用于您使用的数据库版本 (11g) 的书籍,它位于:Oracle 数据库在线文档 11g 第 2 版 (11.2)但是 - 正如我所说 - 它不如 10g 好。

祝 Oracle 好运,尽情享受吧!


推荐阅读