日期:2014-05-16  浏览次数:20329 次

查看oracle监听是否启动
看 oracle监听是否启动 在CMD下运行如下命令就可以
lsnrctl status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=spcc)(PORT=1525)))
TNS-12541: TNS:无监听器
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听器
32-bit Windows Error: 61: Unknown error
LSNRCTL> start listener1
启动tnslsnr:请稍候...
这表示没有启动。。
方法2:
如果是LINUX系统可以通过如下命令看进程在不在
ps -ef|grep lsn 

?

启动步骤:注意$代表shell命令提示符,这里的oracle是9.0以上版本。   
1.$ su - oracle    
2.$ sqlplus / nolog    
3.sql> conn / as sysdba    
4.sql> startup (一般不需要加参数,只要设置好环境变量)    
5.sql> quit (退出sql模式)    
6.$ lsnrctl start (启动监听器)   
关闭oracle    
1.$ lsnrctl stop(关闭监听器,在这之前,应该先关闭应用程序)    
2.$ sqlplus /nolog    
3.sql>shutdown 其参数 :shutdown有四个参数,四个参数的含义如下:   
Normal 需要等待所有的用户断开连接   
Immediate 等待用户完成当前的语句   
Transactional 等待用户完成当前的事务   
Abort 不做任何等待,直接关闭数据库   
normal需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接   
immediate在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。   
transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。   
abort 执行强行断开连接并直接关闭数据库。   
前三种方式不回丢失用户数据。第四种在不的已的情况下,不建议采用!    
2经常遇到的问题:   
1)权限问题,解决方法,切换到oracle用户;   
2)没有关闭监听器 ,解决方法:关闭监听器   
3)有oracle实例没有关闭,解决办法:关闭oracle实例   
4)环境变量设置不全,解决办法:修改环境变量  

?