[oracle@dev2_orcl log]$ lsnrctl startLSNRCTL for Linux: Version 10.2.0.1.0 - Production on 30-8月 -2010 15:02:09Copyright (c) 1991, 2005, Oracle.  All rights reserved.启动/u01/app/oracle/product/10.2.0/bin/tnslsnr: 请稍候...TNSLSNR for Linux: Version 10.2.0.1.0 - Production
系统参数文件为/u01/app/oracle/product/10.2.0/network/admin/listener.ora
写入/u01/app/oracle/product/10.2.0/network/log/listener.log的日志信息
监听该对象时出错: (ADDRESS=(PROTOCOL=ipc)(PARTIAL=yes)(QUEUESIZE=1))
不再监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.180)(PORT=1521)))
TNS-12546: TNS: 权限被拒绝
 TNS-12560: TNS: 协议适配器错误
  TNS-00516: 许可被拒绝
   Linux Error: 30: Read-only file system监听程序未能启动。请参阅上面的错误消息...我查看了listener.log都是有写的权限的。

解决方案 »

  1.   

    是监听没有起来,还是用户连接不上呢,
    如果是用户连接不上的话,就grant connect to 用户
    再连接
    如果是监听没有起来,就用sys用户进行启动一下
      

  2.   

    lsnrctl start 启动监听 lsnrctl status 查看监听状态
      

  3.   

    是监听启不来,并不是用户没有connect的权限。对哪个文件要有执行的权限?
      

  4.   

    你用执行oracle\product\10.1.0\db_1\BIN里的LSNRCTL.EXE的权限吗
      

  5.   


    有的:
    [oracle@dev2_orcl bin]$ ls -l lsnr*
    -rwxr-x--x 1 oracle oinstall 101715 03-19 18:28 lsnrctl
    -rwxr-xr-x 1 oracle oinstall      0 2005-10-22 lsnrctl0
      

  6.   


    我是用oracle用户的。请问给我分配什么权限?
      

  7.   

    那你登录oracle用户是否有启动监听的权限呢?
    先付一个DBA角色给用户,再启动监听
      

  8.   


    [oracle@dev2_orcl admin]$ groups oracle
    oracle : oinstall dba
    [oracle@dev2_orcl admin]$ 我是用oracle用户去lsnrctl start的,oracle用户已经属于dba组
      

  9.   

    修改lisener.ora中
    (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
          )
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = yangjinguo)(PORT = 1521))
    然后重启监听试一试
      

  10.   


    试过了,还是不行,我觉得是哪个文件的权限不够,但是我不知道是哪个文件,想问一下监听启动时它会执行哪些文件,和写哪些文件?我已经看过listener.ora,tnsnames.ora,sqlnet.ora,以及listener.log
      

  11.   

    问题解决,感谢各位兄弟。原因如下:
    /var/tmp/.oracle/目录下写不进文件,我用root用户去创建文件也无法创建,报read only file system,初步怀疑是磁盘的问题,reboot,结果重启时报错,系统文件读取错误,要修复,杯具,没有办法,只得硬着头皮,fsck,万幸的时最后系统启来了,重启数据库,监听重启正常,至今没发现异常。over!