sysdba不能远程登录这个也是一个很常见的问题了。

碰到这样的问题我们该如何解决呢?

我们用sysdba登录的时候,用来管理我们的数据库实例,特别是有时候,服务器不再本台机器,这个就更是有必要了。

当我们用sqlplus "/ as sysdba" 
是可以登录的。

但是我们如果用sqlplus "sys/password@tnsname as sysbda"这样的方式去不能登录.

这里我们的错误一般分为两类 
第一类: 提示ORA-01031: insufficient privileges(权限不足)  

引用:

sqlplus "sys/password as sysdba" 
ERROR:
ORA-01031: insufficient privileges

或者

sqlplus /nolog

conn / as sysdba 
ERROR:
ORA-01031: insufficient privileges

如果是这样的错误,你明明是用这个sys登录的,而且确实是sysdba的权限,为什么登录却提示你的权限不够叻。 
这里的问题出现在密码文件里,由于你的密码文件缺损或者不存在,而Oracle实例对sysdba的权限是根据这个 
密码文件来判断的,如果你的用户被grant to sysdba了,那么这个用户的密码和用户名也在这个密码文件了。 
这样也就发现你不是sysdba的角色,当然as sysdba就会提示权限不足了哟。 
为什么这样做了,如果我们的数据库没有open,那么对于的一些动态视图是不能打开的,所以oracle必须把这些 
用户的口令和username放在一个独立的文件里,这样在数据库还不是open的状况写,有个地方判断了。

如何解决了。我们首先来判断一下 
执行sql 
SQL> select * from v$pwfile_users; 
USERNAME SYSDB SYSOP 
------------------------------ ----- ----- 
SYS TRUE TRUE

如果这里选择不出了记录的话,就是密码文件没有叻。

这里解决的方法就是重建orapwd文件 
使用密码文件orapwd 命令

 
orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=gelc123 entries=5
force=y
 
再次查看 v$pwfile_users 这时候有一条记录了

现在再试试,我们的问题基本上就解决了

还有一种情况,提示的是ORA-01017:用户名密码出错  

ERROR:
ORA-01017: invalid username/password; logon denied
这样的错误,可是你的密码和用户名明明输入的都是正确的。这又是为什么叻 
检查一下系统参数remote_login_passwordfile的值, 
这里需要启动密码文件的话,需要前提就是这个值, 这里的值可以NONE,EXCLUSIVE和SHARE 
EXCLUSIVE和SHARE都可以,EXCLUSIVE是独占的文件,SHARE是多实例的体系中的共享模式 
这个问题基本上就是这个值导致的 
SQL>alter system set remote_login_passwordfile=EXCLUSIVE scope=spfile;

现在重启服务试试看。

已经OK解决了吧

ORA-01031: insufficient privileges 解决办法的更多相关文章

  1. ora-01031:insufficient privileges解决方法 - 转

    今天晚上要远程修改一个分公司的数据库参数,于是下午先远程过去做些准备工作.数据库是oracle 11g rac,操作系统是windows 2008 server,我还是第一次见过windows下的or ...

  2. ORA-01031:insufficient privileges解决方法

    今天刚创建的数据库,用sys身份登录的时候提示 ORA-01031:insufficient privileges !郁闷了,肯定是先百度一波···然后设置当前用户权限.用Administator用户 ...

  3. 在Linux环境下设置 ora-01031:insufficient privileges解决方法总结

    今天需要使用sys用户处理问题,但是报错上面ora-01031:insufficient privileges. 在网上有很多方法,这个是自己经过测试的方法步骤. 1:首先检查文件sqlnet.ora ...

  4. 在RAC执行相关操作发生ora-01031:insufficient privileges解决方法

    grid用户下 寻找命令的路径 如which crsctl su - root用户 然后根据找到的路径去执行命令 如 /u01/app/oracle/product/11.2.0/db_1/bin/c ...

  5. ORA-01031:insufficient privileges 解决方法

    使用sys或system帐号登录plSql时,提示ORA-01031:insufficient privileges 错误.使用其他的帐号能正常登录,在cmd命令中用system帐号也是可以正常登录. ...

  6. 安装oracle后登录时出现 ERROR: ORA-01031 insufficient privileges

    运行环境:在自己笔记本电脑(win10)上安装测试 操作系统版本:64位win8.1 Oracle版本:64位 oracle 11g 安装oracle 成功后//以管理员身份登录oracle 在cmd ...

  7. oracle创建完实例删除的时候报ORA-01031:insufficient privileges错误,解决办法

    创建了一个数据库,想删除确报了一个ORA-01031:insufficient privileges错误 查了好久,总算解决了,原因是我的电脑登录账户不在ORA_DBA系统群组中,添加进去完美删除! ...

  8. plsql在64位机器下读取tnsname.ora 及oracle_home异常的解决办法

    问题是: 我在自己电脑(win7  64bit)上安装了oracle的64位数据库   通过sqlplus能正常连接 主要是安装pl/sql时   我是这样安装的1.在网上下载了个instantcli ...

  9. ORA-01031: insufficient privileges 错误解决

    OS:linux redhat5.5  32bit 数据库:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 1.问题描述:该数据库监 ...

随机推荐

  1. oracle create directory

    1.新建directory的语法 CREATE [OR REPLACE] DIRECTORY directory AS 'pathname'; 例如: create or replace direct ...

  2. xmpp 环境配置

    XMPP框架地址:http://xmpp.org/xmpp-software/libraries/ 配置流程

  3. 刷题总结——随机图(ssoi)

    题目: 随机图 (random.cpp/c/pas) [问题描述] BG 为了造数据,随机生成了一张�个点的无向图.他把顶点标号为1~�. 根据BG 的随机算法,对于一个点对�, �(1 ≤ � &l ...

  4. Spoj-FACVSPOW Factorial vs Power

    Consider two integer sequences f(n) = n! and g(n) = an, where n is a positive integer. For any integ ...

  5. angular父子scope之间的访问

    1.子可以访问父的scope,也可以更新相同的scope,但父scope不会被刷新 2.父要访问子scope的方法

  6. 「CodePlus 2018 3 月赛」白金元首与莫斯科

    $n \leq 17,m \leq 17$,$n*m$的01矩形,对每一个0问:当他单独变成1之后,在其他0处放多米诺牌(不一定放满,可以不放)的方案数.膜$1e9+7$. 直接$dp$是$n^42^ ...

  7. Python入门--4--分之和循环

    1.用ELIF比较省CPU: 第一种方法,使用if score = int(input('请输入你的分数:')) if (score <= 100) and (score >= 90): ...

  8. Debian9初始配置

    1 进入root用户 su root 2 修改镜像源:编辑/etc/apt/sources.list文件 nano /etc/apt/sources.list 修改内容如下: deb http://m ...

  9. T1230 元素查找 codevs

    http://codevs.cn/problem/1230/  题目描述 Description 给出n个正整数,然后有m个询问,每个询问一个整数,询问该整数是否在n个正整数中出现过. 输入描述 In ...

  10. Junit4 断言新方法

    话不多少说,直接上代码 package ASSERTTEST; import org.junit.Assert; import org.hamcrest.*;import org.junit.Test ...