最近遇到一个数据库问题:
问题描述:
系统管理员的密码丢失,无法登陆,数据库报“ora-01030 权限不足”;
解决方案“
1.进入linux 服务器后,运行
SQL>show parameters pass
NAME TYPE VALUE
———————————— ———– ——————————
remote_login_passwordfile string EXCLUSIVE
如remote_login_passwordfile的value为SHARED(SHARED参数:该参数说明多个数据库可以使用相同的口令文件。这种模式只能保存SYS用户帐户的口令。)则运行如下命令
SQL>ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE SCOPE=SPFILE
2.查看$ORACLE_HOME/dbs下有无密码文件,类似orapw*.ora ,如果有操作如下:
(1)SQL> grant sysdba to sys
(2)重启数据库
如无该密码文件存在:
1.运行 SQL>orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password=oracle entries=10 force=y ,其中$ORACLE_SID该参数为数据库实例名
2.重启数据库
3.SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP SYSAS
------------------------------ ----- ----- -----
SYS TRUE TRUE FALSE
SYS_USER_ADMIN TRUE FALSE FALSE
如果sys的sysdba为true则说明sysdba的sys成功