oracle数据库ORA-01172,忘记sys密码

问题:数据库服务器重启引起的ORA-01172,并且不知道oracle数据库管理员的账号密码

首先先解决管理员的账号问题,

1 查看sqlnet.ora文件,设置SQLNET.AUTHENTICATION_SERVICES= (NTS)

2 用操作系统用户登录,查看用户组可以确认为administrator(此步骤一般不需要)

 

3 检查环境变量

修改前环境变量如下:

C:appAdministratorproduct11.2.0client_1;C:appAdministratorproduct11.2.0client_1in;G:oracleproduct10.2.0db_1in;。。。。

修改后

G:oracleproduct10.2.0db_1in;C:appAdministratorproduct11.2.0client_1;C:appAdministratorproduct11.2.0client_1in;。。。

接下来开始搞数据库了,">"代表我输入的命令

打开cmd命令

因为服务器数据库较多,所以先设置oralce_sid

>set oracle_sid=orcl

>sqlplus /nolog

>conn / as sysdba

如果账号没问题,现在应该连接上了

 >alter database open;

 出现01172问题

>recover datafile 3;

恢复文件3,出现会话错误,没有恢复成功

>select file#,name from v$datafile where file#=3;

发现文件3是SYSAUX01.DBF,不是应用数据,所以将sysaux01.dbf数据文件offline,先将数据库open,然后将数据进行逻辑备份,重建数据库,将数据恢复。

下图命令只有“先将数据库open”这步,到了这步就可以用客户端连接数据库了,后面的备份重建就可以通过客户端完成了

路漫漫其修远兮,吾将上下而求索
原文地址:https://www.cnblogs.com/IT-WJ/p/5786733.html