• [转载]ORA12528问题解决


    原文地址:ORA-12528问题解决作者:路人甲
    lsnrctl status
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=lypch)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\.pipeEXTPROCipc)))
    Services Summary...
    Service "LSExtProc" has 1 instance(s).
      Instance "LSExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Service "ammicly" has 1 instance(s).
      Instance "ammicly", status BLOCKED, has 1 handler(s) for this service...
    The command completed successfully

    这个问题说明数据库没有Mount
    连接数据库,发现:
    ORA-12528: TNS:listener: all appropriate instances are blocking new connections
    用sqlplus /nolog
    sql>connect [email=sys/ammic@amicly]sys/ammic@amicly[/email] as sysdba
    ORA-12528: TNS:listener: all appropriate instances are blocking new connections

    连接的问题可以通过修改listener.ora的参数,把动态的参数设置为静态的参数,红色标注部分,然后从新启动监听,就OK
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = C:oracleproduct10.1.0db_1)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (GLOBAL_DBNAME = ammicly)
          (ORACLE_HOME = c:oracleproduct10.1.0db_1)
          (SID_NAME = ammicly)
        )
      )
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = lypch )(PORT = 1521))
          )
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
          )
        )
      )

    通过修改tnsnames.ora的参数,红色表注部分
    # tnsnames.ora Network Configuration File: C:oracleproduct10.1.0db_1
    networkadmintnsnames.ora
    # Generated by Oracle configuration tools.
    AMMICLY =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = lypch )(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = ammicly)
          (UR=A)
        )
      )
    EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )

    然后 sqlplus /nolog
    SQL>alter database mount;
    SQL>alter database open;

    这样就可以启动数据库了;

    或者用Oradim -shutdown -sid ammicly -shuttype srvc,inst -shutmode immediate -syspwd ammic;关闭数据库
    在用oradim -startup -sid ammicly -starttype srvc,inst -syspwd ammic;启动数据库解决;也可以在截面上从启动数据库服务来解决;

    总结RA-12528问题是因为监听中的服务使用了动态服务,系统启动后,数据库没有正常的MOUNT,因此在动态模式下,就会出现这个问题,用静态的就不会有这个问题,因此上面的方法就是把监听设置为静态,或者在tnsnames.ora中追加(UR=A)或者从启动服务,三种方法解决问题;
  • 相关阅读:
    linux运维学习
    2017年阿里巴巴三面经验
    Spring Boot:在Spring Boot中使用Mysql和JPA
    meshroom和alicevision在Ubuntu16上的安装过程
    ubuntu rm -rf ntfs 硬盘恢复
    python 脚本内部修改 LD_LIBRARY_PATH
    python uml 图
    tlmgr 相关
    ubuntu 安装 clangd 10.0.0
    zsh 快捷键
  • 原文地址:https://www.cnblogs.com/liuzhuqing/p/7481063.html
Copyright © 2020-2023  润新知