oracle rman.exe 文件丢失 拷贝rman.exe 报 ora-01031错误

本文解决了一个Oracle数据库启动失败的问题,通过检查并修改SQLNET.AUTHENTICATION_SERVICES参数,将认证方法从NONE更改为NTS,成功解决了无法使用操作系统的认证问题。详细步骤包括:发现数据库启动故障、确认flash_recovery_area文件已满、尝试删除过期归档日志、发现rman.exe文件丢失并复制文件、连接目标数据库失败以及最终解决问题的完整过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天启动数据库发现本机数据库无法启动。

打开alter日志文件,发现flash_recovery_area 文件已满,发现使用率是100%,

于是决定删除过期的归档日志

>rman 

rman 不是内部命令,

到oracle文件目录里找bin文件夹下的rman.exe ,发现rman.exe文件丢失,

于是从另一台好使的oracle文件里拷贝rman.exe文件到本机。

>rman 

>connect target/

报错误:rman-00571

           rman-00569 

           rman-00571

           ora-01031

原因分析,查了一下ORACLE的原文(来源于网上)

SQLNET.AUTHENTICATION_SERVICES
Purpose

Use the parameter SQLNET.AUTHENTICATION_SERVICES to enable one or more authentication services. If authentication has been installed, it is recommended that this parameter be set to either none or to one of the authentication methods.
Default
None

Values
Authentication Methods Available with Oracle Net Services:

* none for no authentication methods. A valid username and password can be used to access the database.
* all for all authentication methods
* nts for Windows NT native authentication

Windows NT native authentication

An authentication method that enables a client single login access to a Windows NT server and a database running on the server.

原来这个认证方法是WINDOWS系列操作系统特有的,UNIX/LINUX不需要,或者根本不能设为NTS,仔细看ORACLE的配置手册,总结几点如下

1.在windows下,SQLNET.AUTHENTICATION_SERVICES必须设置为NTS或者ALL才能使用OS认证;
2.windows下不设置或者设置为其他任何值都不能使用OS认证。
3.在unix/linux下,在SQLNET.AUTHENTICATION_SERVICES的值设置为ALL,或者不设置的情况下,OS验证才能成功;
4.在unix/linux下设置为其他任何值都不能使用OS认证。

发现本机的sqlnet.ora 的认证方式是 NONE

于是注销修改为

SQLNET.AUTHENTICATION_SERVICES=(NTS) 

>rman

>connect target/

已连接到目标数据库(未启动)

 

 

转载于:https://www.cnblogs.com/umlzhang/archive/2012/12/28/2836771.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值