http://blog.sina.com.cn/s/blog_869b0f460100uckp.html

Oracle sys和system用户、sysdba 和sysoper系统权限、sysdba和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角色才有了存在的基础!

sys和system用户的权限区别的更多相关文章

  1. 实验验证sys和system用户全库导出的区别

    我们在做逻辑数据泵全库导出的时候,有两种流行的写法,一种是sys用户导出,一种是使用system用户导出. 现在想知道二者之间有什么区别?实验验证之前不妨先思考一下: sys和system用户的权限区 ...

  2. Oracle sys和system用户、sysdba 和sysoper系统权限、sysdba和dba角色的区别

    sys和system用户区别 1)最重要的区别,存储的数据的重要性不同 sys所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己 ...

  3. Oracle中sys和system用户的区别

    1.数据库的启动需要以SYSDBA/SYSOPER身份登录. 2.如果在同一主机上使用IPC连接到数据库使用操作系统授权,登录任何一个用户都可以拥有as sysdba和as sysoper. 3.sy ...

  4. Oracle 修改SYS、system用户密码

    Oracle 修改SYS.system用户密码 by:授客 QQ:1033553122 概念 SYS用户是Oracle中权限最高的用户,而SYSTEM是一个用于数据库管理的用户.在数据库安装完之后,应 ...

  5. 【转】Oracle Sys和system用户、sysdba 和sysoper系统权

    一:最重要的区别,存储的数据的重要性不同 [sys]所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更 ...

  6. Oracle数据库sys和system用户的默认密码及如何修改密码

    新安装好的Oracle数据库sys用户默认密码为change_on_install,system用户默认密码为manager. 以管理员身份登录的话,在命令行中输入 sqlplus sys/chang ...

  7. 禁止SYS和SYSTEM用户远程登录Oracle oracle的sys和system默认密码

    alter system set remote_login_passwordfile=none scope=spfile; system默认:manager sys默认:change_on_insta ...

  8. Oracle 中 sys和system帐号的区别

    安装完成oracle后,通常都会发现有2个系统级别的帐号可以登录,但从来没有考虑过这2个帐号之间有什么区别,后来从一位老师那里得知了区别所在,便记录下来. sys 帐号登录,必须带上另外一个参数  s ...

  9. Oracle数据库中SYS、SYSTEM、DBSNMP、SYSMAN四用户的区别

    [转]   SYS.SYSTEM.DBSNMP. Oracle 数据库中 SYS.SYSTEM.DBSNMP.SYSMAN 四用户的区别 用户: SYS 用户: SYS,默认密码为 CHANGE_ON ...

随机推荐

  1. 03Flutter仿京东商城项目 封装适配库以及实现左右滑动ListView

    ScreenAdaper.dart import 'package:flutter_screenutil/flutter_screenutil.dart'; class ScreenAdaper { ...

  2. Throughput Controller(吞吐量控制器) 感觉就像个线程控制器来的

    Percent Executions  下的 Throghput 意思是跑总线程的百分之多少. 如 10线程循环一次, Throghput 设置为80,则有8个线程会跑这个请求 Total Execu ...

  3. Spring分页实现PageImpl<T>类

     Spring框架中PageImpl<T>类的源码如下: /* * Copyright 2008-2013 the original author or authors. * * Lice ...

  4. 数学建模python matlab 编程(疾病传播模型)

    例12:一只游船上有800(1000)人,一名游客不慎患传染病,12(10)小时后有3人发病,由于船上不能及时隔离,问经过60(30)小时,72小时,患此病的人数.(与人口模型和Logistic模型类 ...

  5. mvn安装

    先安装jdk.jre,maven需要jdk.jre支持 1.安装 jdk 卸载自带jdk rpm -qa | grep jdk rpm -e --nodeps 下载 JDK JDK 下载地址:http ...

  6. 第8课.第一个ARM裸板程序(点亮led)及申引

    1.原理图 2.芯片手册 3.几条汇编代码 1.ldr:读内存 ldr R0, [R1] 假设R1的值是x,读取地址x上的数据(4字节),保存到R0中 ldr R0, =0x12345678 (4字节 ...

  7. MSSQL 获取数据库、表、字段信息语句

    --获取所有数据库名称 SELECT Name FROM Master..SysDatabases ORDER BY Name --获取库里所有表名 SELECT * FROM SysObjects ...

  8. *#【Python】【基础知识】【运算符】【Python的几类运算符】

    Python的运算符分为以下几类: 算术运算符比较(关系)运算符赋值运算符逻辑运算符位运算符成员运算符身份运算符 以及需要考虑的:运算符优先级 一.算术运算符: 需要注意的,上图是Python 2.0 ...

  9. log4j一些配置用法

    Log4j基本用法----日志级别 基本使用方法: Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式.日志信息的优先级从高到低有ERROR.WARN.INFO ...

  10. C++编写DLL文件

    动态链接库DLL文件与EXE文件一样也是可执行文件,但是DLL也被称为库,因为里面封装了各种类.函数之类的东西,就像一个库一样,存着很多东西,主要是用来调用的.调用方式主要分为两种:隐式(通过lib文 ...