plsql中system用户不能以sysdba登录

zs1602001 2010-06-30 04:44:33
提示权限不足,并且sys用户也登录不了。
该怎么做?
...全文
1489 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
forgetsam 2010-07-02
  • 打赏
  • 举报
回复
我觉得你登录的不是本机服务器,而且没有强制校验密码,本机用sysdba身份乱打用户名密码都可以进去的,但是连别的服务器就不行了,照17楼的做吧
eeff 2010-07-02
  • 打赏
  • 举报
回复
重建密码文件
或者执行

orapwd file=密码文件名 password=sys force=y nosysdba=n;
xdy3008 2010-07-01
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 zhangcunhua 的回复:]
引用 14 楼 zs1602001 的回复:

引用 11 楼 zxf261 的回复:
你如果要用system用户以sysdba登陆的话,你得先用sys以sysdba登陆,然后执行
grant sysdba to system;
然后你就可以用system用户以sysdba登陆了


那个sqlnet.ora是干嘛用的,昨天装数据库的时候出了点问题,然后照着网上的教程修改了一下这个……
[/Quote]

...
cyousor 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 zs1602001 的回复:]

引用 11 楼 zxf261 的回复:
你如果要用system用户以sysdba登陆的话,你得先用sys以sysdba登陆,然后执行
grant sysdba to system;
然后你就可以用system用户以sysdba登陆了


那个sqlnet.ora是干嘛用的,昨天装数据库的时候出了点问题,然后照着网上的教程修改了一下这个文件。
[/Quote]


1. sqlnet.ora-----作用类似于linux或者其他unix的nsswitch.conf文件,通过这个文件来决定怎么样找一个连接中出现的连接字符串。
例如我们客户端输入
sqlplus sys/oracle@orcl
假如我的sqlnet.ora是下面这个样子
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)
那么,客户端就会首先在tnsnames.ora文件中找orcl的记录.如果没有相应的记录则尝试把orcl当作一个主机名,通过网络的途径去解析它的 ip地址然后去连接这个ip上GLOBAL_DBNAME=orcl这个实例,当然我这里orcl并不是一个主机名
如果我是这个样子
NAMES.DIRECTORY_PATH= (TNSNAMES)
那么客户端就只会从tnsnames.ora查找orcl的记录,括号中还有其他选项,如LDAP等并不常用。


netCA配置的
zs1602001 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zxf261 的回复:]
你如果要用system用户以sysdba登陆的话,你得先用sys以sysdba登陆,然后执行
grant sysdba to system;
然后你就可以用system用户以sysdba登陆了
[/Quote]

那个sqlnet.ora是干嘛用的,昨天装数据库的时候出了点问题,然后照着网上的教程修改了一下这个文件。
cyousor 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zxf261 的回复:]

你如果要用system用户以sysdba登陆的话,你得先用sys以sysdba登陆,然后执行
grant sysdba to system;
然后你就可以用system用户以sysdba登陆了
[/Quote]

如果确实没有,你就按照这个加一个。
IT职场成长课 2010-06-30
  • 打赏
  • 举报
回复
你如果要用system用户以sysdba登陆的话,你得先用sys以sysdba登陆,然后执行
grant sysdba to system;
然后你就可以用system用户以sysdba登陆了
cyousor 2010-06-30
  • 打赏
  • 举报
回复
你如果能用sys登录的话,
你可以看看

select * from dba_role_privs where grantee = 'SYSTEM';

这个的结果
智鹿软件 2010-06-30
  • 打赏
  • 举报
回复
用装oracle的时候的用户名和口令试试!
zs1602001 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zxf261 的回复:]
看看你的$ORACLE_HOME/network/admin/sqlnet.ora配置
[/Quote]


# SQLNET.ORA Network Configuration File: d:\oracle\ora92\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.

NAMES.DEFAULT_DOMAIN = 公司的域名;

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)



这怎么看啊?
zs1602001 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xiaohu8855 的回复:]
晕死,不是告诉你了吗?怎么就不知道抬头看看呢
[/Quote]

晕,我回复帖子的时候没有看到你的帖子啊!

理论上sys用户是有dba权限的,有没有可能sys用户也不具有dba权限?
xiaohu8855 2010-06-30
  • 打赏
  • 举报
回复
晕死,不是告诉你了吗?怎么就不知道抬头看看呢
zs1602001 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tianlesoftware 的回复:]
把你的登陆过程贴出来看一下..
[/Quote]
刚连的是服务器端。
我刚连本地实例,也是system以sysdba登陆,登陆成功。

所以应该是服务器端system用户没有sysdba权限,怎么赋予dba权限呢?
IT职场成长课 2010-06-30
  • 打赏
  • 举报
回复
看看你的$ORACLE_HOME/network/admin/sqlnet.ora配置
xiaohu8855 2010-06-30
  • 打赏
  • 举报
回复
一般情况下,oracle中sys用户登录时,必须以as sysdba 登录,其他用户以as sysdba登录是错误的
system 登录和普通用户没什么区别
如果非要以as sysdba登录,比如用sys 用户给该用户授权
grant sysoper to 用户;
grant sysdba to 用户;
此时,该用户可以以普通用户登录,也可以以as sysdba 登录
Dave 2010-06-30
  • 打赏
  • 举报
回复


把你的登陆过程贴出来看一下..
zs1602001 2010-06-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 tianlesoftware 的回复:]
sys 用户需要以sysdba 模式登陆,
其他用户用normal 就可以了。
[/Quote]
system用户在控制台以sysdba登陆,也提示权限不够!
Dave 2010-06-30
  • 打赏
  • 举报
回复

sys 用户需要以sysdba 模式登陆,
其他用户用normal 就可以了。


17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧