`
chenhuimin99
  • 浏览: 5704 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Oracle sys 与system的区别

阅读更多
sys 用户: 数据字典的拥有者 (schema)   ,
         拥有SYSDBA权限,
         sys用户密码保存在密码文件中,
         可以启动数据库。


system用户:一般数据库管理者
         拥有DBA权限,
         密码保存在数据库中,
         不能启动数据库。


conn scott/tiger as sysdba登录数据实际上是以sys登录的系统,SYSDBA不是权限,当用户以SYSDBA身份登陆数据库时,登陆用户都会变成SYS。
sysdba身份登陆可以打开,关闭数据库,创建SPFILE,对数据库进行恢复操作等,而这些是DBA角色无法实现的

1 )   最重要的区别,存储的数据的重要性不同

【sys】 所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dba,sysdba,sysoper等角色或权限,是oracle权限最高的用户。


【system】 用户用于存放次一级的内部数据,如oracle的一些特性或工具的管理信息。system用户拥有普通dba角色权限。


2)   其次的区别,权限的不同。

【system】用户只能用normal身份登陆em,除非你对它授予了sysdba的系统权限或者syspoer系统权限。
【sys】用户具有“SYSDBA”或者“SYSOPER”系统权限,登陆em也只能用这两个身份,不能用normal。

 以sys用户登陆Oracle,执行select * from V_$PWFILE_USERS;可查询到具有sysdba权限的用户,如:

SQL> select * from V_$PWFILE_USERS;
  USERNAME SYSDBA SYSOPER
  SYS TRUE TRUE

Sysdba和sysoper两个系统权限区别

normal 、sysdba、 sysoper有什么区别
normal 是普通用户
另外两个,你考察他们所具有的权限就知道了
sysdba拥有最高的系统权限,登陆后是 sys
sysoper主要用来启动、关闭数据库,sysoper 登陆后用户是 public
sysdba和sysoper属于system privilege,也称为administrative privilege,拥有例如数据库开启关闭之类一些系统管理级别的权限sysdba和sysoper具体的权限可以看下表:




系统权限
sysdba
sysoper

区别
Startup(启动数据库)
startup

Shutdown(关闭数据库)
shutdown

alter database open/mount/backup
alter database open/mount/backup

改变字符集
none

create database(创建数据库)
None不能创建数据库

drop database(删除数据库)
none

create spfile
create spfile

alter database archivelog(归档日志)
alter database archivelog

alter database recover(恢复数据库)
只能完全恢复,不能执行不完全恢复

拥有restricted session(会话限制)权限
拥有restricted session权限

可以让用户作为sys用户连接
可以进行一些基本的操作,但不能查看用户数据

登录之后用户是sys
登录之后用户是public


system如果正常登录,它其实就是一个普通的dba用户,但是如果以as sysdba登录,其结果实际上它是作为sys用户登录的,这一点类似Linux里面的sudo的感觉,从登录信息里面我们可以看出来。因此在as sysdba连接数据库后,创建的对象实际上都是生成在sys中的。其他用户也是一样,如果 as sysdba登录,也是作为sys用户登录的,看以下实验:

SQL> create user strong identified by strong;

用户已创建。

SQL> conn strong/strong@magick as sysdba;

已连接。

SQL> show user;

USER 为 "SYS"

SQL> create table test(a int);

表已创建。

SQL> select owner from dba_tables where table_name='test';

未选定行 //因为创建表时oracle自动转为大写,所以用小写查的时候是不存在的;

SQL> select owner from dba_tables where table_name='TEST';

OWNER

------------------------------

SYSØ         dba和sysdba的区别
dba、sysdba这两个系统角色有什么区别呢
在说明这一点之前我需要说一下oracle服务的创建过程
·创建实例→·启动实例→·创建数据库(system表空间是必须的)
启动过程
·实例启动→·装载数据库→·打开数据库sysdba,是管理oracle实例的,它的存在不依赖于整个数据库完全启动,只要实例启动了,他就已经存在,以sysdba身份登陆,装载数据库、打开数据库。只有数据库打开了,或者说整个数据库完全启动后,dba角色才有了存在的基础

分享到:
评论

相关推荐

    Oracle_sys和system用户的区别

    标题与描述概述的知识点主要集中在Oracle数据库中两个特殊用户的区别:sys与system用户,以及与之相关的系统权限sysdba和sysoper的区别。接下来,我们将深入探讨这些知识点。 ### Oracle_sys和system用户的区别 ##...

    Oracle中sys,system,scott,hr用户的区别.pdf

    Oracle 数据库中包含多个内置用户,每个用户都有特定的角色和权限,主要分为四个常见的预定义用户:SYS、SYSTEM、SCOTT 和 HR。了解这些用户之间的区别对于管理和维护 Oracle 数据库至关重要。 1. SYS 用户: SYS ...

    Oracle中sys和system的区别小结

    总之,Oracle中的SYS和SYSTEM账户是数据库管理和维护的关键工具,它们之间的主要区别在于权限级别和允许执行的任务。SYS拥有全面的DBA权限,适合进行数据库的高级管理和维护,而SYSTEM则适用于日常的数据库管理,...

    Oracle禁用操作系统认证方式登陆及SYS远程登录

    在企业级应用环境中,Oracle数据库系统作为核心的数据存储与处理平台,其安全性尤为重要。本篇文章主要针对如何禁用Oracle数据库的操作系统认证方式以及禁止SYS用户远程登录两个方面进行详细介绍,旨在帮助读者理解...

    oracle数据库sys密码修改

    在Oracle数据库管理过程中,有时候会遇到需要修改超级用户SYS或SYSTEM密码的情况。这两种用户都拥有数据库管理员级别的权限,因此能够执行包括更改其他用户密码在内的多种高级操作。本文将详细介绍如何在Oracle...

    Oracle 数据库忘记sys与system管理员密码重置操作方法

    以下详细介绍了Oracle数据库忘记sys与system管理员密码的重置操作方法。 首先,重置密码通常需要操作系统级别的访问权限,因为这涉及到修改操作系统文件。在Windows系统中,我们需要关闭Oracle服务,然后通过命令行...

    Oracle中sys和system用户、系统权限和角色的区别

    在Oracle中,sys和system是两个非常重要的预定义用户,它们各自具有独特的特性和用途。 首先,sys用户是Oracle数据库的核心用户,它拥有最高级别的权限,包括dba、sysdba和sysoper等系统权限。sys用户负责存储所有...

    如何找回Oracle中system,sys用户的密码

    Oracle 中的系统用户密码找回是一件非常重要的事情,因为 system 和 sys 用户是 Oracle 数据库的核心用户,如果密码丢失将导致数据库无法正常使用。在本文中,我们将详细介绍如何找回 Oracle 中 system,sys 用户的...

    system和sys用户区别

    在Oracle数据库系统中,"system"和"sys"是两个非常关键的内置用户,它们各自扮演着不同的角色,对数据库的管理和维护起着至关重要的作用。以下是对这两个用户及其区别的详细说明: 首先,"system"用户是一个预定义...

    忘记oracle的sys用户密码处理办法

    在这种情况下,我们可以使用 SYS 用户或 SYSTEM 用户登录 Oracle 数据库,然后使用 ALTER USER 语句修改用户的密码。例如: CONN SYS/PASS_WORD AS SYSDBA; ALTER USER user_name IDENTIFIED BY newpass; 注意:...

    Oracle修改sys、system用户的密码

    在Oracle数据库环境中,SYS和SYSTEM用户是两个非常关键的角色,它们对数据库的管理和维护起着至关重要的作用。本文将详细讲解如何修改这两个用户的密码以及相关的安全注意事项。 首先,SYS用户是Oracle数据库中权限...

    Oralce 忘记SYS,SYSTEM管理员密码

    SYS是Oracle数据库的最高权限用户,主要用于数据库安装、升级和维护,拥有所有数据库对象的所有权。而SYSTEM用户虽然权限较低,但依然拥有大量系统权限,常用于日常管理。 当忘记这些用户的密码时,我们不能通过...

    java 用jdbc方式以 sys账号连接oracle数据的问题

    这里的URL格式是`jdbc:oracle:thin:@//hostname:port/service_name`,sysdba表示以管理员身份登录,需要有SYS或SYSTEM用户的权限。 3. **处理异常**:在上述过程中,应始终捕获可能抛出的SQLException,并进行适当...

    sys用户与system用户.txt

    【sys】所有 oracle 的数据字典的基表和视图都存放在 sys 用户中,这些基表和视图对于 oracle 的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。 sys 用户拥有 dba , sysdba , sysoper 等角色或...

    Sys和system用户、sysdba 和sysoper系统权限、dba角色的区别

    Oracle 数据库中,`sys` 和 `system` 是两个非常重要的内置用户,它们拥有不同的权限和功能。`sys` 用户是Oracle数据库权限最高的用户,它维护所有数据字典的基表和视图,这些对象对数据库的正常运行至关重要,且不...

    浅析Oracle中sys、system和Scott用户下的数据库连接问题

    在Oracle数据库系统中,有三个预定义的管理用户——sys、system和scott,它们各自有不同的权限和用途,本文将详细解析这三个用户在数据库连接时的一些常见问题。 首先,sys用户是Oracle数据库的超级管理员,拥有...

    Oracle_审计表_sys.aud$_授权给用户Truncate权限.docx

    ### Oracle 审计表 Sys.Aud$ 授权与管理 #### 概述 在Oracle数据库管理系统中,审计功能是一项重要的安全特性,它记录了数据库的所有访问活动,包括但不限于登录、查询、更新等操作。这些审计记录通常存储在系统表...

    oracle 11g忘记sys和system用户密码的解决方法 - 数据库 - 道客巴巴.png

    oracle 11g忘记sys和system用户密码的解决方法 - 数据库 - 道客巴巴.png

Global site tag (gtag.js) - Google Analytics