问题:数据库服务器重启引起的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”这步,到了这步就可以用客户端连接数据库了,后面的备份重建就可以通过客户端完成了