Oracle中sys和system用户的区别
Posted 生生卡卡的生生(๑•̀ㅂ•́) ✧
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle中sys和system用户的区别相关的知识,希望对你有一定的参考价值。
1.数据库的启动需要以SYSDBA/SYSOPER身份登录。
2.如果在同一主机上使用IPC连接到数据库使用操作系统授权,登录任何一个用户都可以拥有as sysdba和as sysoper。
3.sys和system用户的区别
SYS用户具有DBA权限,并具有SYS模式。只能通过SYSDBA登录数据库,是Oracle数据库中权限最高的帐号。sys用户具有“SYSDBA”和“SYSOPER”权限,登陆em时也只能用这两个身份,不能用normal。而system登录em时只能用normal模式登录。sys拥有数据字典(dictionary),或者说dictionary属于sys schema。
system用户具有DBA权限,但是没有SYSDBA权限。平常一般用该帐号管理数据库。登录em时只能使用normal登录。
4.SYSDBA权限和SYSOPER权限区别
“SYSOPER”权限,即数据库操作员权限,sysoper主要用来启动、关闭数据库,sysoper 登陆后用户是 public。权限包括:打开数据库(STARTUP, ALTER DATABASE OPEN/MOUNT/OPEN),服务器(CREATE SPFILE,etc)
关闭数据库服务器
备份数据库
恢复数据库RECOVERY
日志归档ARCHIVELOG
会话限制RESTRICTED SESSION
“SYSDBA”权限,即数据库管理员权限,最高的系统权限。任何具有sysdba登录后用户是“SYS”。权限包括:管理功能, 创建数据库(CREATE DATABASE)以及 “SYSOPER”的所有权限
其他用户需要手动grant权限,show user为该用户的名称。
SQL>conn / as sysdba
已连接。
SQL>grant sysoper to test;
授权成功。
SQL>grant sysdba to test;
授权成功。
SQL>conn test/test as sysoper;
已连接。
SQL>show user
USER 为"PUBLIC"
SQL>conn test/test as sysdba;
已连接。
SQL>show user;
USER 为"SYS"
SQL>conn test/test;
已连接。
SQL>show user
USER 为"test"
5.dba和sysdba的区别:
sysdba,是管理oracle实例的,它的存在不依赖于整个数据库完全启动,只要实例启动了,他就已经存在,以sysdba身份登陆,装载数据库、打开数据库。
只有在数据库完全启动后,dba角色才有了存在的基础.
以上是关于Oracle中sys和system用户的区别的主要内容,如果未能解决你的问题,请参考以下文章
为啥用system用户名可以连接Oracle 用sys用户名不可以连接