一、The Network Adapter could not establish the connection
这个异常的出现一般与数据库和你的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_MACHINE\SYSTEM\CurrentControlSet\Services\OracleOraHome90TNSListener
找到OracleOraHome90TNSListener(我用的是Oracle9i 其他的版本的应该是OracleOraHomexxxTNSListener)
找到之后你会发现ImagePath关键值不存在了,创建它:(存在的话,点击修改,修改方法在下文有介绍)
右键单击,弹出菜单选择新键(N)→字符串值(S)
将其命名为ImagePath
选中ImagePath点右键,选中修改:
在值中输入你的Oracle安装目录\ora90(其他本对应的是oraxxx目录)\bin\tnslsnr
如果是ORACLE 10G则安装目录为F:\oracle\product\10.1.0\Db_2\BIN\tnslsnr
确定后退出注册表:
再在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
orapwd file=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwbys3 password=oracle entries=3 force=y
ORA-01506: missing or illegal database name,Oracle 启动实例所需最小化参数
以下实验过程来自10.2.0.3
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启动一个实例最小化参数是什么呢?以下就是实验过程。
创建任意名字实例
启动实例需要参数文件initzhoul.ora
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
再次尝试启动,提示需要参数db_name
ORA-01506: missing or illegal database name
添加db_name至参数文件
再次尝试启动zhoul实例,启动成功
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,即可启动数据库实例,其他参数均可采用初始值。
NAME
--------------------------------------------------------------------------------
db_name
观察alert_zhoul.log,可以看到Oracle在启动实例zhoul中调成了部分初始值。注意到undo retention自动调整被关闭。
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