Oracle登录时出现ERROR: ORA-01031 insufficient priviles
情况:
1. 环境:
- 操作系统版本:64位win10
- Oracle版本:64位 oracle 11g
2. 安装oracle 成功后密码过了180天后密码失效过期
3. 以管理员身份登录oracle,在cmd里输入命令 sqlplus / as sysdba ,然后 报错 ERROR: ORA-
01031 insufficient privileges
解决办法:
1、一般情况下检查操作系统的登录用户是否包含在ORA_DBA组中。
控制面板->管理工具->计算机管理->系统工具->本地用户和组->ORA_DBA组。
如果ORA_DBA组中没有系统登录用户添加上即可。
但我的操作系统版本是没有--本地用户和组--这个选项,
2、另外一种方法添加:在oracle安装目录下找到oradba.exe运行即可。
3、重新执行sqlplus / as sysdba
4、查看用户的proifle是哪个,一般是
default
;
SELECT username,PROFILE FROM dba_users
5、查看对应的概要文件(如
default
)的密码有效期设置(一般默认为180天)
SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'
6、将口令有效期默认值180天修改成“无限制”
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED
修改之后不需要重启动数据库,会立即生效
7、修改后,还没有被提示ORA-28002警告的用户账号不会再碰到同样的提示;而已经被提示的用户账号必须再改一次密码
alter user 用户名 identified by <原来的密码> account unlock; ----不用换新密码
=========================================================================
以上只是ERROR:ORA-01031:insufficient privileges的其中一种情况
还有一种是利用DOS命令添加系统用户到ora_dba用户组
1.利用命令查看当前系统用户:net user
2.查看用户组
net localgroup–查看用户组;
3.查看ora_dba用户组下的具体用户:
net localgroup ora_dba;
4.添加本机管理员用户到ora_dba用户组下:
net localgroup ora_dba administrator /add;
也可以添加用户组到该组下
net localgroup ora_dba administratos /add;