Oracle用户为什么都可以以sysdba身份登录?

时间:2022-09-19 14:36:25
1、我们都知道,Oracle有两个具有dba角色的用户,分别是sys与system,他们都可以以sysdba身份登录数据库。既然system具有dba角色,为什么还分配他sysoper身份?
2、对于普通用户,例如store用户,为什么允许他可以这样conn store/tiger as sysdba的方式登录?普通用户可以以sysdba身价登录,岂不是避开了对普通用户的限制,让他可以以sys身份访问任何数据和进行任何操作?希望好心的朋友给个解答,不知道的,请不要回帖?

16 个解决方案

#1


1、我们都知道,Oracle有两个具有dba角色的用户,分别是sys与system,他们都可以以sysdba身份登录数据库。既然system具有dba角色,为什么还分配他sysoper身份?

【sys】所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dba,sysdba,sysoper等角色或权限,是oracle权限最高的用户。
【system】用户用于存放次一级的内部数据,如oracle的一些特性或工具的管理信息。system用户拥有普通dba角色权限。
2)   其次的区别,权限的不同。
【system】用户只能用normal身份登陆em,除非你对它授予了sysdba的系统权限或者syspoer系统权限。
【sys】用户具有“SYSDBA”或者“SYSOPER”系统权限,登陆em也只能用这两个身份,不能用normal。

 

#2


sys用户拥有dba,sysdba,sysoper等角色或权限,是oracle权限最高的用户。
用户只能用normal身份登陆em,除非你对它授予了sysdba的系统权限或者syspoer系统权限

#3


普通用户虽然可以按你说的那种以dba身份登录,但问题是是否能登录成功?
如果登录不成功就算给他以sysdba登录又怎样?还不是没用.
兄弟,其实你想想也就好了。

#4


引用 1 楼 zftang 的回复:
1、我们都知道,Oracle有两个具有dba角色的用户,分别是sys与system,他们都可以以sysdba身份登录数据库。既然system具有dba角色,为什么还分配他sysoper身份?

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

+1

#5


引用 1 楼 zftang 的回复:
1、我们都知道,Oracle有两个具有dba角色的用户,分别是sys与system,他们都可以以sysdba身份登录数据库。既然system具有dba角色,为什么还分配他sysoper身份?

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


很清楚。

#6


其实,conn system/manager这样登录的system用户也只有普通用户权限.除非是声明as sysdba.
普通用户如果以sysdba登录,比如楼主说的conn store/tiger as sysdba,这样应该是无法成功的.
还有就是,根据Oracle数据库的配置,一般情况下,as sysdba在远程计算机上是不允许的,即使是system用户.因此,Oracle10g的EM默认配置下system也是不能以sysdba登录的.我还见过因设置不当的Oracle8i在本地计算机上system也得不到sysdba权限.囧

#7


我是在我机子上装着玩的,在本地普通用户为什么可以以as sysdba登陆啊?以怎么改配置呢?
这个身份登陆后,其实还是sys用户?

#8


引用 7 楼 gs_zhaoyang 的回复:
我是在我机子上装着玩的,在本地普通用户为什么可以以as sysdba登陆啊?以怎么改配置呢?
这个身份登陆后,其实还是sys用户?

Oracle登录的时候有两种认证方式,一种是“操作系统认证”,一种是“口令文件认证”。
1、当采取操作系统认证的时候,在本地用任何用户都可以以sysdba登陆;(默认方式)
2、当采取口令文件认证的时候,就不是任何用户都可以用sysdba登陆了,这个时候必须输入正确的用户名口令才可以(其实这种方法才是安全的)
3、至于你本地的到底采用哪种认证方式,是可以通过parameter来设置的。我以前用过,但是现在本机没有服务端环境了,具体如何设置,你可以百度一下。

#9


sys用户拥有dba,sysdba,sysoper等角色或权限,是oracle权限最高的用户。
用户只能用normal身份登陆em,除非你对它授予了sysdba的系统权限或者syspoer系统权限

#10


引用 1 楼 zftang 的回复:
1、我们都知道,Oracle有两个具有dba角色的用户,分别是sys与system,他们都可以以sysdba身份登录数据库。既然system具有dba角色,为什么还分配他sysoper身份?

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


#11


引用 8 楼 yixilan 的回复:
引用 7 楼 gs_zhaoyang 的回复:
我是在我机子上装着玩的,在本地普通用户为什么可以以as sysdba登陆啊?以怎么改配置呢?
这个身份登陆后,其实还是sys用户?

Oracle登录的时候有两种认证方式,一种是“操作系统认证”,一种是“口令文件认证”。
1、当采取操作系统认证的时候,在本地用任何用户都可以以sysdba登陆;(默认方式)
2、当采取口令文件认证的时候,就……


赞同此观点

#12


引用 8 楼 yixilan 的回复:
引用 7 楼 gs_zhaoyang 的回复:
我是在我机子上装着玩的,在本地普通用户为什么可以以as sysdba登陆啊?以怎么改配置呢?
这个身份登陆后,其实还是sys用户?

Oracle登录的时候有两种认证方式,一种是“操作系统认证”,一种是“口令文件认证”。
1、当采取操作系统认证的时候,在本地用任何用户都可以以sysdba登陆;(默认方式)
2、当采取口令文件认证的时候,就……


还区分这个啊,学习。。。。。。

#13


引用 8 楼 yixilan 的回复:
引用 7 楼 gs_zhaoyang 的回复:
我是在我机子上装着玩的,在本地普通用户为什么可以以as sysdba登陆啊?以怎么改配置呢?
这个身份登陆后,其实还是sys用户?

Oracle登录的时候有两种认证方式,一种是“操作系统认证”,一种是“口令文件认证”。
1、当采取操作系统认证的时候,在本地用任何用户都可以以sysdba登陆;(默认方式)
2、当采取口令文件认证的时候,就……


oracle有三种验证登陆机制 还有一只是数据库验证,
对于LZ你说的问题,你是在windows下把 你把windwos用户组里的ora_dba这个组删除或者改参数文件 不使用操作系统验证方式, 你就能明白了,当然前提是你在测试环境下。

#14


引用 1 楼 zftang 的回复:
1、我们都知道,Oracle有两个具有dba角色的用户,分别是sys与system,他们都可以以sysdba身份登录数据库。既然system具有dba角色,为什么还分配他sysoper身份?

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


支持。。。

#15


SQL> conn sys/oracle@orcl as sysdba;
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
Connected as sys@orcl AS SYSDBA
 
SQL> show user;
User is "SYS"
 
SQL> conn scott/scott@orcl as sysdba;
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
Connected as scott@orcl AS SYSDBA
 
SQL> show user;
User is "SYS"
 
SQL>

#16


这个是系统认证 

#1


1、我们都知道,Oracle有两个具有dba角色的用户,分别是sys与system,他们都可以以sysdba身份登录数据库。既然system具有dba角色,为什么还分配他sysoper身份?

【sys】所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dba,sysdba,sysoper等角色或权限,是oracle权限最高的用户。
【system】用户用于存放次一级的内部数据,如oracle的一些特性或工具的管理信息。system用户拥有普通dba角色权限。
2)   其次的区别,权限的不同。
【system】用户只能用normal身份登陆em,除非你对它授予了sysdba的系统权限或者syspoer系统权限。
【sys】用户具有“SYSDBA”或者“SYSOPER”系统权限,登陆em也只能用这两个身份,不能用normal。

 

#2


sys用户拥有dba,sysdba,sysoper等角色或权限,是oracle权限最高的用户。
用户只能用normal身份登陆em,除非你对它授予了sysdba的系统权限或者syspoer系统权限

#3


普通用户虽然可以按你说的那种以dba身份登录,但问题是是否能登录成功?
如果登录不成功就算给他以sysdba登录又怎样?还不是没用.
兄弟,其实你想想也就好了。

#4


引用 1 楼 zftang 的回复:
1、我们都知道,Oracle有两个具有dba角色的用户,分别是sys与system,他们都可以以sysdba身份登录数据库。既然system具有dba角色,为什么还分配他sysoper身份?

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

+1

#5


引用 1 楼 zftang 的回复:
1、我们都知道,Oracle有两个具有dba角色的用户,分别是sys与system,他们都可以以sysdba身份登录数据库。既然system具有dba角色,为什么还分配他sysoper身份?

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


很清楚。

#6


其实,conn system/manager这样登录的system用户也只有普通用户权限.除非是声明as sysdba.
普通用户如果以sysdba登录,比如楼主说的conn store/tiger as sysdba,这样应该是无法成功的.
还有就是,根据Oracle数据库的配置,一般情况下,as sysdba在远程计算机上是不允许的,即使是system用户.因此,Oracle10g的EM默认配置下system也是不能以sysdba登录的.我还见过因设置不当的Oracle8i在本地计算机上system也得不到sysdba权限.囧

#7


我是在我机子上装着玩的,在本地普通用户为什么可以以as sysdba登陆啊?以怎么改配置呢?
这个身份登陆后,其实还是sys用户?

#8


引用 7 楼 gs_zhaoyang 的回复:
我是在我机子上装着玩的,在本地普通用户为什么可以以as sysdba登陆啊?以怎么改配置呢?
这个身份登陆后,其实还是sys用户?

Oracle登录的时候有两种认证方式,一种是“操作系统认证”,一种是“口令文件认证”。
1、当采取操作系统认证的时候,在本地用任何用户都可以以sysdba登陆;(默认方式)
2、当采取口令文件认证的时候,就不是任何用户都可以用sysdba登陆了,这个时候必须输入正确的用户名口令才可以(其实这种方法才是安全的)
3、至于你本地的到底采用哪种认证方式,是可以通过parameter来设置的。我以前用过,但是现在本机没有服务端环境了,具体如何设置,你可以百度一下。

#9


sys用户拥有dba,sysdba,sysoper等角色或权限,是oracle权限最高的用户。
用户只能用normal身份登陆em,除非你对它授予了sysdba的系统权限或者syspoer系统权限

#10


引用 1 楼 zftang 的回复:
1、我们都知道,Oracle有两个具有dba角色的用户,分别是sys与system,他们都可以以sysdba身份登录数据库。既然system具有dba角色,为什么还分配他sysoper身份?

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


#11


引用 8 楼 yixilan 的回复:
引用 7 楼 gs_zhaoyang 的回复:
我是在我机子上装着玩的,在本地普通用户为什么可以以as sysdba登陆啊?以怎么改配置呢?
这个身份登陆后,其实还是sys用户?

Oracle登录的时候有两种认证方式,一种是“操作系统认证”,一种是“口令文件认证”。
1、当采取操作系统认证的时候,在本地用任何用户都可以以sysdba登陆;(默认方式)
2、当采取口令文件认证的时候,就……


赞同此观点

#12


引用 8 楼 yixilan 的回复:
引用 7 楼 gs_zhaoyang 的回复:
我是在我机子上装着玩的,在本地普通用户为什么可以以as sysdba登陆啊?以怎么改配置呢?
这个身份登陆后,其实还是sys用户?

Oracle登录的时候有两种认证方式,一种是“操作系统认证”,一种是“口令文件认证”。
1、当采取操作系统认证的时候,在本地用任何用户都可以以sysdba登陆;(默认方式)
2、当采取口令文件认证的时候,就……


还区分这个啊,学习。。。。。。

#13


引用 8 楼 yixilan 的回复:
引用 7 楼 gs_zhaoyang 的回复:
我是在我机子上装着玩的,在本地普通用户为什么可以以as sysdba登陆啊?以怎么改配置呢?
这个身份登陆后,其实还是sys用户?

Oracle登录的时候有两种认证方式,一种是“操作系统认证”,一种是“口令文件认证”。
1、当采取操作系统认证的时候,在本地用任何用户都可以以sysdba登陆;(默认方式)
2、当采取口令文件认证的时候,就……


oracle有三种验证登陆机制 还有一只是数据库验证,
对于LZ你说的问题,你是在windows下把 你把windwos用户组里的ora_dba这个组删除或者改参数文件 不使用操作系统验证方式, 你就能明白了,当然前提是你在测试环境下。

#14


引用 1 楼 zftang 的回复:
1、我们都知道,Oracle有两个具有dba角色的用户,分别是sys与system,他们都可以以sysdba身份登录数据库。既然system具有dba角色,为什么还分配他sysoper身份?

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


支持。。。

#15


SQL> conn sys/oracle@orcl as sysdba;
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
Connected as sys@orcl AS SYSDBA
 
SQL> show user;
User is "SYS"
 
SQL> conn scott/scott@orcl as sysdba;
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 
Connected as scott@orcl AS SYSDBA
 
SQL> show user;
User is "SYS"
 
SQL>

#16


这个是系统认证