Oracle用户与权限
一、sys与system的区别
Oracle数据库中的SYS和SYSTEM是两个预定义的用户账户,它们之间有一些区别。
-
存储的数据的重要性不同
-
==sys :==oracle所有的数据字典的基表和视图都存放在sys用户中。
-
==system :==用户用于存放次一级的内部数据,如oracle的一些特性或工具的管理信息。
-
-
权限的不同
- sys:数据库超级管理员账户,它可以执行任何操作,包括操作数据字典和控制文件。拥有最高的权限,可以创建和删除数据库对象,授予和回收其他用户的权限,管理数据库实例等。
- system:数据库普通管理员账户,它也可以执行许多数据库管理任务,但是它不具有sys 用户的全部权限。system 用户主要用于管理数据库对象,例如创建和删除表、索引、用户等,也可以进行备份和恢复操作,但不能控制数据库实例。
-
角色的不同
- ==sys:==具有
“SYSDBA”
或者“SYSOPER”
系统权限,登陆也只能用这两个身份,不能用normal。 - ==system:==用户只能用
“normal”
身份登陆,除非你对它授予了“SYSDBA”
的系统权限或者“SYSOPER”
系统权限。
- ==sys:==具有
二、normal 、sysdba、 sysoper有什么区别
normal、sysdba、sysoper是Oracle数据库中的不同用户角色,它们的主要区别在于所拥有的权限和对数据库的管理级别。
- normal:普通的数据库用户,只能访问和操作自己拥有的对象,例如自己拥有的表、视图等,不能访问其他用户的对象。
- sysdba:超级管理员角色,它具有最高权限,可以执行任何操作,包括对数据字典的访问和控制、数据库实例的启动和关闭、备份和恢复操作等。sysdba用户还可以创建和删除其他用户,并授予其他用户权限,因此应该非常小心地使用。
- sysoper:数据库操作员角色,它可以执行一些重要的数据库管理任务,例如启动和关闭数据库实例、备份和恢复操作、创建和删除用户等,但是它没有sysdba用户的全部权限,不能对数据字典进行修改和控制。
总的来说,normal用户是普通的数据库用户,没有管理权限;sysdba用户是超级管理员角色,具有最高的权限;sysoper用户是数据库操作员角色,具有一些管理权限,但权限相对较低。
系统权限 | sysdba | sysoper |
---|---|---|
区别 | startup(启动数据库) | startup |
区别 | shutdown(关闭数据库) | shutdown |
区别 | alter database open/mount/backup | alter database open/mount/backup |
区别 | 改变字符集 | none |
区别 | create database(创建数据库) | 不能创建数据库 |
区别 | drop database(删除数据库) | none |
区别 | create spfile | create spfile |
区别 | alter database archivelog(归档日志) | alter database archivelog |
区别 | alter database recover(恢复数据库) | 你能完全恢复,不能执行不完全恢复 |
区别 | restricted session(会话权限) | restricted session |
区别 | 可以让用户作为 sys 用户连接 | 可以进行一些基本的擦作,但不能查看用户数据 |
区别 | 登录之后用户是 sys | 登录之后用户是public |