Oracle用户为啥都可以以sysdba身份登录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle用户为啥都可以以sysdba身份登录相关的知识,希望对你有一定的参考价值。
【sys】所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于oracle的运行是至关重要的,由数据库自己维护,任何用户都不能手动更改。sys用户拥有dba,sysdba,sysoper等角色或权限,是oracle权限最高的用户。【system】用户用于存放次一级的内部数据,如oracle的一些特性或工具的管理信息。system用户拥有普通dba角色权限。
2)
其次的区别,权限的不同。
【system】用户只能用normal身份登陆em,除非你对它授予了sysdba的系统权限或者syspoer系统权限。
【sys】用户具有“SYSDBA”或者“SYSOPER”系统权限,登陆em也只能用这两个身份,不能用normal。 参考技术A 简单的说,oracle要认为你是sysdba有以下3个条件
1.
你对oracle的密码文件没有进行过设置;(因为oracle默认不认证以sysdba登录的用户)
2.
你是以操作系统管理员的身份登录的(不管谁登录你的电脑,只要是用管理员身份登录的,oracle都认作为sysdba,你可以试试用来宾账户登录操作系统,那样的话,oracle就不会把你认成dba了);
3.
你是以as
sysdba的方式登录的(只要你接了as
sysdba,不管你前面加了谁的用户名密码,oracle都认为你是以sysdba身份登录,用户为sys)
当上面3个条件有一个不满足的时候,你登录的用户就不是sys了,而如果你登录的那个用户没有被授权为dba的话,那他的权限肯定就只能是普通权限了。
DataGrip:如何以 SYSDBA 身份连接到 Oracle
【中文标题】DataGrip:如何以 SYSDBA 身份连接到 Oracle【英文标题】:DataGrip: how to connect to Oracle as SYSDBA 【发布时间】:2017-01-16 13:04:50 【问题描述】:我尝试在DataGrip 中设置 SYS 用户下的 Oracle 连接。
但出现错误:
ORA-28009: 作为 SYS 的连接应该是 SYSDBA 或 SYSOPER
但是GUI中没有选项可以选择as SYSDBA
选项。
【问题讨论】:
【参考方案1】:两年后回到这里,似乎无法再更改连接设置中的高级属性。
您必须提供 sys as sysdba
作为用户名。
(这可能看起来很明显,但我花了一段时间才发现)
【讨论】:
您是如何设法更改高级属性的?我找不到internal_logon
键,也无法添加。
我猜,可用的属性名称列表来自附加时的驱动程序。【参考方案2】:
虽然目前没有简单的切换,但仍然可以转到连接属性中的高级选项卡并将internal_logon
参数设置为sysdba
值。
【讨论】:
是的,这就是答案 无法修改该选项卡中的值 (2018.2.3)。sys as sysdba
解决方案对我有用。【参考方案3】:
sys as sysdba
作为用户名适用于 IntelliJ IDEA 中的数据库插件。
【讨论】:
【参考方案4】:虽然这已经得到了回答。我想通过添加屏幕截图来更具描述性。
添加一个新数据库。确保用户名设置为sys as sysdba
。默认密码通常是oracle
。
现在移至Advanced
选项卡。在这里找到internal_logon
并将其参数设置为sysdba
。
就是这样。您已准备好连接。
【讨论】:
【参考方案5】:sys 作为 sysdba
因为用户名在 Pycharm 中工作正常
【讨论】:
以上是关于Oracle用户为啥都可以以sysdba身份登录的主要内容,如果未能解决你的问题,请参考以下文章