• 解决Oracle在Linux下Listener起不来,error 111错误


    近来发生一个问题有点头疼,在linux上的Oracle数据库突然无法访问

    主要报错如下:

    基于本人的走歪路经验,分享一下我的解决思路:

    首先,最直观的一点,监听器起不来,是不是数据库本身就没起来

    select status from v$instance;

    这个语句可以查看数据库的状态,启动的话应该是open

    当然,也可以使用如下语句来查看oracle进程,在linux用户下

    ps -ef|grep oracle

    如果数据库没起来的话↓↓↓↓↓↓↓↓

    以下为linux启动oracle的一些小步骤:

    1、root用户或有相应权限用户登录linux服务器,登录oracle用户

    su -oracle  这里有个-,不加的话可能会登不上

    2、以不登陆数据库方式使用sqlplus

    sqlplus /nolog

    3、以dba方式登录

    conn /as sysdba

    4、启动

    startup

    稍等之后正常情况数据库就起来了

    然后就是启动监听了

    在oracle用户下

    lsnrctl start

    之后可以使用

    lsnrctl status

    查看监听器状态

    lsnrctl reload 重启监听

    如果以上方式不奏效的话,可以考虑是不是更改了/etc/hosts文件

    如果以下一行没有的话,建议恢复

    127.0.0.1               localhost.localdomain localhost

    然后重启数据库、监听等。。。

    以上是我所知道确认的两个原因,有更多的原因欢迎交流分享

    以下是一些oracle的启动关闭等指令

    @Rick Sun 借鉴这位博主的经验

    startup参数
    不带参数,启动数据库实例并打开数据库,以便用户使用数据库,在多数情况下,使用这种方式!
    nomount,只启动数据库实例,但不打开数据库,在你希望创建一个新的数据库时使用,或者在你需要这样的时候使用!
    mount,在进行数据库更名的时候采用。这个时候数据库就打开并可以使用了!
    谢谢!不准确的地方请指教!

    shutdown

    shutdown的参数
    Normal 需要等待所有的用户断开连接
    Immediate 等待用户完成当前的语句
    Transactional 等待用户完成当前的事务
    Abort 不做任何等待,直接关闭数据库
    normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
    immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
    transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
    abort 执行强行断开连接并直接关闭数据库。

    Ink.Flower@china
  • 相关阅读:
    用jquery判断当前显示器的分辨率,加载不同CSS
    [置顶] Android SDK下载和更新失败的解决方法!!!
    [置顶] 最全的Android开发开发资料
    [置顶] Android入门教程导入现有Android工程
    [置顶] 用Android访问本地站点(localhost,10.0.2.2)
    [置顶] Android入门教程Android工程目录结构介绍
    [置顶] 解决Android解析图片的OOM问题
    [置顶] Android入门教程环境搭建
    [置顶] Android 中的拿来主义(编译,反编译,AXMLPrinter2,smali,baksmali)
    Windows 8 平板电脑体验及思考
  • 原文地址:https://www.cnblogs.com/inkflower/p/6642204.html
Copyright © 2020-2023  润新知