由于sys用户密码于orapwd文件不一致导致的ora-03113错误

冷备恢复了一个数据库,其他相关的配置文件均使用原来已存在,包括orapwd密码文件。 在起库时报密码文件不一致,不予理会,继续open数据库,如下:
SQL> startup

ORACLE instance started.



Total System Global Area 633999036 bytes

Fixed Size 102076 bytes

Variable Size 386482176 bytes

Database Buffers 245760000 bytes

Redo Buffers 1654784 bytes

ORA-01991: invalid password file

'/stg/oracle/8i/app/oracle/product/8.1.7/dbs/orapworacle'

SQL> alter database open;

Database altered.

SQL> 但是当调用sys下的对象时出现3113错误。 SQL> exec sys.testuser_pwd_prc('hr','test1234');

begin sys.testuser_pwd_prc('hr','test1234'); end;

ORA-03113: end-of-file on communication channel

SQL>
查看后台alert log   Thu Jun 26 16:35:20 2008
Errors in file /stg/oracle/8i/app/oracle/admin/oracle/udump/oracle_ora_2639
9.trc:
ORA-07445: exception encountered: core dump [00000001010DC798] [SIGBUS] [Invalid
 address alignment] [9] [] []
ORA-01991: invalid password file '/stg/oracle/8i/app/oracle/product/8.1.7/d
bs/orapworacle'
ORA-01991: invalid password file '/stg/oracle/8i/app/oracle/product/8.1.7/d
bs/orapworacle' 重新生成密码文件:  orapwd file=orapworacle password=oracle8i 问题解决: SQL> exec sys.testuser_pwd_prc('hr','test1234');
 
CHANGE  hr's password  successfull !
 
PL/SQL procedure successfully completed
 
SQL>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Oracle 19c是一款流行的数据库管理系统,而ORA-01017是指用户身份验证失败的错误代码。当用户尝试使用错误用户名或密码连接到Oracle数据库时,系统会返回ORA-01017错误。这是因为系统无法识别用户提供的凭据。 要解决ORA-01017错误,首先需要确认提供的用户名和密码是否正确。可以检查连接字符串或应用程序代码中的用户名和密码是否正确输入。确保用户名和密码的大小写也要匹配,因为Oracle对它们是敏感的。 如果确认用户名和密码是正确的,那么可能是由于账户密码过期或被锁定导致的身份验证失败。可以尝试使用sys用户登录到数据库,并使用以下命令解锁用户账户: ALTER USER <用户名> ACCOUNT UNLOCK; 如果错误仍然存在,那么可能是由于密码验证文件配置不正确导致的。可以检查数据库参数文件(init.ora或spfile.ora)中的REMOTE_LOGIN_PASSWORDFILE参数的值,确保它被设置为正确的值。如果值是EXCLUSIVE或SHARED,可以尝试使用以下命令重新创建密码验证文件ORAPWD FILE=<密码文件路径> FORMAT=12.2 如果以上方法仍未解决问题,那么可以考虑联系数据库管理员寻求进一步帮助。DBA可以检查数据库的审计日志,以确定身份验证失败的具体原因,并采取适当的措施解决问题。 总结来说,ORA-01017错误通常是由于错误用户名或密码导致的身份验证失败。确认凭据是否正确,并解锁账户或重新创建密码验证文件可能会解决此问题。如仍无法解决,寻求数据库管理员的帮助是一个好的选择。 ### 回答2: 当出现ORA-01017错误时,这意味着用户尝试连接到Oracle数据库实例时,提供的用户名/密码不正确。 可能有几个原因导致错误: 1. 错误用户名:用户输入了错误用户名。请确保输入的用户名与数据库中的用户名完全匹配。 2. 错误密码用户输入了错误密码。请确保输入的密码与给定用户名的密码匹配。 3. 账户已锁定:如果多次尝试错误用户名和密码数据库会将该用户的账户锁定。在这种情况下,需要联系数据库管理员(DBA)解锁账户。 4. 密码过期:如果指定的用户密码已过期,则需要修改密码。可以通过DBA或拥有适当权限的用户执行密码更改操作。 为了解决该问题,可以采取以下操作: 1. 确认提供的用户名和密码是否正确。请确保没有输入错误的大小写字母或任何额外空格。 2. 确认该用户的账户是否已被锁定。如果是,请联系DBA解锁账户。 3. 确认指定用户密码是否过期。如果是,请修改密码。 4. 如果以上步骤都无效,可以尝试重启数据库实例,并检查是否解决了问题。 总之,ORA-01017错误是由于提供的用户名和密码不正确引起的。请确认用户名和密码是否正确,并排除其他可能的问题,例如账户被锁定或密码过期。 ### 回答3: ORA-01017是Oracle数据库中的一个错误代码,表示“无效的用户名/密码;登录被拒绝”。当用户尝试使用无效的用户名或密码登录到Oracle数据库时,就会出现这个错误。 要解决这个问题,首先需要检查输入的用户名和密码是否正确。确保没有输入错误或拼写错误,包括大小写敏感性。如果确认用户名和密码正确,那么可能是由于账户被锁定或密码过期导致的。 如果是账户被锁定的问题,可以使用系统管理员权限登录到数据库,然后使用以下命令解锁账户: ALTER USER username ACCOUNT UNLOCK; 如果是密码过期导致的问题,可以使用系统管理员权限登录到数据库,然后使用以下命令更改密码并解锁账户: ALTER USER username IDENTIFIED BY new_password ACCOUNT UNLOCK; 另外,还可以检查数据库的远程登录设置。可能是由于数据库配置的问题,导致不能通过远程连接进行登录。可以通过以下命令检查和修改远程登录设置: SELECT * FROM V$PARAMETER WHERE NAME LIKE 'remote_login_passwordfile'; 如果返回的值是NONE,表示远程登录密码文件未设置,可以通过以下命令设置: ALTER SYSTEM SET REMOTE_LOGIN_PASSWORDFILE = 'EXCLUSIVE' SCOPE=SPFILE; 总之,要解决ORA-01017错误,需要确认输入的用户名和密码是否正确,解锁或更改密码以解决账户锁定或过期的问题,并检查和修改远程登录设置,确保允许远程登录。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值