• oracle11g 连接问题


    一、The Network Adapter could not establish the connection 

     状态: 失败 -测试失败: IO 错误: The Network Adapter could not establish the connection 
     
    解决:
    (①、检查防火墙,可能是端口号1521防火墙拦截,把1521加入可允许访问即可。)

    这个异常的出现一般与数据库和你的PC的设置有关

    这种异常的出现大致上有下面几种:

    1。IP错误。
    在设置URL时错误,例如:jdbc:oracle:thin:@192.168.0.36:1521:sharp
    数据库服务器不正确:ping 服务器IP是否正确。不正确,将URL更改为正确
    端口号错误:一般不会错误。
    进行一下操作:在DOS上键入sqlplus,检查oracle是否开启
    一却正常,执行下面第2步。

    2。防火墙
    如果机器上安装有放火墙,可能是服务器端口号屏蔽而造成的。关闭防火墙后,尝试重新连接。
    仍然不行,执行第3步。

    3。数据库监听未启动

    i:linux上,启动监听:

    lsnrctl status

    lsnrctl stop

    lsnrctl start

    ii:windows启动监听

    修改PC上注册表中的ImagePath值。
    我下面以现在主流的数据库ORACLE为例
    重新手动启动数据库监听:
    1:开始 → 运行→ 输入CMD→  进入DOS命令提示界面
    d:>lsnrctl
    LSNRCTL> status
    或者
    LSNRCTL> start
    如果是类似图片中的信息

    恭喜,你的问题已经查找出来,是数据库监听器没未启动而造成的。
    以下是手动启动数据库的方法:
    在运行处执行regedit进入注册表到
    开始 →运行→ regedit
    按下面路径
    HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesOracleOraHome90TNSListener
    找到OracleOraHome90TNSListener(我用的是Oracle9i 其他的版本的应该是OracleOraHomexxxTNSListener)

     找到之后你会发现ImagePath关键值不存在了,创建它:(存在的话,点击修改,修改方法在下文有介绍)
    右键单击,弹出菜单选择新键(N)→字符串值(S)

     
    将其命名为ImagePath
    选中ImagePath点右键,选中修改:

    在值中输入你的Oracle安装目录ora90(其他本对应的是oraxxx目录)in nslsnr

    如果是ORACLE 10G则安装目录为F:oracleproduct10.1.0Db_2BIN nslsnr

    确定后退出注册表:
    再在DOS命令下键入start
    如果出现下面画面,恭喜你,监听器启动成功:

    关闭DOS,启动你的程序进行测试,应该恢复正常了。
    以上就是3中常见的引发The Network Adapter could not establish the connection 异常的原因

    二、状态: 失败 -测试失败: ORA-01031: insufficient privileges

    权限不足。

    经过测试,system,用一般权限登录,可以正常登录,只要是dba登录,就登录不上去,经过调查发现是

    /usr/oracle/product/11.2.0/db_1/dbs目录下缺少密码文件:

    orapworcl

    【orapw+实例名】的文件缺失,创建即可。(我是从其他服务器直接拷贝的,因为我的两台服务器的密码都一样)
     
    参考:
    如下创建密码文件,密码为oracle,实例名为orapwbys3
    orapwd  file=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwbys3  password=oracle entries=3 force=y
     
    参考:http://blog.csdn.net/haibusuanyun/article/details/16350089
     
     
    三、

    ORA-01506: missing or illegal database name,Oracle 启动实例所需最小化参数

    以下实验过程来自10.2.0.3 

    引用
    SQL> select * from v$version; 

    BANNER 
    ---------------------------------------------------------------- 
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Prod 
    PL/SQL Release 10.2.0.3.0 - Production 
    CORE    10.2.0.3.0      Production 
    TNS for Linux: Version 10.2.0.3.0 - Production 
    NLSRTL Version 10.2.0.3.0 - Production



    我们知道Oracle启动实例寻找参数文件的顺序为spfile<sid>.ora,spfile.ora,init<sid>.ora。那么Oracle启动一个实例最小化参数是什么呢?以下就是实验过程。 
    创建任意名字实例 

    引用
    [ora10g@mcprod ~]$ export ORACLE_SID=zhoul


    启动实例需要参数文件initzhoul.ora 

    引用
    [ora10g@mcprod ~]$ sqlplus "/as sysdba" 

    SQL*Plus: Release 10.2.0.3.0 - Production on Sat Jan 9 13:55:35 2010 

    Copyright (c) 1982, 2006, Oracle.  All Rights Reserved. 

    Connected to an idle instance. 

    SQL> startup 
    ORA-01078: failure in processing system parameters 
    LRM-00109: could not open parameter file '/ora10g/oracle/product/10.2.0/db_1/dbs/initzhoul.ora' 
    SQL> exit 
    Disconnected


    创建参数文件initzhoul.ora 

    引用
    [ora10g@mcprod ~]$ touch /ora10g/oracle/product/10.2.0/db_1/dbs/initzhoul.ora


    再次尝试启动,提示需要参数db_name 

    引用
    SQL> startup nomount 
    ORA-01506: missing or illegal database name


    添加db_name至参数文件 

    引用
    [ora10g@mcprod ~]$ echo "db_name=zhoul">initzhoul.ora


    再次尝试启动zhoul实例,启动成功 

    引用
    SQL> startup nomount 
    ORACLE instance started. 

    Total System Global Area  117440512 bytes 
    Fixed Size                  1260384 bytes 
    Variable Size              58721440 bytes 
    Database Buffers           50331648 bytes 
    Redo Buffers                7127040 bytes


    查看数据字典v$parameter,发现启动该实例的只有db_name是非默认,也就是说只要只要设置参数db_name,即可启动数据库实例,其他参数均可采用初始值。 

    引用
    SQL> select name from v$parameter where isdefault='FALSE'; 

    NAME 
    -------------------------------------------------------------------------------- 
    db_name



    观察alert_zhoul.log,可以看到Oracle在启动实例zhoul中调成了部分初始值。注意到undo retention自动调整被关闭。 

    引用
    SQL> show parameter background_core_dump 

    NAME                                 TYPE        VALUE 
    ------------------------------------ ----------- ------------------------------ 
    background_core_dump                 string      partial 

    [ora10g@mcprod log]$ cat  alert_zhoul.log 
    Sat Jan  9 13:58:08 2010 
    Adjusting the default value of parameter parallel_max_servers 
    from 40 to 25 due to the value of parameter processes (40) 
    Sat Jan  9 13:58:08 2010 
    Starting ORACLE instance (normal) 
    LICENSE_MAX_SESSION = 0 
    LICENSE_SESSIONS_WARNING = 0 
    Sat Jan  9 13:58:19 2010 
    Adjusting the default value of parameter parallel_max_servers 
    from 40 to 25 due to the value of parameter processes (40) 
    Sat Jan  9 13:58:19 2010 
    Starting ORACLE instance (normal) 
    LICENSE_MAX_SESSION = 0 
    LICENSE_SESSIONS_WARNING = 0 
    Sat Jan  9 13:59:52 2010 
    Adjusting the default value of parameter parallel_max_servers 
    from 40 to 25 due to the value of parameter processes (40) 
    Sat Jan  9 13:59:52 2010 
    Starting ORACLE instance (normal) 
    LICENSE_MAX_SESSION = 0 
    LICENSE_SESSIONS_WARNING = 0 
    Sat Jan  9 14:01:25 2010 
    Adjusting the default value of parameter parallel_max_servers 
    from 40 to 25 due to the value of parameter processes (40) 
    Sat Jan  9 14:01:25 2010 
    Starting ORACLE instance (normal) 
    LICENSE_MAX_SESSION = 0 
    LICENSE_SESSIONS_WARNING = 0 
    Shared memory segment for instance monitoring created 
    Picked latch-free SCN scheme 2 
    Using LOG_ARCHIVE_DEST_1 parameter default value as /ora10g/oracle/product/10.2.0/db_1/dbs/arch 
    Autotune of undo retention is turned off. 
    LICENSE_MAX_USERS = 0 
    SYS auditing is disabled 
    ksdpec: called for event 13740 prior to event group initialization 
    Starting up ORACLE RDBMS Version: 10.2.0.3.0. 
    System parameters with non-default values: 
      db_name                  = zhoul 
    PMON started with pid=2, OS id=32133 
    PSP0 started with pid=3, OS id=32135 
    MMAN started with pid=4, OS id=32137 
    DBW0 started with pid=5, OS id=32139 
    LGWR started with pid=6, OS id=32141 
    CKPT started with pid=7, OS id=32143 
    SMON started with pid=8, OS id=32145 
    RECO started with pid=9, OS id=32147 
    MMON started with pid=10, OS id=32149 
    MMNL started with pid=11, OS id=32151

    原文链接:http://dbzone.iteye.com/blog/566478
     
  • 相关阅读:
    报错注入验证sqli
    pycharm out of memory 闪退
    集群、分布式、负载均衡区别与联系
    如何获取线程池ThreadPoolExecutor正在运行的线程
    docker快速安装mysql
    基于guava实现本地缓存
    NIO selector 多路复用reactor线程模型
    网络编程之NIO
    网络编程之BIO
    反射性能研究,反射赋值与set方法赋值对比
  • 原文地址:https://www.cnblogs.com/gmq-sh/p/5787408.html
Copyright © 2020-2023  润新知