zoukankan      html  css  js  c++  java
  • 解决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
  • 相关阅读:
    mysql基础
    EM算法总结
    机器学习之PCA(1)
    C语言socket编程<二>
    计算机网络·实验一:
    机器学习之GMM-EM
    C语言socket编程<一>socket之Winsock API
    【翻译】java-TCP-socket网络编程2
    【翻译】java-TCP-socket网络编程1
    【翻译】Java IO 关系总览和整理
  • 原文地址:https://www.cnblogs.com/inkflower/p/6642204.html
Copyright © 2011-2022 走看看