记一次oracle 用户被锁的解决全过程

事情经过

测试环境oracle 某个用户密码过期要求更新密码遂更新密码,但由于某个程序对应的oracle连接配置没有修改一直用老的密码去连oracle库,导致该用户被锁;
于是去找system 用户的密码,该oracle 是祖传了几代的oracle ,通过层层询问多个同事,有同事提供了一个密码,他告诉我不知道有没有被其他变更过,于是用其提供的密码去连,连了几次后,终于system账号也被锁了, sys 用户的连接信息也无人知晓,

解决方案

通过度娘,得到以下解决方案
具体实现过程:

(1)sqlplus,以sysdba身份登录,不需要提供用户名和密码,此sql深得我心。

sqlplus / as sysdba ;

(2)为用户解锁。

alter user system account unlock;

ps:触类旁通,锁定用户语句即为, alter user system account lock;

(3)重新设定密码。

alter user system identified by system123456;

更改之后的用户名/密码是:system/system123456

具体解决过程

安装sqlplus
下载

进入oracle 官网下载对应版本的instantclient;我的oracle是11.2, 故下载 oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm、oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
[https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html]

安装

上传安装包,切换目录到安装包所在目录,
执行命令:

 rpm -ivh oracle-instantclient11.2-*.rpm

在这里插入图片描述

修改配置
vim /etc/ld.so.conf

在文件后面追加一行:

/usr/lib/oracle/11.2/client64/lib

重启

[root@dev-gefrm-zookeeper ~]# ldconfig
配置oracle环境变量
vim /etc/profile

新增如下配置

export ORACLE_HOME=/usr/lib/oracle/11.2/client64/
export LD_LIBRARY_PATH=:$ORACLE_HOME/lib:/usr/local/lib:$LD_LIBRARY_PATH:.
export TNS_ADMIN=$ORACLE_HOME
export PATH=$PATH:$ORACLE_HOME/bin:.
配置TNS链接文件
cd $ORACLE_HOME

(新建这个文件)

vi tnsnames.ora

在文件中加入:

hundsun =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.244)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = hundsun )
      (SERVER=DEDICATED )
    )
  )

注意:上面的 SID 必须与oracle SID一致,不然会出现了 ORA-12162: TNS:net service name is incorrectly specified 异常
在这里插入图片描述

如何确定oracle SID?

执行如下命令,黄色框部分即为oracle SID

ps -ef|grep pmon

在这里插入图片描述
执行:

export ORACLE_SID=hundsun
以sysdba身份登录
su - oracle  (注意横杆)
sqlplus / as sysdba

在这里插入图片描述

注意上面 su - oracle 中的横杆,不然会出现ORA-12545: Connect failed because target host or object does not exist
在这里插入图片描述

去除密码180到期限制

将密码有效期由默认的180天修改成“无限制”,修改之后不需要重启动数据库,会立即生效

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED ;
解锁

alter user db_user account unlock;

修改密码

输入alter user 用户名 identified by +新的密码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值