oracle sys dba 01031,SYS用户登录Oracle报错ORA-01031: insufficient privileges

今天,自己写了一个脚本在测试环境运行脚本的时候,导致数据库异常的宕掉之后,然后重新连接就出现了下面的问题,下面是场景还原与解决的过程:

[oracle@seiang ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Tue Jan 30 08:39:21

2018

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected.

SYS@seiang11g>shutdown immediate

ORA-24324: service handle not

initialized

ORA-24323: value not allowed

ORA-01089: immediate shutdown

in progress - no operations are permitted

1、尝试强制关闭和打开数据库,都出现报错ORA-01031: insufficient privileges

SYS@seiang11g>shutdown abort

ORA-01031: insufficient

privileges

SYS@seiang11g>startup

ORA-01031: insufficient

privileges

2、接下来尝试去查看数据库的参数,提示说没有登录

SYS@seiang11g>show parameter password

ERROR:

ORA-01012: not logged on

3、下面使用SYS连接到数据库实例,看到提示说连接到一个空闲的实例

SYS@seiang11g>conn / as sysdba

Connected to an idle

instance.

4、接下来,尝试重新启动数据库,再次提示说没有登录

SYS@seiang11g>startup

ORA-01012: not logged on

5、再次尝试强制的关闭数据库,然后在重新启动数据库,启动成功

SYS@seiang11g>shutdown abort

ORACLE instance shut down.

SYS@seiang11g>

SYS@seiang11g>startup

ORACLE instance started.

Total System Global Area 1252663296 bytes

Fixed Size

2252824 bytes

Variable Size

738201576 bytes

Database Buffers

503316480 bytes

Redo Buffers

8892416 bytes

Database mounted.

Database opened.

数据库启动成功!

补充说明:

对于ORA-01031: insufficient privileges报错,常见的一些原因和解决思路:

1、如果是多个数据库实例时候,set ORACLE_SID=''

2、检查sqlnet.ora(WINDOWS下位于%ORACLE_HOME%NETWORKADMIN目录)是否包含这句:SQLNET.AUTHENTICATION_SERVICES=(NTS),没有的话加上;3、检查登陆windows的用户(administrator或安装oracle时候使用的用户)是不是在包含在ORA_DBA组中,域用户没有连上域服务器时就可能出现这种现象。

3、要保证remote_login_passwordfile参数= EXCLUSIVE .

4、查看口令文件和数据库实例是否是对应的,如果不对应,则需要使用orapwd重新生成口令文件

【关于Oracle的两种认证方式请参考另一篇博文:】

作者:SEian.G(苦练七十二变,笑对八十一难)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值