使用Navicat连接Oracle数据库教程

  1. 前提条件:虚拟机centos7服务器下,已经安装好oracle11g数据库

  2. 用xmanager工具连接到安装oracle11g的centos7服务器上
    在这里插入图片描述

  3. 切换到数据库用户oracle,命令:su -oracle (这一步非常重要,不然启动oracle会出现权限不足的错误!)

  4. 使oracle用户配置文件立即生效,命令:source /home/oracle/.bash_profle,启动监听,命令:lsnrctl start

  5. 登录SQLplus,命令:sqlplus /nolog

  6. sysdba 登录数据库,命令:conn / as sysdba。启动数据库,命令:startup
    在这里插入图片描述

  7. 打开Navicat, 选择我的连接->右键->新建连接->oracle

  8. 填写连接信息
    在这里插入图片描述

9.测试连接-> 通过,即连接成功!

备注: 使用用户名密码登录oracle时出现ORA-28001: the password has expired错误

  • 原因: 由于Oracle11G的新特性所致,Oracle11G创建用户时缺省密码过期限制是180天(即6个月),如果超过180天用户密码未做修改则该用户无法登录
解决方法:
  1. SELECT * FROM dba_profiles WHERE profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME'; 查询密码的有效期设置,LIMIT字段是密码有效天数。在密码将要过期或已经过期时可通过如下语句进行修改密码,密码修改后该用户可正常连接数据库
  2. ALTER USER 用户名 IDENTIFIED BY 密码;
  3. 修改密码后,会发现该账户会被锁定,这时需要通过如下SQL语句进行解锁:alter user 用户名 account unlock;
  4. 如果想去除180天的密码生存周期的限制可通过如下SQL语句将其关闭: ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐