// *Cause: An attempt was made to change the current username or password
// without the appropriate privilege. This error also occurs if
// attempting to install a database without the necessary operating
// system privileges.
// When Trusted Oracle is configure in DBMS MAC, this error may occur
// if the user was granted the necessary privilege at a higher label
// than the current login.
// *Action: Ask the database administrator to perform the operation or grant
// the required privileges.
// For Trusted Oracle users getting this error although granted the
// the appropriate privilege at a higher label, ask the database
// administrator to regrant the privilege at the appropriate label.
我在创建视图的时候报ora-01031
查询到的问题是权限的问题,可是我设置了dba的权限还是报相同的错误;
网上查找到包括以下原因:
1、检查sqlnet.ora(WINDOWS下位于%ORACLE_HOME%/NETWORK/ADMIN目录linux下位于$ORACLE_HOME/network/admin/下)是否包含这句:SQLNET.AUTHENTICATION_SERVICES=(NTS),没有的话加上
2、检查登陆windows的用户(administrator或安装oracle时候使用的用户)是不是在包含在ORA_DBA组中,域用户没有连上域服务器时就可能出现这种现象。
3. 要保证 remote_login_passwordfile 参数 = EXCLUSIVE .
SQL> show parameter password; NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ remote_login_passwordfile string EXCLUSIVE
4. 看看是否需要使用orapassw生成口令文件,在$ORACLE_HOME/dbs下修改密码文件
orapwd file=orapw$ORACLE_SID password=orcl entries=5;
如果是多个实例的话,要设置set oracle_sid=
查看有sysdba的权限
SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP SYSAS
------------------------------ ----- ----- -----
SYS TRUE TRUE FALSE