oracle sys,system管理员账户登录实验

一直对oracle数据库的管理员账户sys,system和连接方式as sysdba, as sysoper很糊涂,偶然看到 killkill的日志也没掌握其中的门道,索性做个实验,至于原理呢,慢慢来吧。

[oracle@localhost ~]$ uname -a
Linux localhost.localdomain 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:35 EDT 2010 i686 i686 i386 GNU/Linux


[oracle@localhost ~]$ sqlplus system

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Sep 23 23:18:00 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Enter password:

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

实验结果
======================================================
|                   |                        |                连接工具                                            |
|                   |                        ===================================
|      用户     |  连接方式      |  SQL PLUS   |   EMDC                                    |
|                   |                         ===================================
|                   |                        |  show user     | 登录后显示用户                      |
=======================================================
|  sys           |  as sysdba    |   sys                |    sys                                          |
=======================================================
|  sys           |  as sysoper   |   public           |    sys                                          |
=======================================================
|  system     |  as sysdba    |   sys               |  无法登录                                  |
=======================================================
|  system     |  as sysoper   |   public          |  无法登录                                   |
=======================================================
|  system     |             无       |   system        |system (此时需要指定normal)  |
=======================================================


总结:
1)在sql plus下,貌似sys和system在指定连接方式相同的情况下,尽管登录的用户名不同,但在登录后没有区别,即"as sysdba"就是sys,"as sysoper"就是public.
2)在EMDC中查了一下用户system的角色,发现system在EMDC无法登录是因为 缺省没有授予CONNECT角色所致。本想加角色再试,可是虚拟机鼠标又开始乱窜了,那就只有先这样了。

______________________________________________
update on 2011-01-14
改正上面的第2点:
system用户无法在EMDC中以管理权限(as sysdba或as sysoper)登录,原因并不是因为没有CONNECT角色所致,而是因为EMDC登录使用的是口令文件认证方式,而缺省的口令文件中除了sys用户外没有其他用户项。

system可以以管理权限登录SQLPLUS是因为实验中的操作系统用户为oracle,oracle隶属于dba和oper组,使用的是操作系统认证。

要让system(或其他用户)可以以管理权限通过EMDC登录,需要把用户添加到口令文件中:
grant sysdba to system;
grant sysoper to system;

另:
system可以登录数据库,说明已经直接或间接获得了create session权限。

本例中system获得create session权限的方式为通过DBA或MGMT_USER间接获得:

14:22:59 SQL> select * from dba_sys_privs where grantee='SYSTEM';

GRANTEE    PRIVILEGE                      ADMIN_
---------- ------------------------------ ------
SYSTEM     GLOBAL QUERY REWRITE           NO
SYSTEM     CREATE MATERIALIZED VIEW       NO
SYSTEM     CREATE TABLE                   NO
SYSTEM     UNLIMITED TABLESPACE           YES
SYSTEM     SELECT ANY TABLE               NO

14:23:04 SQL> select * from dba_role_privs where grantee='SYSTEM';

GRANTEE    GRANTED_ROLE                   ADMIN_ DEFAUL
---------- ------------------------------ ------ ------
SYSTEM     AQ_ADMINISTRATOR_ROLE          YES    YES
SYSTEM     MGMT_USER                      NO     YES
SYSTEM     DBA                            YES    YES

14:35:35 SQL> select * from role_sys_privs where privilege like '%CREATE SESSION%';

ROLE                           PRIVILEGE                      ADMIN_
------------------------------ ------------------------------ ------
DBA                            CREATE SESSION                 YES
MGMT_USER                      CREATE SESSION                 NO
OEM_MONITOR                    CREATE SESSION                 NO
RECOVERY_CATALOG_OWNER         CREATE SESSION                 NO
CONNECT                        CREATE SESSION                 NO

14:35:39 SQL>

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24131851/viewspace-674733/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24131851/viewspace-674733/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值