zoukankan      html  css  js  c++  java
  • Oracle常见错误及解决方法

    环境:LINUX下的oracle数据库10g

     

    ORA12541/ORA12514TNS:没有监听器 原因:没有启动监听器或者监听器损坏如果是前者,使用数据库安装的用户oracle(这里oracle用户是指Linux用户,非oracle或者root的其他用户可能没有权限操作安装目录下的文件)进入Linux系统,然后:

    [oracle@ORACLE ~]$ lsnrctl status    #查看监听器的状态
    [oracle@ORACLE ~]$ lsnrctl status    #如果没有启动那就使用此命令启动监听器

     

    如果是后者,因为我还知不道Linux下有没有工具配置TNS,所以只能通过oracle用户(这里是指Linux用户)手动编辑文件或者是通过Xshell或者是SSH软件来上传文件,这里要注意的是oracle10g版本(不管是客户端还是服务器),它的TNS配置文件在目录“$ORACLE_BASE/product/11.2.0/db_1/network/admin/”下没有,因为倒是此文件夹下的“sample”文件夹下有一个tnsnames.ora;但是不管手动编辑还是上传tnsnames.ora文件,都是将文件存放在“$ORACLE_BASE/product/11.2.0/db_1/network/admin/"(此目录只有一个sqlnet文件和一个文件夹)目录下;

      

     

    • 这里给一个实例:

    S1 =         #这个时间监听名称,不要跟SID实例名称混了;
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = ORACLE)(PORT = 1521))  #HOST = ORACLE这里的RACLE表示主机名,有的是具体的IP地址(广域网IP,局域网IP,或者是127.0.0.1)
        )
        (CONNECT_DATA =
          (SERVICE_NAME = hk06)  #这里的数据库的SID
        )
      )

    •   上传tnsnames.ora

    如果是使用上传方法的话,可以在windows下安装oracle的客户端,然后再利用Net Configuration Assistant工具来配置一个;

     

     

    补充——可以通过命令:#netca 来调用“Net Configuration Assistant”工具,资料来自:这里

     

     

    ORA12154TNS:能解析服务名 原因:ORACLE的网络服务名没有正确配置。请使用“Net Configuration Assistant”工具向导之“本地网络服务名配置”配置TNS即可。如果仍没有解决,请继续向下看。

     

    ORA-01017:用户名或者密码错误被拒绝,检查数据库的密码和=输入的密码是否一致;

    ORA-01031:使用用户没有执行操作的权限;更换用户或者使用root更改文件权限(前者优先);

     

    ORA-12520/ORA-12516: ORA-12516: TNS: 监听程序无法找到匹配协议栈的可用句柄,这个是解决之道,因为我是用xml解析数据,所以会导致连接数过多!

     

  • 相关阅读:
    UVA 1386 Cellular Automaton
    ZOJ 3331 Process the Tasks
    CodeForces 650B Image Preview
    CodeForces 650A Watchmen
    CodeForces 651B Beautiful Paintings
    CodeForces 651A Joysticks
    HUST 1601 Shepherd
    HUST 1602 Substring
    HUST 1600 Lucky Numbers
    POJ 3991 Seinfeld
  • 原文地址:https://www.cnblogs.com/ufindme/p/4187284.html
Copyright © 2011-2022 走看看