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
  • 相关阅读:
    springboot文件上传: 单个文件上传 和 多个文件上传
    Eclipse:很不错的插件-devStyle,将你的eclipse变成idea风格
    springboot项目搭建:结构和入门程序
    POJ 3169 Layout 差分约束系统
    POJ 3723 Conscription 最小生成树
    POJ 3255 Roadblocks 次短路
    UVA 11367 Full Tank? 最短路
    UVA 10269 Adventure of Super Mario 最短路
    UVA 10603 Fill 最短路
    POJ 2431 Expedition 优先队列
  • 原文地址:https://www.cnblogs.com/inkflower/p/6642204.html
Copyright © 2011-2022 走看看