易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle监听启动不了

1 问题描述
oracle数据库在服务器上运行正常,但是不能通过网络连接(即使用客户端不能连接数据库,在服务器端正常,诊断的初步原因为监听器问题)。在服务器端使用以下命令:
bash-3.1$ cd $ORACLE_HOME/bin
bash-3.1$ ./lsnrctl
LSNRCTL> status
结果出现:
CONNECT (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
然后就停止不动了,使用
LSNRCTL> start
后没有任何反应,其结果是监听器启动不了。
2 分析问题
首先,使用以下命令
bash-3.1$ cd $ORACLE_HOME/network/admin
bash-3.1$ ls
后,发现listener.ora和tnsnames.ora文件都在该目录下,然后
bash-3.1$ cat listener.ora
里面有部分内容如下:
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = RHEL)(PORT = 1521))
    )
  )
然后,再查看tnsnames.ora文件
bash-3.1$ cat tnsnames.ora
里面的内容如下:
ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = RHEL)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
使用hostname命令来查看主机名是否有错,如下
bash-3.1$ hostname
得到的结果是:RHEL
至此,这两个文件都很正常,说明监听的配置是没有问题的,于是想到问题可能出在服务器的IP上。
查看一下服务器的网络配置,果然发现原来服务器有多个IP地址处于活跃状态,而我们的ORACLE监听的是主机名(我的机器是RHEL,可以从上面的红色字体中看到)。因此,当服务器上出现多个活跃的IP时,监听器就无法确定该监听哪个IP,这样就会出现监听无法启动的问题。
3 解决问题
解决的办法是直接将监听器配置为监听IP,其解决的办法是,修改上述的两个文件(listener.ora和tnsnames.ora文件)中的红色字体标记的地方,将原来的主机名改为你所要监听的IP地址(指你的数据库服务器向应用程序提供的IP地址,我的数据库服务器的IP是192.168.0.110),我的更改是:
修改listener.ora文件中的LISTENER,修改后为:
LISTENER =
 


相关文档:

在oracle中增加用户限制

     今天在项目开发中,发现数据库连接数过多,oracle中存在很多超时连接。导致新增客户端无法连接到数据库。所以设置了强制释放oracle连接属性。
在网上查询了设置说明如下:
sqlplus /nolog
打开sqlplus
connect system/bianqiwei@orcltns as sysdba
使用具有dba权限得用户登陆oracle
show p ......

Oracle 9i/10g pfile/spfile 参数文件详解


(1)Pfile文件
    Pfile(Parameter File)文件是基于文本格式的参数文件,含有数据库的配置参数。
    Oracle 9i在安装时为每个数据库建立了一个Pfile,默认的名称为“init+例程名.ora”,这是一个文本文件,可以用任何文本编辑工具打开。
下表为数据库的初始化参 ......

ORACLE锁信息

查看被锁的表
select   p.spid,a.serial#,
c.object_name,b.session_id,b.oracle_username,b.os_user_name   from  
v$process   p,v$session   a,   v$locked_object   b,all_objects   c  
where   p.addr=a.p ......

Oracle job 管理

SVRMGR> select * from dba_jobs;
初始化相关参数job_queue_processes
alter system set job_queue_processes=39 scope=spfile;//最大值不能超过1000  ;job_queue_interval = 10  //调度作业刷新频率秒为单位
DBA_JOBS describes all jobs in the database.
USER_JOBS describes all jobs owned by the c ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号