关于conn /as sysdba 无需密码直接可以连接的疑问

SQL> conn /as sysdba;
Connected.
SQL> show user;
USER is "SYS"


sqlplus /nolog,conn /as sysdba 之所以能够登录,在于Oracle登录时的身份认证方式。可以试一下这个:sqlplus/nolog,conn abcd/sss as sysdba,你发现也能够登录成功。

 
  2 oracle在登录时,有三种身份认证方式:操作系统身份认证、密码文件认证、数据库认证。而conn /as sysdba是属于操作系统认证。南京Oracle培训
 
  为什么这样说呢?你当前电脑开机时登录的用户,也就是进入操作系统的用户,例如是gooooal,它在你电脑的ora_dba组中。
 
  可以在“我的电脑”单击右键,找到“管理”,选择“本地用户和组”,发现有一个组叫“ora_dba”,双击它,看到成员列表中有“gooooal”。
 
  也就是在conn /as sysdba,oracle会进行操作系统验证,发现你当前登录的用户就属于ora_dba组,因此才可以登录成功。
 
  你可以把ora_dba组中的“gooooal”用户删除,再conn /as sysdba,就发现进不去了。
 
  3 密码文件验证可以查阅相关资料,百度oracle的身份验证方式,就可以查到相关资料。
 
  4 其实在linux或unix环境下,安装oracle是要设置很多东西的,比如用户和用户组的设置等,不像在windows下,安装傻瓜化了。
 
  5 关于安全性,如果将oracle安装在本地,其实你本地就是oracle服务器,所以权限高一些。你用哪个用户来启动oracle实例?哪个用户来mount数据库?哪个用户来打开数据库?从而才能进行之后的select等sql操作?
 
  在oracle实例等还没有启动的时候,oracle数据库里面建的用户肯定是不能使用的。所以才会有操作系统身份验证。用这个用户,来启动oracle实例、转载数据库等。之后才能做oracle表的增删改查。南京Oracle培训
 
  以上,希望对你有所帮助。
 
  ORACLE中,sqlplus / as sysdba中,斜杠与as中间有空格。sqlplus /nolog命令中,却没空格,为什么呢?
 
  sqlplus / as sysdba是一种简化写法,其实是省略了用户名和密码,完整的写法是sqlplus  sys/password  as  sysdba而sqlplus  /nolog是另外的用法了,nolog表示不进行登录,仅仅是进入sqlplus软件而已
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用Oracle数据库时,连接到数据库时可能会遇到"ORA01031: insufficient privileges"错误。这个错误表示当前用户没有足够的权限来执行所请求的操作。 "conn / as sysdba"是一种特殊的连接方式,它允许以超级用户(SYSDBA角色)的身份连接到Oracle数据库。SYSDBA角色具有最高级别的权限,可以执行任何数据库操作。 当你使用"conn / as sysdba"连接到数据库时,你需要确保你的操作系统用户具有足够的权限来执行这个操作。在Unix/Linux系统上,你需要以Oracle软件所有者的身份运行该命令。在Windows系统上,你需要以管理员身份运行命令提示符或PowerShell窗口,并使用正确的环境变量设置。 如果你遇到"ORA-01031: insufficient privileges"错误,可能有以下几个原因: 1. 操作系统用户没有足够的权限来执行"conn / as sysdba"命令。 2. 数据库用户没有被授予SYSDBA角色。 3. 数据库用户没有被授予足够的权限来执行所请求的操作。 为了解决这个问题,你可以尝试以下几个步骤: 1. 确保你以正确的操作系统用户身份运行"conn / as sysdba"命令。 2. 确保数据库用户被授予SYSDBA角色。你可以使用以下命令检查: ``` SELECT * FROM dba_role_privs WHERE granted_role = 'SYSDBA' AND grantee = '<your_username>'; ``` 如果没有结果返回,你可以使用以下命令将用户添加到SYSDBA角色: ``` ALTER USER <your_username> GRANT SYSDBA; ``` 3. 如果你需要执行特定的操作,确保数据库用户被授予执行该操作所需的权限。你可以使用GRANT语句为用户授予所需的权限。 希望以上信息对你有帮助!如果你还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值