SQLplus用户登录总是ora-01031:insufficient privileges是怎么回事

SQLplus用户登录总是ora-01031:insufficient privileges是怎么回事,第1张

sqlplus "/ as sysdba" 连不上,报ora-01031:insufficient privileges解决方法

注意多个数据库实例时候,set ORACLE_SID='',

1、检查sqlnet.ora(WINDOWS下位于%ORACLE_HOME%NETWORKADMIN目录)是否包含这句:SQLNET.AUTHENTICATION_SERVICES=(NTS),没有的话加上

2、检查登陆windows的用户(administrator或安装oracle时候使用的用户)是不是在包含在ORA_DBA组中,域用户没有连上域服务器时就可能出现这种现象。

3. 要保证 remote_login_passwordfile 参数 = EXCLUSIVE .

4. 看看是否需要使用orapassw生成口令文件 .

一种解决方法案例:

1、检查系统参数:SQL>show parameter password

NAME TYPEVALUE------------------------------------ ----------- ------------------------------

remote_login_passwordfilestring EXCLUSIVE

2、

select * from v$pwfile_users

SQL>

为空

3、SQL>grant sysdba to sys

grant sysdba to sys

*

ERROR at line 1:

ORA-01994: GRANT failed: password file missing or disabled

4、建立password文件

D:/>orapwd file="D:/oracle/product/10g/db_1/database/PWDoratest.ora" password=gp

oswong entries=10

5、

SQL>select * from v$pwfile_users

USERNAME SYSDB SYSOP------------------------------ ----- -----

SYSTRUE TRUE

SYS正常显示出来。

6、重新在远程以SYSDBA登录,可正常使用。

如果口令文件创建的有问题,也是会报如下的错误:

ora-01031:insufficient privileges

口令文件的命名格式应为orapwsid,并且sid是区分大小写的。由于Target Database连接Auxiliary Database时需要验证口令,如果违反了以上规则,将会提示ORA-01031: insufficient privileges。

我在用linux创建duplicate数据库的时候 就是因为口令文件创建的路径和名称不对才遇到这个错误

-----end-------

问题:

ORA-01031: 权限不足

解决:

grant  select any table to TSS_TEST

我把inittest.ora这个pfile文件cp了一份,init1.ora,然后用sqlplus登录,连接以后,startup pfile=$ORACLE_HOME/dbs/init1.ora这样就可以启动数据库了,于是我想,肯定是spfile文件被改动了,因为我指定用init1.ora这个文件可以启动啊,所以,我cp init1.ora inittest.ora ,然后再用sqlplus登录,连接后create spfile from pfile成功后,在startup就OK 了。

在使用sys用户使用管理员登陆的时候,出现ORA-01031解决办法

1 首先使用本地系统用户启动数据库,使用名称查看配置参数

show parameter password

查看参数状态EXCLUSIVE则为正常状态,如果不是,则修改pfile或者是spfile的参数

alter system set remote_login_passwordfile='EXCLUSIVE'

2 查询密码文件视图

select * from v$pwfile_users

如果没有结果集返回,则说明密码文件有问题,重新配置密码文件并且给用户赋予sysdba权限

使用命令 orapwd file=orapworcl password=root entries=10

创建密码文件,

grant sysdba to system

给system用户赋予dba权限

再次查询,应该有 sys,system两个用户具有sysdba权限

3 如果select * from v$pwfile_users 可以准确返回sys 用户,在本地系统也可以使用密码文件登录,但是不能远程使用sys账号启动数据库,报ORA-01031错误。那么很有可能是监听文件配置有问题,修改监听文件。(下面给一个正确的模板)

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = orcl)

(ORACLE_HOME = /u01/app/oracle)

(SID_NAME = orcl)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.3)(PORT = 1521))

)

)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10004100.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存